@mui/material 6.1.2 → 6.1.3

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 (58) hide show
  1. package/Badge/Badge.d.ts +2 -2
  2. package/Badge/Badge.js +12 -8
  3. package/CHANGELOG.md +81 -7
  4. package/Grid2/Grid2.d.ts +16 -11
  5. package/Grid2/Grid2.js +29 -11
  6. package/InputBase/InputBase.js +1 -1
  7. package/Modal/useModal.js +6 -0
  8. package/OutlinedInput/OutlinedInput.js +6 -6
  9. package/PigmentGrid/PigmentGrid.d.ts +0 -23
  10. package/PigmentGrid/PigmentGrid.js +0 -23
  11. package/Select/SelectInput.js +1 -1
  12. package/index.js +1 -1
  13. package/modern/Badge/Badge.js +12 -8
  14. package/modern/Grid2/Grid2.js +29 -11
  15. package/modern/InputBase/InputBase.js +1 -1
  16. package/modern/Modal/useModal.js +6 -0
  17. package/modern/OutlinedInput/OutlinedInput.js +6 -6
  18. package/modern/PigmentGrid/PigmentGrid.js +0 -23
  19. package/modern/Select/SelectInput.js +1 -1
  20. package/modern/index.js +1 -1
  21. package/modern/styles/createPalette.js +2 -16
  22. package/modern/styles/createThemeNoVars.js +1 -2
  23. package/modern/styles/index.js +1 -1
  24. package/modern/styles/makeStyles.js +1 -3
  25. package/modern/styles/responsiveFontSizes.js +1 -2
  26. package/modern/styles/withStyles.js +1 -3
  27. package/modern/styles/withTheme.js +1 -3
  28. package/modern/utils/memoTheme.js +3 -24
  29. package/modern/version/index.js +2 -2
  30. package/node/Badge/Badge.js +12 -8
  31. package/node/Grid2/Grid2.js +29 -11
  32. package/node/InputBase/InputBase.js +1 -1
  33. package/node/Modal/useModal.js +6 -0
  34. package/node/OutlinedInput/OutlinedInput.js +6 -6
  35. package/node/PigmentGrid/PigmentGrid.js +0 -23
  36. package/node/Select/SelectInput.js +1 -1
  37. package/node/index.js +1 -1
  38. package/node/styles/createPalette.js +2 -16
  39. package/node/styles/createThemeNoVars.js +1 -2
  40. package/node/styles/index.js +1 -1
  41. package/node/styles/makeStyles.js +1 -3
  42. package/node/styles/responsiveFontSizes.js +1 -2
  43. package/node/styles/withStyles.js +1 -3
  44. package/node/styles/withTheme.js +1 -3
  45. package/node/utils/memoTheme.js +4 -25
  46. package/node/version/index.js +2 -2
  47. package/package.json +6 -6
  48. package/styles/ThemeProviderWithVars.d.ts +1 -1
  49. package/styles/createPalette.js +2 -16
  50. package/styles/createThemeNoVars.js +1 -2
  51. package/styles/index.js +1 -1
  52. package/styles/makeStyles.js +1 -3
  53. package/styles/responsiveFontSizes.js +1 -2
  54. package/styles/withStyles.js +1 -3
  55. package/styles/withTheme.js +1 -3
  56. package/utils/memoTheme.d.ts +4 -10
  57. package/utils/memoTheme.js +3 -24
  58. package/version/index.js +2 -2
package/Badge/Badge.d.ts CHANGED
@@ -29,8 +29,8 @@ export type BadgeOwnerState = Simplify<
29
29
  >;
30
30
 
31
31
  export interface BadgeOrigin {
32
- vertical: 'top' | 'bottom';
33
- horizontal: 'left' | 'right';
32
+ vertical?: 'top' | 'bottom';
33
+ horizontal?: 'left' | 'right';
34
34
  }
35
35
 
36
36
  export interface BadgeOwnProps {
package/Badge/Badge.js CHANGED
@@ -210,16 +210,19 @@ const BadgeBadge = styled('span', {
210
210
  }
211
211
  }]
212
212
  })));
213
+ function getAnchorOrigin(anchorOrigin) {
214
+ return {
215
+ vertical: anchorOrigin?.vertical ?? 'top',
216
+ horizontal: anchorOrigin?.horizontal ?? 'right'
217
+ };
218
+ }
213
219
  const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
214
220
  const props = useDefaultProps({
215
221
  props: inProps,
216
222
  name: 'MuiBadge'
217
223
  });
218
224
  const {
219
- anchorOrigin: anchorOriginProp = {
220
- vertical: 'top',
221
- horizontal: 'right'
222
- },
225
+ anchorOrigin: anchorOriginProp,
223
226
  className,
224
227
  classes: classesProp,
225
228
  component,
@@ -249,7 +252,7 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
249
252
  showZero
250
253
  });
251
254
  const prevProps = usePreviousProps({
252
- anchorOrigin: anchorOriginProp,
255
+ anchorOrigin: getAnchorOrigin(anchorOriginProp),
253
256
  color: colorProp,
254
257
  overlap: overlapProp,
255
258
  variant: variantProp,
@@ -259,9 +262,10 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
259
262
  const {
260
263
  color = colorProp,
261
264
  overlap = overlapProp,
262
- anchorOrigin = anchorOriginProp,
265
+ anchorOrigin: anchorOriginPropProp,
263
266
  variant = variantProp
264
267
  } = invisible ? prevProps : props;
268
+ const anchorOrigin = getAnchorOrigin(anchorOriginPropProp);
265
269
  const displayValue = variant !== 'dot' ? displayValueFromHook : undefined;
266
270
  const ownerState = {
267
271
  ...props,
@@ -320,8 +324,8 @@ process.env.NODE_ENV !== "production" ? Badge.propTypes /* remove-proptypes */ =
320
324
  * }
321
325
  */
322
326
  anchorOrigin: PropTypes.shape({
323
- horizontal: PropTypes.oneOf(['left', 'right']).isRequired,
324
- vertical: PropTypes.oneOf(['bottom', 'top']).isRequired
327
+ horizontal: PropTypes.oneOf(['left', 'right']),
328
+ vertical: PropTypes.oneOf(['bottom', 'top'])
325
329
  }),
326
330
  /**
327
331
  * The content rendered within the badge.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,82 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## v6.1.3
4
+
5
+ <!-- generated comparing v6.1.2..master -->
6
+
7
+ _Oct 9, 2024_
8
+
9
+ A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:
10
+
11
+ - 🚀 Improved performance on styled components by pre-serializing and caching the styles (#43412) @romgrk
12
+
13
+ ### `@mui/material@6.1.3`
14
+
15
+ - &#8203;<!-- 18 -->Change React.ReactElement<any> to React.ReactElement<unknown> (#43402) @sai6855
16
+ - &#8203;<!-- 42 -->[Badge] Make keys in anchor origin partial (#43950) @sai6855
17
+ - &#8203;<!-- 22 -->[Grid2] Fix column spacing for nested containers (#43733) @Janpot
18
+ - &#8203;<!-- 21 -->[Grid2] Remove required `item` prop for `size` prop (#44027) @Janpot
19
+ - &#8203;<!-- 20 -->[Grid2] Add compatible props warning (#43801) @k-rajat19
20
+ - &#8203;<!-- 17 -->[Modal] Fix comment location (#44026) @oliviertassinari
21
+ - &#8203;<!-- 16 -->[OutlinedInput] Resolve border color issue on mobile (#43797) (#43879) @wojtek35
22
+
23
+ ### `@mui/system@6.1.3`
24
+
25
+ - &#8203;<!-- 15 -->Make createGrid compatible with React 19 types (#44035) @aarongarciah
26
+ - &#8203;<!-- 14 -->Add empty interfaces to fix issue with typescript module augmentation (#43873) @yonatan0
27
+ - &#8203;<!-- 13 -->Pre-serialize & cache styles to improve performance (#43412) @romgrk
28
+ - &#8203;<!-- 09 -->[typescript] `SystemCSSProperties` should not have `SystemStyleObject` as value (#44029) @siriwatknp
29
+
30
+ ### `@mui/utils@6.0.0-beta.11`
31
+
32
+ - &#8203;<!-- 08 -->[utils] Make getReactElementRef React 19 compatible (#44034) @aarongarciah
33
+
34
+ ### `@mui/lab@6.1.3`
35
+
36
+ - &#8203;<!-- 20 -->[lab][Timeline] Fix types for React 19 (#44043) @aarongarciah
37
+
38
+ ### Docs
39
+
40
+ - &#8203;<!-- 35 -->Update docs-infra role (#44032) @mnajdova
41
+ - &#8203;<!-- 34 -->Update Material Symbols plan to reflect Google development (#44000) @oliviertassinari
42
+ - &#8203;<!-- 33 -->Fix 301 redirections in docs @oliviertassinari
43
+ - &#8203;<!-- 32 -->Fix indentation @oliviertassinari
44
+ - &#8203;<!-- 31 -->Fix Live edit copies (#43835) @oliviertassinari
45
+ - &#8203;<!-- 30 -->Virtualize icons svg (#43939) @Janpot
46
+ - &#8203;<!-- 28 -->[Grid] Fix Grid2 gap description (#43967) @aarongarciah
47
+ - &#8203;<!-- 27 -->[icons] Index search synchronously (#44001) @oliviertassinari
48
+ - &#8203;<!-- 26 -->[material-ui] Incorrect React useState Example on Toggle Button (#43987) @barrownicholas
49
+ - &#8203;<!-- 25 -->[material-ui] Add theme setting for pigment-css migration (#43993) @effektsvk
50
+ - &#8203;<!-- 24 -->[material-ui] Fix incorrect `slotProp` name in the `TextField` deprecation note. (#43985) @Chee7ah
51
+ - &#8203;<!-- 23 -->[examples] Use CSS Variables (#43856) @Juneezee
52
+ - &#8203;<!-- 29 -->[material-ui] Improved documentation for indeterminateIcon prop (#43791) @marctaylor01
53
+
54
+ ### Core
55
+
56
+ - &#8203;<!-- 37 -->Fix typo in useLocalStorageState (#44024) @hieunguyenduc696
57
+ - &#8203;<!-- 36 -->Amend changelog (#43968) @aarongarciah
58
+ - &#8203;<!-- 41 -->Remove `@mui/styled-engine-sc` dev dependency from `@mui/styled-engine-sc` (#44050) @Janpot
59
+ - &#8203;<!-- 43 -->[docs-infra] Add pointer cursor on hover for logo to improve UX (#43999) @Asin-Junior-Honore
60
+ - &#8203;<!-- 41 -->[blog] Migrate some .gif to <video> (#43945) @oliviertassinari
61
+ - &#8203;<!-- 40 -->[code-infra] Align `next` dependency specifier across project (#44036) @Janpot
62
+ - &#8203;<!-- 39 -->[code-infra] Move MuiError babel macro to babel plugin (#43904) @Janpot
63
+ - &#8203;<!-- 38 -->[code-infra] Forbid calling `Error` without `new` (#43963) @Janpot
64
+ - &#8203;<!-- 29 -->[docs-infra] Fix link in header regression (#43834) @oliviertassinari
65
+ - &#8203;<!-- 19 -->[infra] Fix line break in Stack Overflow message @oliviertassinari
66
+ - &#8203;<!-- 12 -->[test] Add missing async (#44028) @oliviertassinari
67
+ - &#8203;<!-- 11 -->[test] Fix Escape event firing event (#43961) @oliviertassinari
68
+ - &#8203;<!-- 10 -->[test] Fix flaky pigment-css screenshot (#43959) @Janpot
69
+ - &#8203;<!-- 07 -->[website] Add missing \_redirects HTTP status @oliviertassinari
70
+ - &#8203;<!-- 06 -->[website] Fix sponsor image height @oliviertassinari
71
+ - &#8203;<!-- 05 -->[website] Remove srcset, does nothing in README @oliviertassinari
72
+ - &#8203;<!-- 04 -->[website] Polish display of sponsors @oliviertassinari
73
+ - &#8203;<!-- 03 -->[website] Standardize utm tags @oliviertassinari
74
+ - &#8203;<!-- 02 -->[website] Improve utm_source strategy @oliviertassinari
75
+ - &#8203;<!-- 01 -->[website] Clarify min-level docs-infra @oliviertassinari
76
+ - &#8203;<!-- 08 -->[website] Update backlink sponsors (#43995) @rluzists1
77
+
78
+ All contributors of this release in alphabetical order: @aarongarciah, @Asin-Junior-Honore, @barrownicholas, @Chee7ah, @effektsvk, @hieunguyenduc696, @Janpot, @Juneezee, @k-rajat19, @mnajdova, @oliviertassinari, @romgrk, @sai6855, @siriwatknp, @wojtek35, @yonatan0
79
+
3
80
  ## v6.1.2
4
81
 
5
82
  <!-- generated comparing v6.1.1..master -->
@@ -10,16 +87,12 @@ A big thanks to the 13 contributors who made this release possible.
10
87
 
11
88
  ### `@mui/material@6.1.2`
12
89
 
13
- - [Modal] Remove unnecessary `manager` prop handling (#43867) @ZeeshanTamboli
14
90
  - [Autocomplete] Fix listbox opens and closes on click when used with `limitTags` (#42494) @appleSimple
15
91
  - [Button] Ignore `dark` and `contrastText` if not provided in the theme (#43861) @siriwatknp
16
92
  - [Button] Fix regression for color `inherit` (#43862) @siriwatknp
17
93
  - [LinearProgress] Fix background color (#43949) @sai6855
18
94
  - Support CSS variables with shadow DOM (#43948) @siriwatknp
19
- - Improve getReactElementRef() utils (#43022) @sai6855
20
- - [Modal] Replace `show` parameter name with `hide` in modal manager (#43868) @ZeeshanTamboli
21
95
  - [Rating] Use Rating `name` as prefix of input element ids (#43829) @yash49
22
- - [Drawer] Refactor getScrollbarSize usages (#43828) @BrianWoolfolk
23
96
  - [Drawer] Fix issue with main window being used instead of iframe's window (#43818) @albarv340
24
97
  - [ThemeProvider] Support setting default mode (#43951) @siriwatknp
25
98
 
@@ -56,9 +129,10 @@ A big thanks to the 13 contributors who made this release possible.
56
129
  - [icons] Reduce Material Icon page size (#43911) @oliviertassinari
57
130
  - [test] Point Istanbul to correct URL (#43935) @sai6855
58
131
  - [test] Sync React.version parse logic with codebase (#43820) @oliviertassinari
59
- - [website] Add 'Row spanning' (#43831) @oliviertassinari
60
- - [website] Improve Next roles section (#43822) @oliviertassinari
61
- - [website] Open the xCharts, eXplore and X general react engineer roles (#43805) @DanailH
132
+ - Improve getReactElementRef() utils (#43022) @sai6855
133
+ - [Drawer] Refactor getScrollbarSize usages (#43828) @BrianWoolfolk
134
+ - [Modal] Replace `show` parameter name with `hide` in modal manager (#43868) @ZeeshanTamboli
135
+ - [Modal] Remove unnecessary `manager` prop handling (#43867) @ZeeshanTamboli
62
136
 
63
137
  All contributors of this release in alphabetical order: @albarv340, @appleSimple, @BrianWoolfolk, @DanailH, @Janpot, @kdichev, @oliviertassinari, @sai6855, @samuelsycamore, @siriwatknp, @wilhelmlofsten, @yash49, @ZeeshanTamboli
64
138
 
package/Grid2/Grid2.d.ts CHANGED
@@ -43,24 +43,29 @@ export interface GridBaseProps {
43
43
  offset?: ResponsiveStyleValue<GridOffset>;
44
44
  /**
45
45
  * @internal
46
- * The level of the grid starts from `0`
47
- * and increases when the grid nests inside another grid regardless of container or item.
46
+ * The level of the grid starts from `0` and increases when the grid nests
47
+ * inside another grid. Nesting is defined as a container Grid being a direct
48
+ * child of a container Grid.
48
49
  *
49
50
  * ```js
50
- * <Grid> // level 0
51
- * <Grid> // level 1
52
- * <Grid> // level 2
53
- * <Grid> // level 1
51
+ * <Grid container> // level 0
52
+ * <Grid container> // level 1
53
+ * <Grid container> // level 2
54
54
  * ```
55
55
  *
56
- * Only consecutive grid is considered nesting.
57
- * A grid container will start at `0` if there are non-Grid element above it.
56
+ * Only consecutive grid is considered nesting. A grid container will start at
57
+ * `0` if there are non-Grid container element above it.
58
58
  *
59
59
  * ```js
60
- * <Grid> // level 0
60
+ * <Grid container> // level 0
61
61
  * <div>
62
- * <Grid> // level 0
63
- * <Grid> // level 1
62
+ * <Grid container> // level 0
63
+ * ```
64
+ *
65
+ * ```js
66
+ * <Grid container> // level 0
67
+ * <Grid>
68
+ * <Grid container> // level 0
64
69
  * ```
65
70
  */
66
71
  unstable_level?: number;
package/Grid2/Grid2.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import PropTypes from 'prop-types';
4
4
  import { createGrid as createGrid2 } from '@mui/system/Grid';
5
+ import requirePropFactory from "../utils/requirePropFactory.js";
5
6
  import { styled, useThemeProps } from "../styles/index.js";
6
7
  /**
7
8
  *
@@ -81,24 +82,29 @@ process.env.NODE_ENV !== "production" ? Grid2.propTypes /* remove-proptypes */ =
81
82
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
82
83
  /**
83
84
  * @internal
84
- * The level of the grid starts from `0`
85
- * and increases when the grid nests inside another grid regardless of container or item.
85
+ * The level of the grid starts from `0` and increases when the grid nests
86
+ * inside another grid. Nesting is defined as a container Grid being a direct
87
+ * child of a container Grid.
86
88
  *
87
89
  * ```js
88
- * <Grid> // level 0
89
- * <Grid> // level 1
90
- * <Grid> // level 2
91
- * <Grid> // level 1
90
+ * <Grid container> // level 0
91
+ * <Grid container> // level 1
92
+ * <Grid container> // level 2
92
93
  * ```
93
94
  *
94
- * Only consecutive grid is considered nesting.
95
- * A grid container will start at `0` if there are non-Grid element above it.
95
+ * Only consecutive grid is considered nesting. A grid container will start at
96
+ * `0` if there are non-Grid container element above it.
96
97
  *
97
98
  * ```js
98
- * <Grid> // level 0
99
+ * <Grid container> // level 0
99
100
  * <div>
100
- * <Grid> // level 0
101
- * <Grid> // level 1
101
+ * <Grid container> // level 0
102
+ * ```
103
+ *
104
+ * ```js
105
+ * <Grid container> // level 0
106
+ * <Grid>
107
+ * <Grid container> // level 0
102
108
  * ```
103
109
  */
104
110
  unstable_level: PropTypes.number,
@@ -109,4 +115,16 @@ process.env.NODE_ENV !== "production" ? Grid2.propTypes /* remove-proptypes */ =
109
115
  */
110
116
  wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap'])
111
117
  } : void 0;
118
+ if (process.env.NODE_ENV !== 'production') {
119
+ const Component = Grid2;
120
+ const requireProp = requirePropFactory('Grid2', Component);
121
+ // eslint-disable-next-line no-useless-concat
122
+ Component['propTypes' + ''] = {
123
+ // eslint-disable-next-line react/forbid-foreign-prop-types
124
+ ...Component.propTypes,
125
+ direction: requireProp('container'),
126
+ spacing: requireProp('container'),
127
+ wrap: requireProp('container')
128
+ };
129
+ }
112
130
  export default Grid2;
@@ -372,7 +372,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
372
372
  if (!isControlled) {
373
373
  const element = event.target || inputRef.current;
374
374
  if (element == null) {
375
- throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Expected valid input target. Did you use a custom \`inputComponent\` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info.` : _formatMuiErrorMessage(1));
375
+ throw new Error(process.env.NODE_ENV !== "production" ? 'MUI: Expected valid input target. ' + 'Did you use a custom `inputComponent` and forget to forward refs? ' + 'See https://mui.com/r/input-component-ref-interface for more info.' : _formatMuiErrorMessage(1));
376
376
  }
377
377
  checkDirty({
378
378
  value: element.value
package/Modal/useModal.js CHANGED
@@ -143,6 +143,12 @@ function useModal(parameters) {
143
143
  ...otherHandlers
144
144
  };
145
145
  return {
146
+ /*
147
+ * Marking an element with the role presentation indicates to assistive technology
148
+ * that this element should be ignored; it exists to support the web application and
149
+ * is not meant for humans to interact with directly.
150
+ * https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md
151
+ */
146
152
  role: 'presentation',
147
153
  ...externalEventHandlers,
148
154
  onKeyDown: createHandleKeyDown(externalEventHandlers),
@@ -46,6 +46,12 @@ const OutlinedInputRoot = styled(InputBaseRoot, {
46
46
  [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
47
47
  borderColor: (theme.vars || theme).palette.text.primary
48
48
  },
49
+ // Reset on touch devices, it doesn't add specificity
50
+ '@media (hover: none)': {
51
+ [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
52
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
53
+ }
54
+ },
49
55
  [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {
50
56
  borderWidth: 2
51
57
  },
@@ -62,12 +68,6 @@ const OutlinedInputRoot = styled(InputBaseRoot, {
62
68
  props: {},
63
69
  // to overide the above style
64
70
  style: {
65
- // Reset on touch devices, it doesn't add specificity
66
- '@media (hover: none)': {
67
- [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
68
- borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
69
- }
70
- },
71
71
  [`&.${outlinedInputClasses.error} .${outlinedInputClasses.notchedOutline}`]: {
72
72
  borderColor: (theme.vars || theme).palette.error.main
73
73
  },
@@ -40,29 +40,6 @@ export interface GridBaseProps {
40
40
  * Defines the offset of the grid.
41
41
  */
42
42
  offset?: ResponsiveStyleValue<number> | undefined;
43
- /**
44
- * @internal
45
- * The level of the grid starts from `0`
46
- * and increases when the grid nests inside another grid regardless of container or item.
47
- *
48
- * ```js
49
- * <Grid> // level 0
50
- * <Grid> // level 1
51
- * <Grid> // level 2
52
- * <Grid> // level 1
53
- * ```
54
- *
55
- * Only consecutive grid is considered nesting.
56
- * A grid container will start at `0` if there are non-Grid element above it.
57
- *
58
- * ```js
59
- * <Grid> // level 0
60
- * <div>
61
- * <Grid> // level 0
62
- * <Grid> // level 1
63
- * ```
64
- */
65
- unstable_level?: number;
66
43
  /**
67
44
  * Defines the vertical space between the type `item` components.
68
45
  * It overrides the value of the `spacing` prop.
@@ -113,29 +113,6 @@ process.env.NODE_ENV !== "production" ? PigmentGrid.propTypes /* remove-proptype
113
113
  * @ignore
114
114
  */
115
115
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
116
- /**
117
- * @internal
118
- * The level of the grid starts from `0`
119
- * and increases when the grid nests inside another grid regardless of container or item.
120
- *
121
- * ```js
122
- * <Grid> // level 0
123
- * <Grid> // level 1
124
- * <Grid> // level 2
125
- * <Grid> // level 1
126
- * ```
127
- *
128
- * Only consecutive grid is considered nesting.
129
- * A grid container will start at `0` if there are non-Grid element above it.
130
- *
131
- * ```js
132
- * <Grid> // level 0
133
- * <div>
134
- * <Grid> // level 0
135
- * <Grid> // level 1
136
- * ```
137
- */
138
- unstable_level: PropTypes.number,
139
116
  /**
140
117
  * Defines the `flex-wrap` style property.
141
118
  * It's applied for all screen sizes.
@@ -347,7 +347,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
347
347
  let selected;
348
348
  if (multiple) {
349
349
  if (!Array.isArray(value)) {
350
- throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The \`value\` prop must be an array when using the \`Select\` component with \`multiple\`.` : _formatMuiErrorMessage(2));
350
+ throw new Error(process.env.NODE_ENV !== "production" ? 'MUI: The `value` prop must be an array ' + 'when using the `Select` component with `multiple`.' : _formatMuiErrorMessage(2));
351
351
  }
352
352
  selected = value.some(v => areEqualValues(v, child.props.value));
353
353
  if (selected && computeDisplay) {
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v6.1.2
2
+ * @mui/material v6.1.3
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -210,16 +210,19 @@ const BadgeBadge = styled('span', {
210
210
  }
211
211
  }]
212
212
  })));
213
+ function getAnchorOrigin(anchorOrigin) {
214
+ return {
215
+ vertical: anchorOrigin?.vertical ?? 'top',
216
+ horizontal: anchorOrigin?.horizontal ?? 'right'
217
+ };
218
+ }
213
219
  const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
214
220
  const props = useDefaultProps({
215
221
  props: inProps,
216
222
  name: 'MuiBadge'
217
223
  });
218
224
  const {
219
- anchorOrigin: anchorOriginProp = {
220
- vertical: 'top',
221
- horizontal: 'right'
222
- },
225
+ anchorOrigin: anchorOriginProp,
223
226
  className,
224
227
  classes: classesProp,
225
228
  component,
@@ -249,7 +252,7 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
249
252
  showZero
250
253
  });
251
254
  const prevProps = usePreviousProps({
252
- anchorOrigin: anchorOriginProp,
255
+ anchorOrigin: getAnchorOrigin(anchorOriginProp),
253
256
  color: colorProp,
254
257
  overlap: overlapProp,
255
258
  variant: variantProp,
@@ -259,9 +262,10 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
259
262
  const {
260
263
  color = colorProp,
261
264
  overlap = overlapProp,
262
- anchorOrigin = anchorOriginProp,
265
+ anchorOrigin: anchorOriginPropProp,
263
266
  variant = variantProp
264
267
  } = invisible ? prevProps : props;
268
+ const anchorOrigin = getAnchorOrigin(anchorOriginPropProp);
265
269
  const displayValue = variant !== 'dot' ? displayValueFromHook : undefined;
266
270
  const ownerState = {
267
271
  ...props,
@@ -320,8 +324,8 @@ process.env.NODE_ENV !== "production" ? Badge.propTypes /* remove-proptypes */ =
320
324
  * }
321
325
  */
322
326
  anchorOrigin: PropTypes.shape({
323
- horizontal: PropTypes.oneOf(['left', 'right']).isRequired,
324
- vertical: PropTypes.oneOf(['bottom', 'top']).isRequired
327
+ horizontal: PropTypes.oneOf(['left', 'right']),
328
+ vertical: PropTypes.oneOf(['bottom', 'top'])
325
329
  }),
326
330
  /**
327
331
  * The content rendered within the badge.
@@ -2,6 +2,7 @@
2
2
 
3
3
  import PropTypes from 'prop-types';
4
4
  import { createGrid as createGrid2 } from '@mui/system/Grid';
5
+ import requirePropFactory from "../utils/requirePropFactory.js";
5
6
  import { styled, useThemeProps } from "../styles/index.js";
6
7
  /**
7
8
  *
@@ -81,24 +82,29 @@ process.env.NODE_ENV !== "production" ? Grid2.propTypes /* remove-proptypes */ =
81
82
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
82
83
  /**
83
84
  * @internal
84
- * The level of the grid starts from `0`
85
- * and increases when the grid nests inside another grid regardless of container or item.
85
+ * The level of the grid starts from `0` and increases when the grid nests
86
+ * inside another grid. Nesting is defined as a container Grid being a direct
87
+ * child of a container Grid.
86
88
  *
87
89
  * ```js
88
- * <Grid> // level 0
89
- * <Grid> // level 1
90
- * <Grid> // level 2
91
- * <Grid> // level 1
90
+ * <Grid container> // level 0
91
+ * <Grid container> // level 1
92
+ * <Grid container> // level 2
92
93
  * ```
93
94
  *
94
- * Only consecutive grid is considered nesting.
95
- * A grid container will start at `0` if there are non-Grid element above it.
95
+ * Only consecutive grid is considered nesting. A grid container will start at
96
+ * `0` if there are non-Grid container element above it.
96
97
  *
97
98
  * ```js
98
- * <Grid> // level 0
99
+ * <Grid container> // level 0
99
100
  * <div>
100
- * <Grid> // level 0
101
- * <Grid> // level 1
101
+ * <Grid container> // level 0
102
+ * ```
103
+ *
104
+ * ```js
105
+ * <Grid container> // level 0
106
+ * <Grid>
107
+ * <Grid container> // level 0
102
108
  * ```
103
109
  */
104
110
  unstable_level: PropTypes.number,
@@ -109,4 +115,16 @@ process.env.NODE_ENV !== "production" ? Grid2.propTypes /* remove-proptypes */ =
109
115
  */
110
116
  wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap'])
111
117
  } : void 0;
118
+ if (process.env.NODE_ENV !== 'production') {
119
+ const Component = Grid2;
120
+ const requireProp = requirePropFactory('Grid2', Component);
121
+ // eslint-disable-next-line no-useless-concat
122
+ Component['propTypes' + ''] = {
123
+ // eslint-disable-next-line react/forbid-foreign-prop-types
124
+ ...Component.propTypes,
125
+ direction: requireProp('container'),
126
+ spacing: requireProp('container'),
127
+ wrap: requireProp('container')
128
+ };
129
+ }
112
130
  export default Grid2;
@@ -372,7 +372,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
372
372
  if (!isControlled) {
373
373
  const element = event.target || inputRef.current;
374
374
  if (element == null) {
375
- throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Expected valid input target. Did you use a custom \`inputComponent\` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info.` : _formatMuiErrorMessage(1));
375
+ throw new Error(process.env.NODE_ENV !== "production" ? 'MUI: Expected valid input target. ' + 'Did you use a custom `inputComponent` and forget to forward refs? ' + 'See https://mui.com/r/input-component-ref-interface for more info.' : _formatMuiErrorMessage(1));
376
376
  }
377
377
  checkDirty({
378
378
  value: element.value
@@ -143,6 +143,12 @@ function useModal(parameters) {
143
143
  ...otherHandlers
144
144
  };
145
145
  return {
146
+ /*
147
+ * Marking an element with the role presentation indicates to assistive technology
148
+ * that this element should be ignored; it exists to support the web application and
149
+ * is not meant for humans to interact with directly.
150
+ * https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md
151
+ */
146
152
  role: 'presentation',
147
153
  ...externalEventHandlers,
148
154
  onKeyDown: createHandleKeyDown(externalEventHandlers),
@@ -46,6 +46,12 @@ const OutlinedInputRoot = styled(InputBaseRoot, {
46
46
  [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
47
47
  borderColor: (theme.vars || theme).palette.text.primary
48
48
  },
49
+ // Reset on touch devices, it doesn't add specificity
50
+ '@media (hover: none)': {
51
+ [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
52
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
53
+ }
54
+ },
49
55
  [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {
50
56
  borderWidth: 2
51
57
  },
@@ -62,12 +68,6 @@ const OutlinedInputRoot = styled(InputBaseRoot, {
62
68
  props: {},
63
69
  // to overide the above style
64
70
  style: {
65
- // Reset on touch devices, it doesn't add specificity
66
- '@media (hover: none)': {
67
- [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
68
- borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
69
- }
70
- },
71
71
  [`&.${outlinedInputClasses.error} .${outlinedInputClasses.notchedOutline}`]: {
72
72
  borderColor: (theme.vars || theme).palette.error.main
73
73
  },
@@ -113,29 +113,6 @@ process.env.NODE_ENV !== "production" ? PigmentGrid.propTypes /* remove-proptype
113
113
  * @ignore
114
114
  */
115
115
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
116
- /**
117
- * @internal
118
- * The level of the grid starts from `0`
119
- * and increases when the grid nests inside another grid regardless of container or item.
120
- *
121
- * ```js
122
- * <Grid> // level 0
123
- * <Grid> // level 1
124
- * <Grid> // level 2
125
- * <Grid> // level 1
126
- * ```
127
- *
128
- * Only consecutive grid is considered nesting.
129
- * A grid container will start at `0` if there are non-Grid element above it.
130
- *
131
- * ```js
132
- * <Grid> // level 0
133
- * <div>
134
- * <Grid> // level 0
135
- * <Grid> // level 1
136
- * ```
137
- */
138
- unstable_level: PropTypes.number,
139
116
  /**
140
117
  * Defines the `flex-wrap` style property.
141
118
  * It's applied for all screen sizes.
@@ -347,7 +347,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
347
347
  let selected;
348
348
  if (multiple) {
349
349
  if (!Array.isArray(value)) {
350
- throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The \`value\` prop must be an array when using the \`Select\` component with \`multiple\`.` : _formatMuiErrorMessage(2));
350
+ throw new Error(process.env.NODE_ENV !== "production" ? 'MUI: The `value` prop must be an array ' + 'when using the `Select` component with `multiple`.' : _formatMuiErrorMessage(2));
351
351
  }
352
352
  selected = value.some(v => areEqualValues(v, child.props.value));
353
353
  if (selected && computeDisplay) {
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v6.1.2
2
+ * @mui/material v6.1.3
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the