@mui/utils 5.11.0 → 5.11.1

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 (43) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/ClassNameGenerator/ClassNameGenerator.d.ts +6 -6
  3. package/ClassNameGenerator/index.d.ts +1 -1
  4. package/HTMLElementType.d.ts +3 -3
  5. package/chainPropTypes.d.ts +2 -2
  6. package/composeClasses/composeClasses.d.ts +1 -1
  7. package/composeClasses/index.d.ts +1 -1
  8. package/createChainedFunction.d.ts +7 -7
  9. package/deepmerge.d.ts +5 -5
  10. package/elementAcceptingRef.d.ts +3 -3
  11. package/elementTypeAcceptingRef.d.ts +3 -3
  12. package/esm/resolveProps.js +19 -1
  13. package/exactProp.d.ts +2 -2
  14. package/formatMuiErrorMessage.d.ts +6 -6
  15. package/generateUtilityClass/generateUtilityClass.d.ts +2 -2
  16. package/generateUtilityClass/index.d.ts +2 -2
  17. package/generateUtilityClasses/generateUtilityClasses.d.ts +1 -1
  18. package/generateUtilityClasses/index.d.ts +1 -1
  19. package/getDisplayName.d.ts +8 -8
  20. package/getScrollbarSize.d.ts +1 -1
  21. package/index.d.ts +38 -38
  22. package/index.js +1 -1
  23. package/integerPropType.d.ts +7 -7
  24. package/isMuiElement.d.ts +1 -1
  25. package/legacy/index.js +1 -1
  26. package/legacy/resolveProps.js +19 -1
  27. package/modern/index.js +1 -1
  28. package/modern/resolveProps.js +19 -1
  29. package/ownerDocument.d.ts +1 -1
  30. package/ownerWindow.d.ts +1 -1
  31. package/package.json +1 -1
  32. package/ponyfillGlobal.d.ts +2 -2
  33. package/refType.d.ts +3 -3
  34. package/resolveProps.d.ts +12 -9
  35. package/resolveProps.js +19 -1
  36. package/setRef.d.ts +15 -15
  37. package/useEventCallback.d.ts +4 -4
  38. package/useEventCallback.spec.d.ts +1 -1
  39. package/useForkRef.d.ts +2 -2
  40. package/useId.d.ts +7 -7
  41. package/useIsFocusVisible.d.ts +9 -9
  42. package/usePreviousProps.d.ts +2 -2
  43. package/visuallyHidden.d.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## 5.11.1
4
+
5
+ <!-- generated comparing v5.11.0..master -->
6
+
7
+ _Dec 20, 2022_
8
+
9
+ A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
10
+
11
+ - 💅 @mnajdova added motion and shape design tokens to Material You package (#35384 and #35393).
12
+ - Many other 🐛 bug fixes, 📚 documentation, and ⚙️ infrastructure improvements.
13
+
14
+ ### `@mui/material@5.11.1`
15
+
16
+ - [Chip] Fix hover and focus style with CSS Variables (#35502) @DimaAbr
17
+ - [InputLabel] Enable `size` prop overrides via TypeScript module augmentation (#35460) @MickaelAustoni
18
+ - [l10n] Change Kazakh locale name to match ISO-639-1 codes (#34664) @talgautb
19
+ - [TextField] Fix error focus style (#35167) @42tte
20
+ - [core] Bring `experimental_sx` back with error code (#35528) @siriwatknp
21
+
22
+ ### `@mui/utils@5.11.1`
23
+
24
+ - [Theme] Merge components and slots props (#35477) @siriwatknp
25
+
26
+ ### `@mui/material-next@6.0.0-alpha.67`
27
+
28
+ - [Material You] Add motion design tokens (#35384) @mnajdova
29
+ - [Material You] Add shape design tokens (#35393) @mnajdova
30
+
31
+ ### `@mui/joy@5.0.0-alpha.59`
32
+
33
+ - [Tooltip] Fix arrow does not appear (#35473) @siriwatknp
34
+ - [Input] Fix autofill styles (#35056) @siriwatknp
35
+ - [ChipDelete] Add onDelete prop to ChipDelete (#35412) @sai6855
36
+
37
+ ### `@mui/base@5.0.0-alpha.111`
38
+
39
+ - [Button][base] Set active class when a subcomponent is clicked (#35410) @michaldudak
40
+ - [Popper][base] Fix Tooltip Anchor Element Setter (#35469) @sydneyjodon-wk
41
+
42
+ ### Docs
43
+
44
+ - [docs] Fixed the `Select` component `onChange` event type in the migration guide (#35509) @tzynwang
45
+ - [docs] Add missing comma to `Providing the colors directly` section (#35507) @cassidoo
46
+ - [docs] Add `CardMedia` example without `component="img"` prop (#35470) @lucasmfredmark
47
+ - [docs] Fix `unstable_sxConfig` typo (#35478) @siriwatknp
48
+ - [docs] List component introduction example default code is missing ListItemContent component (#35492) @Miigaarino
49
+ - [website] Close our first people role @oliviertassinari
50
+ - [website] Update product icons (#35413) @danilo-leal
51
+
52
+ ### Core
53
+
54
+ - [test] Terminate BrowserStack after 5 minutes (#35454) @oliviertassinari
55
+ - [test] Fix broken master branch (#35446) @oliviertassinari
56
+
57
+ All contributors of this release in alphabetical order: @42tte, @cassidoo, @danilo-leal, @DimaAbr, @lucasmfredmark, @michaldudak, @MickaelAustoni, @Miigaarino, @mnajdova, @oliviertassinari, @sai6855, @siriwatknp, @sydneyjodon-wk, @talgautb, @tzynwang
58
+
3
59
  ## 5.11.0
4
60
 
5
61
  <!-- generated comparing v5.10.17..master -->
@@ -1,6 +1,6 @@
1
- declare const ClassNameGenerator: {
2
- configure(generator: (componentName: string) => string): void;
3
- generate(componentName: string): string;
4
- reset(): void;
5
- };
6
- export default ClassNameGenerator;
1
+ declare const ClassNameGenerator: {
2
+ configure(generator: (componentName: string) => string): void;
3
+ generate(componentName: string): string;
4
+ reset(): void;
5
+ };
6
+ export default ClassNameGenerator;
@@ -1 +1 @@
1
- export { default } from './ClassNameGenerator';
1
+ export { default } from './ClassNameGenerator';
@@ -1,3 +1,3 @@
1
- export default function HTMLElementType(props: {
2
- [key: string]: unknown;
3
- }, propName: string, componentName: string, location: string, propFullName: string): Error | null;
1
+ export default function HTMLElementType(props: {
2
+ [key: string]: unknown;
3
+ }, propName: string, componentName: string, location: string, propFullName: string): Error | null;
@@ -1,2 +1,2 @@
1
- import PropTypes from 'prop-types';
2
- export default function chainPropTypes<A, B>(propType1: PropTypes.Validator<A>, propType2: PropTypes.Validator<B>): PropTypes.Validator<A & B>;
1
+ import PropTypes from 'prop-types';
2
+ export default function chainPropTypes<A, B>(propType1: PropTypes.Validator<A>, propType2: PropTypes.Validator<B>): PropTypes.Validator<A & B>;
@@ -1 +1 @@
1
- export default function composeClasses<ClassKey extends string>(slots: Record<ClassKey, ReadonlyArray<string | false | undefined | null>>, getUtilityClass: (slot: string) => string, classes: Record<string, string> | undefined): Record<ClassKey, string>;
1
+ export default function composeClasses<ClassKey extends string>(slots: Record<ClassKey, ReadonlyArray<string | false | undefined | null>>, getUtilityClass: (slot: string) => string, classes: Record<string, string> | undefined): Record<ClassKey, string>;
@@ -1 +1 @@
1
- export { default } from './composeClasses';
1
+ export { default } from './composeClasses';
@@ -1,7 +1,7 @@
1
- /**
2
- * Safe chained function.
3
- *
4
- * Will only create a new function if needed,
5
- * otherwise will pass back existing functions or null.
6
- */
7
- export default function createChainedFunction<Args extends any[], This>(...funcs: Array<(this: This, ...args: Args) => any>): (this: This, ...args: Args) => void;
1
+ /**
2
+ * Safe chained function.
3
+ *
4
+ * Will only create a new function if needed,
5
+ * otherwise will pass back existing functions or null.
6
+ */
7
+ export default function createChainedFunction<Args extends any[], This>(...funcs: Array<(this: This, ...args: Args) => any>): (this: This, ...args: Args) => void;
package/deepmerge.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export declare function isPlainObject(item: unknown): item is Record<keyof any, unknown>;
2
- export interface DeepmergeOptions {
3
- clone?: boolean;
4
- }
5
- export default function deepmerge<T>(target: T, source: unknown, options?: DeepmergeOptions): T;
1
+ export declare function isPlainObject(item: unknown): item is Record<keyof any, unknown>;
2
+ export interface DeepmergeOptions {
3
+ clone?: boolean;
4
+ }
5
+ export default function deepmerge<T>(target: T, source: unknown, options?: DeepmergeOptions): T;
@@ -1,3 +1,3 @@
1
- import PropTypes from 'prop-types';
2
- declare const elementAcceptingRef: PropTypes.Requireable<unknown>;
3
- export default elementAcceptingRef;
1
+ import PropTypes from 'prop-types';
2
+ declare const elementAcceptingRef: PropTypes.Requireable<unknown>;
3
+ export default elementAcceptingRef;
@@ -1,3 +1,3 @@
1
- import PropTypes from 'prop-types';
2
- declare const _default: PropTypes.Validator<PropTypes.ReactComponentLike | null | undefined>;
3
- export default _default;
1
+ import PropTypes from 'prop-types';
2
+ declare const _default: PropTypes.Validator<PropTypes.ReactComponentLike | null | undefined>;
3
+ export default _default;
@@ -8,7 +8,25 @@ import _extends from "@babel/runtime/helpers/esm/extends";
8
8
  export default function resolveProps(defaultProps, props) {
9
9
  const output = _extends({}, props);
10
10
  Object.keys(defaultProps).forEach(propName => {
11
- if (output[propName] === undefined) {
11
+ if (propName.toString().match(/^(components|slots)$/)) {
12
+ output[propName] = _extends({}, defaultProps[propName], output[propName]);
13
+ } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {
14
+ const defaultSlotProps = defaultProps[propName] || {};
15
+ const slotProps = props[propName];
16
+ output[propName] = {};
17
+ if (!slotProps || !Object.keys(slotProps)) {
18
+ // Reduce the iteration if the slot props is empty
19
+ output[propName] = defaultSlotProps;
20
+ } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {
21
+ // Reduce the iteration if the default slot props is empty
22
+ output[propName] = slotProps;
23
+ } else {
24
+ output[propName] = _extends({}, slotProps);
25
+ Object.keys(defaultSlotProps).forEach(slotPropName => {
26
+ output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
27
+ });
28
+ }
29
+ } else if (output[propName] === undefined) {
12
30
  output[propName] = defaultProps[propName];
13
31
  }
14
32
  });
package/exactProp.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { ValidationMap } from 'prop-types';
2
- export default function exactProp<T>(propTypes: ValidationMap<T>): ValidationMap<T>;
1
+ import { ValidationMap } from 'prop-types';
2
+ export default function exactProp<T>(propTypes: ValidationMap<T>): ValidationMap<T>;
@@ -1,6 +1,6 @@
1
- /**
2
- * WARNING: Don't import this directly.
3
- * Use `MuiError` from `@mui/utils/macros/MuiError.macro` instead.
4
- * @param {number} code
5
- */
6
- export default function formatMuiErrorMessage(code: number): string;
1
+ /**
2
+ * WARNING: Don't import this directly.
3
+ * Use `MuiError` from `@mui/utils/macros/MuiError.macro` instead.
4
+ * @param {number} code
5
+ */
6
+ export default function formatMuiErrorMessage(code: number): string;
@@ -1,2 +1,2 @@
1
- export type GlobalStateSlot = 'active' | 'checked' | 'completed' | 'disabled' | 'error' | 'expanded' | 'focused' | 'focusVisible' | 'required' | 'selected';
2
- export default function generateUtilityClass(componentName: string, slot: string, globalStatePrefix?: string): string;
1
+ export type GlobalStateSlot = 'active' | 'checked' | 'completed' | 'disabled' | 'error' | 'expanded' | 'focused' | 'focusVisible' | 'required' | 'selected';
2
+ export default function generateUtilityClass(componentName: string, slot: string, globalStatePrefix?: string): string;
@@ -1,2 +1,2 @@
1
- export { default } from './generateUtilityClass';
2
- export * from './generateUtilityClass';
1
+ export { default } from './generateUtilityClass';
2
+ export * from './generateUtilityClass';
@@ -1 +1 @@
1
- export default function generateUtilityClasses<T extends string>(componentName: string, slots: T[], globalStatePrefix?: string): Record<T, string>;
1
+ export default function generateUtilityClasses<T extends string>(componentName: string, slots: T[], globalStatePrefix?: string): Record<T, string>;
@@ -1 +1 @@
1
- export { default } from './generateUtilityClasses';
1
+ export { default } from './generateUtilityClasses';
@@ -1,8 +1,8 @@
1
- import * as React from 'react';
2
- export declare function getFunctionName(fn: Function): string;
3
- /**
4
- * cherry-pick from
5
- * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js
6
- * originally forked from recompose/getDisplayName with added IE11 support
7
- */
8
- export default function getDisplayName(Component: React.ElementType): string | undefined;
1
+ import * as React from 'react';
2
+ export declare function getFunctionName(fn: Function): string;
3
+ /**
4
+ * cherry-pick from
5
+ * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js
6
+ * originally forked from recompose/getDisplayName with added IE11 support
7
+ */
8
+ export default function getDisplayName(Component: React.ElementType): string | undefined;
@@ -1 +1 @@
1
- export default function getScrollbarSize(doc: Document): number;
1
+ export default function getScrollbarSize(doc: Document): number;
package/index.d.ts CHANGED
@@ -1,38 +1,38 @@
1
- export { default as chainPropTypes } from './chainPropTypes';
2
- export { default as deepmerge } from './deepmerge';
3
- export { isPlainObject } from './deepmerge';
4
- export { default as elementAcceptingRef } from './elementAcceptingRef';
5
- export { default as elementTypeAcceptingRef } from './elementTypeAcceptingRef';
6
- export { default as exactProp } from './exactProp';
7
- export { default as formatMuiErrorMessage } from './formatMuiErrorMessage';
8
- export { default as getDisplayName } from './getDisplayName';
9
- export { default as HTMLElementType } from './HTMLElementType';
10
- export { default as ponyfillGlobal } from './ponyfillGlobal';
11
- export { default as refType } from './refType';
12
- export { default as unstable_capitalize } from './capitalize';
13
- export { default as unstable_createChainedFunction } from './createChainedFunction';
14
- export { default as unstable_debounce } from './debounce';
15
- export { default as unstable_deprecatedPropType } from './deprecatedPropType';
16
- export { default as unstable_isMuiElement } from './isMuiElement';
17
- export { default as unstable_ownerDocument } from './ownerDocument';
18
- export { default as unstable_ownerWindow } from './ownerWindow';
19
- export { default as unstable_requirePropFactory } from './requirePropFactory';
20
- export { default as unstable_setRef } from './setRef';
21
- export { default as unstable_useEnhancedEffect } from './useEnhancedEffect';
22
- export { default as unstable_useId } from './useId';
23
- export { default as unstable_unsupportedProp } from './unsupportedProp';
24
- export { default as unstable_useControlled } from './useControlled';
25
- export { default as unstable_useEventCallback } from './useEventCallback';
26
- export { default as unstable_useForkRef } from './useForkRef';
27
- export { default as unstable_useIsFocusVisible } from './useIsFocusVisible';
28
- export { default as unstable_getScrollbarSize } from './getScrollbarSize';
29
- export { detectScrollType as unstable_detectScrollType, getNormalizedScrollLeft as unstable_getNormalizedScrollLeft, } from './scrollLeft';
30
- export { default as usePreviousProps } from './usePreviousProps';
31
- export { default as visuallyHidden } from './visuallyHidden';
32
- export { default as integerPropType } from './integerPropType';
33
- export { default as internal_resolveProps } from './resolveProps';
34
- export { default as unstable_composeClasses } from './composeClasses';
35
- export { default as unstable_generateUtilityClass } from './generateUtilityClass';
36
- export * from './generateUtilityClass';
37
- export { default as unstable_generateUtilityClasses } from './generateUtilityClasses';
38
- export { default as unstable_ClassNameGenerator } from './ClassNameGenerator';
1
+ export { default as chainPropTypes } from './chainPropTypes';
2
+ export { default as deepmerge } from './deepmerge';
3
+ export { isPlainObject } from './deepmerge';
4
+ export { default as elementAcceptingRef } from './elementAcceptingRef';
5
+ export { default as elementTypeAcceptingRef } from './elementTypeAcceptingRef';
6
+ export { default as exactProp } from './exactProp';
7
+ export { default as formatMuiErrorMessage } from './formatMuiErrorMessage';
8
+ export { default as getDisplayName } from './getDisplayName';
9
+ export { default as HTMLElementType } from './HTMLElementType';
10
+ export { default as ponyfillGlobal } from './ponyfillGlobal';
11
+ export { default as refType } from './refType';
12
+ export { default as unstable_capitalize } from './capitalize';
13
+ export { default as unstable_createChainedFunction } from './createChainedFunction';
14
+ export { default as unstable_debounce } from './debounce';
15
+ export { default as unstable_deprecatedPropType } from './deprecatedPropType';
16
+ export { default as unstable_isMuiElement } from './isMuiElement';
17
+ export { default as unstable_ownerDocument } from './ownerDocument';
18
+ export { default as unstable_ownerWindow } from './ownerWindow';
19
+ export { default as unstable_requirePropFactory } from './requirePropFactory';
20
+ export { default as unstable_setRef } from './setRef';
21
+ export { default as unstable_useEnhancedEffect } from './useEnhancedEffect';
22
+ export { default as unstable_useId } from './useId';
23
+ export { default as unstable_unsupportedProp } from './unsupportedProp';
24
+ export { default as unstable_useControlled } from './useControlled';
25
+ export { default as unstable_useEventCallback } from './useEventCallback';
26
+ export { default as unstable_useForkRef } from './useForkRef';
27
+ export { default as unstable_useIsFocusVisible } from './useIsFocusVisible';
28
+ export { default as unstable_getScrollbarSize } from './getScrollbarSize';
29
+ export { detectScrollType as unstable_detectScrollType, getNormalizedScrollLeft as unstable_getNormalizedScrollLeft, } from './scrollLeft';
30
+ export { default as usePreviousProps } from './usePreviousProps';
31
+ export { default as visuallyHidden } from './visuallyHidden';
32
+ export { default as integerPropType } from './integerPropType';
33
+ export { default as internal_resolveProps } from './resolveProps';
34
+ export { default as unstable_composeClasses } from './composeClasses';
35
+ export { default as unstable_generateUtilityClass } from './generateUtilityClass';
36
+ export * from './generateUtilityClass';
37
+ export { default as unstable_generateUtilityClasses } from './generateUtilityClasses';
38
+ export { default as unstable_ClassNameGenerator } from './ClassNameGenerator';
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.11.0
1
+ /** @license MUI v5.11.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -1,7 +1,7 @@
1
- export function getTypeByValue(value: any): any;
2
- declare function _default(props: any, propName: any, ...other: any[]): RangeError | null;
3
- declare namespace _default {
4
- export { requiredInteger as isRequired };
5
- }
6
- export default _default;
7
- declare function requiredInteger(props: any, propName: any, componentName: any, location: any): RangeError | null;
1
+ export function getTypeByValue(value: any): any;
2
+ declare function _default(props: any, propName: any, ...other: any[]): RangeError | null;
3
+ declare namespace _default {
4
+ export { requiredInteger as isRequired };
5
+ }
6
+ export default _default;
7
+ declare function requiredInteger(props: any, propName: any, componentName: any, location: any): RangeError | null;
package/isMuiElement.d.ts CHANGED
@@ -1 +1 @@
1
- export default function isMuiElement(element: any, muiNames: readonly string[]): boolean;
1
+ export default function isMuiElement(element: any, muiNames: readonly string[]): boolean;
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.11.0
1
+ /** @license MUI v5.11.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -8,7 +8,25 @@ import _extends from "@babel/runtime/helpers/esm/extends";
8
8
  export default function resolveProps(defaultProps, props) {
9
9
  var output = _extends({}, props);
10
10
  Object.keys(defaultProps).forEach(function (propName) {
11
- if (output[propName] === undefined) {
11
+ if (propName.toString().match(/^(components|slots)$/)) {
12
+ output[propName] = _extends({}, defaultProps[propName], output[propName]);
13
+ } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {
14
+ var defaultSlotProps = defaultProps[propName] || {};
15
+ var slotProps = props[propName];
16
+ output[propName] = {};
17
+ if (!slotProps || !Object.keys(slotProps)) {
18
+ // Reduce the iteration if the slot props is empty
19
+ output[propName] = defaultSlotProps;
20
+ } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {
21
+ // Reduce the iteration if the default slot props is empty
22
+ output[propName] = slotProps;
23
+ } else {
24
+ output[propName] = _extends({}, slotProps);
25
+ Object.keys(defaultSlotProps).forEach(function (slotPropName) {
26
+ output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
27
+ });
28
+ }
29
+ } else if (output[propName] === undefined) {
12
30
  output[propName] = defaultProps[propName];
13
31
  }
14
32
  });
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.11.0
1
+ /** @license MUI v5.11.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -8,7 +8,25 @@ import _extends from "@babel/runtime/helpers/esm/extends";
8
8
  export default function resolveProps(defaultProps, props) {
9
9
  const output = _extends({}, props);
10
10
  Object.keys(defaultProps).forEach(propName => {
11
- if (output[propName] === undefined) {
11
+ if (propName.toString().match(/^(components|slots)$/)) {
12
+ output[propName] = _extends({}, defaultProps[propName], output[propName]);
13
+ } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {
14
+ const defaultSlotProps = defaultProps[propName] || {};
15
+ const slotProps = props[propName];
16
+ output[propName] = {};
17
+ if (!slotProps || !Object.keys(slotProps)) {
18
+ // Reduce the iteration if the slot props is empty
19
+ output[propName] = defaultSlotProps;
20
+ } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {
21
+ // Reduce the iteration if the default slot props is empty
22
+ output[propName] = slotProps;
23
+ } else {
24
+ output[propName] = _extends({}, slotProps);
25
+ Object.keys(defaultSlotProps).forEach(slotPropName => {
26
+ output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
27
+ });
28
+ }
29
+ } else if (output[propName] === undefined) {
12
30
  output[propName] = defaultProps[propName];
13
31
  }
14
32
  });
@@ -1 +1 @@
1
- export default function ownerDocument(node: Node | null | undefined): Document;
1
+ export default function ownerDocument(node: Node | null | undefined): Document;
package/ownerWindow.d.ts CHANGED
@@ -1 +1 @@
1
- export default function ownerWindow(node: Node | undefined): Window;
1
+ export default function ownerWindow(node: Node | undefined): Window;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/utils",
3
- "version": "5.11.0",
3
+ "version": "5.11.1",
4
4
  "private": false,
5
5
  "author": "MUI Team",
6
6
  "description": "Utility functions for React components.",
@@ -1,2 +1,2 @@
1
- declare const _default: any;
2
- export default _default;
1
+ declare const _default: any;
2
+ export default _default;
package/refType.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import PropTypes from 'prop-types';
2
- declare const refType: PropTypes.Requireable<object>;
3
- export default refType;
1
+ import PropTypes from 'prop-types';
2
+ declare const refType: PropTypes.Requireable<object>;
3
+ export default refType;
package/resolveProps.d.ts CHANGED
@@ -1,9 +1,12 @@
1
- /**
2
- * Add keys, values of `defaultProps` that does not exist in `props`
3
- * @param {object} defaultProps
4
- * @param {object} props
5
- * @returns {object} resolved props
6
- */
7
- export default function resolveProps<T extends {
8
- className?: string;
9
- } & Record<string, unknown>>(defaultProps: T, props: T): T;
1
+ /**
2
+ * Add keys, values of `defaultProps` that does not exist in `props`
3
+ * @param {object} defaultProps
4
+ * @param {object} props
5
+ * @returns {object} resolved props
6
+ */
7
+ export default function resolveProps<T extends {
8
+ components?: Record<string, unknown>;
9
+ componentsProps?: Record<string, unknown>;
10
+ slots?: Record<string, unknown>;
11
+ slotProps?: Record<string, unknown>;
12
+ } & Record<string, unknown>>(defaultProps: T, props: T): T;
package/resolveProps.js CHANGED
@@ -15,7 +15,25 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
15
  function resolveProps(defaultProps, props) {
16
16
  const output = (0, _extends2.default)({}, props);
17
17
  Object.keys(defaultProps).forEach(propName => {
18
- if (output[propName] === undefined) {
18
+ if (propName.toString().match(/^(components|slots)$/)) {
19
+ output[propName] = (0, _extends2.default)({}, defaultProps[propName], output[propName]);
20
+ } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {
21
+ const defaultSlotProps = defaultProps[propName] || {};
22
+ const slotProps = props[propName];
23
+ output[propName] = {};
24
+ if (!slotProps || !Object.keys(slotProps)) {
25
+ // Reduce the iteration if the slot props is empty
26
+ output[propName] = defaultSlotProps;
27
+ } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {
28
+ // Reduce the iteration if the default slot props is empty
29
+ output[propName] = slotProps;
30
+ } else {
31
+ output[propName] = (0, _extends2.default)({}, slotProps);
32
+ Object.keys(defaultSlotProps).forEach(slotPropName => {
33
+ output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
34
+ });
35
+ }
36
+ } else if (output[propName] === undefined) {
19
37
  output[propName] = defaultProps[propName];
20
38
  }
21
39
  });
package/setRef.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- import * as React from 'react';
2
- /**
3
- * TODO v5: consider making it private
4
- *
5
- * passes {value} to {ref}
6
- *
7
- * WARNING: Be sure to only call this inside a callback that is passed as a ref.
8
- * Otherwise, make sure to cleanup the previous {ref} if it changes. See
9
- * https://github.com/mui/material-ui/issues/13539
10
- *
11
- * Useful if you want to expose the ref of an inner component to the public API
12
- * while still using it inside the component.
13
- * @param ref A ref callback or ref object. If anything falsy, this is a no-op.
14
- */
15
- export default function setRef<T>(ref: React.MutableRefObject<T | null> | ((instance: T | null) => void) | null | undefined, value: T | null): void;
1
+ import * as React from 'react';
2
+ /**
3
+ * TODO v5: consider making it private
4
+ *
5
+ * passes {value} to {ref}
6
+ *
7
+ * WARNING: Be sure to only call this inside a callback that is passed as a ref.
8
+ * Otherwise, make sure to cleanup the previous {ref} if it changes. See
9
+ * https://github.com/mui/material-ui/issues/13539
10
+ *
11
+ * Useful if you want to expose the ref of an inner component to the public API
12
+ * while still using it inside the component.
13
+ * @param ref A ref callback or ref object. If anything falsy, this is a no-op.
14
+ */
15
+ export default function setRef<T>(ref: React.MutableRefObject<T | null> | ((instance: T | null) => void) | null | undefined, value: T | null): void;
@@ -1,4 +1,4 @@
1
- /**
2
- * https://github.com/facebook/react/issues/14099#issuecomment-440013892
3
- */
4
- export default function useEventCallback<Args extends unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return;
1
+ /**
2
+ * https://github.com/facebook/react/issues/14099#issuecomment-440013892
3
+ */
4
+ export default function useEventCallback<Args extends unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return;
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/useForkRef.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import * as React from 'react';
2
- export default function useForkRef<Instance>(...refs: Array<React.Ref<Instance> | undefined>): React.RefCallback<Instance> | null;
1
+ import * as React from 'react';
2
+ export default function useForkRef<Instance>(...refs: Array<React.Ref<Instance> | undefined>): React.RefCallback<Instance> | null;
package/useId.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- /**
2
- *
3
- * @example <div id={useId()} />
4
- * @param idOverride
5
- * @returns {string}
6
- */
7
- export default function useId(idOverride?: string): string | undefined;
1
+ /**
2
+ *
3
+ * @example <div id={useId()} />
4
+ * @param idOverride
5
+ * @returns {string}
6
+ */
7
+ export default function useId(idOverride?: string): string | undefined;
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
2
- export declare function teardown(doc: Document): void;
3
- export interface UseIsFocusVisibleResult {
4
- isFocusVisibleRef: React.MutableRefObject<boolean>;
5
- onBlur: (event: React.FocusEvent<any>) => void;
6
- onFocus: (event: React.FocusEvent<any>) => void;
7
- ref: React.Ref<unknown>;
8
- }
9
- export default function useIsFocusVisible(): UseIsFocusVisibleResult;
1
+ import * as React from 'react';
2
+ export declare function teardown(doc: Document): void;
3
+ export interface UseIsFocusVisibleResult {
4
+ isFocusVisibleRef: React.MutableRefObject<boolean>;
5
+ onBlur: (event: React.FocusEvent<any>) => void;
6
+ onFocus: (event: React.FocusEvent<any>) => void;
7
+ ref: React.Ref<unknown>;
8
+ }
9
+ export default function useIsFocusVisible(): UseIsFocusVisibleResult;
@@ -1,2 +1,2 @@
1
- declare const usePreviousProps: (value: object) => object;
2
- export default usePreviousProps;
1
+ declare const usePreviousProps: (value: object) => object;
2
+ export default usePreviousProps;
@@ -1,2 +1,2 @@
1
- declare const visuallyHidden: import('react').CSSProperties;
2
- export default visuallyHidden;
1
+ declare const visuallyHidden: import('react').CSSProperties;
2
+ export default visuallyHidden;