diff --git a/.circleci/config.yml b/.circleci/config.yml
index 96f5576c4b6d..75cec3cf6ffb 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -232,7 +232,7 @@ jobs:
test_browser:
<<: *default-job
docker:
- - image: mcr.microsoft.com/playwright:v1.49.0-noble
+ - image: mcr.microsoft.com/playwright:v1.49.1-noble
steps:
- checkout
- install_js:
@@ -263,7 +263,7 @@ jobs:
test_e2e:
<<: *default-job
docker:
- - image: mcr.microsoft.com/playwright:v1.49.0-noble
+ - image: mcr.microsoft.com/playwright:v1.49.1-noble
steps:
- checkout
- install_js:
@@ -274,7 +274,7 @@ jobs:
test_e2e_website:
<<: *default-job
docker:
- - image: mcr.microsoft.com/playwright:v1.49.0-noble
+ - image: mcr.microsoft.com/playwright:v1.49.1-noble
steps:
- checkout
- install_js:
@@ -287,7 +287,7 @@ jobs:
test_regressions:
<<: *default-job
docker:
- - image: mcr.microsoft.com/playwright:v1.49.0-noble
+ - image: mcr.microsoft.com/playwright:v1.49.1-noble
steps:
- checkout
- install_js:
diff --git a/package.json b/package.json
index 9c3bec49ecd0..003c6829c5f2 100644
--- a/package.json
+++ b/package.json
@@ -97,10 +97,10 @@
"@mui/material": "^5.16.9",
"@mui/monorepo": "github:mui/material-ui#454a4c081a3cda665d5e608e1fc3d600d14eee53",
"@mui/utils": "^5.16.8",
- "@next/eslint-plugin-next": "15.0.4",
+ "@next/eslint-plugin-next": "15.1.0",
"@octokit/plugin-retry": "^7.1.2",
"@octokit/rest": "^21.0.2",
- "@playwright/test": "^1.49.0",
+ "@playwright/test": "^1.49.1",
"@types/babel__core": "^7.20.5",
"@types/babel__traverse": "^7.20.6",
"@types/chai": "^4.3.20",
@@ -109,7 +109,7 @@
"@types/karma": "^6.3.9",
"@types/lodash": "^4.17.13",
"@types/mocha": "^10.0.10",
- "@types/node": "^20.17.9",
+ "@types/node": "^20.17.10",
"@types/react": "^18.3.14",
"@types/react-dom": "^18.3.2",
"@types/requestidlecallback": "^0.3.7",
@@ -140,7 +140,7 @@
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^18.0.0",
"eslint-config-prettier": "^9.1.0",
- "eslint-import-resolver-webpack": "^0.13.9",
+ "eslint-import-resolver-webpack": "^0.13.10",
"eslint-plugin-filenames": "^1.3.2",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsdoc": "^50.6.0",
@@ -186,7 +186,7 @@
"sinon": "^19.0.2",
"stream-browserify": "^3.0.0",
"string-replace-loader": "^3.1.0",
- "terser-webpack-plugin": "^5.3.10",
+ "terser-webpack-plugin": "^5.3.11",
"tsx": "^4.19.2",
"typescript": "^5.7.2",
"unist-util-visit": "^5.0.0",
@@ -198,7 +198,7 @@
},
"resolutions": {
"react-is": "^18.3.1",
- "@types/node": "^20.17.9"
+ "@types/node": "^20.17.10"
},
"packageManager": "pnpm@9.15.0",
"engines": {
diff --git a/packages/rsc-builder/package.json b/packages/rsc-builder/package.json
index 7a3f84641436..5771501d07b7 100644
--- a/packages/rsc-builder/package.json
+++ b/packages/rsc-builder/package.json
@@ -9,6 +9,6 @@
},
"devDependencies": {
"@types/mocha": "^10.0.10",
- "@types/node": "^20.17.9"
+ "@types/node": "^20.17.10"
}
}
diff --git a/packages/x-charts/package.json b/packages/x-charts/package.json
index 9c037234636c..195e1fe3be0b 100644
--- a/packages/x-charts/package.json
+++ b/packages/x-charts/package.json
@@ -74,7 +74,7 @@
"@react-spring/core": "^9.7.5",
"@react-spring/shared": "^9.7.5",
"@types/prop-types": "^15.7.14",
- "@types/react-is": "^18.3.0",
+ "@types/react-is": "^18.3.1",
"@types/use-sync-external-store": "^0.0.6",
"csstype": "^3.1.3",
"rimraf": "^6.0.1"
diff --git a/packages/x-data-grid-premium/src/components/GridColumnMenuAggregationItem.tsx b/packages/x-data-grid-premium/src/components/GridColumnMenuAggregationItem.tsx
index 27fd029bb344..ff94890b8397 100644
--- a/packages/x-data-grid-premium/src/components/GridColumnMenuAggregationItem.tsx
+++ b/packages/x-data-grid-premium/src/components/GridColumnMenuAggregationItem.tsx
@@ -1,8 +1,6 @@
import * as React from 'react';
import PropTypes from 'prop-types';
import { GridColumnMenuItemProps, useGridSelector } from '@mui/x-data-grid-pro';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import FormControl from '@mui/material/FormControl';
import InputLabel from '@mui/material/InputLabel';
import { unstable_useId as useId } from '@mui/utils';
@@ -67,38 +65,36 @@ function GridColumnMenuAggregationItem(props: GridColumnMenuItemProps) {
const label = apiRef.current.getLocaleText('aggregationMenuItemHeader');
return (
-
-
-
-
-
-
- {label}
- event.stopPropagation()}
- fullWidth
- >
- ...
- {availableAggregationFunctions.map((aggFunc) => (
-
- {getAggregationFunctionLabel({
- apiRef,
- aggregationRule: {
- aggregationFunctionName: aggFunc,
- aggregationFunction: rootProps.aggregationFunctions[aggFunc],
- },
- })}
-
- ))}
-
-
-
+ }
+ >
+
+ {label}
+ event.stopPropagation()}
+ fullWidth
+ >
+ ...
+ {availableAggregationFunctions.map((aggFunc) => (
+
+ {getAggregationFunctionLabel({
+ apiRef,
+ aggregationRule: {
+ aggregationFunctionName: aggFunc,
+ aggregationFunction: rootProps.aggregationFunctions[aggFunc],
+ },
+ })}
+
+ ))}
+
+
);
}
diff --git a/packages/x-data-grid-premium/src/components/GridColumnMenuRowGroupItem.tsx b/packages/x-data-grid-premium/src/components/GridColumnMenuRowGroupItem.tsx
index 7f661095f957..a786316ea963 100644
--- a/packages/x-data-grid-premium/src/components/GridColumnMenuRowGroupItem.tsx
+++ b/packages/x-data-grid-premium/src/components/GridColumnMenuRowGroupItem.tsx
@@ -1,6 +1,4 @@
import * as React from 'react';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import {
useGridSelector,
gridColumnLookupSelector,
@@ -35,11 +33,9 @@ export function GridColumnMenuRowGroupItem(props: GridColumnMenuItemProps) {
onClick={ungroupColumn}
key={field}
disabled={!groupedColumn.groupable}
+ iconStart={}
>
-
-
-
- {apiRef.current.getLocaleText('unGroupColumn')(name)}
+ {apiRef.current.getLocaleText('unGroupColumn')(name)}
);
};
diff --git a/packages/x-data-grid-premium/src/components/GridColumnMenuRowUngroupItem.tsx b/packages/x-data-grid-premium/src/components/GridColumnMenuRowUngroupItem.tsx
index 9f100470d0b6..381364fec500 100644
--- a/packages/x-data-grid-premium/src/components/GridColumnMenuRowUngroupItem.tsx
+++ b/packages/x-data-grid-premium/src/components/GridColumnMenuRowUngroupItem.tsx
@@ -1,6 +1,4 @@
import * as React from 'react';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import {
gridColumnLookupSelector,
useGridSelector,
@@ -35,21 +33,21 @@ export function GridColumnMenuRowUngroupItem(props: GridColumnMenuItemProps) {
if (rowGroupingModel.includes(colDef.field)) {
return (
-
-
-
-
- {apiRef.current.getLocaleText('unGroupColumn')(name)}
+ }
+ >
+ {apiRef.current.getLocaleText('unGroupColumn')(name)}
);
}
return (
-
-
-
-
- {apiRef.current.getLocaleText('groupColumn')(name)}
+ }
+ >
+ {apiRef.current.getLocaleText('groupColumn')(name)}
);
}
diff --git a/packages/x-data-grid-pro/src/components/GridColumnMenuPinningItem.tsx b/packages/x-data-grid-pro/src/components/GridColumnMenuPinningItem.tsx
index 89168d11fa8d..9aed728d3b22 100644
--- a/packages/x-data-grid-pro/src/components/GridColumnMenuPinningItem.tsx
+++ b/packages/x-data-grid-pro/src/components/GridColumnMenuPinningItem.tsx
@@ -1,8 +1,6 @@
import * as React from 'react';
import { useRtl } from '@mui/system/RtlProvider';
import PropTypes from 'prop-types';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import { GridPinnedColumnPosition, GridColumnMenuItemProps } from '@mui/x-data-grid';
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
@@ -26,20 +24,20 @@ function GridColumnMenuPinningItem(props: GridColumnMenuItemProps) {
onClick(event);
};
const pinToLeftMenuItem = (
-
-
-
-
- {apiRef.current.getLocaleText('pinToLeft')}
+ }
+ >
+ {apiRef.current.getLocaleText('pinToLeft')}
);
const pinToRightMenuItem = (
-
-
-
-
- {apiRef.current.getLocaleText('pinToRight')}
+ }
+ >
+ {apiRef.current.getLocaleText('pinToRight')}
);
@@ -61,15 +59,14 @@ function GridColumnMenuPinningItem(props: GridColumnMenuItemProps) {
: rootProps.slots.columnMenuPinRightIcon;
return (
-
-
-
-
- {apiRef.current.getLocaleText(label)}
+ }
+ >
+ {apiRef.current.getLocaleText(label)}
-
-
- {apiRef.current.getLocaleText('unpin')}
+
+ {apiRef.current.getLocaleText('unpin')}
);
diff --git a/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx b/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx
index 2c0edaec52bb..554926d5227b 100644
--- a/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx
+++ b/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx
@@ -2,7 +2,6 @@ import * as React from 'react';
import PropTypes from 'prop-types';
import { IconButtonProps } from '@mui/material/IconButton';
import { MenuItemProps } from '@mui/material/MenuItem';
-import ListItemIcon from '@mui/material/ListItemIcon';
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
interface GridActionsCellItemCommonProps {
@@ -70,8 +69,12 @@ const GridActionsCellItem = React.forwardRef
- {icon && {icon}}
+
{label}
);
diff --git a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.tsx b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.tsx
index f7db300a230c..11939f195b19 100644
--- a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.tsx
+++ b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.tsx
@@ -1,7 +1,5 @@
import * as React from 'react';
import PropTypes from 'prop-types';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
import { GridColumnMenuItemProps } from '../GridColumnMenuItemProps';
import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
@@ -24,11 +22,11 @@ function GridColumnMenuFilterItem(props: GridColumnMenuItemProps) {
}
return (
-
-
-
-
- {apiRef.current.getLocaleText('columnMenuFilter')}
+ }
+ >
+ {apiRef.current.getLocaleText('columnMenuFilter')}
);
}
diff --git a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.tsx b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.tsx
index f6594765ba05..bb422f67d872 100644
--- a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.tsx
+++ b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.tsx
@@ -1,7 +1,5 @@
import * as React from 'react';
import PropTypes from 'prop-types';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import { GridColumnMenuItemProps } from '../GridColumnMenuItemProps';
import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
@@ -42,11 +40,12 @@ function GridColumnMenuHideItem(props: GridColumnMenuItemProps) {
}
return (
-
-
-
-
- {apiRef.current.getLocaleText('columnMenuHideColumn')}
+ }
+ >
+ {apiRef.current.getLocaleText('columnMenuHideColumn')}
);
}
diff --git a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.tsx b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.tsx
index df95549cbf30..7bd81ecd43ff 100644
--- a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.tsx
+++ b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.tsx
@@ -1,7 +1,5 @@
import * as React from 'react';
import PropTypes from 'prop-types';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import { GridPreferencePanelsValue } from '../../../../hooks/features/preferencesPanel/gridPreferencePanelsValue';
import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
import { GridColumnMenuItemProps } from '../GridColumnMenuItemProps';
@@ -25,11 +23,11 @@ function GridColumnMenuManageItem(props: GridColumnMenuItemProps) {
}
return (
-
-
-
-
- {apiRef.current.getLocaleText('columnMenuManageColumns')}
+ }
+ >
+ {apiRef.current.getLocaleText('columnMenuManageColumns')}
);
}
diff --git a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.tsx b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.tsx
index 7ac4c77444da..a8a7ca43c7d3 100644
--- a/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.tsx
+++ b/packages/x-data-grid/src/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.tsx
@@ -1,7 +1,5 @@
import * as React from 'react';
import PropTypes from 'prop-types';
-import ListItemIcon from '@mui/material/ListItemIcon';
-import ListItemText from '@mui/material/ListItemText';
import { useGridSelector } from '../../../../hooks/utils/useGridSelector';
import { gridSortModelSelector } from '../../../../hooks/features/sorting/gridSortingSelector';
import { GridSortDirection } from '../../../../models/gridSortModel';
@@ -54,25 +52,26 @@ function GridColumnMenuSortItem(props: GridColumnMenuItemProps) {
return (
{sortingOrder.includes('asc') && sortDirection !== 'asc' ? (
-
-
-
-
- {getLabel('columnMenuSortAsc')}
+ }
+ >
+ {getLabel('columnMenuSortAsc')}
) : null}
{sortingOrder.includes('desc') && sortDirection !== 'desc' ? (
-
-
-
-
- {getLabel('columnMenuSortDesc')}
+ }
+ >
+ {getLabel('columnMenuSortDesc')}
) : null}
{sortingOrder.includes(null) && sortDirection != null ? (
-
-
- {apiRef.current.getLocaleText('columnMenuUnsort')}
+
+ {apiRef.current.getLocaleText('columnMenuUnsort')}
) : null}
diff --git a/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx b/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx
index 585e9ff84943..643718858932 100644
--- a/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx
+++ b/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx
@@ -3,7 +3,6 @@ import PropTypes from 'prop-types';
import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
import { ButtonProps } from '@mui/material/Button';
import { TooltipProps } from '@mui/material/Tooltip';
-import ListItemIcon from '@mui/material/ListItemIcon';
import { gridDensitySelector } from '../../hooks/features/density/densitySelector';
import { GridDensity } from '../../models/gridDensity';
import { isHideMenuKey } from '../../utils/keyboardUtils';
@@ -99,8 +98,8 @@ const GridToolbarDensitySelector = React.forwardRef<
key={index}
onClick={() => handleDensityUpdate(option.value)}
selected={option.value === density}
+ iconStart={option.icon}
>
- {option.icon}
{option.label}
));
diff --git a/packages/x-data-grid/src/material/index.ts b/packages/x-data-grid/src/material/index.tsx
similarity index 82%
rename from packages/x-data-grid/src/material/index.ts
rename to packages/x-data-grid/src/material/index.tsx
index db2748de022c..6465357645d4 100644
--- a/packages/x-data-grid/src/material/index.ts
+++ b/packages/x-data-grid/src/material/index.tsx
@@ -1,6 +1,9 @@
+import * as React from 'react';
import MUIBadge from '@mui/material/Badge';
import MUICheckbox from '@mui/material/Checkbox';
import MUIDivider from '@mui/material/Divider';
+import MUIListItemIcon from '@mui/material/ListItemIcon';
+import MUIListItemText from '@mui/material/ListItemText';
import MUIMenuList from '@mui/material/MenuList';
import MUIMenuItem from '@mui/material/MenuItem';
import MUITextField from '@mui/material/TextField';
@@ -43,6 +46,7 @@ import {
} from './icons';
import type { GridIconSlotsComponent } from '../models';
import type { GridBaseSlots } from '../models/gridSlotsComponent';
+import type { GridSlotProps } from '../models/gridSlotsComponentsProps';
import MUISelectOption from './components/MUISelectOption';
const iconSlots: GridIconSlotsComponent = {
@@ -83,13 +87,12 @@ const iconSlots: GridIconSlotsComponent = {
columnReorderIcon: GridDragIcon,
};
-const materialSlots: GridBaseSlots & GridIconSlotsComponent = {
- ...iconSlots,
+const baseSlots: GridBaseSlots = {
baseBadge: MUIBadge,
baseCheckbox: MUICheckbox,
baseDivider: MUIDivider,
baseMenuList: MUIMenuList,
- baseMenuItem: MUIMenuItem,
+ baseMenuItem: BaseMenuItem,
baseTextField: MUITextField,
baseFormControl: MUIFormControl,
baseSelect: MUISelect,
@@ -103,4 +106,21 @@ const materialSlots: GridBaseSlots & GridIconSlotsComponent = {
baseChip: MUIChip,
};
+const materialSlots: GridBaseSlots & GridIconSlotsComponent = {
+ ...baseSlots,
+ ...iconSlots,
+};
+
export default materialSlots;
+
+function BaseMenuItem(props: GridSlotProps['baseMenuItem']) {
+ const { inert, iconStart, iconEnd, children, ...other } = props;
+ if (inert) {
+ (other as any).disableRipple = true;
+ }
+ return React.createElement(MUIMenuItem, other, [
+ iconStart && {iconStart},
+ {children},
+ iconEnd && {iconEnd},
+ ]);
+}
diff --git a/packages/x-data-grid/src/models/gridSlotsComponentsProps.ts b/packages/x-data-grid/src/models/gridSlotsComponentsProps.ts
index 8b709b41a55b..ecc364336082 100644
--- a/packages/x-data-grid/src/models/gridSlotsComponentsProps.ts
+++ b/packages/x-data-grid/src/models/gridSlotsComponentsProps.ts
@@ -2,7 +2,6 @@ import * as React from 'react';
import type { BadgeProps } from '@mui/material/Badge';
import type { CheckboxProps } from '@mui/material/Checkbox';
import type { MenuListProps } from '@mui/material/MenuList';
-import type { MenuItemProps } from '@mui/material/MenuItem';
import type { TextFieldProps } from '@mui/material/TextField';
import type { FormControlProps } from '@mui/material/FormControl';
import type { SelectProps } from '@mui/material/Select';
@@ -36,6 +35,19 @@ import type { GridColumnHeaderSortIconProps } from '../components/columnHeaders/
type DividerProps = {};
+type MenuItemProps = {
+ autoFocus?: boolean;
+ children: React.ReactNode;
+ /** For items that aren't interactive themselves (but may contain an interactive widget) */
+ inert?: boolean;
+ disabled?: boolean;
+ onClick?: React.MouseEventHandler;
+ iconStart?: React.ReactNode;
+ iconEnd?: React.ReactNode;
+ selected?: boolean;
+ value?: number | string | readonly string[];
+};
+
// Overrides for module augmentation
export interface BaseBadgePropsOverrides {}
export interface BaseCheckboxPropsOverrides {}
diff --git a/packages/x-tree-view/src/internals/models/plugin.ts b/packages/x-tree-view/src/internals/models/plugin.ts
index 327133b1dfa8..6b8bd4d8dd63 100644
--- a/packages/x-tree-view/src/internals/models/plugin.ts
+++ b/packages/x-tree-view/src/internals/models/plugin.ts
@@ -112,7 +112,7 @@ type PluginPropertyWithDependencies<
export type TreeViewUsedParams =
PluginPropertyWithDependencies;
-type TreeViewUsedDefaultizedParams =
+export type TreeViewUsedDefaultizedParams =
PluginPropertyWithDependencies;
export type TreeViewUsedInstance =
diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.ts
index 07523fbba84b..1871b09fd45f 100644
--- a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.ts
+++ b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.ts
@@ -24,3 +24,13 @@ export const selectorIsItemExpandable = createSelector(
[selectorItemMeta],
(itemMeta) => itemMeta?.expandable ?? false,
);
+
+/**
+ * Get the slot that triggers the item's expansion when clicked.
+ * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
+ * @returns {'content' | 'iconContainer'} The slot that triggers the item's expansion when clicked. Is `null` if the item is not expandable.
+ */
+export const selectorItemExpansionTrigger = createSelector(
+ [selectorExpansion],
+ (expansionState) => expansionState.expansionTrigger,
+);
diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.ts
index 985dca5daac1..a3b9723c4234 100644
--- a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.ts
+++ b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.ts
@@ -5,7 +5,7 @@ import { TreeViewPlugin } from '../../models';
import { UseTreeViewExpansionSignature } from './useTreeViewExpansion.types';
import { TreeViewItemId } from '../../../models';
import { selectorIsItemExpandable, selectorIsItemExpanded } from './useTreeViewExpansion.selectors';
-import { createExpandedItemsMap } from './useTreeViewExpansion.utils';
+import { createExpandedItemsMap, getExpansionTrigger } from './useTreeViewExpansion.utils';
import {
selectorItemMeta,
selectorItemOrderedChildrenIds,
@@ -16,19 +16,37 @@ export const useTreeViewExpansion: TreeViewPlugin
store,
params,
models,
- experimentalFeatures,
}) => {
- const isTreeViewEditable = Boolean(params.isItemEditable) && !!experimentalFeatures.labelEditing;
-
useEnhancedEffect(() => {
store.update((prevState) => ({
...prevState,
expansion: {
+ ...prevState.expansion,
expandedItemsMap: createExpandedItemsMap(models.expandedItems.value),
},
}));
}, [store, models.expandedItems.value]);
+ useEnhancedEffect(() => {
+ store.update((prevState) => {
+ const newExpansionTrigger = getExpansionTrigger({
+ isItemEditable: params.isItemEditable,
+ expansionTrigger: params.expansionTrigger,
+ });
+ if (prevState.expansion.expansionTrigger === newExpansionTrigger) {
+ return prevState;
+ }
+
+ return {
+ ...prevState,
+ expansion: {
+ ...prevState.expansion,
+ expansionTrigger: newExpansionTrigger,
+ },
+ };
+ });
+ }, [store, params.isItemEditable, params.expansionTrigger]);
+
const setExpandedItems = (event: React.SyntheticEvent, value: TreeViewItemId[]) => {
params.onExpandedItemsChange?.(event, value);
models.expandedItems.setControlledValue(value);
@@ -89,27 +107,6 @@ export const useTreeViewExpansion: TreeViewPlugin
}
};
- const expansionTrigger = React.useMemo(() => {
- if (params.expansionTrigger) {
- return params.expansionTrigger;
- }
-
- if (isTreeViewEditable) {
- return 'iconContainer';
- }
-
- return 'content';
- }, [params.expansionTrigger, isTreeViewEditable]);
-
- const pluginContextValue = React.useMemo(
- () => ({
- expansion: {
- expansionTrigger,
- },
- }),
- [expansionTrigger],
- );
-
return {
publicAPI: {
setItemExpansion,
@@ -119,7 +116,6 @@ export const useTreeViewExpansion: TreeViewPlugin
toggleItemExpansion,
expandAllSiblings,
},
- contextValue: pluginContextValue,
};
};
@@ -141,6 +137,7 @@ useTreeViewExpansion.getInitialState = (params) => ({
expandedItemsMap: createExpandedItemsMap(
params.expandedItems === undefined ? params.defaultExpandedItems : params.expandedItems,
),
+ expansionTrigger: getExpansionTrigger(params),
},
});
diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.ts
index 70a75a3cad27..a903fa645bfa 100644
--- a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.ts
+++ b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.ts
@@ -75,13 +75,10 @@ export type UseTreeViewExpansionDefaultizedParameters = DefaultizedProps<
export interface UseTreeViewExpansionState {
expansion: {
expandedItemsMap: Map;
+ expansionTrigger: 'content' | 'iconContainer';
};
}
-interface UseTreeViewExpansionContextValue {
- expansion: Pick;
-}
-
export type UseTreeViewExpansionSignature = TreeViewPluginSignature<{
params: UseTreeViewExpansionParameters;
defaultizedParams: UseTreeViewExpansionDefaultizedParameters;
@@ -89,7 +86,6 @@ export type UseTreeViewExpansionSignature = TreeViewPluginSignature<{
publicAPI: UseTreeViewExpansionPublicAPI;
modelNames: 'expandedItems';
state: UseTreeViewExpansionState;
- contextValue: UseTreeViewExpansionContextValue;
dependencies: [UseTreeViewItemsSignature];
optionalDependencies: [UseTreeViewLabelSignature];
}>;
diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.ts
index 17303c07aeaa..45ae73e5a6f8 100644
--- a/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.ts
+++ b/packages/x-tree-view/src/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.ts
@@ -1,4 +1,6 @@
import { TreeViewItemId } from '../../../models';
+import { TreeViewUsedDefaultizedParams } from '../../models';
+import { UseTreeViewExpansionSignature } from './useTreeViewExpansion.types';
export const createExpandedItemsMap = (expandedItems: string[]) => {
const expandedItemsMap = new Map();
@@ -8,3 +10,21 @@ export const createExpandedItemsMap = (expandedItems: string[]) => {
return expandedItemsMap;
};
+
+export const getExpansionTrigger = ({
+ isItemEditable,
+ expansionTrigger,
+}: Pick<
+ TreeViewUsedDefaultizedParams,
+ 'isItemEditable' | 'expansionTrigger'
+>) => {
+ if (expansionTrigger) {
+ return expansionTrigger;
+ }
+
+ if (isItemEditable) {
+ return 'iconContainer';
+ }
+
+ return 'content';
+};
diff --git a/packages/x-tree-view/src/useTreeItem/useTreeItem.ts b/packages/x-tree-view/src/useTreeItem/useTreeItem.ts
index 0f294e8a4012..5d7d29ffb3e2 100644
--- a/packages/x-tree-view/src/useTreeItem/useTreeItem.ts
+++ b/packages/x-tree-view/src/useTreeItem/useTreeItem.ts
@@ -30,6 +30,7 @@ import { selectorIsItemTheDefaultFocusableItem } from '../internals/plugins/useT
import { generateTreeItemIdAttribute } from '../internals/corePlugins/useTreeViewId/useTreeViewId.utils';
import { selectorCanItemBeFocused } from '../internals/plugins/useTreeViewItems/useTreeViewItems.selectors';
import { selectorTreeViewId } from '../internals/corePlugins/useTreeViewId/useTreeViewId.selectors';
+import { selectorItemExpansionTrigger } from '../internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors';
export const useTreeItem = <
TSignatures extends UseTreeItemMinimalPlugins = UseTreeItemMinimalPlugins,
@@ -41,7 +42,6 @@ export const useTreeItem = <
runItemPlugins,
items: { onItemClick },
selection: { disableSelection, checkboxSelection },
- expansion: { expansionTrigger },
label: labelContext,
instance,
publicAPI,
@@ -162,7 +162,7 @@ export const useTreeItem = <
if (event.defaultMuiPrevented || checkboxRef.current?.contains(event.target as HTMLElement)) {
return;
}
- if (expansionTrigger === 'content') {
+ if (selectorItemExpansionTrigger(store.value) === 'content') {
interactions.handleExpansion(event);
}
@@ -190,7 +190,7 @@ export const useTreeItem = <
if (event.defaultMuiPrevented) {
return;
}
- if (expansionTrigger === 'iconContainer') {
+ if (selectorItemExpansionTrigger(store.value) === 'iconContainer') {
interactions.handleExpansion(event);
}
};
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 546cada3c848..ce3ce2250a35 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,7 +6,7 @@ settings:
overrides:
react-is: ^18.3.1
- '@types/node': ^20.17.9
+ '@types/node': ^20.17.10
patchedDependencies:
babel-plugin-replace-imports@1.0.2:
@@ -105,8 +105,8 @@ importers:
specifier: ^5.16.8
version: 5.16.8(@types/react@18.3.14)(react@18.3.1)
'@next/eslint-plugin-next':
- specifier: 15.0.4
- version: 15.0.4
+ specifier: 15.1.0
+ version: 15.1.0
'@octokit/plugin-retry':
specifier: ^7.1.2
version: 7.1.2(@octokit/core@4.2.4(encoding@0.1.13))
@@ -114,8 +114,8 @@ importers:
specifier: ^21.0.2
version: 21.0.2
'@playwright/test':
- specifier: ^1.49.0
- version: 1.49.0
+ specifier: ^1.49.1
+ version: 1.49.1
'@types/babel__core':
specifier: ^7.20.5
version: 7.20.5
@@ -141,8 +141,8 @@ importers:
specifier: ^10.0.10
version: 10.0.10
'@types/node':
- specifier: ^20.17.9
- version: 20.17.9
+ specifier: ^20.17.10
+ version: 20.17.10
'@types/react':
specifier: ^18.3.14
version: 18.3.14
@@ -234,14 +234,14 @@ importers:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.1)
eslint-import-resolver-webpack:
- specifier: ^0.13.9
- version: 0.13.9(eslint-plugin-import@2.31.0)(webpack@5.97.1)
+ specifier: ^0.13.10
+ version: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1)
eslint-plugin-filenames:
specifier: ^1.3.2
version: 1.3.2(eslint@8.57.1)
eslint-plugin-import:
specifier: ^2.31.0
- version: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1)
+ version: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1)
eslint-plugin-jsdoc:
specifier: ^50.6.0
version: 50.6.0(eslint@8.57.1)
@@ -372,8 +372,8 @@ importers:
specifier: ^3.1.0
version: 3.1.0(webpack@5.97.1)
terser-webpack-plugin:
- specifier: ^5.3.10
- version: 5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack@5.97.1)
+ specifier: ^5.3.11
+ version: 5.3.11(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack@5.97.1)
tsx:
specifier: ^4.19.2
version: 4.19.2
@@ -427,7 +427,7 @@ importers:
version: 11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1)
'@mui/docs':
specifier: 6.1.10
- version: 6.1.10(4eqodambaf55mpgx5qj7mrivui)
+ version: 6.1.10(67ymjjjvxlbxemkxt6bldcxovm)
'@mui/icons-material':
specifier: ^5.16.9
version: 5.16.9(@mui/material@5.16.9(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.14)(react@18.3.1)
@@ -442,7 +442,7 @@ importers:
version: 5.16.9(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/material-nextjs':
specifier: ^5.16.8
- version: 5.16.8(@emotion/cache@11.13.5)(@emotion/server@11.11.0)(@mui/material@5.16.9(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.14)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 5.16.8(@emotion/cache@11.13.5)(@emotion/server@11.11.0)(@mui/material@5.16.9(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.14)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@mui/styles':
specifier: ^5.16.9
version: 5.16.9(@types/react@18.3.14)(react@18.3.1)
@@ -574,7 +574,7 @@ importers:
version: 0.5.46
next:
specifier: ^14.2.20
- version: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
nprogress:
specifier: ^0.2.0
version: 0.2.0
@@ -725,8 +725,8 @@ importers:
specifier: ^10.0.10
version: 10.0.10
'@types/node':
- specifier: ^20.17.9
- version: 20.17.9
+ specifier: ^20.17.10
+ version: 20.17.10
packages/x-charts:
dependencies:
@@ -795,7 +795,7 @@ importers:
specifier: ^15.7.14
version: 15.7.14
'@types/react-is':
- specifier: ^18.3.0
+ specifier: ^18.3.1
version: 18.3.1
'@types/use-sync-external-store':
specifier: ^0.0.6
@@ -1595,8 +1595,8 @@ importers:
specifier: workspace:*
version: link:../packages/x-license/build
'@playwright/test':
- specifier: ^1.49.0
- version: 1.49.0
+ specifier: ^1.49.1
+ version: 1.49.1
'@react-spring/web':
specifier: ^9.7.5
version: 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -1656,7 +1656,7 @@ importers:
devDependencies:
'@codspeed/vitest-plugin':
specifier: ^3.1.1
- version: 3.1.1(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))(vitest@2.1.8)
+ version: 3.1.1(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))(vitest@2.1.8)
'@emotion/react':
specifier: ^11.13.5
version: 11.13.5(@types/react@18.3.14)(react@18.3.1)
@@ -1677,13 +1677,13 @@ importers:
version: 14.5.2(@testing-library/dom@10.4.0)
'@vitejs/plugin-react':
specifier: ^4.3.4
- version: 4.3.4(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))
+ version: 4.3.4(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))
'@vitejs/plugin-react-swc':
specifier: ^3.7.2
- version: 3.7.2(@swc/helpers@0.5.5)(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))
+ version: 3.7.2(@swc/helpers@0.5.5)(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))
'@vitest/browser':
specifier: 2.1.8
- version: 2.1.8(@types/node@20.17.9)(playwright@1.49.0)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))(vitest@2.1.8)
+ version: 2.1.8(@types/node@20.17.10)(playwright@1.49.1)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))(vitest@2.1.8)
'@vitest/ui':
specifier: 2.1.8
version: 2.1.8(vitest@2.1.8)
@@ -1698,7 +1698,7 @@ importers:
version: 18.3.1(react@18.3.1)
vitest:
specifier: 2.1.8
- version: 2.1.8(@types/node@20.17.9)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(terser@5.36.0)
+ version: 2.1.8(@types/node@20.17.10)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(terser@5.36.0)
packages:
@@ -3026,7 +3026,7 @@ packages:
resolution: {integrity: sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==}
engines: {node: '>=18'}
peerDependencies:
- '@types/node': ^20.17.9
+ '@types/node': ^20.17.10
'@inquirer/core@10.1.0':
resolution: {integrity: sha512-I+ETk2AL+yAVbvuKx5AJpQmoaWhpiTFOg/UJb7ZkMAK4blmtG8ATh5ct+T/8xNld0CZG/2UhtkdMwpgvld92XQ==}
@@ -3040,7 +3040,7 @@ packages:
resolution: {integrity: sha512-+ksJMIy92sOAiAccGpcKZUc3bYO07cADnscIxHBknEm3uNts3movSmBofc1908BNy5edKscxYeAdaX1NXkHS6A==}
engines: {node: '>=18'}
peerDependencies:
- '@types/node': ^20.17.9
+ '@types/node': ^20.17.10
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
@@ -3312,8 +3312,8 @@ packages:
'@next/env@14.2.20':
resolution: {integrity: sha512-JfDpuOCB0UBKlEgEy/H6qcBSzHimn/YWjUHzKl1jMeUO+QVRdzmTTl8gFJaNO87c8DXmVKhFCtwxQ9acqB3+Pw==}
- '@next/eslint-plugin-next@15.0.4':
- resolution: {integrity: sha512-rbsF17XGzHtR7SDWzWpavSfum3/UdnF8bAaisnKwP//si3KWPTedVUsflAdjyK1zW3rweBjbALfKcavFneLGvg==}
+ '@next/eslint-plugin-next@15.1.0':
+ resolution: {integrity: sha512-+jPT0h+nelBT6HC9ZCHGc7DgGVy04cv4shYdAe6tKlEbjQUtwU3LzQhzbDHQyY2m6g39m6B0kOFVuLGBrxxbGg==}
'@next/swc-darwin-arm64@14.2.20':
resolution: {integrity: sha512-WDfq7bmROa5cIlk6ZNonNdVhKmbCv38XteVFYsxea1vDJt3SnYGgxLGMTXQNfs5OkFvAhmfKKrwe7Y0Hs+rWOg==}
@@ -3721,8 +3721,8 @@ packages:
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- '@playwright/test@1.49.0':
- resolution: {integrity: sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==}
+ '@playwright/test@1.49.1':
+ resolution: {integrity: sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==}
engines: {node: '>=18'}
hasBin: true
@@ -4220,8 +4220,8 @@ packages:
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
- '@types/node@20.17.9':
- resolution: {integrity: sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==}
+ '@types/node@20.17.10':
+ resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -6013,8 +6013,8 @@ packages:
eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
- eslint-import-resolver-webpack@0.13.9:
- resolution: {integrity: sha512-yGngeefNiHXau2yzKKs2BNON4HLpxBabY40BGL/vUSKZtqzjlVsTTZm57jhHULhm+mJEwKsEIIN3NXup5AiiBQ==}
+ eslint-import-resolver-webpack@0.13.10:
+ resolution: {integrity: sha512-ciVTEg7sA56wRMR772PyjcBRmyBMLS46xgzQZqt6cWBEKc7cK65ZSSLCTLVRu2gGtKyXUb5stwf4xxLBfERLFA==}
engines: {node: '>= 6'}
peerDependencies:
eslint-plugin-import: '>=1.4.0'
@@ -8646,13 +8646,13 @@ packages:
resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
engines: {node: '>=8'}
- playwright-core@1.49.0:
- resolution: {integrity: sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==}
+ playwright-core@1.49.1:
+ resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==}
engines: {node: '>=18'}
hasBin: true
- playwright@1.49.0:
- resolution: {integrity: sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==}
+ playwright@1.49.1:
+ resolution: {integrity: sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==}
engines: {node: '>=18'}
hasBin: true
@@ -9180,9 +9180,9 @@ packages:
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
engines: {node: '>= 10.13.0'}
- schema-utils@4.2.0:
- resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
- engines: {node: '>= 12.13.0'}
+ schema-utils@4.3.0:
+ resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==}
+ engines: {node: '>= 10.13.0'}
search-insights@2.17.3:
resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
@@ -9594,8 +9594,8 @@ packages:
resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==}
engines: {node: '>=4'}
- terser-webpack-plugin@5.3.10:
- resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ terser-webpack-plugin@5.3.11:
+ resolution: {integrity: sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==}
engines: {node: '>= 10.13.0'}
peerDependencies:
'@swc/core': '*'
@@ -10044,7 +10044,7 @@ packages:
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
- '@types/node': ^20.17.9
+ '@types/node': ^20.17.10
less: '*'
lightningcss: ^1.21.0
sass: '*'
@@ -10076,7 +10076,7 @@ packages:
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
- '@types/node': ^20.17.9
+ '@types/node': ^20.17.10
'@vitest/browser': 2.1.8
'@vitest/ui': 2.1.8
happy-dom: '*'
@@ -11404,11 +11404,11 @@ snapshots:
transitivePeerDependencies:
- debug
- '@codspeed/vitest-plugin@3.1.1(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))(vitest@2.1.8)':
+ '@codspeed/vitest-plugin@3.1.1(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))(vitest@2.1.8)':
dependencies:
'@codspeed/core': 3.1.1
- vite: 5.4.11(@types/node@20.17.9)(terser@5.36.0)
- vitest: 2.1.8(@types/node@20.17.9)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(terser@5.36.0)
+ vite: 5.4.11(@types/node@20.17.10)(terser@5.36.0)
+ vitest: 2.1.8(@types/node@20.17.10)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(terser@5.36.0)
transitivePeerDependencies:
- debug
@@ -11715,7 +11715,7 @@ snapshots:
'@fast-csv/format@4.3.5':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
lodash.escaperegexp: 4.1.2
lodash.isboolean: 3.0.3
lodash.isequal: 4.5.0
@@ -11724,7 +11724,7 @@ snapshots:
'@fast-csv/parse@4.3.6':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
lodash.escaperegexp: 4.1.2
lodash.groupby: 4.6.0
lodash.isfunction: 3.0.9
@@ -11863,16 +11863,16 @@ snapshots:
'@img/sharp-win32-x64@0.33.5':
optional: true
- '@inquirer/confirm@5.0.2(@types/node@20.17.9)':
+ '@inquirer/confirm@5.0.2(@types/node@20.17.10)':
dependencies:
- '@inquirer/core': 10.1.0(@types/node@20.17.9)
- '@inquirer/type': 3.0.1(@types/node@20.17.9)
- '@types/node': 20.17.9
+ '@inquirer/core': 10.1.0(@types/node@20.17.10)
+ '@inquirer/type': 3.0.1(@types/node@20.17.10)
+ '@types/node': 20.17.10
- '@inquirer/core@10.1.0(@types/node@20.17.9)':
+ '@inquirer/core@10.1.0(@types/node@20.17.10)':
dependencies:
'@inquirer/figures': 1.0.8
- '@inquirer/type': 3.0.1(@types/node@20.17.9)
+ '@inquirer/type': 3.0.1(@types/node@20.17.10)
ansi-escapes: 4.3.2
cli-width: 4.1.0
mute-stream: 2.0.0
@@ -11885,9 +11885,9 @@ snapshots:
'@inquirer/figures@1.0.8': {}
- '@inquirer/type@3.0.1(@types/node@20.17.9)':
+ '@inquirer/type@3.0.1(@types/node@20.17.10)':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@isaacs/cliui@8.0.2':
dependencies:
@@ -12044,7 +12044,7 @@ snapshots:
'@mui/core-downloads-tracker@5.16.9': {}
- '@mui/docs@6.1.10(4eqodambaf55mpgx5qj7mrivui)':
+ '@mui/docs@6.1.10(67ymjjjvxlbxemkxt6bldcxovm)':
dependencies:
'@babel/runtime': 7.26.0
'@mui/base': 5.0.0-beta.40(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -12056,7 +12056,7 @@ snapshots:
clipboard-copy: 4.0.1
clsx: 2.1.1
csstype: 3.1.3
- next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
nprogress: 0.2.0
prop-types: 15.8.1
react: 18.3.1
@@ -12122,7 +12122,7 @@ snapshots:
jsdom: 25.0.1
lodash: 4.17.21
mocha: 10.8.2
- playwright: 1.49.0
+ playwright: 1.49.1
prop-types: 15.8.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@@ -12170,11 +12170,11 @@ snapshots:
'@emotion/styled': 11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1)
'@types/react': 18.3.14
- '@mui/material-nextjs@5.16.8(@emotion/cache@11.13.5)(@emotion/server@11.11.0)(@mui/material@5.16.9(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.14)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ '@mui/material-nextjs@5.16.8(@emotion/cache@11.13.5)(@emotion/server@11.11.0)(@mui/material@5.16.9(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.14)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
'@mui/material': 5.16.9(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react@18.3.1))(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
optionalDependencies:
'@emotion/cache': 11.13.5
@@ -12310,7 +12310,7 @@ snapshots:
'@next/env@14.2.20': {}
- '@next/eslint-plugin-next@15.0.4':
+ '@next/eslint-plugin-next@15.1.0':
dependencies:
fast-glob: 3.3.1
@@ -12822,9 +12822,9 @@ snapshots:
'@pkgr/core@0.1.1': {}
- '@playwright/test@1.49.0':
+ '@playwright/test@1.49.1':
dependencies:
- playwright: 1.49.0
+ playwright: 1.49.1
'@polka/url@1.0.0-next.28': {}
@@ -12997,14 +12997,14 @@ snapshots:
'@slack/logger@4.0.0':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@slack/oauth@3.0.1':
dependencies:
'@slack/logger': 4.0.0
'@slack/web-api': 7.7.0
'@types/jsonwebtoken': 9.0.7
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
jsonwebtoken: 9.0.2
lodash.isstring: 4.0.1
transitivePeerDependencies:
@@ -13014,7 +13014,7 @@ snapshots:
dependencies:
'@slack/logger': 4.0.0
'@slack/web-api': 7.7.0
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/ws': 8.5.13
eventemitter3: 5.0.1
ws: 8.18.0
@@ -13029,7 +13029,7 @@ snapshots:
dependencies:
'@slack/logger': 4.0.0
'@slack/types': 2.14.0
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/retry': 0.12.0
axios: 1.7.8(debug@4.3.7)
eventemitter3: 5.0.1
@@ -13178,7 +13178,7 @@ snapshots:
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/chai-dom@1.11.3':
dependencies:
@@ -13190,7 +13190,7 @@ snapshots:
'@types/connect@3.4.38':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/cookie@0.4.1': {}
@@ -13198,7 +13198,7 @@ snapshots:
'@types/cors@2.8.17':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/d3-array@3.2.1': {}
@@ -13248,7 +13248,7 @@ snapshots:
'@types/express-serve-static-core@4.19.6':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/qs': 6.9.17
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -13265,7 +13265,7 @@ snapshots:
'@types/fs-extra@11.0.4':
dependencies:
'@types/jsonfile': 6.1.4
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/gtag.js@0.0.20': {}
@@ -13288,15 +13288,15 @@ snapshots:
'@types/jsonfile@6.1.4':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/jsonwebtoken@9.0.7':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/karma@6.3.9':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
log4js: 6.9.1
transitivePeerDependencies:
- supports-color
@@ -13327,7 +13327,7 @@ snapshots:
'@types/ms@0.7.34': {}
- '@types/node@20.17.9':
+ '@types/node@20.17.10':
dependencies:
undici-types: 6.19.8
@@ -13378,12 +13378,12 @@ snapshots:
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/send': 0.17.4
'@types/sinon@17.0.3':
@@ -13406,7 +13406,7 @@ snapshots:
'@types/webpack-bundle-analyzer@4.7.0(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.97.1))':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
tapable: 2.2.1
webpack: 5.97.1(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.97.1))
transitivePeerDependencies:
@@ -13417,7 +13417,7 @@ snapshots:
'@types/ws@8.5.13':
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
'@types/yargs-parser@21.0.3': {}
@@ -13547,38 +13547,38 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
- '@vitejs/plugin-react-swc@3.7.2(@swc/helpers@0.5.5)(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))':
+ '@vitejs/plugin-react-swc@3.7.2(@swc/helpers@0.5.5)(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))':
dependencies:
'@swc/core': 1.9.3(@swc/helpers@0.5.5)
- vite: 5.4.11(@types/node@20.17.9)(terser@5.36.0)
+ vite: 5.4.11(@types/node@20.17.10)(terser@5.36.0)
transitivePeerDependencies:
- '@swc/helpers'
- '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))':
+ '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))':
dependencies:
'@babel/core': 7.26.0
'@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
'@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
- vite: 5.4.11(@types/node@20.17.9)(terser@5.36.0)
+ vite: 5.4.11(@types/node@20.17.10)(terser@5.36.0)
transitivePeerDependencies:
- supports-color
- '@vitest/browser@2.1.8(@types/node@20.17.9)(playwright@1.49.0)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))(vitest@2.1.8)':
+ '@vitest/browser@2.1.8(@types/node@20.17.10)(playwright@1.49.1)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))(vitest@2.1.8)':
dependencies:
'@testing-library/dom': 10.4.0
'@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0)
- '@vitest/mocker': 2.1.8(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))
+ '@vitest/mocker': 2.1.8(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))
'@vitest/utils': 2.1.8
magic-string: 0.30.14
- msw: 2.6.6(@types/node@20.17.9)(typescript@5.7.2)
+ msw: 2.6.6(@types/node@20.17.10)(typescript@5.7.2)
sirv: 3.0.0
tinyrainbow: 1.2.0
- vitest: 2.1.8(@types/node@20.17.9)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(terser@5.36.0)
+ vitest: 2.1.8(@types/node@20.17.10)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(terser@5.36.0)
ws: 8.18.0
optionalDependencies:
- playwright: 1.49.0
+ playwright: 1.49.1
transitivePeerDependencies:
- '@types/node'
- bufferutil
@@ -13593,14 +13593,14 @@ snapshots:
chai: 5.1.2
tinyrainbow: 1.2.0
- '@vitest/mocker@2.1.8(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))':
+ '@vitest/mocker@2.1.8(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))':
dependencies:
'@vitest/spy': 2.1.8
estree-walker: 3.0.3
magic-string: 0.30.14
optionalDependencies:
- msw: 2.6.6(@types/node@20.17.9)(typescript@5.7.2)
- vite: 5.4.11(@types/node@20.17.9)(terser@5.36.0)
+ msw: 2.6.6(@types/node@20.17.10)(typescript@5.7.2)
+ vite: 5.4.11(@types/node@20.17.10)(terser@5.36.0)
'@vitest/pretty-format@2.1.8':
dependencies:
@@ -13630,7 +13630,7 @@ snapshots:
sirv: 3.0.0
tinyglobby: 0.2.10
tinyrainbow: 1.2.0
- vitest: 2.1.8(@types/node@20.17.9)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(terser@5.36.0)
+ vitest: 2.1.8(@types/node@20.17.10)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(terser@5.36.0)
'@vitest/utils@2.1.8':
dependencies:
@@ -14094,7 +14094,7 @@ snapshots:
dependencies:
'@babel/core': 7.26.0
find-cache-dir: 4.0.0
- schema-utils: 4.2.0
+ schema-utils: 4.3.0
webpack: 5.97.1(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.97.1))
babel-plugin-istanbul@7.0.0:
@@ -14605,7 +14605,7 @@ snapshots:
compression-webpack-plugin@11.1.0(webpack@5.97.1):
dependencies:
- schema-utils: 4.2.0
+ schema-utils: 4.3.0
serialize-javascript: 6.0.2
webpack: 5.97.1(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.97.1))
@@ -15189,7 +15189,7 @@ snapshots:
dependencies:
'@types/cookie': 0.4.1
'@types/cors': 2.8.17
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.7.2
@@ -15412,7 +15412,7 @@ snapshots:
dependencies:
confusing-browser-globals: 1.0.11
eslint: 8.57.1
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1)
object.assign: 4.1.5
object.entries: 1.1.8
semver: 6.3.1
@@ -15430,7 +15430,7 @@ snapshots:
dependencies:
eslint: 8.57.1
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
eslint-plugin-react-hooks: 5.1.0(eslint@8.57.1)
@@ -15449,11 +15449,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.97.1):
+ eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1):
dependencies:
debug: 3.2.7
enhanced-resolve: 0.9.1
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1)
find-root: 1.1.0
hasown: 2.0.2
interpret: 1.4.0
@@ -15466,14 +15466,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-webpack: 0.13.9(eslint-plugin-import@2.31.0)(webpack@5.97.1)
+ eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1)
transitivePeerDependencies:
- supports-color
@@ -15485,7 +15485,7 @@ snapshots:
lodash.snakecase: 4.1.1
lodash.upperfirst: 4.3.1
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -15496,7 +15496,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -16902,7 +16902,7 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -17958,12 +17958,12 @@ snapshots:
ms@2.1.3: {}
- msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2):
+ msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2):
dependencies:
'@bundled-es-modules/cookie': 2.0.1
'@bundled-es-modules/statuses': 1.0.1
'@bundled-es-modules/tough-cookie': 0.1.6
- '@inquirer/confirm': 5.0.2(@types/node@20.17.9)
+ '@inquirer/confirm': 5.0.2(@types/node@20.17.10)
'@mswjs/interceptors': 0.37.3
'@open-draft/deferred-promise': 2.2.0
'@open-draft/until': 2.1.0
@@ -18022,7 +18022,7 @@ snapshots:
nested-error-stacks@2.1.1: {}
- next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.49.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.2.20
'@swc/helpers': 0.5.5
@@ -18043,7 +18043,7 @@ snapshots:
'@next/swc-win32-arm64-msvc': 14.2.20
'@next/swc-win32-ia32-msvc': 14.2.20
'@next/swc-win32-x64-msvc': 14.2.20
- '@playwright/test': 1.49.0
+ '@playwright/test': 1.49.1
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
@@ -18686,11 +18686,11 @@ snapshots:
dependencies:
find-up: 3.0.0
- playwright-core@1.49.0: {}
+ playwright-core@1.49.1: {}
- playwright@1.49.0:
+ playwright@1.49.1:
dependencies:
- playwright-core: 1.49.0
+ playwright-core: 1.49.1
optionalDependencies:
fsevents: 2.3.2
@@ -19280,7 +19280,7 @@ snapshots:
ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6)
- schema-utils@4.2.0:
+ schema-utils@4.3.0:
dependencies:
'@types/json-schema': 7.0.15
ajv: 8.17.1
@@ -19805,11 +19805,11 @@ snapshots:
temp-dir@1.0.0: {}
- terser-webpack-plugin@5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack@5.97.1):
+ terser-webpack-plugin@5.3.11(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack@5.97.1):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
- schema-utils: 3.3.0
+ schema-utils: 4.3.0
serialize-javascript: 6.0.2
terser: 5.36.0
webpack: 5.97.1(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.97.1))
@@ -20221,13 +20221,13 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-node@2.1.8(@types/node@20.17.9)(terser@5.36.0):
+ vite-node@2.1.8(@types/node@20.17.10)(terser@5.36.0):
dependencies:
cac: 6.7.14
debug: 4.3.7(supports-color@8.1.1)
es-module-lexer: 1.5.4
pathe: 1.1.2
- vite: 5.4.11(@types/node@20.17.9)(terser@5.36.0)
+ vite: 5.4.11(@types/node@20.17.10)(terser@5.36.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -20239,20 +20239,20 @@ snapshots:
- supports-color
- terser
- vite@5.4.11(@types/node@20.17.9)(terser@5.36.0):
+ vite@5.4.11(@types/node@20.17.10)(terser@5.36.0):
dependencies:
esbuild: 0.21.5
postcss: 8.4.49
rollup: 4.28.0
optionalDependencies:
- '@types/node': 20.17.9
+ '@types/node': 20.17.10
fsevents: 2.3.3
terser: 5.36.0
- vitest@2.1.8(@types/node@20.17.9)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(terser@5.36.0):
+ vitest@2.1.8(@types/node@20.17.10)(@vitest/browser@2.1.8)(@vitest/ui@2.1.8)(jsdom@25.0.1)(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(terser@5.36.0):
dependencies:
'@vitest/expect': 2.1.8
- '@vitest/mocker': 2.1.8(msw@2.6.6(@types/node@20.17.9)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))
+ '@vitest/mocker': 2.1.8(msw@2.6.6(@types/node@20.17.10)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))
'@vitest/pretty-format': 2.1.8
'@vitest/runner': 2.1.8
'@vitest/snapshot': 2.1.8
@@ -20268,12 +20268,12 @@ snapshots:
tinyexec: 0.3.1
tinypool: 1.0.2
tinyrainbow: 1.2.0
- vite: 5.4.11(@types/node@20.17.9)(terser@5.36.0)
- vite-node: 2.1.8(@types/node@20.17.9)(terser@5.36.0)
+ vite: 5.4.11(@types/node@20.17.10)(terser@5.36.0)
+ vite-node: 2.1.8(@types/node@20.17.10)(terser@5.36.0)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 20.17.9
- '@vitest/browser': 2.1.8(@types/node@20.17.9)(playwright@1.49.0)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.9)(terser@5.36.0))(vitest@2.1.8)
+ '@types/node': 20.17.10
+ '@vitest/browser': 2.1.8(@types/node@20.17.10)(playwright@1.49.1)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.10)(terser@5.36.0))(vitest@2.1.8)
'@vitest/ui': 2.1.8(vitest@2.1.8)
jsdom: 25.0.1
transitivePeerDependencies:
@@ -20379,7 +20379,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack@5.97.1)
+ terser-webpack-plugin: 5.3.11(@swc/core@1.9.3(@swc/helpers@0.5.5))(webpack@5.97.1)
watchpack: 2.4.2
webpack-sources: 3.2.3
optionalDependencies:
diff --git a/test/package.json b/test/package.json
index a1952c65ac15..6f0c9c811646 100644
--- a/test/package.json
+++ b/test/package.json
@@ -18,7 +18,7 @@
"@mui/x-date-pickers": "workspace:*",
"@mui/x-date-pickers-pro": "workspace:*",
"@mui/x-license": "workspace:*",
- "@playwright/test": "^1.49.0",
+ "@playwright/test": "^1.49.1",
"@react-spring/web": "^9.7.5",
"@types/chai": "^4.3.20",
"@types/karma": "^6.3.9",
diff --git a/test/utils/tree-view/fakeContextValue.ts b/test/utils/tree-view/fakeContextValue.ts
index d98130dcf3f6..17316da4e500 100644
--- a/test/utils/tree-view/fakeContextValue.ts
+++ b/test/utils/tree-view/fakeContextValue.ts
@@ -30,7 +30,6 @@ export const getFakeContextValue = (
rootRef: {
current: null,
},
- expansion: { expansionTrigger: 'content' },
store: new TreeViewStore({
cacheKey: { id: 1 },
id: { treeId: 'mui-tree-view-1', providedTreeId: undefined },
@@ -41,7 +40,7 @@ export const getFakeContextValue = (
itemOrderedChildrenIdsLookup: {},
itemChildrenIndexesLookup: {},
},
- expansion: { expandedItemsMap: new Map() },
+ expansion: { expandedItemsMap: new Map(), expansionTrigger: 'content' },
selection: { selectedItemsMap: new Map() },
focus: { focusedItemId: null, defaultFocusableItemId: null },
}),