@mui/utils 7.3.8 → 7.3.9

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## 7.3.9
4
+
5
+ <!-- generated comparing v7.3.8..v7.x -->
6
+
7
+ _Mar 5, 2026_
8
+
9
+ A big thanks to the 15 contributors who made this release possible.
10
+
11
+ ### `@mui/material@7.3.9`
12
+
13
+ - Clean up duplicated CSS rules (#47893) @sai6855
14
+ - [theme] Generate `color-mix` value on top of default generated Material UI CSS variables (#47791) @ZeeshanTamboli
15
+ - [tooltip] Fix error is thrown when wrapping an input which is disabled while focused (#47841) @ZeeshanTamboli
16
+ - [table cell][theme] Apply `alpha` before color mixing to border bottom color when nativeColor + cssVariables is used (#47840) @ZeeshanTamboli
17
+
18
+ ### Docs
19
+
20
+ - Fix small typo in NumberField page (#47888) @arthur-plazanet
21
+ - Fix Theme builder video (#47855) @oliviertassinari
22
+ - Add updated community theme resource (#47853) @PeterTYLiu
23
+ - Fix the keyboard navigation in GroupedMenu example (#47848) @silviuaavram
24
+ - Few copy fixes (#47810) @pavan-sh
25
+ - Fix JSX in Overriding component structure docs (#47805) @ZeeshanTamboli
26
+ - Fix SSR flicker sentence grammar (#47794) @pavan-sh
27
+ - [system] Update sizing docs to clarify `(0, 1]` behavior. (#47851) @matthias-ccri
28
+ - [theme] Fix `nativeColor` docs (#47759) (#47789) @ZeeshanTamboli
29
+
30
+ ### Core
31
+
32
+ - point v7 subdomain to MUI X v7 docs (#113) @vmakhaev
33
+ - [blog] Blogpost for upcoming price changes for MUI X (#47748) (#47910) @DanailH
34
+ - [blog] Company Update: What we've been working on (and why) (alethomas) (#47626) (#47908) @alelthomas
35
+ - [core] Update releaseChangelog.mjs (#47862) @mnajdova
36
+ - [code-infra] Detect browser envs that don't support layout (#47813) (#47873) @Janpot
37
+ - [code-infra] Enable undefined addition to optional properties (#47815) @brijeshb42
38
+ - [docs-infra] Reapply Cookie Banner with Design Fixes (#47744) @dav-is
39
+
40
+ All contributors of this release in alphabetical order: @alelthomas, @arthur-plazanet, @brijeshb42, @DanailH, @dav-is, @Janpot, @matthias-ccri, @mnajdova, @oliviertassinari, @pavan-sh, @PeterTYLiu, @sai6855, @silviuaavram, @vmakhaev, @ZeeshanTamboli
41
+
3
42
  ## 7.3.8
4
43
 
5
44
  <!-- generated comparing v7.3.7..master -->
@@ -1,6 +1,6 @@
1
1
  export declare function isPlainObject(item: unknown): item is Record<keyof any, unknown>;
2
2
  export interface DeepmergeOptions {
3
- clone?: boolean;
3
+ clone?: boolean | undefined;
4
4
  }
5
5
  /**
6
6
  * Merge objects deeply.
@@ -1,6 +1,6 @@
1
1
  export declare function isPlainObject(item: unknown): item is Record<keyof any, unknown>;
2
2
  export interface DeepmergeOptions {
3
- clone?: boolean;
3
+ clone?: boolean | undefined;
4
4
  }
5
5
  /**
6
6
  * Merge objects deeply.
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/utils v7.3.8
2
+ * @mui/utils v7.3.9
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -3,9 +3,9 @@ import { ClassValue } from 'clsx';
3
3
  import { Simplify } from '@mui/types';
4
4
  import { EventHandlers } from "../types/index.js";
5
5
  export type WithCommonProps<OtherProps> = OtherProps & {
6
- className?: string;
7
- style?: React.CSSProperties;
8
- ref?: React.Ref<any>;
6
+ className?: string | undefined;
7
+ style?: React.CSSProperties | undefined;
8
+ ref?: React.Ref<any> | undefined;
9
9
  };
10
10
  export interface MergeSlotPropsParameters<SlotProps, ExternalForwardedProps, ExternalSlotProps, AdditionalProps> {
11
11
  /**
@@ -13,29 +13,29 @@ export interface MergeSlotPropsParameters<SlotProps, ExternalForwardedProps, Ext
13
13
  * It accepts the event handlers passed into the component by the user
14
14
  * and is responsible for calling them where appropriate.
15
15
  */
16
- getSlotProps?: (other: EventHandlers) => WithCommonProps<SlotProps>;
16
+ getSlotProps?: ((other: EventHandlers) => WithCommonProps<SlotProps>) | undefined;
17
17
  /**
18
18
  * Props provided to the `slotProps.*` of the Base UI component.
19
19
  */
20
- externalSlotProps?: WithCommonProps<ExternalSlotProps>;
20
+ externalSlotProps?: WithCommonProps<ExternalSlotProps> | undefined;
21
21
  /**
22
22
  * Extra props placed on the Base UI component that should be forwarded to the slot.
23
23
  * This should usually be used only for the root slot.
24
24
  */
25
- externalForwardedProps?: WithCommonProps<ExternalForwardedProps>;
25
+ externalForwardedProps?: WithCommonProps<ExternalForwardedProps> | undefined;
26
26
  /**
27
27
  * Additional props to be placed on the slot.
28
28
  */
29
- additionalProps?: WithCommonProps<AdditionalProps>;
29
+ additionalProps?: WithCommonProps<AdditionalProps> | undefined;
30
30
  /**
31
31
  * Extra class name(s) to be placed on the slot.
32
32
  */
33
- className?: ClassValue | ClassValue[];
33
+ className?: ClassValue | ClassValue[] | undefined;
34
34
  }
35
35
  export type MergeSlotPropsResult<SlotProps, ExternalForwardedProps, ExternalSlotProps, AdditionalProps> = {
36
36
  props: Simplify<SlotProps & ExternalForwardedProps & ExternalSlotProps & AdditionalProps & {
37
- className?: string;
38
- style?: React.CSSProperties;
37
+ className?: string | undefined;
38
+ style?: React.CSSProperties | undefined;
39
39
  }>;
40
40
  internalRef: React.Ref<any> | undefined;
41
41
  };
@@ -8,10 +8,10 @@
8
8
  * @returns resolved props
9
9
  */
10
10
  export default function resolveProps<T extends {
11
- components?: Record<string, unknown>;
12
- componentsProps?: Record<string, unknown>;
13
- slots?: Record<string, unknown>;
14
- slotProps?: Record<string, unknown>;
15
- className?: string;
16
- style?: React.CSSProperties;
11
+ components?: Record<string, unknown> | undefined;
12
+ componentsProps?: Record<string, unknown> | undefined;
13
+ slots?: Record<string, unknown> | undefined;
14
+ slotProps?: Record<string, unknown> | undefined;
15
+ className?: string | undefined;
16
+ style?: React.CSSProperties | undefined;
17
17
  } & Record<string, unknown>>(defaultProps: T, props: T, mergeClassNameAndStyle?: boolean): T;
@@ -15,6 +15,6 @@ export interface UseControlledProps<T = unknown> {
15
15
  /**
16
16
  * The name of the state variable displayed in warnings.
17
17
  */
18
- state?: string;
18
+ state?: string | undefined;
19
19
  }
20
20
  export default function useControlled<T = unknown>(props: UseControlledProps<T>): [T, React.Dispatch<React.SetStateAction<T | undefined>>];
@@ -17,7 +17,7 @@ export type UseSlotPropsParameters<ElementType extends React.ElementType, SlotPr
17
17
  /**
18
18
  * Set to true if the slotProps callback should receive more props.
19
19
  */
20
- skipResolvingSlotProps?: boolean;
20
+ skipResolvingSlotProps?: boolean | undefined;
21
21
  };
22
22
  export type UseSlotPropsResult<ElementType extends React.ElementType, SlotProps, AdditionalProps, OwnerState> = AppendOwnerStateReturnType<ElementType, MergeSlotPropsResult<SlotProps, object, object, AdditionalProps>['props'] & {
23
23
  ref: ((instance: any | null) => void) | null;
@@ -31,8 +31,8 @@ export type UseSlotPropsResult<ElementType extends React.ElementType, SlotProps,
31
31
  * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.
32
32
  */
33
33
  declare function useSlotProps<ElementType extends React.ElementType, SlotProps, AdditionalProps, OwnerState>(parameters: UseSlotPropsParameters<ElementType, SlotProps, object, WithCommonProps<Record<string, any>>, AdditionalProps, OwnerState>): import("@mui/types").Simplify<import("@mui/types").Simplify<SlotProps & object & AdditionalProps & {
34
- className?: string;
35
- style?: React.CSSProperties;
34
+ className?: string | undefined;
35
+ style?: React.CSSProperties | undefined;
36
36
  }> & {
37
37
  ref: ((instance: any | null) => void) | null;
38
38
  } & {
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/utils v7.3.8
2
+ * @mui/utils v7.3.9
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -3,9 +3,9 @@ import { ClassValue } from 'clsx';
3
3
  import { Simplify } from '@mui/types';
4
4
  import { EventHandlers } from "../types/index.js";
5
5
  export type WithCommonProps<OtherProps> = OtherProps & {
6
- className?: string;
7
- style?: React.CSSProperties;
8
- ref?: React.Ref<any>;
6
+ className?: string | undefined;
7
+ style?: React.CSSProperties | undefined;
8
+ ref?: React.Ref<any> | undefined;
9
9
  };
10
10
  export interface MergeSlotPropsParameters<SlotProps, ExternalForwardedProps, ExternalSlotProps, AdditionalProps> {
11
11
  /**
@@ -13,29 +13,29 @@ export interface MergeSlotPropsParameters<SlotProps, ExternalForwardedProps, Ext
13
13
  * It accepts the event handlers passed into the component by the user
14
14
  * and is responsible for calling them where appropriate.
15
15
  */
16
- getSlotProps?: (other: EventHandlers) => WithCommonProps<SlotProps>;
16
+ getSlotProps?: ((other: EventHandlers) => WithCommonProps<SlotProps>) | undefined;
17
17
  /**
18
18
  * Props provided to the `slotProps.*` of the Base UI component.
19
19
  */
20
- externalSlotProps?: WithCommonProps<ExternalSlotProps>;
20
+ externalSlotProps?: WithCommonProps<ExternalSlotProps> | undefined;
21
21
  /**
22
22
  * Extra props placed on the Base UI component that should be forwarded to the slot.
23
23
  * This should usually be used only for the root slot.
24
24
  */
25
- externalForwardedProps?: WithCommonProps<ExternalForwardedProps>;
25
+ externalForwardedProps?: WithCommonProps<ExternalForwardedProps> | undefined;
26
26
  /**
27
27
  * Additional props to be placed on the slot.
28
28
  */
29
- additionalProps?: WithCommonProps<AdditionalProps>;
29
+ additionalProps?: WithCommonProps<AdditionalProps> | undefined;
30
30
  /**
31
31
  * Extra class name(s) to be placed on the slot.
32
32
  */
33
- className?: ClassValue | ClassValue[];
33
+ className?: ClassValue | ClassValue[] | undefined;
34
34
  }
35
35
  export type MergeSlotPropsResult<SlotProps, ExternalForwardedProps, ExternalSlotProps, AdditionalProps> = {
36
36
  props: Simplify<SlotProps & ExternalForwardedProps & ExternalSlotProps & AdditionalProps & {
37
- className?: string;
38
- style?: React.CSSProperties;
37
+ className?: string | undefined;
38
+ style?: React.CSSProperties | undefined;
39
39
  }>;
40
40
  internalRef: React.Ref<any> | undefined;
41
41
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/utils",
3
- "version": "7.3.8",
3
+ "version": "7.3.9",
4
4
  "author": "MUI Team",
5
5
  "description": "Utility functions for React components.",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "clsx": "^2.1.1",
30
30
  "prop-types": "^15.8.1",
31
31
  "react-is": "^19.2.3",
32
- "@mui/types": "^7.4.11"
32
+ "@mui/types": "^7.4.12"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
@@ -8,10 +8,10 @@
8
8
  * @returns resolved props
9
9
  */
10
10
  export default function resolveProps<T extends {
11
- components?: Record<string, unknown>;
12
- componentsProps?: Record<string, unknown>;
13
- slots?: Record<string, unknown>;
14
- slotProps?: Record<string, unknown>;
15
- className?: string;
16
- style?: React.CSSProperties;
11
+ components?: Record<string, unknown> | undefined;
12
+ componentsProps?: Record<string, unknown> | undefined;
13
+ slots?: Record<string, unknown> | undefined;
14
+ slotProps?: Record<string, unknown> | undefined;
15
+ className?: string | undefined;
16
+ style?: React.CSSProperties | undefined;
17
17
  } & Record<string, unknown>>(defaultProps: T, props: T, mergeClassNameAndStyle?: boolean): T;
@@ -15,6 +15,6 @@ export interface UseControlledProps<T = unknown> {
15
15
  /**
16
16
  * The name of the state variable displayed in warnings.
17
17
  */
18
- state?: string;
18
+ state?: string | undefined;
19
19
  }
20
20
  export default function useControlled<T = unknown>(props: UseControlledProps<T>): [T, React.Dispatch<React.SetStateAction<T | undefined>>];
@@ -17,7 +17,7 @@ export type UseSlotPropsParameters<ElementType extends React.ElementType, SlotPr
17
17
  /**
18
18
  * Set to true if the slotProps callback should receive more props.
19
19
  */
20
- skipResolvingSlotProps?: boolean;
20
+ skipResolvingSlotProps?: boolean | undefined;
21
21
  };
22
22
  export type UseSlotPropsResult<ElementType extends React.ElementType, SlotProps, AdditionalProps, OwnerState> = AppendOwnerStateReturnType<ElementType, MergeSlotPropsResult<SlotProps, object, object, AdditionalProps>['props'] & {
23
23
  ref: ((instance: any | null) => void) | null;
@@ -31,8 +31,8 @@ export type UseSlotPropsResult<ElementType extends React.ElementType, SlotProps,
31
31
  * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.
32
32
  */
33
33
  declare function useSlotProps<ElementType extends React.ElementType, SlotProps, AdditionalProps, OwnerState>(parameters: UseSlotPropsParameters<ElementType, SlotProps, object, WithCommonProps<Record<string, any>>, AdditionalProps, OwnerState>): import("@mui/types").Simplify<import("@mui/types").Simplify<SlotProps & object & AdditionalProps & {
34
- className?: string;
35
- style?: React.CSSProperties;
34
+ className?: string | undefined;
35
+ style?: React.CSSProperties | undefined;
36
36
  }> & {
37
37
  ref: ((instance: any | null) => void) | null;
38
38
  } & {