@mui/material 5.15.7 → 5.15.8

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;
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,84 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## v5.15.8<!-- generated comparing v5.15.7..master -->
4
+
5
+ _Feb 6, 2024_
6
+
7
+ A big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - 💫 Added a redesigned [landing page template](https://mui.com/material-ui/getting-started/templates/landing-page/) (#37557) @zanivan
10
+ - ✨ Added support for Arrow Down/Up + Shift and Page Up/Down keys for faster stepping in the Slider component (#40676) @mnajdova
11
+ - many 🐛 bug fixes and 📚 documentation improvements
12
+
13
+ ### `@mui/material@5.15.8`
14
+
15
+ - &#8203;<!-- 36 -->[Avatar] Simplify valid children assertion (#40834) @oliviertassinari
16
+
17
+ ### `@mui/codemod@5.15.8`
18
+
19
+ - &#8203;<!-- 37 -->[Accordion] Update props actual.js test case (#40879) @DiegoAndai
20
+ - &#8203;<!-- 12 -->Fix `findComponentJSX` util (#40855) @sai6855
21
+
22
+ ### `@mui/system@5.15.8`
23
+
24
+ - &#8203;<!-- 10 -->Add blend color manipulator (#40258) @romgrk
25
+ - &#8203;<!-- 38 -->Support variants in `theme.styleOverrides` (#40690) @siriwatknp
26
+ - &#8203;<!-- 02 -->[zero] Always replace the `createUseThemeProps` call (#40885) @siriwatknp
27
+ - &#8203;<!-- 01 -->[zero] Add README with installation and basic usage (#40761) @brijeshb42
28
+
29
+ ### `@mui/base@5.0.0-beta.34`
30
+
31
+ - &#8203;<!-- 35 -->[Button] Add support for `hostElementName` prop to improve SSR (#40507) @mj12albert
32
+ - &#8203;<!-- 30 -->[Menu] Use Popup instead of Popper (#40731) @michaldudak
33
+ - &#8203;<!-- 29 -->[useNumberInput] Integrate useNumberInput with useControllableReducer (#40206) @mj12albert
34
+ - &#8203;<!-- 11 -->[Slider] Add support for Arrow Down/Up + Shift and Page Up/Down keys (#40676) @mnajdova
35
+
36
+ ### Docs
37
+
38
+ - &#8203;<!-- 34 -->[base-ui] Update usage.md (#40916) @adebiyial
39
+ - &#8203;<!-- 33 -->[base-ui] Improve Base UI traffic from Material UI (#40875) @oliviertassinari
40
+ - &#8203;<!-- 32 -->[base-ui] Change Radio component terminology from Button to Group (#40888) @danilo-leal
41
+ - &#8203;<!-- 42 -->[base-ui] Remove redundant "Styled" prefix (#40478) @oliviertassinari
42
+ - &#8203;<!-- 48 -->[base-ui] Update listbox slot style in demo (#40952) @sai6855
43
+ - &#8203;<!-- 14 -->[material-ui] Fix createTheme import and markdown format in the Next.js guide (#40895) @hsmtkk
44
+ - &#8203;<!-- 13 -->[material-ui] Correct Google font CDN URL as Roboto 600 weight is not used (#40852) @xuhdev
45
+ - &#8203;<!-- 14 -->[material-ui] Replace the Album template with a landing page (#37557) @zanivan
46
+ - &#8203;<!-- 21 -->[material-ui] Add deprecations migration guide (#40767) @DiegoAndai
47
+ - &#8203;<!-- 22 -->[material-ui] Improve aria-label throughout the Button Group demos (#40892) @danilo-leal
48
+ - &#8203;<!-- 17 -->[joy-ui] Update the Overview callout (#40900) @danilo-leal
49
+ - &#8203;<!-- 22 -->Fix image size and dark mode @oliviertassinari
50
+ - &#8203;<!-- 21 -->Migrate links from legacy.reactjs.org to react.dev @oliviertassinari
51
+ - &#8203;<!-- 20 -->Fix 301 links @oliviertassinari
52
+ - &#8203;<!-- 19 -->Fix outdated link @oliviertassinari
53
+ - &#8203;<!-- 18 -->Fix URL and typo in CONTRIBUTING.md (#40899) @Smileek
54
+
55
+ ### Core
56
+
57
+ - &#8203;<!-- 28 -->[blog] Optimize images for /blog/mui-x-v7-beta/ @oliviertassinari
58
+ - &#8203;<!-- 27 -->[blog] Clarify barrel index tree-shaking @oliviertassinari
59
+ - &#8203;<!-- 26 -->[code-infra] Simplify bug reproduction (#40833) @oliviertassinari
60
+ - &#8203;<!-- 25 -->[code-infra] Prepare publishing @mui-internal/typescript-to-proptypes to npm (#40842) @michaldudak
61
+ - &#8203;<!-- 40 -->[code-infra] Remove babel alias from the docs (#40792) @Janpot
62
+ - &#8203;<!-- 24 -->[core] Use Google Font v2 API @oliviertassinari
63
+ - &#8203;<!-- 23 -->[core] Add missing change to v5.15.7 changelog (#40872) @DiegoAndai
64
+ - &#8203;<!-- 31 -->[core] Normalize `<meta name="viewport" />`` @oliviertassinari
65
+ - &#8203;<!-- 28 -->[dependencies] Do not update envinfo test dependencies (#40950) @michaldudak
66
+ - &#8203;<!-- 17 -->[docs-infra] Fix arbitrary gap between paragraphs in callouts (#40911) @oliviertassinari
67
+ - &#8203;<!-- 16 -->[docs-infra] Allow developers to build their CodeSandbox export (#40878) @oliviertassinari
68
+ - &#8203;<!-- 15 -->[docs-infra] Improve StackBlitz support (#40832) @oliviertassinari
69
+ - &#8203;<!-- 21 -->[docs-infra] Improve support for absolute locale URL (#40940) @oliviertassinari
70
+ - &#8203;<!-- 31 -->[Menu][base-ui] Fix improperly merged tests (#40896) @michaldudak
71
+ - &#8203;<!-- 09 -->[utils] Use consistent build approach (#40837) @siriwatknp
72
+ - &#8203;<!-- 08 -->[website] Fix React missing key console error @oliviertassinari
73
+ - &#8203;<!-- 07 -->[website] Fix broken link @oliviertassinari
74
+ - &#8203;<!-- 06 -->[website] Fix heading structure (#40912) @oliviertassinari
75
+ - &#8203;<!-- 05 -->[website] Add Customer Support Agent role to careers page (#40890) @rluzists1
76
+ - &#8203;<!-- 04 -->[website] Refine the Material UI homepage demo (#40881) @danilo-leal
77
+ - &#8203;<!-- 03 -->[website] Use em-dash when relevant over hyphen @oliviertassinari
78
+ - &#8203;<!-- 03 -->[zero] Fix build for demo next.js app (#40854) @brijeshb42
79
+
80
+ 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
81
+
3
82
  ## v5.15.7
4
83
 
5
84
  <!-- generated comparing v5.15.6..master -->
@@ -48,6 +127,7 @@ This release was mostly about 🐛 bug fixes and 📚 documentation improvements
48
127
 
49
128
  ### Docs
50
129
 
130
+ - &#8203;<!-- 57 -->[material-ui] Fix the icon preview dialog (#40863) @danilo-leal
51
131
  - &#8203;<!-- 53 -->[material-ui] Fix typo on styled-components guide (#40858) @dancielos
52
132
  - &#8203;<!-- 49 -->[base-ui] Fix CSS vars from the plain CSS theme stylesheet (#40762) @zanivan
53
133
  - &#8203;<!-- 31 -->[material-ui][Divider] Remove light prop references from docs (#40782) @sai6855
@@ -149,7 +229,7 @@ This release was mostly about 🐛 bug fixes and 📚 documentation improvements
149
229
  - &#8203;<!-- 19 -->[core] Polish issue templates @oliviertassinari
150
230
  - &#8203;<!-- 13 -->[docs-infra] Support markdown link in slots descriptions (#40679) @alexfauquette
151
231
  - &#8203;<!-- 08 -->[examples] Simplify Next.js example (#40661) @oliviertassinari
152
- - &#8203;<!-- 03 -->[website] Fix broken styles on Base UI page (#40683) @michaldudak
232
+ - &#8203;<!-- 03 -->[website] Fix broken styles on Base UI page (#40683) @michaldudak
153
233
 
154
234
  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
235
 
@@ -1630,7 +1710,7 @@ A big thanks to the 21 contributors who made this release possible. Here are som
1630
1710
  ### Core
1631
1711
 
1632
1712
  - [changelog] Fix issues in highlight @oliviertassinari
1633
- - [core] Remove redundant `@material-ui/` aliases from regression test webpack config (#38574) @ZeeshanTamboli
1713
+ - [core] Remove redundant `@material-ui/` aliases from regression test Webpack config (#38574) @ZeeshanTamboli
1634
1714
  - [core] Fix CI error @oliviertassinari
1635
1715
  - [core] Remove unnecessary Box (#38461) @oliviertassinari
1636
1716
  - [core] Set GitHub Action top level permission @oliviertassinari
@@ -4767,7 +4847,7 @@ A big thanks to the 21 contributors who made this release possible. Here are som
4767
4847
  - [docs] Fix typo in `Grid` docs (#34475) @Dustin-Digitar
4768
4848
  - [docs] Fix typo in `Back to top` section in AppBar docs (#34479) @Dustin-Digitar
4769
4849
  - [docs] Standardize all "Installation" pages (#34168) @samuelsycamore
4770
- - [docs] Fix webpack file name to the standard: `webpack.config.js` (#34446) @CodingItWrong
4850
+ - [docs] Fix Webpack file name to the standard: `webpack.config.js` (#34446) @CodingItWrong
4771
4851
  - [docs] Fix Select `onChange` call (#34408) @siriwatknp
4772
4852
  - [docs] Notification for pickers blog - v5 stable (#34400) @joserodolfofreitas
4773
4853
  - [docs] Improve social sharing of docs pages (#34346) @oliviertassinari
@@ -5442,7 +5522,7 @@ A big thanks to the 19 contributors who made this release possible. Here are som
5442
5522
  - [docs] Update to React 18 (#33196) @mnajdova
5443
5523
  - [docs] Simplify "Upload button" demo (#33326) @baharalidurrani
5444
5524
  - [docs] Add "refine" demo to showcase (#33240) @omeraplak
5445
- - [docs] Add webpack alias for legacy utils package (#33376) @jgbae
5525
+ - [docs] Add Webpack alias for legacy utils package (#33376) @jgbae
5446
5526
  - [docs] Improve external link icons synonyms (#33257) @davidgarciab
5447
5527
  - [examples] Update Base UI with Tailwind CSS to use the latest versions of the dependencies (#33401) @mnajdova
5448
5528
  - [examples] Add Base UI example (#33154) @siriwatknp
@@ -8209,7 +8289,7 @@ A big thanks to the 14 contributors who made this release possible. Here are som
8209
8289
  - &#8203;<!-- 42 -->[core] Remove code handling JSS components (#28421) @eps1lon
8210
8290
  - &#8203;<!-- 41 -->[core] Remove unused dependencies (#28468) @eps1lon
8211
8291
  - &#8203;<!-- 40 -->[core] Ensure both docs bundles are analyzeable (#28410) @eps1lon
8212
- - &#8203;<!-- 39 -->[core] Switch to webpack 5 (#28248) @eps1lon
8292
+ - &#8203;<!-- 39 -->[core] Switch to Webpack 5 (#28248) @eps1lon
8213
8293
  - &#8203;<!-- 38 -->[core] Batch small changes (#28177) @oliviertassinari
8214
8294
  - &#8203;<!-- 37 -->[core] Update publish tag to latest (#28382) @mnajdova
8215
8295
  - &#8203;<!-- 19 -->[framer] Update @mui/\* dependencies (#28469) @eps1lon
@@ -8957,7 +9037,7 @@ A big thanks to the 17 contributors who made this release possible. Here are som
8957
9037
  - [docs] Sort the size in a more logical order (#27186) @oliviertassinari
8958
9038
  - [docs] Use actual link to paperbase (#27063) @eps1lon
8959
9039
  - [docs] Use custom markdown loader for landing page (#27065) @eps1lon
8960
- - [docs] Use webpack 5 (#27077) @eps1lon
9040
+ - [docs] Use Webpack 5 (#27077) @eps1lon
8961
9041
  - [examples] Fix CDN warning (#27229) @oliviertassinari
8962
9042
  - [examples] Remove `StyledEngineProvider` as JSS is not used (#27133) @mnajdova
8963
9043
  - [examples] Remove forgotten StyledEngineProvider (#27163) @oliviertassinari
@@ -9087,7 +9167,7 @@ A big thanks to the 13 contributors who made this release possible. Here are som
9087
9167
  - &#8203;<!-- 35 -->[docs] Fix /components/hidden merge conflict (#26997) @eps1lon
9088
9168
  - &#8203;<!-- 26 -->[docs] Fix 404 links (#26963) @oliviertassinari
9089
9169
  - &#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
9170
+ - &#8203;<!-- 16 -->[docs] Use custom Webpack loader for markdown (#26774) @eps1lon
9091
9171
  - &#8203;<!-- 11 -->[docs] Fix 301 links (#26942) @oliviertassinari
9092
9172
  - &#8203;<!-- 01 -->[docs] Add page for the `sx` prop (#26769) @mnajdova
9093
9173
  - &#8203;<!-- 52 -->[docs] pre-fill issue when a demo crashes (#27034) @eps1lon
@@ -11938,7 +12018,7 @@ A big thanks to the 18 contributors who made this release possible. Here are som
11938
12018
  );
11939
12019
  ```
11940
12020
 
11941
- This enforces emotion being injected first. [More details](https://mui.com/material-ui/guides/interoperability/#css-injection-order) in the documentation.
12021
+ This enforces emotion being injected first. [More details](https://mui.com/material-ui/integrations/interoperability/#css-injection-order) in the documentation.
11942
12022
 
11943
12023
  - [Autocomplete] Rename `closeIcon` prop with `clearIcon` to avoid confusion (#23617) @akhilmhdh.
11944
12024
 
@@ -13187,7 +13267,7 @@ Here are some highlights ✨:
13187
13267
  #### Breaking changes
13188
13268
 
13189
13269
  - [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.
13270
+ 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
13271
 
13192
13272
  #### Changes
13193
13273
 
@@ -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'
@@ -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.8
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;
@@ -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];
@@ -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.8
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;
@@ -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];
@@ -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'
@@ -430,6 +430,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
430
430
  const handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref);
431
431
 
432
432
  // There is no point in displaying an empty tooltip.
433
+ // So we exclude all falsy values, except 0, which is valid.
433
434
  if (!title && title !== 0) {
434
435
  open = false;
435
436
  }
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.15.7
2
+ * @mui/material v5.15.8
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.default.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.default.object
296
296
  } : void 0;
@@ -189,7 +189,10 @@ const Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {
189
189
  ownerState: ownerState,
190
190
  className: classes.img
191
191
  }, imgProps));
192
- } else if (childrenProp != null && childrenProp !== '' && typeof childrenProp !== 'boolean') {
192
+
193
+ // We only render valid children, non valid children are rendered with a fallback
194
+ // We consider that invalid children are all falsy values, except 0, which is valid.
195
+ } else if (!!childrenProp || childrenProp === 0) {
193
196
  children = childrenProp;
194
197
  } else if (hasImg && alt) {
195
198
  children = alt[0];
@@ -23,7 +23,7 @@ var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
23
23
  var _SliderValueLabel = _interopRequireDefault(require("./SliderValueLabel"));
24
24
  var _sliderClasses = _interopRequireWildcard(require("./sliderClasses"));
25
25
  var _jsxRuntime = require("react/jsx-runtime");
26
- 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"];
26
+ 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"];
27
27
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
28
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
29
  function Identity(x) {
@@ -398,6 +398,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
398
398
  max = 100,
399
399
  min = 0,
400
400
  orientation = 'horizontal',
401
+ shiftStep = 10,
401
402
  size = 'medium',
402
403
  step = 1,
403
404
  scale = Identity,
@@ -420,6 +421,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
420
421
  color,
421
422
  size,
422
423
  step,
424
+ shiftStep,
423
425
  scale,
424
426
  track,
425
427
  valueLabelDisplay,
@@ -764,6 +766,11 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
764
766
  * }
765
767
  */
766
768
  scale: _propTypes.default.func,
769
+ /**
770
+ * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.
771
+ * @default 10
772
+ */
773
+ shiftStep: _propTypes.default.number,
767
774
  /**
768
775
  * The size of the slider.
769
776
  * @default 'medium'
@@ -439,6 +439,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
439
439
  const handleRef = (0, _useForkRef.default)(children.ref, focusVisibleRef, setChildNode, ref);
440
440
 
441
441
  // There is no point in displaying an empty tooltip.
442
+ // So we exclude all falsy values, except 0, which is valid.
442
443
  if (!title && title !== 0) {
443
444
  open = false;
444
445
  }
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.15.7
2
+ * @mui/material v5.15.8
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/material",
3
- "version": "5.15.7",
3
+ "version": "5.15.8",
4
4
  "private": false,
5
5
  "author": "MUI Team",
6
6
  "description": "Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.",
@@ -34,18 +34,19 @@
34
34
  "prop-types": "^15.8.1",
35
35
  "react-is": "^18.2.0",
36
36
  "react-transition-group": "^4.4.5",
37
- "@mui/base": "5.0.0-beta.34",
37
+ "@mui/base": "5.0.0-beta.35",
38
38
  "@mui/types": "^7.2.13",
39
- "@mui/core-downloads-tracker": "^5.15.7",
40
- "@mui/system": "^5.15.7",
41
- "@mui/utils": "^5.15.7"
39
+ "@mui/core-downloads-tracker": "^5.15.8",
40
+ "@mui/utils": "^5.15.8",
41
+ "@mui/system": "^5.15.8"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@emotion/react": "^11.5.0",
45
45
  "@emotion/styled": "^11.3.0",
46
46
  "@types/react": "^17.0.0 || ^18.0.0",
47
47
  "react": "^17.0.0 || ^18.0.0",
48
- "react-dom": "^17.0.0 || ^18.0.0"
48
+ "react-dom": "^17.0.0 || ^18.0.0",
49
+ "@mui/zero-runtime": "^0.0.1"
49
50
  },
50
51
  "peerDependenciesMeta": {
51
52
  "@types/react": {
@@ -1,4 +1,4 @@
1
- import { CSSObject, CSSInterpolation } from '@mui/system';
1
+ import { CSSObject, CSSInterpolation, Interpolation } from '@mui/system';
2
2
  import { PopperClassKey } from '@mui/base/Popper';
3
3
  import { ComponentsPropsList } from './props';
4
4
  import { AccordionActionsClassKey } from '../AccordionActions';
@@ -122,14 +122,18 @@ export type OverridesStyleRules<
122
122
  Theme = unknown,
123
123
  > = Record<
124
124
  ClassKey,
125
- | CSSInterpolation
126
- | ((
127
- // Record<string, unknown> is for other props that the slot receive internally
128
- // Documenting all ownerStates could be a huge work, let's wait until we have a real needs from developers.
129
- props: (ComponentName extends keyof ComponentsPropsList
130
- ? { ownerState: ComponentsPropsList[ComponentName] & Record<string, unknown> }
131
- : {}) & { theme: Theme } & Record<string, unknown>,
132
- ) => CSSInterpolation)
125
+ Interpolation<
126
+ // Record<string, unknown> is for other props that the slot receive internally
127
+ // Documenting all ownerStates could be a huge work, let's wait until we have a real needs from developers.
128
+ (ComponentName extends keyof ComponentsPropsList
129
+ ? ComponentsPropsList[ComponentName] &
130
+ Record<string, unknown> & {
131
+ ownerState: ComponentsPropsList[ComponentName] & Record<string, unknown>;
132
+ }
133
+ : {}) & {
134
+ theme: Theme;
135
+ } & Record<string, unknown>
136
+ >
133
137
  >;
134
138
 
135
139
  export type ComponentsOverrides<Theme = unknown> = {