@mui/utils 5.11.1 → 5.11.2

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 +71 -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/deepmerge.js +12 -0
  11. package/elementAcceptingRef.d.ts +3 -3
  12. package/elementTypeAcceptingRef.d.ts +3 -3
  13. package/esm/deepmerge.js +12 -0
  14. package/exactProp.d.ts +2 -2
  15. package/formatMuiErrorMessage.d.ts +6 -6
  16. package/generateUtilityClass/generateUtilityClass.d.ts +2 -2
  17. package/generateUtilityClass/index.d.ts +2 -2
  18. package/generateUtilityClasses/generateUtilityClasses.d.ts +1 -1
  19. package/generateUtilityClasses/index.d.ts +1 -1
  20. package/getDisplayName.d.ts +8 -8
  21. package/getScrollbarSize.d.ts +1 -1
  22. package/index.d.ts +38 -38
  23. package/index.js +1 -1
  24. package/integerPropType.d.ts +7 -7
  25. package/isMuiElement.d.ts +1 -1
  26. package/legacy/deepmerge.js +12 -0
  27. package/legacy/index.js +1 -1
  28. package/modern/deepmerge.js +12 -0
  29. package/modern/index.js +1 -1
  30. package/ownerDocument.d.ts +1 -1
  31. package/ownerWindow.d.ts +1 -1
  32. package/package.json +2 -2
  33. package/ponyfillGlobal.d.ts +2 -2
  34. package/refType.d.ts +3 -3
  35. package/resolveProps.d.ts +12 -12
  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,76 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## 5.11.2
4
+
5
+ <!-- generated comparing v5.11.1..master -->
6
+
7
+ _Dec 26, 2022_
8
+
9
+ A big thanks to the 20 contributors who made this release possible. Here are some highlights ✨:
10
+
11
+ - ⚙️ Several MUI Base components were converted to TypeScript by @trizotti, @leventdeniz and @danhuynhdev (#35005, #34793, #34771)
12
+ - Many other 🐛 bug fixes abd 📚 documentation improvements.
13
+
14
+ ### `@mui/material@5.11.2`
15
+
16
+ - &#8203;<!-- 10 -->[l10n] Add displayed rows label to `faIR` locale (#35587) @hootan-rocky
17
+ - &#8203;<!-- 09 -->[l10n] Add Kurdish (Kurmanji) locale (#32508) @JagarYousef
18
+ - &#8203;<!-- 06 -->[Select] Accept non-component children (#33530) @boutahlilsoufiane
19
+ - &#8203;<!-- 05 -->[SelectInput] Update menu to use select wrapper as anchor (#34229) @EduardoSCosta
20
+ - &#8203;<!-- 03 -->[TableCell] Fix `scope` prop to be not set when a data cell is rendered within a table head (#35559) @sai6855
21
+
22
+ ### `@mui/utils@5.11.2`
23
+
24
+ - &#8203;<!-- 02 -->[utils] `mergedeep` deeply clones source key if it's an object (#35364) @sldk-yuri
25
+
26
+ ### `@mui/base@5.0.0-alpha.112`
27
+
28
+ - &#8203;<!-- 16 -->[FocusTrap][base] Convert code to TypeScript (#35005) @trizotti
29
+ - &#8203;<!-- 08 -->[Modal][base] Convert code to TypeScript (#34793) @leventdeniz
30
+ - &#8203;<!-- 07 -->[Popper][base] Convert code to TypeScript (#34771) @danhuynhdev
31
+ - &#8203;<!-- 04 -->[Slider] Exclude `isRtl` from Material UI's Slider props (#35564) @michaldudak
32
+
33
+ ### `@mui/joy@5.0.0-alpha.60`
34
+
35
+ - &#8203;<!-- 15 -->[Joy] Fix radius adjustment (#35629) @siriwatknp
36
+ - &#8203;<!-- 14 -->[Joy] Apply color inversion to components (#34602) @siriwatknp
37
+ - &#8203;<!-- 13 -->[Joy] Improve cursor pointer and add fallback for outlined variant (#35573) @siriwatknp
38
+ - &#8203;<!-- 12 -->[Joy] Miscellaneous fixes (#35552) @siriwatknp
39
+ - &#8203;<!-- 11 -->[Radio][joy] Use precise dimensions for radio icon (#35548) @hbjORbj
40
+
41
+ ### `@mui/material-next@6.0.0-alpha.68`
42
+
43
+ - &#8203;<!-- 36 -->[Material You] Update Button test & add active class name (#35497) @mnajdova
44
+
45
+ ### Docs
46
+
47
+ - &#8203;<!-- 35 -->[docs] Fix GoogleMaps demo (#35545) @hbjORbj
48
+ - &#8203;<!-- 25 -->[docs] Remove flow, its legacy (#35624) @oliviertassinari
49
+ - &#8203;<!-- 24 -->[docs] Add a guide on using icon libraries with Joy UI (#35377) @siriwatknp
50
+ - &#8203;<!-- 23 -->[docs] Clarify comment about `sortStability()` use case (#35570) @frontendlane
51
+ - &#8203;<!-- 22 -->[docs] Improve the experimental API demos on the button page (#35560) @mnajdova
52
+ - &#8203;<!-- 21 -->[docs] Force `light` theme mode when `activePage` is null (#35575) @LukasTy
53
+ - &#8203;<!-- 20 -->[docs] Fix ListItem button deprecated use (#33970) @MickaelAustoni
54
+ - &#8203;<!-- 19 -->[docs] Fix typo in `Progress` docs (#35553) @jasonsturges
55
+ - &#8203;<!-- 18 -->[docs] Remove empty tags on the TransferList demos (#33127) @ekusiadadus
56
+ - &#8203;<!-- 17 -->[docs][joy] Add documentation for `Stack` component (#35373) @hbjORbj
57
+ - &#8203;<!-- 35 -->[docs][joy] Add documentation for `Grid` component (#35374) @hbjORbj
58
+ - &#8203;<!-- 01 -->[website] Update sponsor grid (#35452) @danilo-leal
59
+
60
+ ### Core
61
+
62
+ - &#8203;<!-- 34 -->[core] Shorthand notation to remove outline (#35623) @oliviertassinari
63
+ - &#8203;<!-- 33 -->[core] Fix header link layout shift and clash (#35626) @oliviertassinari
64
+ - &#8203;<!-- 32 -->[core] Hide keyboard shortcut if no hover feature (#35625) @oliviertassinari
65
+ - &#8203;<!-- 31 -->[core] Fix confusing duplicated name in the log @oliviertassinari
66
+ - &#8203;<!-- 30 -->[core] Fix API demos callout spacing (#35579) @oliviertassinari
67
+ - &#8203;<!-- 29 -->[core] Fix a few title case (#35547) @oliviertassinari
68
+ - &#8203;<!-- 28 -->[core] Cleanup mention of test-utils (#35577) @oliviertassinari
69
+ - &#8203;<!-- 27 -->[core] Remove oudated pickers prop-type logic (#35571) @oliviertassinari
70
+ - &#8203;<!-- 26 -->[core] Exclude documentation of Base props not used in styled libraries (#35562) @michaldudak
71
+
72
+ All contributors of this release in alphabetical order: @boutahlilsoufiane, @danhuynhdev, @danilo-leal, @EduardoSCosta, @ekusiadadus, @frontendlane, @hbjORbj, @hootan-rocky, @JagarYousef, @jasonsturges, @leventdeniz, @LukasTy, @michaldudak, @MickaelAustoni, @mnajdova, @oliviertassinari, @sai6855, @siriwatknp, @sldk-yuri, @trizotti
73
+
3
74
  ## 5.11.1
4
75
 
5
76
  <!-- generated comparing v5.11.0..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;
package/deepmerge.js CHANGED
@@ -10,6 +10,16 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  function isPlainObject(item) {
11
11
  return item !== null && typeof item === 'object' && item.constructor === Object;
12
12
  }
13
+ function deepClone(source) {
14
+ if (!isPlainObject(source)) {
15
+ return source;
16
+ }
17
+ const output = {};
18
+ Object.keys(source).forEach(key => {
19
+ output[key] = deepClone(source[key]);
20
+ });
21
+ return output;
22
+ }
13
23
  function deepmerge(target, source, options = {
14
24
  clone: true
15
25
  }) {
@@ -23,6 +33,8 @@ function deepmerge(target, source, options = {
23
33
  if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {
24
34
  // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.
25
35
  output[key] = deepmerge(target[key], source[key], options);
36
+ } else if (options.clone) {
37
+ output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];
26
38
  } else {
27
39
  output[key] = source[key];
28
40
  }
@@ -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;
package/esm/deepmerge.js CHANGED
@@ -2,6 +2,16 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  export function isPlainObject(item) {
3
3
  return item !== null && typeof item === 'object' && item.constructor === Object;
4
4
  }
5
+ function deepClone(source) {
6
+ if (!isPlainObject(source)) {
7
+ return source;
8
+ }
9
+ const output = {};
10
+ Object.keys(source).forEach(key => {
11
+ output[key] = deepClone(source[key]);
12
+ });
13
+ return output;
14
+ }
5
15
  export default function deepmerge(target, source, options = {
6
16
  clone: true
7
17
  }) {
@@ -15,6 +25,8 @@ export default function deepmerge(target, source, options = {
15
25
  if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {
16
26
  // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.
17
27
  output[key] = deepmerge(target[key], source[key], options);
28
+ } else if (options.clone) {
29
+ output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];
18
30
  } else {
19
31
  output[key] = source[key];
20
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.1
1
+ /** @license MUI v5.11.2
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;
@@ -3,6 +3,16 @@ import _typeof from "@babel/runtime/helpers/esm/typeof";
3
3
  export function isPlainObject(item) {
4
4
  return item !== null && _typeof(item) === 'object' && item.constructor === Object;
5
5
  }
6
+ function deepClone(source) {
7
+ if (!isPlainObject(source)) {
8
+ return source;
9
+ }
10
+ var output = {};
11
+ Object.keys(source).forEach(function (key) {
12
+ output[key] = deepClone(source[key]);
13
+ });
14
+ return output;
15
+ }
6
16
  export default function deepmerge(target, source) {
7
17
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
8
18
  clone: true
@@ -17,6 +27,8 @@ export default function deepmerge(target, source) {
17
27
  if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {
18
28
  // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.
19
29
  output[key] = deepmerge(target[key], source[key], options);
30
+ } else if (options.clone) {
31
+ output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];
20
32
  } else {
21
33
  output[key] = source[key];
22
34
  }
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.11.1
1
+ /** @license MUI v5.11.2
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.
@@ -2,6 +2,16 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  export function isPlainObject(item) {
3
3
  return item !== null && typeof item === 'object' && item.constructor === Object;
4
4
  }
5
+ function deepClone(source) {
6
+ if (!isPlainObject(source)) {
7
+ return source;
8
+ }
9
+ const output = {};
10
+ Object.keys(source).forEach(key => {
11
+ output[key] = deepClone(source[key]);
12
+ });
13
+ return output;
14
+ }
5
15
  export default function deepmerge(target, source, options = {
6
16
  clone: true
7
17
  }) {
@@ -15,6 +25,8 @@ export default function deepmerge(target, source, options = {
15
25
  if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {
16
26
  // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.
17
27
  output[key] = deepmerge(target[key], source[key], options);
28
+ } else if (options.clone) {
29
+ output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];
18
30
  } else {
19
31
  output[key] = source[key];
20
32
  }
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.11.1
1
+ /** @license MUI v5.11.2
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 +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.1",
3
+ "version": "5.11.2",
4
4
  "private": false,
5
5
  "author": "MUI Team",
6
6
  "description": "Utility functions for React components.",
@@ -29,7 +29,7 @@
29
29
  "react": "^17.0.0 || ^18.0.0"
30
30
  },
31
31
  "dependencies": {
32
- "@babel/runtime": "^7.20.6",
32
+ "@babel/runtime": "^7.20.7",
33
33
  "@types/prop-types": "^15.7.5",
34
34
  "@types/react-is": "^16.7.1 || ^17.0.0",
35
35
  "prop-types": "^15.8.1",
@@ -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,12 +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
- 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;
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/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;