@mui/material 5.15.7 → 5.15.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,7 +79,7 @@ export type AccordionTypeMap<
79
79
  /**
80
80
  * The component used for the transition.
81
81
  * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
82
- * @deprecated Use `slots.transition` instead. This prop will be removed in v7.
82
+ * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
83
83
  */
84
84
  TransitionComponent?: React.JSXElementConstructor<
85
85
  TransitionProps & { children?: React.ReactElement<any, any> }
@@ -87,7 +87,7 @@ export type AccordionTypeMap<
87
87
  /**
88
88
  * Props applied to the transition element.
89
89
  * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
90
- * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7.
90
+ * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
91
91
  */
92
92
  TransitionProps?: TransitionProps;
93
93
  } & AccordionSlotsAndSlotProps;
@@ -277,13 +277,13 @@ process.env.NODE_ENV !== "production" ? Accordion.propTypes /* remove-proptypes
277
277
  /**
278
278
  * The component used for the transition.
279
279
  * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
280
- * @deprecated Use `slots.transition` instead. This prop will be removed in v7.
280
+ * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
281
281
  */
282
282
  TransitionComponent: PropTypes.elementType,
283
283
  /**
284
284
  * Props applied to the transition element.
285
285
  * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
286
- * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7.
286
+ * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
287
287
  */
288
288
  TransitionProps: PropTypes.object
289
289
  } : void 0;
@@ -4,8 +4,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  var _ClearIcon, _ArrowDropDownIcon;
6
6
  const _excluded = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionKey", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"],
7
- _excluded2 = ["ref"],
8
- _excluded3 = ["key"];
7
+ _excluded2 = ["ref"];
9
8
  import * as React from 'react';
10
9
  import PropTypes from 'prop-types';
11
10
  import clsx from 'clsx';
@@ -30,6 +29,7 @@ import capitalize from '../utils/capitalize';
30
29
  import useForkRef from '../utils/useForkRef';
31
30
  import { jsx as _jsx } from "react/jsx-runtime";
32
31
  import { jsxs as _jsxs } from "react/jsx-runtime";
32
+ import { createElement as _createElement } from "react";
33
33
  const useUtilityClasses = ownerState => {
34
34
  const {
35
35
  classes,
@@ -528,13 +528,10 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
528
528
  }, params.key);
529
529
  const renderGroup = renderGroupProp || defaultRenderGroup;
530
530
  const defaultRenderOption = (props2, option) => {
531
- const {
532
- key
533
- } = props2,
534
- otherProps = _objectWithoutPropertiesLoose(props2, _excluded3);
535
- return /*#__PURE__*/_jsx("li", _extends({}, otherProps, {
536
- children: getOptionLabel(option)
537
- }), key);
531
+ // Need to clearly apply key because of https://github.com/vercel/next.js/issues/55642
532
+ return /*#__PURE__*/_createElement("li", _extends({}, props2, {
533
+ key: props2.key
534
+ }), getOptionLabel(option));
538
535
  };
539
536
  const renderOption = renderOptionProp || defaultRenderOption;
540
537
  const renderListOption = (option, index) => {
package/Avatar/Avatar.js CHANGED
@@ -181,7 +181,10 @@ const Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {
181
181
  ownerState: ownerState,
182
182
  className: classes.img
183
183
  }, imgProps));
184
- } else if (childrenProp != null && childrenProp !== '' && typeof childrenProp !== 'boolean') {
184
+
185
+ // We only render valid children, non valid children are rendered with a fallback
186
+ // We consider that invalid children are all falsy values, except 0, which is valid.
187
+ } else if (!!childrenProp || childrenProp === 0) {
185
188
  children = childrenProp;
186
189
  } else if (hasImg && alt) {
187
190
  children = alt[0];
package/CHANGELOG.md CHANGED
@@ -1,5 +1,119 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## v5.15.9<!-- generated comparing v5.15.8..master -->
4
+
5
+ _Feb 8, 2024_
6
+
7
+ A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - 🐛 A critical fix to remove non-published library usage in `@mui/material` peerDependencies.
10
+
11
+ ### `@mui/material@5.15.9`
12
+
13
+ - &#8203;<!-- 11 -->[autocomplete] Avoid spread operator (#40968) @oliviertassinari
14
+ - &#8203;<!-- 05 -->[material] Remove zero-runtime from peer dep (#41003) @brijeshb42
15
+
16
+ ### `@mui/base@5.0.0-beta.36`
17
+
18
+ - &#8203;<!-- 10 -->[base-ui] Update props using Array to ReadonlyArray type (#40754) @RaghavenderSingh
19
+
20
+ ### `@mui/system@5.15.9`
21
+
22
+ - &#8203;<!-- 02 -->[system] use `ReadonlyArray` for CSS related types (#40972) @siriwatknp
23
+ - &#8203;<!-- 01 -->[zero] Migrate to use wyw-in-js instead of linaria (#40866) @brijeshb42
24
+
25
+ ### Docs
26
+
27
+ - &#8203;<!-- 06 -->[docs] Polish codemod git diff format @oliviertassinari
28
+ - &#8203;<!-- 05 -->[material-ui][docs] Migrating from deprecated apis follow up (#40981) @DiegoAndai
29
+
30
+ ### Core
31
+
32
+ - &#8203;<!-- 09 -->[code-infra] Move next config to ESM (#40869) @Janpot
33
+ - &#8203;<!-- 08 -->[code-infra] Update prettier (#40772) @Janpot
34
+ - &#8203;<!-- 07 -->[code-infra] Add codemod for `light` prop removal (#40947) @sai6855
35
+
36
+ All contributors of this release in alphabetical order: @brijeshb42, @DiegoAndai, @Janpot, @oliviertassinari, @RaghavenderSingh, @sai6855, @siriwatknp
37
+
38
+ ## v5.15.8<!-- generated comparing v5.15.7..master -->
39
+
40
+ _Feb 6, 2024_
41
+
42
+ A big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
43
+
44
+ - 💫 Added a redesigned [landing page template](https://mui.com/material-ui/getting-started/templates/landing-page/) (#37557) @zanivan
45
+ - ✨ Added support for Arrow Down/Up + Shift and Page Up/Down keys for faster stepping in the Slider component (#40676) @mnajdova
46
+ - many 🐛 bug fixes and 📚 documentation improvements
47
+
48
+ ### `@mui/material@5.15.8`
49
+
50
+ - &#8203;<!-- 36 -->[Avatar] Simplify valid children assertion (#40834) @oliviertassinari
51
+
52
+ ### `@mui/codemod@5.15.8`
53
+
54
+ - &#8203;<!-- 37 -->[Accordion] Update props actual.js test case (#40879) @DiegoAndai
55
+ - &#8203;<!-- 12 -->Fix `findComponentJSX` util (#40855) @sai6855
56
+
57
+ ### `@mui/system@5.15.8`
58
+
59
+ - &#8203;<!-- 10 -->Add blend color manipulator (#40258) @romgrk
60
+ - &#8203;<!-- 38 -->Support variants in `theme.styleOverrides` (#40690) @siriwatknp
61
+ - &#8203;<!-- 02 -->[zero] Always replace the `createUseThemeProps` call (#40885) @siriwatknp
62
+ - &#8203;<!-- 01 -->[zero] Add README with installation and basic usage (#40761) @brijeshb42
63
+
64
+ ### `@mui/base@5.0.0-beta.34`
65
+
66
+ - &#8203;<!-- 35 -->[Button] Add support for `hostElementName` prop to improve SSR (#40507) @mj12albert
67
+ - &#8203;<!-- 30 -->[Menu] Use Popup instead of Popper (#40731) @michaldudak
68
+ - &#8203;<!-- 29 -->[useNumberInput] Integrate useNumberInput with useControllableReducer (#40206) @mj12albert
69
+ - &#8203;<!-- 11 -->[Slider] Add support for Arrow Down/Up + Shift and Page Up/Down keys (#40676) @mnajdova
70
+
71
+ ### Docs
72
+
73
+ - &#8203;<!-- 34 -->[base-ui] Update usage.md (#40916) @adebiyial
74
+ - &#8203;<!-- 33 -->[base-ui] Improve Base UI traffic from Material UI (#40875) @oliviertassinari
75
+ - &#8203;<!-- 32 -->[base-ui] Change Radio component terminology from Button to Group (#40888) @danilo-leal
76
+ - &#8203;<!-- 42 -->[base-ui] Remove redundant "Styled" prefix (#40478) @oliviertassinari
77
+ - &#8203;<!-- 48 -->[base-ui] Update listbox slot style in demo (#40952) @sai6855
78
+ - &#8203;<!-- 14 -->[material-ui] Fix createTheme import and markdown format in the Next.js guide (#40895) @hsmtkk
79
+ - &#8203;<!-- 13 -->[material-ui] Correct Google font CDN URL as Roboto 600 weight is not used (#40852) @xuhdev
80
+ - &#8203;<!-- 14 -->[material-ui] Replace the Album template with a landing page (#37557) @zanivan
81
+ - &#8203;<!-- 21 -->[material-ui] Add deprecations migration guide (#40767) @DiegoAndai
82
+ - &#8203;<!-- 22 -->[material-ui] Improve aria-label throughout the Button Group demos (#40892) @danilo-leal
83
+ - &#8203;<!-- 17 -->[joy-ui] Update the Overview callout (#40900) @danilo-leal
84
+ - &#8203;<!-- 22 -->Fix image size and dark mode @oliviertassinari
85
+ - &#8203;<!-- 21 -->Migrate links from legacy.reactjs.org to react.dev @oliviertassinari
86
+ - &#8203;<!-- 20 -->Fix 301 links @oliviertassinari
87
+ - &#8203;<!-- 19 -->Fix outdated link @oliviertassinari
88
+ - &#8203;<!-- 18 -->Fix URL and typo in CONTRIBUTING.md (#40899) @Smileek
89
+
90
+ ### Core
91
+
92
+ - &#8203;<!-- 28 -->[blog] Optimize images for /blog/mui-x-v7-beta/ @oliviertassinari
93
+ - &#8203;<!-- 27 -->[blog] Clarify barrel index tree-shaking @oliviertassinari
94
+ - &#8203;<!-- 26 -->[code-infra] Simplify bug reproduction (#40833) @oliviertassinari
95
+ - &#8203;<!-- 25 -->[code-infra] Prepare publishing @mui-internal/typescript-to-proptypes to npm (#40842) @michaldudak
96
+ - &#8203;<!-- 40 -->[code-infra] Remove babel alias from the docs (#40792) @Janpot
97
+ - &#8203;<!-- 24 -->[core] Use Google Font v2 API @oliviertassinari
98
+ - &#8203;<!-- 23 -->[core] Add missing change to v5.15.7 changelog (#40872) @DiegoAndai
99
+ - &#8203;<!-- 31 -->[core] Normalize `<meta name="viewport" />`` @oliviertassinari
100
+ - &#8203;<!-- 28 -->[dependencies] Do not update envinfo test dependencies (#40950) @michaldudak
101
+ - &#8203;<!-- 17 -->[docs-infra] Fix arbitrary gap between paragraphs in callouts (#40911) @oliviertassinari
102
+ - &#8203;<!-- 16 -->[docs-infra] Allow developers to build their CodeSandbox export (#40878) @oliviertassinari
103
+ - &#8203;<!-- 15 -->[docs-infra] Improve StackBlitz support (#40832) @oliviertassinari
104
+ - &#8203;<!-- 21 -->[docs-infra] Improve support for absolute locale URL (#40940) @oliviertassinari
105
+ - &#8203;<!-- 31 -->[Menu][base-ui] Fix improperly merged tests (#40896) @michaldudak
106
+ - &#8203;<!-- 09 -->[utils] Use consistent build approach (#40837) @siriwatknp
107
+ - &#8203;<!-- 08 -->[website] Fix React missing key console error @oliviertassinari
108
+ - &#8203;<!-- 07 -->[website] Fix broken link @oliviertassinari
109
+ - &#8203;<!-- 06 -->[website] Fix heading structure (#40912) @oliviertassinari
110
+ - &#8203;<!-- 05 -->[website] Add Customer Support Agent role to careers page (#40890) @rluzists1
111
+ - &#8203;<!-- 04 -->[website] Refine the Material UI homepage demo (#40881) @danilo-leal
112
+ - &#8203;<!-- 03 -->[website] Use em-dash when relevant over hyphen @oliviertassinari
113
+ - &#8203;<!-- 03 -->[zero] Fix build for demo next.js app (#40854) @brijeshb42
114
+
115
+ All contributors of this release in alphabetical order: @adebiyial, @brijeshb42, @danilo-leal, @DiegoAndai, @hsmtkk, @Janpot, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @rluzists1, @romgrk, @sai6855, @siriwatknp, @Smileek, @xuhdev, @zanivan
116
+
3
117
  ## v5.15.7
4
118
 
5
119
  <!-- generated comparing v5.15.6..master -->
@@ -48,6 +162,7 @@ This release was mostly about 🐛 bug fixes and 📚 documentation improvements
48
162
 
49
163
  ### Docs
50
164
 
165
+ - &#8203;<!-- 57 -->[material-ui] Fix the icon preview dialog (#40863) @danilo-leal
51
166
  - &#8203;<!-- 53 -->[material-ui] Fix typo on styled-components guide (#40858) @dancielos
52
167
  - &#8203;<!-- 49 -->[base-ui] Fix CSS vars from the plain CSS theme stylesheet (#40762) @zanivan
53
168
  - &#8203;<!-- 31 -->[material-ui][Divider] Remove light prop references from docs (#40782) @sai6855
@@ -149,7 +264,7 @@ This release was mostly about 🐛 bug fixes and 📚 documentation improvements
149
264
  - &#8203;<!-- 19 -->[core] Polish issue templates @oliviertassinari
150
265
  - &#8203;<!-- 13 -->[docs-infra] Support markdown link in slots descriptions (#40679) @alexfauquette
151
266
  - &#8203;<!-- 08 -->[examples] Simplify Next.js example (#40661) @oliviertassinari
152
- - &#8203;<!-- 03 -->[website] Fix broken styles on Base UI page (#40683) @michaldudak
267
+ - &#8203;<!-- 03 -->[website] Fix broken styles on Base UI page (#40683) @michaldudak
153
268
 
154
269
  All contributors of this release in alphabetical order: @alexfauquette, @anle9650, @ANUGLYPLUGIN, @brijeshb42, @danilo-leal, @devhik0, @DiegoAndai, @DonikaV, @joserodolfofreitas, @michaldudak, @mj12albert, @mnajdova, @mohamedsaiedd, @oliviertassinari, @pcorpet, @sai6855, @zanivan
155
270
 
@@ -1630,7 +1745,7 @@ A big thanks to the 21 contributors who made this release possible. Here are som
1630
1745
  ### Core
1631
1746
 
1632
1747
  - [changelog] Fix issues in highlight @oliviertassinari
1633
- - [core] Remove redundant `@material-ui/` aliases from regression test webpack config (#38574) @ZeeshanTamboli
1748
+ - [core] Remove redundant `@material-ui/` aliases from regression test Webpack config (#38574) @ZeeshanTamboli
1634
1749
  - [core] Fix CI error @oliviertassinari
1635
1750
  - [core] Remove unnecessary Box (#38461) @oliviertassinari
1636
1751
  - [core] Set GitHub Action top level permission @oliviertassinari
@@ -4767,7 +4882,7 @@ A big thanks to the 21 contributors who made this release possible. Here are som
4767
4882
  - [docs] Fix typo in `Grid` docs (#34475) @Dustin-Digitar
4768
4883
  - [docs] Fix typo in `Back to top` section in AppBar docs (#34479) @Dustin-Digitar
4769
4884
  - [docs] Standardize all "Installation" pages (#34168) @samuelsycamore
4770
- - [docs] Fix webpack file name to the standard: `webpack.config.js` (#34446) @CodingItWrong
4885
+ - [docs] Fix Webpack file name to the standard: `webpack.config.js` (#34446) @CodingItWrong
4771
4886
  - [docs] Fix Select `onChange` call (#34408) @siriwatknp
4772
4887
  - [docs] Notification for pickers blog - v5 stable (#34400) @joserodolfofreitas
4773
4888
  - [docs] Improve social sharing of docs pages (#34346) @oliviertassinari
@@ -5442,7 +5557,7 @@ A big thanks to the 19 contributors who made this release possible. Here are som
5442
5557
  - [docs] Update to React 18 (#33196) @mnajdova
5443
5558
  - [docs] Simplify "Upload button" demo (#33326) @baharalidurrani
5444
5559
  - [docs] Add "refine" demo to showcase (#33240) @omeraplak
5445
- - [docs] Add webpack alias for legacy utils package (#33376) @jgbae
5560
+ - [docs] Add Webpack alias for legacy utils package (#33376) @jgbae
5446
5561
  - [docs] Improve external link icons synonyms (#33257) @davidgarciab
5447
5562
  - [examples] Update Base UI with Tailwind CSS to use the latest versions of the dependencies (#33401) @mnajdova
5448
5563
  - [examples] Add Base UI example (#33154) @siriwatknp
@@ -8209,7 +8324,7 @@ A big thanks to the 14 contributors who made this release possible. Here are som
8209
8324
  - &#8203;<!-- 42 -->[core] Remove code handling JSS components (#28421) @eps1lon
8210
8325
  - &#8203;<!-- 41 -->[core] Remove unused dependencies (#28468) @eps1lon
8211
8326
  - &#8203;<!-- 40 -->[core] Ensure both docs bundles are analyzeable (#28410) @eps1lon
8212
- - &#8203;<!-- 39 -->[core] Switch to webpack 5 (#28248) @eps1lon
8327
+ - &#8203;<!-- 39 -->[core] Switch to Webpack 5 (#28248) @eps1lon
8213
8328
  - &#8203;<!-- 38 -->[core] Batch small changes (#28177) @oliviertassinari
8214
8329
  - &#8203;<!-- 37 -->[core] Update publish tag to latest (#28382) @mnajdova
8215
8330
  - &#8203;<!-- 19 -->[framer] Update @mui/\* dependencies (#28469) @eps1lon
@@ -8957,7 +9072,7 @@ A big thanks to the 17 contributors who made this release possible. Here are som
8957
9072
  - [docs] Sort the size in a more logical order (#27186) @oliviertassinari
8958
9073
  - [docs] Use actual link to paperbase (#27063) @eps1lon
8959
9074
  - [docs] Use custom markdown loader for landing page (#27065) @eps1lon
8960
- - [docs] Use webpack 5 (#27077) @eps1lon
9075
+ - [docs] Use Webpack 5 (#27077) @eps1lon
8961
9076
  - [examples] Fix CDN warning (#27229) @oliviertassinari
8962
9077
  - [examples] Remove `StyledEngineProvider` as JSS is not used (#27133) @mnajdova
8963
9078
  - [examples] Remove forgotten StyledEngineProvider (#27163) @oliviertassinari
@@ -9087,7 +9202,7 @@ A big thanks to the 13 contributors who made this release possible. Here are som
9087
9202
  - &#8203;<!-- 35 -->[docs] Fix /components/hidden merge conflict (#26997) @eps1lon
9088
9203
  - &#8203;<!-- 26 -->[docs] Fix 404 links (#26963) @oliviertassinari
9089
9204
  - &#8203;<!-- 24 -->[docs] Remove link that points to v4 blog post (#26960) @steveafrost
9090
- - &#8203;<!-- 16 -->[docs] Use custom webpack loader for markdown (#26774) @eps1lon
9205
+ - &#8203;<!-- 16 -->[docs] Use custom Webpack loader for markdown (#26774) @eps1lon
9091
9206
  - &#8203;<!-- 11 -->[docs] Fix 301 links (#26942) @oliviertassinari
9092
9207
  - &#8203;<!-- 01 -->[docs] Add page for the `sx` prop (#26769) @mnajdova
9093
9208
  - &#8203;<!-- 52 -->[docs] pre-fill issue when a demo crashes (#27034) @eps1lon
@@ -11938,7 +12053,7 @@ A big thanks to the 18 contributors who made this release possible. Here are som
11938
12053
  );
11939
12054
  ```
11940
12055
 
11941
- This enforces emotion being injected first. [More details](https://mui.com/material-ui/guides/interoperability/#css-injection-order) in the documentation.
12056
+ This enforces emotion being injected first. [More details](https://mui.com/material-ui/integrations/interoperability/#css-injection-order) in the documentation.
11942
12057
 
11943
12058
  - [Autocomplete] Rename `closeIcon` prop with `clearIcon` to avoid confusion (#23617) @akhilmhdh.
11944
12059
 
@@ -13187,7 +13302,7 @@ Here are some highlights ✨:
13187
13302
  #### Breaking changes
13188
13303
 
13189
13304
  - [Modal] Remove `onRendered` prop from Modal and Portal (#22464) @eps1lon
13190
- Depending on your use case either use a [callback ref](https://legacy.reactjs.org/docs/refs-and-the-dom.html#callback-refs) on the child element or an effect hook in the child component.
13305
+ Depending on your use case either use a [callback ref](https://react.dev/learn/manipulating-the-dom-with-refs#how-to-manage-a-list-of-refs-using-a-ref-callback) on the child element or an effect hook in the child component.
13191
13306
 
13192
13307
  #### Changes
13193
13308
 
@@ -30,7 +30,7 @@ export interface DividerOwnProps {
30
30
  /**
31
31
  * If `true`, the divider will have a lighter color.
32
32
  * @default false
33
- * @deprecated Use <Divider sx={{ bgcolor: '#eee' }} /> (or any color) instead.
33
+ * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
34
34
  */
35
35
  light?: boolean;
36
36
  /**
@@ -221,7 +221,7 @@ process.env.NODE_ENV !== "production" ? Divider.propTypes /* remove-proptypes */
221
221
  /**
222
222
  * If `true`, the divider will have a lighter color.
223
223
  * @default false
224
- * @deprecated Use <Divider sx={{ bgcolor: '#eee' }} /> (or any color) instead.
224
+ * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
225
225
  */
226
226
  light: PropTypes.bool,
227
227
  /**
@@ -175,6 +175,11 @@ export interface SliderOwnProps {
175
175
  * }
176
176
  */
177
177
  scale?: (value: number) => number;
178
+ /**
179
+ * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.
180
+ * @default 10
181
+ */
182
+ shiftStep?: number;
178
183
  /**
179
184
  * The size of the slider.
180
185
  * @default 'medium'
package/Slider/Slider.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"];
5
+ const _excluded = ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "shiftStep", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -391,6 +391,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
391
391
  max = 100,
392
392
  min = 0,
393
393
  orientation = 'horizontal',
394
+ shiftStep = 10,
394
395
  size = 'medium',
395
396
  step = 1,
396
397
  scale = Identity,
@@ -413,6 +414,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
413
414
  color,
414
415
  size,
415
416
  step,
417
+ shiftStep,
416
418
  scale,
417
419
  track,
418
420
  valueLabelDisplay,
@@ -757,6 +759,11 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
757
759
  * }
758
760
  */
759
761
  scale: PropTypes.func,
762
+ /**
763
+ * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.
764
+ * @default 10
765
+ */
766
+ shiftStep: PropTypes.number,
760
767
  /**
761
768
  * The size of the slider.
762
769
  * @default 'medium'
@@ -232,8 +232,8 @@ export type TextFieldProps<Variant extends TextFieldVariants = TextFieldVariants
232
232
  Variant extends 'filled'
233
233
  ? FilledTextFieldProps
234
234
  : Variant extends 'standard'
235
- ? StandardTextFieldProps
236
- : OutlinedTextFieldProps;
235
+ ? StandardTextFieldProps
236
+ : OutlinedTextFieldProps;
237
237
 
238
238
  /**
239
239
  * The `TextField` is a convenience wrapper for the most common cases (80%).
@@ -431,6 +431,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
431
431
  const handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref);
432
432
 
433
433
  // There is no point in displaying an empty tooltip.
434
+ // So we exclude all falsy values, except 0, which is valid.
434
435
  if (!title && title !== 0) {
435
436
  open = false;
436
437
  }
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.15.7
2
+ * @mui/material v5.15.9
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -284,13 +284,13 @@ process.env.NODE_ENV !== "production" ? Accordion.propTypes /* remove-proptypes
284
284
  /**
285
285
  * The component used for the transition.
286
286
  * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
287
- * @deprecated Use `slots.transition` instead. This prop will be removed in v7.
287
+ * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
288
288
  */
289
289
  TransitionComponent: PropTypes.elementType,
290
290
  /**
291
291
  * Props applied to the transition element.
292
292
  * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
293
- * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7.
293
+ * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
294
294
  */
295
295
  TransitionProps: PropTypes.object
296
296
  } : void 0;
@@ -28,6 +28,7 @@ import capitalize from '../utils/capitalize';
28
28
  import useForkRef from '../utils/useForkRef';
29
29
  import { jsx as _jsx } from "react/jsx-runtime";
30
30
  import { jsxs as _jsxs } from "react/jsx-runtime";
31
+ import { createElement as _createElement } from "react";
31
32
  var useUtilityClasses = function useUtilityClasses(ownerState) {
32
33
  var classes = ownerState.classes,
33
34
  disablePortal = ownerState.disablePortal,
@@ -539,11 +540,10 @@ var Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps,
539
540
  };
540
541
  var renderGroup = renderGroupProp || defaultRenderGroup;
541
542
  var defaultRenderOption = function defaultRenderOption(props2, option) {
542
- var key = props2.key,
543
- otherProps = _objectWithoutProperties(props2, ["key"]);
544
- return /*#__PURE__*/_jsx("li", _extends({}, otherProps, {
545
- children: getOptionLabel(option)
546
- }), key);
543
+ // Need to clearly apply key because of https://github.com/vercel/next.js/issues/55642
544
+ return /*#__PURE__*/_createElement("li", _extends({}, props2, {
545
+ key: props2.key
546
+ }), getOptionLabel(option));
547
547
  };
548
548
  var renderOption = renderOptionProp || defaultRenderOption;
549
549
  var renderListOption = function renderListOption(option, index) {
@@ -182,7 +182,10 @@ var Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {
182
182
  ownerState: ownerState,
183
183
  className: classes.img
184
184
  }, imgProps));
185
- } else if (childrenProp != null && childrenProp !== '' && typeof childrenProp !== 'boolean') {
185
+
186
+ // We only render valid children, non valid children are rendered with a fallback
187
+ // We consider that invalid children are all falsy values, except 0, which is valid.
188
+ } else if (!!childrenProp || childrenProp === 0) {
186
189
  children = childrenProp;
187
190
  } else if (hasImg && alt) {
188
191
  children = alt[0];
@@ -226,7 +226,7 @@ process.env.NODE_ENV !== "production" ? Divider.propTypes /* remove-proptypes */
226
226
  /**
227
227
  * If `true`, the divider will have a lighter color.
228
228
  * @default false
229
- * @deprecated Use <Divider sx={{ bgcolor: '#eee' }} /> (or any color) instead.
229
+ * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
230
230
  */
231
231
  light: PropTypes.bool,
232
232
  /**
@@ -401,6 +401,8 @@ var Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
401
401
  onChangeCommitted = props.onChangeCommitted,
402
402
  _props$orientation = props.orientation,
403
403
  orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
404
+ _props$shiftStep = props.shiftStep,
405
+ shiftStep = _props$shiftStep === void 0 ? 10 : _props$shiftStep,
404
406
  _props$size = props.size,
405
407
  size = _props$size === void 0 ? 'medium' : _props$size,
406
408
  _props$step = props.step,
@@ -417,7 +419,7 @@ var Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
417
419
  valueLabelDisplay = _props$valueLabelDisp === void 0 ? 'off' : _props$valueLabelDisp,
418
420
  _props$valueLabelForm = props.valueLabelFormat,
419
421
  valueLabelFormat = _props$valueLabelForm === void 0 ? Identity : _props$valueLabelForm,
420
- other = _objectWithoutProperties(props, ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"]);
422
+ other = _objectWithoutProperties(props, ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "shiftStep", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"]);
421
423
  var ownerState = _extends({}, props, {
422
424
  isRtl: isRtl,
423
425
  max: max,
@@ -430,6 +432,7 @@ var Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
430
432
  color: color,
431
433
  size: size,
432
434
  step: step,
435
+ shiftStep: shiftStep,
433
436
  scale: scale,
434
437
  track: track,
435
438
  valueLabelDisplay: valueLabelDisplay,
@@ -777,6 +780,11 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
777
780
  * }
778
781
  */
779
782
  scale: PropTypes.func,
783
+ /**
784
+ * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.
785
+ * @default 10
786
+ */
787
+ shiftStep: PropTypes.number,
780
788
  /**
781
789
  * The size of the slider.
782
790
  * @default 'medium'
@@ -442,6 +442,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
442
442
  var handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref);
443
443
 
444
444
  // There is no point in displaying an empty tooltip.
445
+ // So we exclude all falsy values, except 0, which is valid.
445
446
  if (!title && title !== 0) {
446
447
  open = false;
447
448
  }
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.15.7
2
+ * @mui/material v5.15.9
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -277,13 +277,13 @@ process.env.NODE_ENV !== "production" ? Accordion.propTypes /* remove-proptypes
277
277
  /**
278
278
  * The component used for the transition.
279
279
  * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
280
- * @deprecated Use `slots.transition` instead. This prop will be removed in v7.
280
+ * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
281
281
  */
282
282
  TransitionComponent: PropTypes.elementType,
283
283
  /**
284
284
  * Props applied to the transition element.
285
285
  * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
286
- * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7.
286
+ * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
287
287
  */
288
288
  TransitionProps: PropTypes.object
289
289
  } : void 0;
@@ -4,8 +4,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  var _ClearIcon, _ArrowDropDownIcon;
6
6
  const _excluded = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionKey", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"],
7
- _excluded2 = ["ref"],
8
- _excluded3 = ["key"];
7
+ _excluded2 = ["ref"];
9
8
  import * as React from 'react';
10
9
  import PropTypes from 'prop-types';
11
10
  import clsx from 'clsx';
@@ -30,6 +29,7 @@ import capitalize from '../utils/capitalize';
30
29
  import useForkRef from '../utils/useForkRef';
31
30
  import { jsx as _jsx } from "react/jsx-runtime";
32
31
  import { jsxs as _jsxs } from "react/jsx-runtime";
32
+ import { createElement as _createElement } from "react";
33
33
  const useUtilityClasses = ownerState => {
34
34
  const {
35
35
  classes,
@@ -524,13 +524,10 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
524
524
  }, params.key);
525
525
  const renderGroup = renderGroupProp || defaultRenderGroup;
526
526
  const defaultRenderOption = (props2, option) => {
527
- const {
528
- key
529
- } = props2,
530
- otherProps = _objectWithoutPropertiesLoose(props2, _excluded3);
531
- return /*#__PURE__*/_jsx("li", _extends({}, otherProps, {
532
- children: getOptionLabel(option)
533
- }), key);
527
+ // Need to clearly apply key because of https://github.com/vercel/next.js/issues/55642
528
+ return /*#__PURE__*/_createElement("li", _extends({}, props2, {
529
+ key: props2.key
530
+ }), getOptionLabel(option));
534
531
  };
535
532
  const renderOption = renderOptionProp || defaultRenderOption;
536
533
  const renderListOption = (option, index) => {
@@ -181,7 +181,10 @@ const Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {
181
181
  ownerState: ownerState,
182
182
  className: classes.img
183
183
  }, imgProps));
184
- } else if (childrenProp != null && childrenProp !== '' && typeof childrenProp !== 'boolean') {
184
+
185
+ // We only render valid children, non valid children are rendered with a fallback
186
+ // We consider that invalid children are all falsy values, except 0, which is valid.
187
+ } else if (!!childrenProp || childrenProp === 0) {
185
188
  children = childrenProp;
186
189
  } else if (hasImg && alt) {
187
190
  children = alt[0];
@@ -221,7 +221,7 @@ process.env.NODE_ENV !== "production" ? Divider.propTypes /* remove-proptypes */
221
221
  /**
222
222
  * If `true`, the divider will have a lighter color.
223
223
  * @default false
224
- * @deprecated Use <Divider sx={{ bgcolor: '#eee' }} /> (or any color) instead.
224
+ * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
225
225
  */
226
226
  light: PropTypes.bool,
227
227
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"];
5
+ const _excluded = ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "shiftStep", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -390,6 +390,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
390
390
  max = 100,
391
391
  min = 0,
392
392
  orientation = 'horizontal',
393
+ shiftStep = 10,
393
394
  size = 'medium',
394
395
  step = 1,
395
396
  scale = Identity,
@@ -412,6 +413,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
412
413
  color,
413
414
  size,
414
415
  step,
416
+ shiftStep,
415
417
  scale,
416
418
  track,
417
419
  valueLabelDisplay,
@@ -756,6 +758,11 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
756
758
  * }
757
759
  */
758
760
  scale: PropTypes.func,
761
+ /**
762
+ * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.
763
+ * @default 10
764
+ */
765
+ shiftStep: PropTypes.number,
759
766
  /**
760
767
  * The size of the slider.
761
768
  * @default 'medium'