@mui/material 6.1.6 → 6.1.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.
Files changed (51) hide show
  1. package/Accordion/Accordion.d.ts +2 -0
  2. package/Accordion/Accordion.js +2 -0
  3. package/Autocomplete/Autocomplete.d.ts +5 -0
  4. package/Autocomplete/Autocomplete.js +6 -1
  5. package/Avatar/Avatar.d.ts +1 -0
  6. package/Avatar/Avatar.js +1 -0
  7. package/Backdrop/Backdrop.d.ts +1 -0
  8. package/Backdrop/Backdrop.js +1 -0
  9. package/CHANGELOG.md +111 -4
  10. package/Grid/Grid.js +2 -2
  11. package/Grid2/grid2Classes.js +1 -1
  12. package/Rating/Rating.d.ts +21 -4
  13. package/Rating/Rating.js +12 -0
  14. package/SpeedDial/SpeedDial.d.ts +2 -0
  15. package/SpeedDial/SpeedDial.js +2 -0
  16. package/StepIcon/StepIcon.d.ts +5 -2
  17. package/StepLabel/StepLabel.d.ts +2 -0
  18. package/StepLabel/StepLabel.js +2 -0
  19. package/Tooltip/Tooltip.d.ts +69 -36
  20. package/Tooltip/Tooltip.js +84 -58
  21. package/index.js +1 -1
  22. package/modern/Accordion/Accordion.js +2 -0
  23. package/modern/Autocomplete/Autocomplete.js +6 -1
  24. package/modern/Avatar/Avatar.js +1 -0
  25. package/modern/Backdrop/Backdrop.js +1 -0
  26. package/modern/Grid/Grid.js +2 -2
  27. package/modern/Grid2/grid2Classes.js +1 -1
  28. package/modern/Rating/Rating.js +12 -0
  29. package/modern/SpeedDial/SpeedDial.js +2 -0
  30. package/modern/StepLabel/StepLabel.js +2 -0
  31. package/modern/Tooltip/Tooltip.js +84 -58
  32. package/modern/index.js +1 -1
  33. package/modern/useMediaQuery/index.js +6 -1
  34. package/modern/version/index.js +2 -2
  35. package/node/Accordion/Accordion.js +2 -0
  36. package/node/Autocomplete/Autocomplete.js +6 -1
  37. package/node/Avatar/Avatar.js +1 -0
  38. package/node/Backdrop/Backdrop.js +1 -0
  39. package/node/Grid/Grid.js +2 -2
  40. package/node/Grid2/grid2Classes.js +1 -1
  41. package/node/Rating/Rating.js +12 -0
  42. package/node/SpeedDial/SpeedDial.js +2 -0
  43. package/node/StepLabel/StepLabel.js +2 -0
  44. package/node/Tooltip/Tooltip.js +84 -58
  45. package/node/index.js +1 -1
  46. package/node/useMediaQuery/index.js +6 -6
  47. package/node/version/index.js +2 -2
  48. package/package.json +5 -5
  49. package/useMediaQuery/index.d.ts +11 -1
  50. package/useMediaQuery/index.js +6 -1
  51. package/version/index.js +2 -2
@@ -17,7 +17,6 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
17
17
  var _colorManipulator = require("@mui/system/colorManipulator");
18
18
  var _RtlProvider = require("@mui/system/RtlProvider");
19
19
  var _isFocusVisible = _interopRequireDefault(require("@mui/utils/isFocusVisible"));
20
- var _appendOwnerState = _interopRequireDefault(require("@mui/utils/appendOwnerState"));
21
20
  var _getReactElementRef = _interopRequireDefault(require("@mui/utils/getReactElementRef"));
22
21
  var _zeroStyled = require("../zero-styled");
23
22
  var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
@@ -29,6 +28,7 @@ var _useEventCallback = _interopRequireDefault(require("../utils/useEventCallbac
29
28
  var _useForkRef = _interopRequireDefault(require("../utils/useForkRef"));
30
29
  var _useId = _interopRequireDefault(require("../utils/useId"));
31
30
  var _useControlled = _interopRequireDefault(require("../utils/useControlled"));
31
+ var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
32
32
  var _tooltipClasses = _interopRequireWildcard(require("./tooltipClasses"));
33
33
  var _jsxRuntime = require("react/jsx-runtime");
34
34
  function round(value) {
@@ -350,7 +350,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
350
350
  slotProps = {},
351
351
  slots = {},
352
352
  title,
353
- TransitionComponent: TransitionComponentProp = _Grow.default,
353
+ TransitionComponent: TransitionComponentProp,
354
354
  TransitionProps,
355
355
  ...other
356
356
  } = props;
@@ -600,6 +600,16 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
600
600
  console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', `Remove this title prop \`${children.props.title}\` or the Tooltip component.`].join('\n'));
601
601
  }
602
602
  }
603
+ const ownerState = {
604
+ ...props,
605
+ isRtl,
606
+ arrow,
607
+ disableInteractive,
608
+ placement,
609
+ PopperComponentProp,
610
+ touch: ignoreNonTouchEvents.current
611
+ };
612
+ const resolvedPopperProps = typeof slotProps.popper === 'function' ? slotProps.popper(ownerState) : slotProps.popper;
603
613
  const popperOptions = React.useMemo(() => {
604
614
  let tooltipModifiers = [{
605
615
  name: 'arrow',
@@ -612,44 +622,65 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
612
622
  if (PopperProps.popperOptions?.modifiers) {
613
623
  tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);
614
624
  }
625
+ if (resolvedPopperProps?.popperOptions?.modifiers) {
626
+ tooltipModifiers = tooltipModifiers.concat(resolvedPopperProps.popperOptions.modifiers);
627
+ }
615
628
  return {
616
629
  ...PopperProps.popperOptions,
630
+ ...resolvedPopperProps?.popperOptions,
617
631
  modifiers: tooltipModifiers
618
632
  };
619
- }, [arrowRef, PopperProps]);
620
- const ownerState = {
621
- ...props,
622
- isRtl,
623
- arrow,
624
- disableInteractive,
625
- placement,
626
- PopperComponentProp,
627
- touch: ignoreNonTouchEvents.current
628
- };
633
+ }, [arrowRef, PopperProps.popperOptions, resolvedPopperProps?.popperOptions]);
629
634
  const classes = useUtilityClasses(ownerState);
630
- const PopperComponent = slots.popper ?? components.Popper ?? TooltipPopper;
631
- const TransitionComponent = slots.transition ?? components.Transition ?? TransitionComponentProp ?? _Grow.default;
632
- const TooltipComponent = slots.tooltip ?? components.Tooltip ?? TooltipTooltip;
633
- const ArrowComponent = slots.arrow ?? components.Arrow ?? TooltipArrow;
634
- const popperProps = (0, _appendOwnerState.default)(PopperComponent, {
635
- ...PopperProps,
636
- ...(slotProps.popper ?? componentsProps.popper),
637
- className: (0, _clsx.default)(classes.popper, PopperProps?.className, (slotProps.popper ?? componentsProps.popper)?.className)
638
- }, ownerState);
639
- const transitionProps = (0, _appendOwnerState.default)(TransitionComponent, {
640
- ...TransitionProps,
641
- ...(slotProps.transition ?? componentsProps.transition)
642
- }, ownerState);
643
- const tooltipProps = (0, _appendOwnerState.default)(TooltipComponent, {
644
- ...(slotProps.tooltip ?? componentsProps.tooltip),
645
- className: (0, _clsx.default)(classes.tooltip, (slotProps.tooltip ?? componentsProps.tooltip)?.className)
646
- }, ownerState);
647
- const tooltipArrowProps = (0, _appendOwnerState.default)(ArrowComponent, {
648
- ...(slotProps.arrow ?? componentsProps.arrow),
649
- className: (0, _clsx.default)(classes.arrow, (slotProps.arrow ?? componentsProps.arrow)?.className)
650
- }, ownerState);
635
+ const resolvedTransitionProps = typeof slotProps.transition === 'function' ? slotProps.transition(ownerState) : slotProps.transition;
636
+ const externalForwardedProps = {
637
+ slots: {
638
+ popper: components.Popper,
639
+ transition: components.Transition ?? TransitionComponentProp,
640
+ tooltip: components.Tooltip,
641
+ arrow: components.Arrow,
642
+ ...slots
643
+ },
644
+ slotProps: {
645
+ arrow: slotProps.arrow ?? componentsProps.arrow,
646
+ popper: {
647
+ ...PopperProps,
648
+ ...(resolvedPopperProps ?? componentsProps.popper)
649
+ },
650
+ // resolvedPopperProps can be spread because it's already an object
651
+ tooltip: slotProps.tooltip ?? componentsProps.tooltip,
652
+ transition: {
653
+ ...TransitionProps,
654
+ ...(resolvedTransitionProps ?? componentsProps.transition)
655
+ }
656
+ }
657
+ };
658
+ const [PopperSlot, popperSlotProps] = (0, _useSlot.default)('popper', {
659
+ elementType: TooltipPopper,
660
+ externalForwardedProps,
661
+ ownerState,
662
+ className: (0, _clsx.default)(classes.popper, PopperProps?.className)
663
+ });
664
+ const [TransitionSlot, transitionSlotProps] = (0, _useSlot.default)('transition', {
665
+ elementType: _Grow.default,
666
+ externalForwardedProps,
667
+ ownerState
668
+ });
669
+ const [TooltipSlot, tooltipSlotProps] = (0, _useSlot.default)('tooltip', {
670
+ elementType: TooltipTooltip,
671
+ className: classes.tooltip,
672
+ externalForwardedProps,
673
+ ownerState
674
+ });
675
+ const [ArrowSlot, arrowSlotProps] = (0, _useSlot.default)('arrow', {
676
+ elementType: TooltipArrow,
677
+ className: classes.arrow,
678
+ externalForwardedProps,
679
+ ownerState,
680
+ ref: setArrowRef
681
+ });
651
682
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
652
- children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/(0, _jsxRuntime.jsx)(PopperComponent, {
683
+ children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/(0, _jsxRuntime.jsx)(PopperSlot, {
653
684
  as: PopperComponentProp ?? _Popper.default,
654
685
  placement: placement,
655
686
  anchorEl: followCursor ? {
@@ -667,19 +698,18 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
667
698
  id: id,
668
699
  transition: true,
669
700
  ...interactiveWrapperListeners,
670
- ...popperProps,
701
+ ...popperSlotProps,
671
702
  popperOptions: popperOptions,
672
703
  children: ({
673
704
  TransitionProps: TransitionPropsInner
674
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionComponent, {
705
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionSlot, {
675
706
  timeout: theme.transitions.duration.shorter,
676
707
  ...TransitionPropsInner,
677
- ...transitionProps,
678
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TooltipComponent, {
679
- ...tooltipProps,
680
- children: [title, arrow ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ArrowComponent, {
681
- ...tooltipArrowProps,
682
- ref: setArrowRef
708
+ ...transitionSlotProps,
709
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TooltipSlot, {
710
+ ...tooltipSlotProps,
711
+ children: [title, arrow ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ArrowSlot, {
712
+ ...arrowSlotProps
683
713
  }) : null]
684
714
  })
685
715
  })
@@ -711,7 +741,7 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
711
741
  /**
712
742
  * The components used for each slot inside.
713
743
  *
714
- * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/).
744
+ * @deprecated use the `slots` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
715
745
  *
716
746
  * @default {}
717
747
  */
@@ -725,7 +755,7 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
725
755
  * The extra props for the slot components.
726
756
  * You can override the existing props or add new ones.
727
757
  *
728
- * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/).
758
+ * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
729
759
  *
730
760
  * @default {}
731
761
  */
@@ -822,33 +852,27 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
822
852
  placement: _propTypes.default.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
823
853
  /**
824
854
  * The component used for the popper.
825
- * @default Popper
855
+ * @deprecated use the `slots.popper` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
826
856
  */
827
857
  PopperComponent: _propTypes.default.elementType,
828
858
  /**
829
859
  * Props applied to the [`Popper`](https://mui.com/material-ui/api/popper/) element.
860
+ * @deprecated use the `slotProps.popper` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
830
861
  * @default {}
831
862
  */
832
863
  PopperProps: _propTypes.default.object,
833
864
  /**
834
- * The extra props for the slot components.
835
- * You can override the existing props or add new ones.
836
- *
837
- * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
838
- *
865
+ * The props used for each slot inside.
839
866
  * @default {}
840
867
  */
841
868
  slotProps: _propTypes.default.shape({
842
- arrow: _propTypes.default.object,
843
- popper: _propTypes.default.object,
844
- tooltip: _propTypes.default.object,
845
- transition: _propTypes.default.object
869
+ arrow: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
870
+ popper: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
871
+ tooltip: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
872
+ transition: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
846
873
  }),
847
874
  /**
848
875
  * The components used for each slot inside.
849
- *
850
- * This prop is an alias for the `components` prop, which will be deprecated in the future.
851
- *
852
876
  * @default {}
853
877
  */
854
878
  slots: _propTypes.default.shape({
@@ -868,12 +892,14 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
868
892
  /**
869
893
  * The component used for the transition.
870
894
  * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
871
- * @default Grow
895
+ * @deprecated use the `slots.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
872
896
  */
873
897
  TransitionComponent: _propTypes.default.elementType,
874
898
  /**
875
899
  * Props applied to the transition element.
876
900
  * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
901
+ * @deprecated use the `slotProps.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
902
+ * @default {}
877
903
  */
878
904
  TransitionProps: _propTypes.default.object
879
905
  } : void 0;
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v6.1.6
2
+ * @mui/material v6.1.8
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -4,10 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _useMediaQuery.default;
11
- }
7
+ exports.default = void 0;
8
+ var _useMediaQuery = require("@mui/system/useMediaQuery");
9
+ var _identifier = _interopRequireDefault(require("../styles/identifier"));
10
+ const useMediaQuery = (0, _useMediaQuery.unstable_createUseMediaQuery)({
11
+ themeId: _identifier.default
12
12
  });
13
- var _useMediaQuery = _interopRequireDefault(require("@mui/system/useMediaQuery"));
13
+ var _default = exports.default = useMediaQuery;
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = exports.prerelease = exports.patch = exports.minor = exports.major = exports.default = void 0;
7
- const version = exports.version = "6.1.6";
7
+ const version = exports.version = "6.1.8";
8
8
  const major = exports.major = Number("6");
9
9
  const minor = exports.minor = Number("1");
10
- const patch = exports.patch = Number("6");
10
+ const patch = exports.patch = Number("8");
11
11
  const prerelease = exports.prerelease = undefined;
12
12
  var _default = exports.default = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/material",
3
- "version": "6.1.6",
3
+ "version": "6.1.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.",
@@ -35,10 +35,10 @@
35
35
  "prop-types": "^15.8.1",
36
36
  "react-is": "^18.3.1",
37
37
  "react-transition-group": "^4.4.5",
38
- "@mui/system": "^6.1.6",
38
+ "@mui/system": "^6.1.8",
39
39
  "@mui/types": "^7.2.19",
40
- "@mui/core-downloads-tracker": "^6.1.6",
41
- "@mui/utils": "^6.1.6"
40
+ "@mui/core-downloads-tracker": "^6.1.8",
41
+ "@mui/utils": "^6.1.8"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@emotion/react": "^11.5.0",
@@ -46,7 +46,7 @@
46
46
  "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
47
47
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
48
48
  "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0",
49
- "@mui/material-pigment-css": "^6.1.6"
49
+ "@mui/material-pigment-css": "^6.1.8"
50
50
  },
51
51
  "peerDependenciesMeta": {
52
52
  "@types/react": {
@@ -1,2 +1,12 @@
1
- export { default } from '@mui/system/useMediaQuery';
1
+ import { UseMediaQueryOptions } from '@mui/system/useMediaQuery';
2
+ import { Theme } from '../styles/createTheme';
3
+
2
4
  export * from '@mui/system/useMediaQuery';
5
+
6
+ // TODO v7: remove the generic. It's only used to prevent a breaking change in v6 from system's useMediaQuery in https://github.com/mui/material-ui/pull/44339.
7
+ declare function useMediaQuery<T = Theme>(
8
+ queryInput: string | ((theme: T) => string),
9
+ options?: UseMediaQueryOptions,
10
+ ): boolean;
11
+
12
+ export default useMediaQuery;
@@ -1 +1,6 @@
1
- export { default } from '@mui/system/useMediaQuery';
1
+ import { unstable_createUseMediaQuery } from '@mui/system/useMediaQuery';
2
+ import THEME_ID from "../styles/identifier.js";
3
+ const useMediaQuery = unstable_createUseMediaQuery({
4
+ themeId: THEME_ID
5
+ });
6
+ export default useMediaQuery;
package/version/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export const version = "6.1.6";
1
+ export const version = "6.1.8";
2
2
  export const major = Number("6");
3
3
  export const minor = Number("1");
4
- export const patch = Number("6");
4
+ export const patch = Number("8");
5
5
  export const prerelease = undefined;
6
6
  export default version;