@mui/material 5.2.6 → 5.3.1

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 (98) hide show
  1. package/Autocomplete/Autocomplete.d.ts +2 -0
  2. package/Autocomplete/Autocomplete.js +11 -7
  3. package/Avatar/Avatar.d.ts +3 -1
  4. package/Backdrop/Backdrop.js +3 -1
  5. package/Badge/Badge.d.ts +10 -10
  6. package/Badge/Badge.js +6 -7
  7. package/Button/buttonClasses.d.ts +1 -1
  8. package/CHANGELOG.md +240 -33
  9. package/FilledInput/FilledInput.js +4 -1
  10. package/FormControlLabel/FormControlLabel.js +3 -1
  11. package/Input/Input.js +4 -1
  12. package/InputBase/InputBase.js +4 -1
  13. package/InputLabel/InputLabel.js +4 -0
  14. package/ListItem/ListItem.js +3 -1
  15. package/Modal/Modal.js +3 -1
  16. package/README.md +5 -4
  17. package/Select/Select.d.ts +9 -1
  18. package/Select/Select.js +10 -1
  19. package/Select/SelectInput.d.ts +1 -0
  20. package/Select/SelectInput.js +25 -4
  21. package/Slider/Slider.d.ts +2 -0
  22. package/Slider/Slider.js +126 -53
  23. package/StepLabel/StepLabel.js +3 -1
  24. package/SvgIcon/SvgIcon.d.ts +8 -0
  25. package/SvgIcon/SvgIcon.js +28 -12
  26. package/TextField/TextField.d.ts +1 -0
  27. package/TextField/TextField.js +1 -0
  28. package/Tooltip/Tooltip.js +6 -1
  29. package/index.js +1 -1
  30. package/legacy/Autocomplete/Autocomplete.js +11 -7
  31. package/legacy/Backdrop/Backdrop.js +3 -1
  32. package/legacy/Badge/Badge.js +6 -7
  33. package/legacy/FilledInput/FilledInput.js +4 -1
  34. package/legacy/FormControlLabel/FormControlLabel.js +3 -1
  35. package/legacy/Input/Input.js +4 -1
  36. package/legacy/InputBase/InputBase.js +4 -1
  37. package/legacy/InputLabel/InputLabel.js +4 -0
  38. package/legacy/ListItem/ListItem.js +3 -1
  39. package/legacy/Modal/Modal.js +3 -1
  40. package/legacy/Select/Select.js +11 -1
  41. package/legacy/Select/SelectInput.js +29 -7
  42. package/legacy/Slider/Slider.js +127 -54
  43. package/legacy/StepLabel/StepLabel.js +3 -1
  44. package/legacy/SvgIcon/SvgIcon.js +29 -12
  45. package/legacy/TextField/TextField.js +1 -0
  46. package/legacy/Tooltip/Tooltip.js +6 -1
  47. package/legacy/index.js +1 -1
  48. package/legacy/locale/index.js +139 -128
  49. package/legacy/utils/shouldSpreadAdditionalProps.js +7 -0
  50. package/locale/index.js +54 -44
  51. package/modern/Autocomplete/Autocomplete.js +10 -6
  52. package/modern/Backdrop/Backdrop.js +3 -1
  53. package/modern/Badge/Badge.js +6 -7
  54. package/modern/FilledInput/FilledInput.js +4 -1
  55. package/modern/FormControlLabel/FormControlLabel.js +3 -1
  56. package/modern/Input/Input.js +4 -1
  57. package/modern/InputBase/InputBase.js +4 -1
  58. package/modern/InputLabel/InputLabel.js +4 -0
  59. package/modern/ListItem/ListItem.js +3 -1
  60. package/modern/Modal/Modal.js +3 -1
  61. package/modern/Select/Select.js +10 -1
  62. package/modern/Select/SelectInput.js +25 -4
  63. package/modern/Slider/Slider.js +126 -53
  64. package/modern/StepLabel/StepLabel.js +3 -1
  65. package/modern/SvgIcon/SvgIcon.js +27 -11
  66. package/modern/TextField/TextField.js +1 -0
  67. package/modern/Tooltip/Tooltip.js +6 -1
  68. package/modern/index.js +1 -1
  69. package/modern/locale/index.js +54 -44
  70. package/modern/utils/shouldSpreadAdditionalProps.js +7 -0
  71. package/node/Autocomplete/Autocomplete.js +11 -7
  72. package/node/Backdrop/Backdrop.js +3 -1
  73. package/node/Badge/Badge.js +8 -8
  74. package/node/FilledInput/FilledInput.js +4 -1
  75. package/node/FormControlLabel/FormControlLabel.js +3 -1
  76. package/node/Input/Input.js +4 -1
  77. package/node/InputBase/InputBase.js +4 -1
  78. package/node/InputLabel/InputLabel.js +4 -0
  79. package/node/ListItem/ListItem.js +3 -1
  80. package/node/Modal/Modal.js +3 -1
  81. package/node/Select/Select.js +10 -1
  82. package/node/Select/SelectInput.js +25 -4
  83. package/node/Slider/Slider.js +112 -45
  84. package/node/StepLabel/StepLabel.js +3 -1
  85. package/node/SvgIcon/SvgIcon.js +28 -12
  86. package/node/TextField/TextField.js +1 -0
  87. package/node/Tooltip/Tooltip.js +6 -1
  88. package/node/index.js +1 -1
  89. package/node/locale/index.js +54 -44
  90. package/node/utils/shouldSpreadAdditionalProps.js +15 -0
  91. package/package.json +7 -7
  92. package/styles/components.d.ts +452 -113
  93. package/styles/createTheme.d.ts +12 -6
  94. package/styles/overrides.d.ts +16 -4
  95. package/styles/useThemeProps.d.ts +2 -1
  96. package/umd/material-ui.development.js +619 -289
  97. package/umd/material-ui.production.min.js +21 -21
  98. package/utils/shouldSpreadAdditionalProps.js +7 -0
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.2.6
1
+ /** @license MUI v5.3.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -477,14 +477,11 @@
477
477
  }
478
478
 
479
479
  return target;
480
- };
481
-
482
- module.exports["default"] = module.exports, module.exports.__esModule = true;
480
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports;
483
481
  return _extends.apply(this, arguments);
484
482
  }
485
483
 
486
- module.exports = _extends;
487
- module.exports["default"] = module.exports, module.exports.__esModule = true;
484
+ module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
488
485
  });
489
486
 
490
487
  unwrapExports(_extends_1);
@@ -6185,6 +6182,9 @@
6185
6182
  const letterSpacing = style$2({
6186
6183
  prop: 'letterSpacing'
6187
6184
  });
6185
+ const textTransform = style$2({
6186
+ prop: 'textTransform'
6187
+ });
6188
6188
  const lineHeight = style$2({
6189
6189
  prop: 'lineHeight'
6190
6190
  });
@@ -6196,7 +6196,7 @@
6196
6196
  cssProperty: false,
6197
6197
  themeKey: 'typography'
6198
6198
  });
6199
- const typography = compose(typographyVariant, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign);
6199
+ const typography = compose(typographyVariant, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, textTransform);
6200
6200
  var typography$1 = typography;
6201
6201
 
6202
6202
  const filterPropsMapping = {
@@ -6873,7 +6873,11 @@
6873
6873
  const styleOverrides = getStyleOverrides(componentName, theme);
6874
6874
 
6875
6875
  if (styleOverrides) {
6876
- return overridesResolver(props, styleOverrides);
6876
+ const resolvedStyleOverrides = {};
6877
+ Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {
6878
+ resolvedStyleOverrides[slotKey] = typeof slotStyle === 'function' ? slotStyle(props) : slotStyle;
6879
+ });
6880
+ return overridesResolver(props, resolvedStyleOverrides);
6877
6881
  }
6878
6882
 
6879
6883
  return null;
@@ -6936,6 +6940,10 @@
6936
6940
  return Component;
6937
6941
  };
6938
6942
 
6943
+ if (defaultStyledResolver.withConfig) {
6944
+ muiStyledResolver.withConfig = defaultStyledResolver.withConfig;
6945
+ }
6946
+
6939
6947
  return muiStyledResolver;
6940
6948
  };
6941
6949
  }
@@ -7943,7 +7951,11 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
7943
7951
  };
7944
7952
 
7945
7953
  const handleValue = (event, newValue, reason, details) => {
7946
- if (value === newValue) {
7954
+ if (Array.isArray(value)) {
7955
+ if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {
7956
+ return;
7957
+ }
7958
+ } else if (value === newValue) {
7947
7959
  return;
7948
7960
  }
7949
7961
 
@@ -8620,7 +8632,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
8620
8632
  * The props used for each slot inside the Backdrop.
8621
8633
  * @default {}
8622
8634
  */
8623
- componentsProps: propTypes.object,
8635
+ componentsProps: propTypes.shape({
8636
+ root: propTypes.object
8637
+ }),
8624
8638
 
8625
8639
  /**
8626
8640
  * If `true`, the backdrop is invisible.
@@ -8815,7 +8829,10 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
8815
8829
  * The props used for each slot inside the Badge.
8816
8830
  * @default {}
8817
8831
  */
8818
- componentsProps: propTypes.object,
8832
+ componentsProps: propTypes.shape({
8833
+ badge: propTypes.object,
8834
+ root: propTypes.object
8835
+ }),
8819
8836
 
8820
8837
  /**
8821
8838
  * If `true`, the badge is invisible.
@@ -9165,7 +9182,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
9165
9182
  /**
9166
9183
  * @ignore
9167
9184
  */
9168
- componentsProps: propTypes.object,
9185
+ componentsProps: propTypes.shape({
9186
+ root: propTypes.object
9187
+ }),
9169
9188
 
9170
9189
  /**
9171
9190
  * If `true`, the component is disabled.
@@ -9555,7 +9574,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
9555
9574
  /**
9556
9575
  * @ignore
9557
9576
  */
9558
- componentsProps: propTypes.object,
9577
+ componentsProps: propTypes.shape({
9578
+ root: propTypes.object
9579
+ }),
9559
9580
 
9560
9581
  /**
9561
9582
  * @ignore
@@ -9961,7 +9982,10 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
9961
9982
  * The props used for each slot inside the Input.
9962
9983
  * @default {}
9963
9984
  */
9964
- componentsProps: propTypes.object,
9985
+ componentsProps: propTypes.shape({
9986
+ input: propTypes.object,
9987
+ root: propTypes.object
9988
+ }),
9965
9989
 
9966
9990
  /**
9967
9991
  * The default value. Use when the component is not controlled.
@@ -11065,7 +11089,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
11065
11089
  * The props used for each slot inside the Modal.
11066
11090
  * @default {}
11067
11091
  */
11068
- componentsProps: propTypes.object,
11092
+ componentsProps: propTypes.shape({
11093
+ root: propTypes.object
11094
+ }),
11069
11095
 
11070
11096
  /**
11071
11097
  * An HTML element or function that returns one.
@@ -13486,7 +13512,6 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13486
13512
  value: propTypes.node
13487
13513
  } ;
13488
13514
 
13489
- const _excluded$2f = ["aria-label", "aria-labelledby", "aria-valuetext", "className", "component", "classes", "defaultValue", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "onMouseDown", "orientation", "scale", "step", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat", "isRtl", "components", "componentsProps"];
13490
13515
  const INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;
13491
13516
 
13492
13517
  function asc(a, b) {
@@ -13502,9 +13527,11 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13502
13527
  }
13503
13528
 
13504
13529
  function findClosest(values, currentValue) {
13530
+ var _values$reduce;
13531
+
13505
13532
  const {
13506
13533
  index: closestIndex
13507
- } = values.reduce((acc, value, index) => {
13534
+ } = (_values$reduce = values.reduce((acc, value, index) => {
13508
13535
  const distance = Math.abs(currentValue - value);
13509
13536
 
13510
13537
  if (acc === null || distance < acc.distance || distance === acc.distance) {
@@ -13515,14 +13542,17 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13515
13542
  }
13516
13543
 
13517
13544
  return acc;
13518
- }, null);
13545
+ }, null)) != null ? _values$reduce : {};
13519
13546
  return closestIndex;
13520
13547
  }
13521
13548
 
13522
13549
  function trackFinger(event, touchId) {
13550
+ // The event is TouchEvent
13523
13551
  if (touchId.current !== undefined && event.changedTouches) {
13524
- for (let i = 0; i < event.changedTouches.length; i += 1) {
13525
- const touch = event.changedTouches[i];
13552
+ const touchEvent = event;
13553
+
13554
+ for (let i = 0; i < touchEvent.changedTouches.length; i += 1) {
13555
+ const touch = touchEvent.changedTouches[i];
13526
13556
 
13527
13557
  if (touch.identifier === touchId.current) {
13528
13558
  return {
@@ -13533,7 +13563,8 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13533
13563
  }
13534
13564
 
13535
13565
  return false;
13536
- }
13566
+ } // The event is MouseEvent
13567
+
13537
13568
 
13538
13569
  return {
13539
13570
  x: event.clientX,
@@ -13582,10 +13613,14 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13582
13613
  activeIndex,
13583
13614
  setActive
13584
13615
  }) {
13616
+ var _sliderRef$current, _doc$activeElement;
13617
+
13585
13618
  const doc = ownerDocument(sliderRef.current);
13586
13619
 
13587
- if (!sliderRef.current.contains(doc.activeElement) || Number(doc.activeElement.getAttribute('data-index')) !== activeIndex) {
13588
- sliderRef.current.querySelector(`[type="range"][data-index="${activeIndex}"]`).focus();
13620
+ if (!((_sliderRef$current = sliderRef.current) != null && _sliderRef$current.contains(doc.activeElement)) || Number(doc == null ? void 0 : (_doc$activeElement = doc.activeElement) == null ? void 0 : _doc$activeElement.getAttribute('data-index')) !== activeIndex) {
13621
+ var _sliderRef$current2;
13622
+
13623
+ (_sliderRef$current2 = sliderRef.current) == null ? void 0 : _sliderRef$current2.querySelector(`[type="range"][data-index="${activeIndex}"]`).focus();
13589
13624
  }
13590
13625
 
13591
13626
  if (setActive) {
@@ -13619,8 +13654,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13619
13654
  })
13620
13655
  }
13621
13656
  };
13622
-
13623
- const Identity = x => x; // TODO: remove support for Safari < 13.
13657
+ const Identity$1 = x => x; // TODO: remove support for Safari < 13.
13624
13658
  // https://caniuse.com/#search=touch-action
13625
13659
  //
13626
13660
  // Safari, on iOS, supports touch action since v13.
@@ -13631,7 +13665,6 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13631
13665
  // is supported on both Edge@12 and IE if CSS.supports is not available that means that
13632
13666
  // touch-action will be supported
13633
13667
 
13634
-
13635
13668
  let cachedSupportsTouchActionNone;
13636
13669
 
13637
13670
  function doesSupportTouchActionNone() {
@@ -13646,70 +13679,26 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13646
13679
  return cachedSupportsTouchActionNone;
13647
13680
  }
13648
13681
 
13649
- const useUtilityClasses$1P = ownerState => {
13682
+ function useSlider(props) {
13650
13683
  const {
13651
- disabled,
13652
- dragging,
13653
- marked,
13654
- orientation,
13655
- track,
13656
- classes
13657
- } = ownerState;
13658
- const slots = {
13659
- root: ['root', disabled && 'disabled', dragging && 'dragging', marked && 'marked', orientation === 'vertical' && 'vertical', track === 'inverted' && 'trackInverted', track === false && 'trackFalse'],
13660
- rail: ['rail'],
13661
- track: ['track'],
13662
- mark: ['mark'],
13663
- markActive: ['markActive'],
13664
- markLabel: ['markLabel'],
13665
- markLabelActive: ['markLabelActive'],
13666
- valueLabel: ['valueLabel'],
13667
- thumb: ['thumb', disabled && 'disabled'],
13668
- active: ['active'],
13669
- disabled: ['disabled'],
13670
- focusVisible: ['focusVisible']
13671
- };
13672
- return composeClasses(slots, getSliderUtilityClass, classes);
13673
- };
13674
-
13675
- const Forward = ({
13676
- children
13677
- }) => children;
13678
-
13679
- const SliderUnstyled = /*#__PURE__*/React__namespace.forwardRef(function SliderUnstyled(props, ref) {
13680
- const {
13681
- 'aria-label': ariaLabel,
13684
+ ref,
13682
13685
  'aria-labelledby': ariaLabelledby,
13683
- 'aria-valuetext': ariaValuetext,
13684
- className,
13685
- component = 'span',
13686
- classes: classesProp,
13687
13686
  defaultValue,
13688
13687
  disableSwap = false,
13689
13688
  disabled = false,
13690
- getAriaLabel,
13691
- getAriaValueText,
13692
13689
  marks: marksProp = false,
13693
13690
  max = 100,
13694
13691
  min = 0,
13695
13692
  name,
13696
13693
  onChange,
13697
13694
  onChangeCommitted,
13698
- onMouseDown,
13699
13695
  orientation = 'horizontal',
13700
- scale = Identity,
13696
+ scale = Identity$1,
13701
13697
  step = 1,
13702
13698
  tabIndex,
13703
- track = 'normal',
13704
13699
  value: valueProp,
13705
- valueLabelDisplay = 'off',
13706
- valueLabelFormat = Identity,
13707
- isRtl = false,
13708
- components = {},
13709
- componentsProps = {}
13710
- } = props,
13711
- other = _objectWithoutPropertiesLoose(props, _excluded$2f);
13712
-
13700
+ isRtl = false
13701
+ } = props;
13713
13702
  const touchId = React__namespace.useRef(); // We can't use the :active browser pseudo-classes.
13714
13703
  // - The active state isn't triggered when clicking on the rail.
13715
13704
  // - The active state isn't transferred when inversing a range slider.
@@ -13729,7 +13718,8 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13729
13718
  // This allows seamless integration with the most popular form libraries.
13730
13719
  // https://github.com/mui-org/material-ui/issues/13485#issuecomment-676048492
13731
13720
  // Clone the event to not override `target` of the original event.
13732
- const nativeEvent = event.nativeEvent || event;
13721
+ const nativeEvent = event.nativeEvent || event; // @ts-ignore The nativeEvent is function, not object
13722
+
13733
13723
  const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);
13734
13724
  Object.defineProperty(clonedEvent, 'target', {
13735
13725
  writable: true,
@@ -13747,6 +13737,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13747
13737
  const marks = marksProp === true && step !== null ? [...Array(Math.floor((max - min) / step) + 1)].map((_, index) => ({
13748
13738
  value: min + step * index
13749
13739
  })) : marksProp || [];
13740
+ const marksValues = marks.map(mark => mark.value);
13750
13741
  const {
13751
13742
  isFocusVisibleRef,
13752
13743
  onBlur: handleBlurVisible,
@@ -13758,7 +13749,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13758
13749
  const handleFocusRef = useForkRef(focusVisibleRef, sliderRef);
13759
13750
  const handleRef = useForkRef(ref, handleFocusRef);
13760
13751
 
13761
- const handleFocus = event => {
13752
+ const createHandleHiddenInputFocus = otherHandlers => event => {
13753
+ var _otherHandlers$onFocu;
13754
+
13762
13755
  const index = Number(event.currentTarget.getAttribute('data-index'));
13763
13756
  handleFocusVisible(event);
13764
13757
 
@@ -13767,9 +13760,12 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13767
13760
  }
13768
13761
 
13769
13762
  setOpen(index);
13763
+ otherHandlers == null ? void 0 : (_otherHandlers$onFocu = otherHandlers.onFocus) == null ? void 0 : _otherHandlers$onFocu.call(otherHandlers, event);
13770
13764
  };
13771
13765
 
13772
- const handleBlur = event => {
13766
+ const createHandleHidenInputBlur = otherHandlers => event => {
13767
+ var _otherHandlers$onBlur;
13768
+
13773
13769
  handleBlurVisible(event);
13774
13770
 
13775
13771
  if (isFocusVisibleRef.current === false) {
@@ -13777,21 +13773,18 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13777
13773
  }
13778
13774
 
13779
13775
  setOpen(-1);
13776
+ otherHandlers == null ? void 0 : (_otherHandlers$onBlur = otherHandlers.onBlur) == null ? void 0 : _otherHandlers$onBlur.call(otherHandlers, event);
13780
13777
  };
13781
13778
 
13782
- const handleMouseOver = useEventCallback(event => {
13783
- const index = Number(event.currentTarget.getAttribute('data-index'));
13784
- setOpen(index);
13785
- });
13786
- const handleMouseLeave = useEventCallback(() => {
13787
- setOpen(-1);
13788
- });
13789
13779
  useEnhancedEffect$1(() => {
13790
13780
  if (disabled && sliderRef.current.contains(document.activeElement)) {
13781
+ var _document$activeEleme;
13782
+
13791
13783
  // This is necessary because Firefox and Safari will keep focus
13792
13784
  // on a disabled element:
13793
13785
  // https://codesandbox.io/s/mui-pr-22247-forked-h151h?file=/src/App.js
13794
- document.activeElement.blur();
13786
+ // @ts-ignore
13787
+ (_document$activeEleme = document.activeElement) == null ? void 0 : _document$activeEleme.blur();
13795
13788
  }
13796
13789
  }, [disabled]);
13797
13790
 
@@ -13803,11 +13796,14 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13803
13796
  setFocusVisible(-1);
13804
13797
  }
13805
13798
 
13806
- const handleHiddenInputChange = event => {
13799
+ const createHandleHiddenInputChange = otherHandlers => event => {
13800
+ var _otherHandlers$onChan;
13801
+
13802
+ (_otherHandlers$onChan = otherHandlers.onChange) == null ? void 0 : _otherHandlers$onChan.call(otherHandlers, event);
13807
13803
  const index = Number(event.currentTarget.getAttribute('data-index'));
13808
13804
  const value = values[index];
13809
- const marksValues = marks.map(mark => mark.value);
13810
- const marksIndex = marksValues.indexOf(value);
13805
+ const marksIndex = marksValues.indexOf(value); // @ts-ignore
13806
+
13811
13807
  let newValue = event.target.valueAsNumber;
13812
13808
 
13813
13809
  if (marks && step == null) {
@@ -13817,9 +13813,8 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13817
13813
  newValue = clamp$2(newValue, min, max);
13818
13814
 
13819
13815
  if (marks && step == null) {
13820
- const markValues = marks.map(mark => mark.value);
13821
- const currentMarkIndex = markValues.indexOf(values[index]);
13822
- newValue = newValue < values[index] ? markValues[currentMarkIndex - 1] : markValues[currentMarkIndex + 1];
13816
+ const currentMarkIndex = marksValues.indexOf(values[index]);
13817
+ newValue = newValue < values[index] ? marksValues[currentMarkIndex - 1] : marksValues[currentMarkIndex + 1];
13823
13818
  }
13824
13819
 
13825
13820
  if (range) {
@@ -13861,7 +13856,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13861
13856
  const previousIndex = React__namespace.useRef();
13862
13857
  let axis = orientation;
13863
13858
 
13864
- if (isRtl && orientation !== "vertical") {
13859
+ if (isRtl && orientation === 'horizontal') {
13865
13860
  axis += '-reverse';
13866
13861
  }
13867
13862
 
@@ -13897,7 +13892,6 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13897
13892
  if (step) {
13898
13893
  newValue = roundValueToStep(newValue, step, min);
13899
13894
  } else {
13900
- const marksValues = marks.map(mark => mark.value);
13901
13895
  const closestIndex = findClosest(marksValues, newValue);
13902
13896
  newValue = marksValues[closestIndex];
13903
13897
  }
@@ -13944,6 +13938,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13944
13938
  }
13945
13939
 
13946
13940
  moveCount.current += 1; // Cancel move in case some other element consumed a mouseup event and it was not fired.
13941
+ // @ts-ignore buttons doesn't not exists on touch event
13947
13942
 
13948
13943
  if (nativeEvent.type === 'mousemove' && nativeEvent.buttons === 0) {
13949
13944
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
@@ -14016,22 +14011,25 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14016
14011
  }
14017
14012
 
14018
14013
  const finger = trackFinger(nativeEvent, touchId);
14019
- const {
14020
- newValue,
14021
- activeIndex
14022
- } = getFingerNewValue({
14023
- finger,
14024
- values
14025
- });
14026
- focusThumb({
14027
- sliderRef,
14028
- activeIndex,
14029
- setActive
14030
- });
14031
- setValueState(newValue);
14032
14014
 
14033
- if (handleChange) {
14034
- handleChange(nativeEvent, newValue, activeIndex);
14015
+ if (finger !== false) {
14016
+ const {
14017
+ newValue,
14018
+ activeIndex
14019
+ } = getFingerNewValue({
14020
+ finger,
14021
+ values
14022
+ });
14023
+ focusThumb({
14024
+ sliderRef,
14025
+ activeIndex,
14026
+ setActive
14027
+ });
14028
+ setValueState(newValue);
14029
+
14030
+ if (handleChange) {
14031
+ handleChange(nativeEvent, newValue, activeIndex);
14032
+ }
14035
14033
  }
14036
14034
 
14037
14035
  moveCount.current = 0;
@@ -14054,6 +14052,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14054
14052
  passive: doesSupportTouchActionNone()
14055
14053
  });
14056
14054
  return () => {
14055
+ // @ts-ignore
14057
14056
  slider.removeEventListener('touchstart', handleTouchStart, {
14058
14057
  passive: doesSupportTouchActionNone()
14059
14058
  });
@@ -14065,9 +14064,14 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14065
14064
  stopListening();
14066
14065
  }
14067
14066
  }, [disabled, stopListening]);
14068
- const handleMouseDown = useEventCallback(event => {
14069
- if (onMouseDown) {
14070
- onMouseDown(event);
14067
+
14068
+ const createHandleMouseDown = otherHandlers => event => {
14069
+ var _otherHandlers$onMous;
14070
+
14071
+ (_otherHandlers$onMous = otherHandlers.onMouseDown) == null ? void 0 : _otherHandlers$onMous.call(otherHandlers, event);
14072
+
14073
+ if (event.defaultPrevented) {
14074
+ return;
14071
14075
  } // Only handle left clicks
14072
14076
 
14073
14077
 
@@ -14078,56 +14082,193 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14078
14082
 
14079
14083
  event.preventDefault();
14080
14084
  const finger = trackFinger(event, touchId);
14081
- const {
14082
- newValue,
14083
- activeIndex
14084
- } = getFingerNewValue({
14085
- finger,
14086
- values
14087
- });
14088
- focusThumb({
14089
- sliderRef,
14090
- activeIndex,
14091
- setActive
14092
- });
14093
- setValueState(newValue);
14094
14085
 
14095
- if (handleChange) {
14096
- handleChange(event, newValue, activeIndex);
14086
+ if (finger !== false) {
14087
+ const {
14088
+ newValue,
14089
+ activeIndex
14090
+ } = getFingerNewValue({
14091
+ finger,
14092
+ values
14093
+ });
14094
+ focusThumb({
14095
+ sliderRef,
14096
+ activeIndex,
14097
+ setActive
14098
+ });
14099
+ setValueState(newValue);
14100
+
14101
+ if (handleChange) {
14102
+ handleChange(event, newValue, activeIndex);
14103
+ }
14097
14104
  }
14098
14105
 
14099
14106
  moveCount.current = 0;
14100
14107
  const doc = ownerDocument(sliderRef.current);
14101
14108
  doc.addEventListener('mousemove', handleTouchMove);
14102
14109
  doc.addEventListener('mouseup', handleTouchEnd);
14103
- });
14110
+ };
14111
+
14104
14112
  const trackOffset = valueToPercent(range ? values[0] : min, min, max);
14105
14113
  const trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;
14106
14114
 
14107
- const trackStyle = _extends({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap));
14115
+ const getRootProps = otherHandlers => {
14116
+ const ownEventHandlers = {
14117
+ onMouseDown: createHandleMouseDown(otherHandlers || {})
14118
+ };
14108
14119
 
14109
- const Root = components.Root || component;
14110
- const rootProps = componentsProps.root || {};
14111
- const Rail = components.Rail || 'span';
14112
- const railProps = componentsProps.rail || {};
14113
- const Track = components.Track || 'span';
14114
- const trackProps = componentsProps.track || {};
14115
- const Thumb = components.Thumb || 'span';
14116
- const thumbProps = componentsProps.thumb || {};
14117
- const ValueLabel = components.ValueLabel || SliderValueLabelUnstyled;
14118
- const valueLabelProps = componentsProps.valueLabel || {};
14119
- const Mark = components.Mark || 'span';
14120
- const markProps = componentsProps.mark || {};
14121
- const MarkLabel = components.MarkLabel || 'span';
14122
- const markLabelProps = componentsProps.markLabel || {}; // all props with defaults
14120
+ const mergedEventHandlers = _extends({}, otherHandlers, ownEventHandlers);
14121
+
14122
+ return _extends({
14123
+ ref: handleRef
14124
+ }, mergedEventHandlers);
14125
+ };
14126
+
14127
+ const createHandleMouseOver = otherHandlers => event => {
14128
+ var _otherHandlers$onMous2;
14129
+
14130
+ (_otherHandlers$onMous2 = otherHandlers.onMouseOver) == null ? void 0 : _otherHandlers$onMous2.call(otherHandlers, event);
14131
+ const index = Number(event.currentTarget.getAttribute('data-index'));
14132
+ setOpen(index);
14133
+ };
14134
+
14135
+ const createHandleMouseLeave = otherHandlers => event => {
14136
+ var _otherHandlers$onMous3;
14137
+
14138
+ (_otherHandlers$onMous3 = otherHandlers.onMouseLeave) == null ? void 0 : _otherHandlers$onMous3.call(otherHandlers, event);
14139
+ setOpen(-1);
14140
+ };
14141
+
14142
+ const getThumbProps = otherHandlers => {
14143
+ const ownEventHandlers = {
14144
+ onMouseOver: createHandleMouseOver(otherHandlers || {}),
14145
+ onMouseLeave: createHandleMouseLeave(otherHandlers || {})
14146
+ };
14147
+
14148
+ const mergedEventHandlers = _extends({}, otherHandlers, ownEventHandlers);
14149
+
14150
+ return _extends({}, mergedEventHandlers);
14151
+ };
14152
+
14153
+ const getHiddenInputProps = otherHandlers => {
14154
+ const ownEventHandlers = {
14155
+ onChange: createHandleHiddenInputChange(otherHandlers || {}),
14156
+ onFocus: createHandleHiddenInputFocus(otherHandlers || {}),
14157
+ onBlur: createHandleHidenInputBlur(otherHandlers || {})
14158
+ };
14159
+
14160
+ const mergedEventHandlers = _extends({}, otherHandlers, ownEventHandlers);
14161
+
14162
+ return _extends({
14163
+ tabIndex,
14164
+ 'aria-labelledby': ariaLabelledby,
14165
+ 'aria-orientation': orientation,
14166
+ 'aria-valuemax': scale(max),
14167
+ 'aria-valuemin': scale(min),
14168
+ name,
14169
+ type: 'range',
14170
+ min: props.min,
14171
+ max: props.max,
14172
+ step: props.step,
14173
+ disabled
14174
+ }, mergedEventHandlers, {
14175
+ style: _extends({}, visuallyHidden$1, {
14176
+ direction: isRtl ? 'rtl' : 'ltr',
14177
+ // So that VoiceOver's focus indicator matches the thumb's dimensions
14178
+ width: '100%',
14179
+ height: '100%'
14180
+ })
14181
+ });
14182
+ };
14183
+
14184
+ return {
14185
+ axis,
14186
+ axisProps,
14187
+ getRootProps,
14188
+ getHiddenInputProps,
14189
+ getThumbProps,
14190
+ dragging,
14191
+ marks,
14192
+ values,
14193
+ active,
14194
+ focusVisible,
14195
+ open,
14196
+ range,
14197
+ trackOffset,
14198
+ trackLeap
14199
+ };
14200
+ }
14201
+
14202
+ const _excluded$2f = ["aria-label", "aria-valuetext", "className", "component", "classes", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "onMouseDown", "orientation", "scale", "step", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat", "isRtl", "components", "componentsProps"];
14203
+
14204
+ const Identity = x => x;
14205
+
14206
+ const useUtilityClasses$1P = ownerState => {
14207
+ const {
14208
+ disabled,
14209
+ dragging,
14210
+ marked,
14211
+ orientation,
14212
+ track,
14213
+ classes
14214
+ } = ownerState;
14215
+ const slots = {
14216
+ root: ['root', disabled && 'disabled', dragging && 'dragging', marked && 'marked', orientation === 'vertical' && 'vertical', track === 'inverted' && 'trackInverted', track === false && 'trackFalse'],
14217
+ rail: ['rail'],
14218
+ track: ['track'],
14219
+ mark: ['mark'],
14220
+ markActive: ['markActive'],
14221
+ markLabel: ['markLabel'],
14222
+ markLabelActive: ['markLabelActive'],
14223
+ valueLabel: ['valueLabel'],
14224
+ thumb: ['thumb', disabled && 'disabled'],
14225
+ active: ['active'],
14226
+ disabled: ['disabled'],
14227
+ focusVisible: ['focusVisible']
14228
+ };
14229
+ return composeClasses(slots, getSliderUtilityClass, classes);
14230
+ };
14231
+
14232
+ const Forward = ({
14233
+ children
14234
+ }) => children;
14235
+
14236
+ const SliderUnstyled = /*#__PURE__*/React__namespace.forwardRef(function SliderUnstyled(props, ref) {
14237
+ var _ref, _components$Rail, _components$Track, _components$Thumb, _components$ValueLabe, _components$Mark, _components$MarkLabel;
14238
+
14239
+ const {
14240
+ 'aria-label': ariaLabel,
14241
+ 'aria-valuetext': ariaValuetext,
14242
+ className,
14243
+ component,
14244
+ classes: classesProp,
14245
+ disableSwap = false,
14246
+ disabled = false,
14247
+ getAriaLabel,
14248
+ getAriaValueText,
14249
+ marks: marksProp = false,
14250
+ max = 100,
14251
+ min = 0,
14252
+ onMouseDown,
14253
+ orientation = 'horizontal',
14254
+ scale = Identity,
14255
+ step = 1,
14256
+ track = 'normal',
14257
+ valueLabelDisplay = 'off',
14258
+ valueLabelFormat = Identity,
14259
+ isRtl = false,
14260
+ components = {},
14261
+ componentsProps = {}
14262
+ } = props,
14263
+ other = _objectWithoutPropertiesLoose(props, _excluded$2f); // all props with defaults
14123
14264
  // consider extracting to hook an reusing the lint rule for the varints
14124
14265
 
14266
+
14125
14267
  const ownerState = _extends({}, props, {
14268
+ mark: marksProp,
14126
14269
  classes: classesProp,
14127
14270
  disabled,
14128
- dragging,
14129
14271
  isRtl,
14130
- marked: marks.length > 0 && marks.some(mark => mark.label),
14131
14272
  max,
14132
14273
  min,
14133
14274
  orientation,
@@ -14138,22 +14279,54 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14138
14279
  valueLabelFormat
14139
14280
  });
14140
14281
 
14282
+ const {
14283
+ axisProps,
14284
+ getRootProps,
14285
+ getHiddenInputProps,
14286
+ getThumbProps,
14287
+ open,
14288
+ active,
14289
+ axis,
14290
+ range,
14291
+ focusVisible,
14292
+ dragging,
14293
+ marks,
14294
+ values,
14295
+ trackOffset,
14296
+ trackLeap
14297
+ } = useSlider(_extends({}, ownerState, {
14298
+ ref
14299
+ }));
14300
+ ownerState.marked = marks.length > 0 && marks.some(mark => mark.label);
14301
+ ownerState.dragging = dragging;
14302
+ const Root = (_ref = component != null ? component : components.Root) != null ? _ref : 'span';
14303
+ const rootProps = appendOwnerState(Root, _extends({}, other, componentsProps.root), ownerState);
14304
+ const Rail = (_components$Rail = components.Rail) != null ? _components$Rail : 'span';
14305
+ const railProps = appendOwnerState(Rail, componentsProps.rail, ownerState);
14306
+ const Track = (_components$Track = components.Track) != null ? _components$Track : 'span';
14307
+ const trackProps = appendOwnerState(Track, componentsProps.track, ownerState);
14308
+
14309
+ const trackStyle = _extends({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap));
14310
+
14311
+ const Thumb = (_components$Thumb = components.Thumb) != null ? _components$Thumb : 'span';
14312
+ const thumbProps = appendOwnerState(Thumb, componentsProps.thumb, ownerState);
14313
+ const ValueLabel = (_components$ValueLabe = components.ValueLabel) != null ? _components$ValueLabe : SliderValueLabelUnstyled;
14314
+ const valueLabelProps = appendOwnerState(ValueLabel, componentsProps.valueLabel, ownerState);
14315
+ const Mark = (_components$Mark = components.Mark) != null ? _components$Mark : 'span';
14316
+ const markProps = appendOwnerState(Mark, componentsProps.mark, ownerState);
14317
+ const MarkLabel = (_components$MarkLabel = components.MarkLabel) != null ? _components$MarkLabel : 'span';
14318
+ const markLabelProps = appendOwnerState(MarkLabel, componentsProps.markLabel, ownerState);
14319
+ const Input = components.Input || 'input';
14320
+ const inputProps = appendOwnerState(Input, componentsProps.input, ownerState);
14321
+ const hiddenInputProps = getHiddenInputProps();
14141
14322
  const classes = useUtilityClasses$1P(ownerState);
14142
- return /*#__PURE__*/jsxRuntime_2(Root, _extends({
14143
- ref: handleRef,
14144
- onMouseDown: handleMouseDown
14145
- }, rootProps, !isHostComponent(Root) && {
14146
- as: component,
14147
- ownerState: _extends({}, ownerState, rootProps.ownerState)
14148
- }, other, {
14323
+ return /*#__PURE__*/jsxRuntime_2(Root, _extends({}, rootProps, getRootProps({
14324
+ onMouseDown
14325
+ }), {
14149
14326
  className: clsx(classes.root, rootProps.className, className),
14150
- children: [/*#__PURE__*/jsxRuntime_1(Rail, _extends({}, railProps, !isHostComponent(Rail) && {
14151
- ownerState: _extends({}, ownerState, railProps.ownerState)
14152
- }, {
14327
+ children: [/*#__PURE__*/jsxRuntime_1(Rail, _extends({}, railProps, {
14153
14328
  className: clsx(classes.rail, railProps.className)
14154
- })), /*#__PURE__*/jsxRuntime_1(Track, _extends({}, trackProps, !isHostComponent(Track) && {
14155
- ownerState: _extends({}, ownerState, trackProps.ownerState)
14156
- }, {
14329
+ })), /*#__PURE__*/jsxRuntime_1(Track, _extends({}, trackProps, {
14157
14330
  className: clsx(classes.track, trackProps.className),
14158
14331
  style: _extends({}, trackStyle, trackProps.style)
14159
14332
  })), marks.map((mark, index) => {
@@ -14171,7 +14344,6 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14171
14344
  children: [/*#__PURE__*/jsxRuntime_1(Mark, _extends({
14172
14345
  "data-index": index
14173
14346
  }, markProps, !isHostComponent(Mark) && {
14174
- ownerState: _extends({}, ownerState, markProps.ownerState),
14175
14347
  markActive
14176
14348
  }, {
14177
14349
  style: _extends({}, style, markProps.style),
@@ -14180,9 +14352,8 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14180
14352
  "aria-hidden": true,
14181
14353
  "data-index": index
14182
14354
  }, markLabelProps, !isHostComponent(MarkLabel) && {
14183
- ownerState: _extends({}, ownerState, markLabelProps.ownerState)
14355
+ markLabelActive: markActive
14184
14356
  }, {
14185
- markLabelActive: markActive,
14186
14357
  style: _extends({}, style, markLabelProps.style),
14187
14358
  className: clsx(classes.markLabel, markLabelProps.className, markActive && classes.markLabelActive),
14188
14359
  children: mark.label
@@ -14193,23 +14364,18 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14193
14364
  const style = axisProps[axis].offset(percent);
14194
14365
  const ValueLabelComponent = valueLabelDisplay === 'off' ? Forward : ValueLabel;
14195
14366
  return /*#__PURE__*/jsxRuntime_1(React__namespace.Fragment, {
14196
- children: /*#__PURE__*/jsxRuntime_1(ValueLabelComponent, _extends({
14197
- valueLabelFormat: valueLabelFormat,
14198
- valueLabelDisplay: valueLabelDisplay,
14367
+ children: /*#__PURE__*/jsxRuntime_1(ValueLabelComponent, _extends({}, !isHostComponent(ValueLabelComponent) && {
14368
+ valueLabelFormat,
14369
+ valueLabelDisplay,
14199
14370
  value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,
14200
- index: index,
14371
+ index,
14201
14372
  open: open === index || active === index || valueLabelDisplay === 'on',
14202
- disabled: disabled
14373
+ disabled
14203
14374
  }, valueLabelProps, {
14204
- className: clsx(classes.valueLabel, valueLabelProps.className)
14205
- }, !isHostComponent(ValueLabel) && {
14206
- ownerState: _extends({}, ownerState, valueLabelProps.ownerState)
14207
- }, {
14375
+ className: clsx(classes.valueLabel, valueLabelProps.className),
14208
14376
  children: /*#__PURE__*/jsxRuntime_1(Thumb, _extends({
14209
- "data-index": index,
14210
- onMouseOver: handleMouseOver,
14211
- onMouseLeave: handleMouseLeave
14212
- }, thumbProps, {
14377
+ "data-index": index
14378
+ }, thumbProps, getThumbProps(), {
14213
14379
  className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusVisible === index && classes.focusVisible)
14214
14380
  }, !isHostComponent(Thumb) && {
14215
14381
  ownerState: _extends({}, ownerState, thumbProps.ownerState)
@@ -14217,33 +14383,17 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14217
14383
  style: _extends({}, style, {
14218
14384
  pointerEvents: disableSwap && active !== index ? 'none' : undefined
14219
14385
  }, thumbProps.style),
14220
- children: /*#__PURE__*/jsxRuntime_1("input", {
14221
- tabIndex: tabIndex,
14386
+ children: /*#__PURE__*/jsxRuntime_1(Input, _extends({}, hiddenInputProps, {
14222
14387
  "data-index": index,
14223
14388
  "aria-label": getAriaLabel ? getAriaLabel(index) : ariaLabel,
14224
- "aria-labelledby": ariaLabelledby,
14225
- "aria-orientation": orientation,
14226
- "aria-valuemax": scale(max),
14227
- "aria-valuemin": scale(min),
14228
14389
  "aria-valuenow": scale(value),
14229
14390
  "aria-valuetext": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,
14230
- onFocus: handleFocus,
14231
- onBlur: handleBlur,
14232
- name: name,
14233
- type: "range",
14234
- min: props.min,
14235
- max: props.max,
14236
- step: props.step,
14237
- disabled: disabled,
14238
- value: values[index],
14239
- onChange: handleHiddenInputChange,
14240
- style: _extends({}, visuallyHidden$1, {
14241
- direction: isRtl ? 'rtl' : 'ltr',
14242
- // So that VoiceOver's focus indicator matches the thumb's dimensions
14243
- width: '100%',
14244
- height: '100%'
14245
- })
14246
- })
14391
+ value: values[index]
14392
+ }, !isHostComponent(Input) && {
14393
+ ownerState: _extends({}, ownerState, inputProps.ownerState)
14394
+ }, inputProps, {
14395
+ style: _extends({}, hiddenInputProps.style, inputProps.style)
14396
+ }))
14247
14397
  }))
14248
14398
  }))
14249
14399
  }, index);
@@ -14316,6 +14466,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14316
14466
  * @default {}
14317
14467
  */
14318
14468
  components: propTypes.shape({
14469
+ Input: propTypes.elementType,
14319
14470
  Mark: propTypes.elementType,
14320
14471
  MarkLabel: propTypes.elementType,
14321
14472
  Rail: propTypes.elementType,
@@ -14329,7 +14480,24 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14329
14480
  * The props used for each slot inside the Slider.
14330
14481
  * @default {}
14331
14482
  */
14332
- componentsProps: propTypes.object,
14483
+ componentsProps: propTypes.shape({
14484
+ input: propTypes.object,
14485
+ mark: propTypes.object,
14486
+ markLabel: propTypes.object,
14487
+ rail: propTypes.object,
14488
+ root: propTypes.object,
14489
+ thumb: propTypes.object,
14490
+ track: propTypes.object,
14491
+ valueLabel: propTypes.shape({
14492
+ className: propTypes.string,
14493
+ components: propTypes.shape({
14494
+ Root: propTypes.elementType
14495
+ }),
14496
+ style: propTypes.object,
14497
+ value: propTypes.oneOfType([propTypes.arrayOf(propTypes.number), propTypes.number]),
14498
+ valueLabelDisplay: propTypes.oneOf(['auto', 'off', 'on'])
14499
+ })
14500
+ }),
14333
14501
 
14334
14502
  /**
14335
14503
  * The default value. Use when the component is not controlled.
@@ -14726,7 +14894,12 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14726
14894
  * The props used for each slot inside the Switch.
14727
14895
  * @default {}
14728
14896
  */
14729
- componentsProps: propTypes.object,
14897
+ componentsProps: propTypes.shape({
14898
+ input: propTypes.object,
14899
+ root: propTypes.object,
14900
+ thumb: propTypes.object,
14901
+ track: propTypes.object
14902
+ }),
14730
14903
 
14731
14904
  /**
14732
14905
  * The default checked state. Use when the component is not controlled.
@@ -14968,7 +15141,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14968
15141
  * The props used for each slot inside the Tabs.
14969
15142
  * @default {}
14970
15143
  */
14971
- componentsProps: propTypes.object,
15144
+ componentsProps: propTypes.shape({
15145
+ root: propTypes.object
15146
+ }),
14972
15147
 
14973
15148
  /**
14974
15149
  * The default value. Use when the component is not controlled.
@@ -15128,7 +15303,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
15128
15303
  * The props used for each slot inside the TabPanel.
15129
15304
  * @default {}
15130
15305
  */
15131
- componentsProps: propTypes.object,
15306
+ componentsProps: propTypes.shape({
15307
+ root: propTypes.object
15308
+ }),
15132
15309
 
15133
15310
  /**
15134
15311
  * The value of the TabPanel. It will be shown when the Tab with the corresponding value is selected.
@@ -15427,7 +15604,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
15427
15604
  * The props used for each slot inside the TabsList.
15428
15605
  * @default {}
15429
15606
  */
15430
- componentsProps: propTypes.object
15607
+ componentsProps: propTypes.shape({
15608
+ root: propTypes.object
15609
+ })
15431
15610
  } ;
15432
15611
  var TabsListUnstyled$1 = TabsListUnstyled;
15433
15612
 
@@ -15633,7 +15812,9 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
15633
15812
  * The props used for each slot inside the Tab.
15634
15813
  * @default {}
15635
15814
  */
15636
- componentsProps: propTypes.object,
15815
+ componentsProps: propTypes.shape({
15816
+ root: propTypes.object
15817
+ }),
15637
15818
 
15638
15819
  /**
15639
15820
  * If `true`, the component is disabled.
@@ -16762,7 +16943,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
16762
16943
  const svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
16763
16944
  var svgIconClasses$1 = svgIconClasses;
16764
16945
 
16765
- const _excluded$23 = ["children", "className", "color", "component", "fontSize", "htmlColor", "titleAccess", "viewBox"];
16946
+ const _excluded$23 = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
16766
16947
 
16767
16948
  const useUtilityClasses$1K = ownerState => {
16768
16949
  const {
@@ -16789,7 +16970,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
16789
16970
  theme,
16790
16971
  ownerState
16791
16972
  }) => {
16792
- var _theme$palette$ownerS, _theme$palette$ownerS2;
16973
+ var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$transitions2$d, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _theme$palette$ownerS, _theme$palette, _theme$palette$ownerS2, _theme$palette2, _theme$palette2$actio, _theme$palette3, _theme$palette3$actio;
16793
16974
 
16794
16975
  return {
16795
16976
  userSelect: 'none',
@@ -16798,19 +16979,19 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
16798
16979
  display: 'inline-block',
16799
16980
  fill: 'currentColor',
16800
16981
  flexShrink: 0,
16801
- transition: theme.transitions.create('fill', {
16802
- duration: theme.transitions.duration.shorter
16982
+ transition: (_theme$transitions = theme.transitions) == null ? void 0 : (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {
16983
+ duration: (_theme$transitions2 = theme.transitions) == null ? void 0 : (_theme$transitions2$d = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2$d.shorter
16803
16984
  }),
16804
16985
  fontSize: {
16805
16986
  inherit: 'inherit',
16806
- small: theme.typography.pxToRem(20),
16807
- medium: theme.typography.pxToRem(24),
16808
- large: theme.typography.pxToRem(35)
16987
+ small: ((_theme$typography = theme.typography) == null ? void 0 : (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',
16988
+ medium: ((_theme$typography2 = theme.typography) == null ? void 0 : (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',
16989
+ large: ((_theme$typography3 = theme.typography) == null ? void 0 : (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875'
16809
16990
  }[ownerState.fontSize],
16810
16991
  // TODO v5 deprecate, v6 remove for sx
16811
- color: (_theme$palette$ownerS = (_theme$palette$ownerS2 = theme.palette[ownerState.color]) == null ? void 0 : _theme$palette$ownerS2.main) != null ? _theme$palette$ownerS : {
16812
- action: theme.palette.action.active,
16813
- disabled: theme.palette.action.disabled,
16992
+ color: (_theme$palette$ownerS = (_theme$palette = theme.palette) == null ? void 0 : (_theme$palette$ownerS2 = _theme$palette[ownerState.color]) == null ? void 0 : _theme$palette$ownerS2.main) != null ? _theme$palette$ownerS : {
16993
+ action: (_theme$palette2 = theme.palette) == null ? void 0 : (_theme$palette2$actio = _theme$palette2.action) == null ? void 0 : _theme$palette2$actio.active,
16994
+ disabled: (_theme$palette3 = theme.palette) == null ? void 0 : (_theme$palette3$actio = _theme$palette3.action) == null ? void 0 : _theme$palette3$actio.disabled,
16814
16995
  inherit: undefined
16815
16996
  }[ownerState.color]
16816
16997
  };
@@ -16828,6 +17009,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
16828
17009
  component = 'svg',
16829
17010
  fontSize = 'medium',
16830
17011
  htmlColor,
17012
+ inheritViewBox = false,
16831
17013
  titleAccess,
16832
17014
  viewBox = '0 0 24 24'
16833
17015
  } = props,
@@ -16837,21 +17019,27 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
16837
17019
  color,
16838
17020
  component,
16839
17021
  fontSize,
17022
+ inheritViewBox,
16840
17023
  viewBox
16841
17024
  });
16842
17025
 
17026
+ const more = {};
17027
+
17028
+ if (!inheritViewBox) {
17029
+ more.viewBox = viewBox;
17030
+ }
17031
+
16843
17032
  const classes = useUtilityClasses$1K(ownerState);
16844
17033
  return /*#__PURE__*/jsxRuntime_2(SvgIconRoot, _extends({
16845
17034
  as: component,
16846
17035
  className: clsx(classes.root, className),
16847
17036
  ownerState: ownerState,
16848
17037
  focusable: "false",
16849
- viewBox: viewBox,
16850
17038
  color: htmlColor,
16851
17039
  "aria-hidden": titleAccess ? undefined : true,
16852
17040
  role: titleAccess ? 'img' : undefined,
16853
17041
  ref: ref
16854
- }, other, {
17042
+ }, more, other, {
16855
17043
  children: [children, titleAccess ? /*#__PURE__*/jsxRuntime_1("title", {
16856
17044
  children: titleAccess
16857
17045
  }) : null]
@@ -16908,6 +17096,15 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
16908
17096
  */
16909
17097
  htmlColor: propTypes.string,
16910
17098
 
17099
+ /**
17100
+ * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`
17101
+ * prop will be ignored.
17102
+ * Useful when you want to reference a custom `component` and have `SvgIcon` pass that
17103
+ * `component`'s viewBox to the root node.
17104
+ * @default false
17105
+ */
17106
+ inheritViewBox: propTypes.bool,
17107
+
16911
17108
  /**
16912
17109
  * The shape-rendering attribute. The behavior of the different options is described on the
16913
17110
  * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).
@@ -22253,7 +22450,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
22253
22450
  }
22254
22451
  });
22255
22452
  const Autocomplete = /*#__PURE__*/React__namespace.forwardRef(function Autocomplete(inProps, ref) {
22256
- var _componentsProps$clea;
22453
+ var _componentsProps$clea, _componentsProps$pape;
22257
22454
 
22258
22455
  const props = useThemeProps({
22259
22456
  props: inProps,
@@ -22474,10 +22671,11 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
22474
22671
  role: "presentation",
22475
22672
  anchorEl: anchorEl,
22476
22673
  open: true,
22477
- children: /*#__PURE__*/jsxRuntime_2(AutocompletePaper, {
22478
- as: PaperComponent,
22479
- className: classes.paper,
22674
+ children: /*#__PURE__*/jsxRuntime_2(AutocompletePaper, _extends({
22480
22675
  ownerState: ownerState,
22676
+ as: PaperComponent
22677
+ }, componentsProps.paper, {
22678
+ className: clsx(classes.paper, (_componentsProps$pape = componentsProps.paper) == null ? void 0 : _componentsProps$pape.className),
22481
22679
  children: [loading && groupedOptions.length === 0 ? /*#__PURE__*/jsxRuntime_1(AutocompleteLoading, {
22482
22680
  className: classes.loading,
22483
22681
  ownerState: ownerState,
@@ -22508,7 +22706,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
22508
22706
  return renderListOption(option, index);
22509
22707
  })
22510
22708
  })) : null]
22511
- })
22709
+ }))
22512
22710
  }) : null]
22513
22711
  });
22514
22712
  });
@@ -22578,7 +22776,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
22578
22776
  * If `true`, the input's text is cleared on blur if no value is selected.
22579
22777
  *
22580
22778
  * Set to `true` if you want to help the user enter a new value.
22581
- * Set to `false` if you want to help the user resume his search.
22779
+ * Set to `false` if you want to help the user resume their search.
22582
22780
  * @default !props.freeSolo
22583
22781
  */
22584
22782
  clearOnBlur: propTypes.bool,
@@ -22609,7 +22807,10 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
22609
22807
  * The props used for each slot inside.
22610
22808
  * @default {}
22611
22809
  */
22612
- componentsProps: propTypes.object,
22810
+ componentsProps: propTypes.shape({
22811
+ clearIndicator: propTypes.object,
22812
+ paper: propTypes.object
22813
+ }),
22613
22814
 
22614
22815
  /**
22615
22816
  * The default value. Use when the component is not controlled.
@@ -23756,7 +23957,9 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
23756
23957
  * The props used for each slot inside the Backdrop.
23757
23958
  * @default {}
23758
23959
  */
23759
- componentsProps: propTypes.object,
23960
+ componentsProps: propTypes.shape({
23961
+ root: propTypes.object
23962
+ }),
23760
23963
 
23761
23964
  /**
23762
23965
  * If `true`, the backdrop is invisible.
@@ -23787,6 +23990,12 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
23787
23990
  } ;
23788
23991
  var Backdrop$1 = Backdrop;
23789
23992
 
23993
+ const shouldSpreadAdditionalProps = Slot => {
23994
+ return !Slot || !isHostComponent(Slot);
23995
+ };
23996
+
23997
+ var shouldSpreadAdditionalProps$1 = shouldSpreadAdditionalProps;
23998
+
23790
23999
  const _excluded$1K = ["anchorOrigin", "component", "components", "componentsProps", "overlap", "color", "invisible", "badgeContent", "showZero", "variant"];
23791
24000
  const badgeClasses = _extends({}, badgeUnstyledClasses$1, generateUtilityClasses('MuiBadge', ['colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular', // TODO: v6 remove the overlap value from these class keys
23792
24001
  'anchorOriginTopLeftCircular', 'anchorOriginTopLeftRectangular', 'anchorOriginTopRightCircular', 'anchorOriginTopRightRectangular', 'anchorOriginBottomLeftCircular', 'anchorOriginBottomLeftRectangular', 'anchorOriginBottomRightCircular', 'anchorOriginBottomRightRectangular']));
@@ -23929,11 +24138,6 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
23929
24138
  duration: theme.transitions.duration.leavingScreen
23930
24139
  })
23931
24140
  }));
23932
-
23933
- const shouldSpreadAdditionalProps = Slot => {
23934
- return !Slot || !isHostComponent(Slot);
23935
- };
23936
-
23937
24141
  const Badge = /*#__PURE__*/React__namespace.forwardRef(function Badge(inProps, ref) {
23938
24142
  var _componentsProps$root, _componentsProps$badg;
23939
24143
 
@@ -23996,14 +24200,14 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
23996
24200
  Badge: BadgeBadge
23997
24201
  }, components),
23998
24202
  componentsProps: {
23999
- root: _extends({}, componentsProps.root, shouldSpreadAdditionalProps(components.Root) && {
24203
+ root: _extends({}, componentsProps.root, shouldSpreadAdditionalProps$1(components.Root) && {
24000
24204
  as: component,
24001
24205
  ownerState: _extends({}, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState, {
24002
24206
  color,
24003
24207
  overlap
24004
24208
  })
24005
24209
  }),
24006
- badge: _extends({}, componentsProps.badge, shouldSpreadAdditionalProps(components.Badge) && {
24210
+ badge: _extends({}, componentsProps.badge, shouldSpreadAdditionalProps$1(components.Badge) && {
24007
24211
  ownerState: _extends({}, (_componentsProps$badg = componentsProps.badge) == null ? void 0 : _componentsProps$badg.ownerState, {
24008
24212
  color,
24009
24213
  overlap
@@ -24077,7 +24281,10 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
24077
24281
  * The props used for each slot inside the Badge.
24078
24282
  * @default {}
24079
24283
  */
24080
- componentsProps: propTypes.object,
24284
+ componentsProps: propTypes.shape({
24285
+ badge: propTypes.object,
24286
+ root: propTypes.object
24287
+ }),
24081
24288
 
24082
24289
  /**
24083
24290
  * If `true`, the badge is invisible.
@@ -27477,7 +27684,9 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
27477
27684
  * The props used for each slot inside the Modal.
27478
27685
  * @default {}
27479
27686
  */
27480
- componentsProps: propTypes.object,
27687
+ componentsProps: propTypes.shape({
27688
+ root: propTypes.object
27689
+ }),
27481
27690
 
27482
27691
  /**
27483
27692
  * An HTML element or function that returns one.
@@ -30119,7 +30328,10 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
30119
30328
  * The props used for each slot inside the Input.
30120
30329
  * @default {}
30121
30330
  */
30122
- componentsProps: propTypes.object,
30331
+ componentsProps: propTypes.shape({
30332
+ input: propTypes.object,
30333
+ root: propTypes.object
30334
+ }),
30123
30335
 
30124
30336
  /**
30125
30337
  * The default value. Use when the component is not controlled.
@@ -30546,7 +30758,10 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
30546
30758
  * The props used for each slot inside the Input.
30547
30759
  * @default {}
30548
30760
  */
30549
- componentsProps: propTypes.object,
30761
+ componentsProps: propTypes.shape({
30762
+ input: propTypes.object,
30763
+ root: propTypes.object
30764
+ }),
30550
30765
 
30551
30766
  /**
30552
30767
  * The default value. Use when the component is not controlled.
@@ -31167,7 +31382,9 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
31167
31382
  * The props used for each slot inside.
31168
31383
  * @default {}
31169
31384
  */
31170
- componentsProps: propTypes.object,
31385
+ componentsProps: propTypes.shape({
31386
+ typography: propTypes.object
31387
+ }),
31171
31388
 
31172
31389
  /**
31173
31390
  * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.
@@ -34095,7 +34312,10 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
34095
34312
  * The props used for each slot inside the Input.
34096
34313
  * @default {}
34097
34314
  */
34098
- componentsProps: propTypes.object,
34315
+ componentsProps: propTypes.shape({
34316
+ input: propTypes.object,
34317
+ root: propTypes.object
34318
+ }),
34099
34319
 
34100
34320
  /**
34101
34321
  * The default value. Use when the component is not controlled.
@@ -34503,6 +34723,8 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
34503
34723
  }, ownerState.size === 'small' && {
34504
34724
  transform: 'translate(12px, 13px) scale(1)'
34505
34725
  }, ownerState.shrink && _extends({
34726
+ userSelect: 'none',
34727
+ pointerEvents: 'auto',
34506
34728
  transform: 'translate(12px, 7px) scale(0.75)',
34507
34729
  maxWidth: 'calc(133% - 24px)'
34508
34730
  }, ownerState.size === 'small' && {
@@ -34516,6 +34738,8 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
34516
34738
  }, ownerState.size === 'small' && {
34517
34739
  transform: 'translate(14px, 9px) scale(1)'
34518
34740
  }, ownerState.shrink && {
34741
+ userSelect: 'none',
34742
+ pointerEvents: 'auto',
34519
34743
  maxWidth: 'calc(133% - 24px)',
34520
34744
  transform: 'translate(14px, -9px) scale(0.75)'
34521
34745
  })));
@@ -36049,7 +36273,9 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
36049
36273
  * The props used for each slot inside the Input.
36050
36274
  * @default {}
36051
36275
  */
36052
- componentsProps: propTypes.object,
36276
+ componentsProps: propTypes.shape({
36277
+ root: propTypes.object
36278
+ }),
36053
36279
 
36054
36280
  /**
36055
36281
  * The container component used when a `ListItemSecondaryAction` is the last child.
@@ -40872,7 +41098,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
40872
41098
  const selectClasses = generateUtilityClasses('MuiSelect', ['select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput']);
40873
41099
  var selectClasses$1 = selectClasses;
40874
41100
 
40875
- const _excluded$E = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
41101
+ const _excluded$E = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
40876
41102
  const SelectSelect = styled$1('div', {
40877
41103
  name: 'MuiSelect',
40878
41104
  slot: 'Select',
@@ -40967,6 +41193,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
40967
41193
  autoWidth,
40968
41194
  children,
40969
41195
  className,
41196
+ defaultOpen,
40970
41197
  defaultValue,
40971
41198
  disabled,
40972
41199
  displayEmpty,
@@ -40996,6 +41223,11 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
40996
41223
  default: defaultValue,
40997
41224
  name: 'Select'
40998
41225
  });
41226
+ const [openState, setOpenState] = useControlled({
41227
+ controlled: openProp,
41228
+ default: defaultOpen,
41229
+ name: 'Select'
41230
+ });
40999
41231
  const inputRef = React__namespace.useRef(null);
41000
41232
  const displayRef = React__namespace.useRef(null);
41001
41233
  const [displayNode, setDisplayNode] = React__namespace.useState(null);
@@ -41003,7 +41235,6 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41003
41235
  current: isOpenControlled
41004
41236
  } = React__namespace.useRef(openProp != null);
41005
41237
  const [menuMinWidthState, setMenuMinWidthState] = React__namespace.useState();
41006
- const [openState, setOpenState] = React__namespace.useState(false);
41007
41238
  const handleRef = useForkRef(ref, inputRefProp);
41008
41239
  const handleDisplayRef = React__namespace.useCallback(node => {
41009
41240
  displayRef.current = node;
@@ -41018,7 +41249,17 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41018
41249
  },
41019
41250
  node: inputRef.current,
41020
41251
  value
41021
- }), [value]);
41252
+ }), [value]); // Resize menu on `defaultOpen` automatic toggle.
41253
+
41254
+ React__namespace.useEffect(() => {
41255
+ if (defaultOpen && openState && displayNode && !isOpenControlled) {
41256
+ setMenuMinWidthState(autoWidth ? null : displayNode.clientWidth);
41257
+ displayRef.current.focus();
41258
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
41259
+
41260
+ }, [displayNode, autoWidth]); // `isOpenControlled` is ignored because the component should never switch between controlled and uncontrolled modes.
41261
+ // `defaultOpen` and `openState` are ignored to avoid unnecessary callbacks.
41262
+
41022
41263
  React__namespace.useEffect(() => {
41023
41264
  if (autoFocus) {
41024
41265
  displayRef.current.focus();
@@ -41154,7 +41395,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41154
41395
  }
41155
41396
  };
41156
41397
 
41157
- const open = displayNode !== null && (isOpenControlled ? openProp : openState);
41398
+ const open = displayNode !== null && openState;
41158
41399
 
41159
41400
  const handleBlur = event => {
41160
41401
  // if open event.stopImmediatePropagation
@@ -41413,6 +41654,12 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41413
41654
  */
41414
41655
  className: propTypes.string,
41415
41656
 
41657
+ /**
41658
+ * If `true`, the component is toggled on mount. Use when the component open state is not controlled.
41659
+ * You can only use it when the `native` prop is `false` (default).
41660
+ */
41661
+ defaultOpen: propTypes.bool,
41662
+
41416
41663
  /**
41417
41664
  * The default value. Use when the component is not controlled.
41418
41665
  */
@@ -41542,7 +41789,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41542
41789
 
41543
41790
  var _Input, _FilledInput;
41544
41791
 
41545
- const _excluded$D = ["autoWidth", "children", "classes", "className", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"];
41792
+ const _excluded$D = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"];
41546
41793
 
41547
41794
  const useUtilityClasses$v = ownerState => {
41548
41795
  const {
@@ -41562,6 +41809,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41562
41809
  children,
41563
41810
  classes: classesProp = {},
41564
41811
  className,
41812
+ defaultOpen = false,
41565
41813
  displayEmpty = false,
41566
41814
  IconComponent = ArrowDropDownIcon,
41567
41815
  id,
@@ -41618,6 +41866,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41618
41866
  id
41619
41867
  } : {
41620
41868
  autoWidth,
41869
+ defaultOpen,
41621
41870
  displayEmpty,
41622
41871
  labelId,
41623
41872
  MenuProps,
@@ -41672,6 +41921,13 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
41672
41921
  */
41673
41922
  className: propTypes.string,
41674
41923
 
41924
+ /**
41925
+ * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).
41926
+ * You can only use it when the `native` prop is `false` (default).
41927
+ * @default false
41928
+ */
41929
+ defaultOpen: propTypes.bool,
41930
+
41675
41931
  /**
41676
41932
  * The default value. Use when the component is not controlled.
41677
41933
  */
@@ -42036,7 +42292,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42036
42292
  } ;
42037
42293
  var Skeleton$1 = Skeleton;
42038
42294
 
42039
- const _excluded$B = ["components", "componentsProps", "color", "size"];
42295
+ const _excluded$B = ["component", "components", "componentsProps", "color", "size"];
42040
42296
  const sliderClasses = _extends({}, sliderUnstyledClasses$1, generateUtilityClasses('MuiSlider', ['colorPrimary', 'colorSecondary', 'thumbColorPrimary', 'thumbColorSecondary', 'sizeSmall', 'thumbSizeSmall']));
42041
42297
  const SliderRoot = styled$1('span', {
42042
42298
  name: 'MuiSlider',
@@ -42104,6 +42360,19 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42104
42360
  }
42105
42361
  }
42106
42362
  }));
42363
+ SliderRoot.propTypes
42364
+ /* remove-proptypes */
42365
+ = {
42366
+ // ----------------------------- Warning --------------------------------
42367
+ // | These PropTypes are generated from the TypeScript type definitions |
42368
+ // | To update them edit the d.ts file and run "yarn proptypes" |
42369
+ // ----------------------------------------------------------------------
42370
+
42371
+ /**
42372
+ * @ignore
42373
+ */
42374
+ children: propTypes.node
42375
+ } ;
42107
42376
  const SliderRail = styled$1('span', {
42108
42377
  name: 'MuiSlider',
42109
42378
  slot: 'Rail',
@@ -42129,6 +42398,19 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42129
42398
  }, ownerState.track === 'inverted' && {
42130
42399
  opacity: 1
42131
42400
  }));
42401
+ SliderRail.propTypes
42402
+ /* remove-proptypes */
42403
+ = {
42404
+ // ----------------------------- Warning --------------------------------
42405
+ // | These PropTypes are generated from the TypeScript type definitions |
42406
+ // | To update them edit the d.ts file and run "yarn proptypes" |
42407
+ // ----------------------------------------------------------------------
42408
+
42409
+ /**
42410
+ * @ignore
42411
+ */
42412
+ children: propTypes.node
42413
+ } ;
42132
42414
  const SliderTrack = styled$1('span', {
42133
42415
  name: 'MuiSlider',
42134
42416
  slot: 'Track',
@@ -42165,6 +42447,19 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42165
42447
  borderColor: color
42166
42448
  });
42167
42449
  });
42450
+ SliderTrack.propTypes
42451
+ /* remove-proptypes */
42452
+ = {
42453
+ // ----------------------------- Warning --------------------------------
42454
+ // | These PropTypes are generated from the TypeScript type definitions |
42455
+ // | To update them edit the d.ts file and run "yarn proptypes" |
42456
+ // ----------------------------------------------------------------------
42457
+
42458
+ /**
42459
+ * @ignore
42460
+ */
42461
+ children: propTypes.node
42462
+ } ;
42168
42463
  const SliderThumb = styled$1('span', {
42169
42464
  name: 'MuiSlider',
42170
42465
  slot: 'Thumb',
@@ -42237,6 +42532,19 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42237
42532
  }
42238
42533
  }
42239
42534
  }));
42535
+ SliderThumb.propTypes
42536
+ /* remove-proptypes */
42537
+ = {
42538
+ // ----------------------------- Warning --------------------------------
42539
+ // | These PropTypes are generated from the TypeScript type definitions |
42540
+ // | To update them edit the d.ts file and run "yarn proptypes" |
42541
+ // ----------------------------------------------------------------------
42542
+
42543
+ /**
42544
+ * @ignore
42545
+ */
42546
+ children: propTypes.node
42547
+ } ;
42240
42548
  const SliderValueLabel = styled$1(SliderValueLabelUnstyled, {
42241
42549
  name: 'MuiSlider',
42242
42550
  slot: 'ValueLabel',
@@ -42281,6 +42589,19 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42281
42589
  backgroundColor: 'inherit'
42282
42590
  }
42283
42591
  }));
42592
+ SliderValueLabel.propTypes
42593
+ /* remove-proptypes */
42594
+ = {
42595
+ // ----------------------------- Warning --------------------------------
42596
+ // | These PropTypes are generated from the TypeScript type definitions |
42597
+ // | To update them edit the d.ts file and run "yarn proptypes" |
42598
+ // ----------------------------------------------------------------------
42599
+
42600
+ /**
42601
+ * @ignore
42602
+ */
42603
+ children: propTypes.node
42604
+ } ;
42284
42605
  const SliderMark = styled$1('span', {
42285
42606
  name: 'MuiSlider',
42286
42607
  slot: 'Mark',
@@ -42306,6 +42627,19 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42306
42627
  backgroundColor: theme.palette.background.paper,
42307
42628
  opacity: 0.8
42308
42629
  }));
42630
+ SliderMark.propTypes
42631
+ /* remove-proptypes */
42632
+ = {
42633
+ // ----------------------------- Warning --------------------------------
42634
+ // | These PropTypes are generated from the TypeScript type definitions |
42635
+ // | To update them edit the d.ts file and run "yarn proptypes" |
42636
+ // ----------------------------------------------------------------------
42637
+
42638
+ /**
42639
+ * @ignore
42640
+ */
42641
+ children: propTypes.node
42642
+ } ;
42309
42643
  const SliderMarkLabel = styled$1('span', {
42310
42644
  name: 'MuiSlider',
42311
42645
  slot: 'MarkLabel',
@@ -42334,7 +42668,9 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42334
42668
  }, markLabelActive && {
42335
42669
  color: theme.palette.text.primary
42336
42670
  }));
42337
- SliderRoot.propTypes = {
42671
+ SliderMarkLabel.propTypes
42672
+ /* remove-proptypes */
42673
+ = {
42338
42674
  // ----------------------------- Warning --------------------------------
42339
42675
  // | These PropTypes are generated from the TypeScript type definitions |
42340
42676
  // | To update them edit the d.ts file and run "yarn proptypes" |
@@ -42343,40 +42679,8 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42343
42679
  /**
42344
42680
  * @ignore
42345
42681
  */
42346
- children: propTypes.node,
42347
-
42348
- /**
42349
- * @ignore
42350
- */
42351
- ownerState: propTypes.shape({
42352
- 'aria-label': propTypes.string,
42353
- 'aria-labelledby': propTypes.string,
42354
- 'aria-valuetext': propTypes.string,
42355
- classes: propTypes.object,
42356
- color: propTypes.oneOf(['primary', 'secondary']),
42357
- defaultValue: propTypes.oneOfType([propTypes.arrayOf(propTypes.number), propTypes.number]),
42358
- disabled: propTypes.bool,
42359
- getAriaLabel: propTypes.func,
42360
- getAriaValueText: propTypes.func,
42361
- isRtl: propTypes.bool,
42362
- marks: propTypes.oneOfType([propTypes.arrayOf(propTypes.shape({
42363
- label: propTypes.node,
42364
- value: propTypes.number.isRequired
42365
- })), propTypes.bool]),
42366
- max: propTypes.number,
42367
- min: propTypes.number,
42368
- name: propTypes.string,
42369
- onChange: propTypes.func,
42370
- onChangeCommitted: propTypes.func,
42371
- orientation: propTypes.oneOf(['horizontal', 'vertical']),
42372
- scale: propTypes.func,
42373
- step: propTypes.number,
42374
- track: propTypes.oneOf(['inverted', 'normal', false]),
42375
- value: propTypes.oneOfType([propTypes.arrayOf(propTypes.number), propTypes.number]),
42376
- valueLabelDisplay: propTypes.oneOf(['auto', 'off', 'on']),
42377
- valueLabelFormat: propTypes.oneOfType([propTypes.func, propTypes.string])
42378
- })
42379
- };
42682
+ children: propTypes.node
42683
+ } ;
42380
42684
 
42381
42685
  const extendUtilityClasses = ownerState => {
42382
42686
  const {
@@ -42390,10 +42694,6 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42390
42694
  });
42391
42695
  };
42392
42696
 
42393
- const shouldSpreadOwnerState = Component => {
42394
- return !Component || !isHostComponent(Component);
42395
- };
42396
-
42397
42697
  const Slider = /*#__PURE__*/React__namespace.forwardRef(function Slider(inputProps, ref) {
42398
42698
  var _componentsProps$root, _componentsProps$thum, _componentsProps$trac, _componentsProps$valu;
42399
42699
 
@@ -42405,6 +42705,8 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42405
42705
  const isRtl = theme.direction === 'rtl';
42406
42706
 
42407
42707
  const {
42708
+ // eslint-disable-next-line react/prop-types
42709
+ component = 'span',
42408
42710
  components = {},
42409
42711
  componentsProps = {},
42410
42712
  color = 'primary',
@@ -42430,25 +42732,26 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42430
42732
  MarkLabel: SliderMarkLabel
42431
42733
  }, components),
42432
42734
  componentsProps: _extends({}, componentsProps, {
42433
- root: _extends({}, componentsProps.root, shouldSpreadOwnerState(components.Root) && {
42735
+ root: _extends({}, componentsProps.root, shouldSpreadAdditionalProps$1(components.Root) && {
42736
+ as: component,
42434
42737
  ownerState: _extends({}, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState, {
42435
42738
  color,
42436
42739
  size
42437
42740
  })
42438
42741
  }),
42439
- thumb: _extends({}, componentsProps.thumb, shouldSpreadOwnerState(components.Thumb) && {
42742
+ thumb: _extends({}, componentsProps.thumb, shouldSpreadAdditionalProps$1(components.Thumb) && {
42440
42743
  ownerState: _extends({}, (_componentsProps$thum = componentsProps.thumb) == null ? void 0 : _componentsProps$thum.ownerState, {
42441
42744
  color,
42442
42745
  size
42443
42746
  })
42444
42747
  }),
42445
- track: _extends({}, componentsProps.track, shouldSpreadOwnerState(components.Track) && {
42748
+ track: _extends({}, componentsProps.track, shouldSpreadAdditionalProps$1(components.Track) && {
42446
42749
  ownerState: _extends({}, (_componentsProps$trac = componentsProps.track) == null ? void 0 : _componentsProps$trac.ownerState, {
42447
42750
  color,
42448
42751
  size
42449
42752
  })
42450
42753
  }),
42451
- valueLabel: _extends({}, componentsProps.valueLabel, shouldSpreadOwnerState(components.ValueLabel) && {
42754
+ valueLabel: _extends({}, componentsProps.valueLabel, shouldSpreadAdditionalProps$1(components.ValueLabel) && {
42452
42755
  ownerState: _extends({}, (_componentsProps$valu = componentsProps.valueLabel) == null ? void 0 : _componentsProps$valu.ownerState, {
42453
42756
  color,
42454
42757
  size
@@ -42522,6 +42825,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42522
42825
  * @default {}
42523
42826
  */
42524
42827
  components: propTypes.shape({
42828
+ Input: propTypes.elementType,
42525
42829
  Mark: propTypes.elementType,
42526
42830
  MarkLabel: propTypes.elementType,
42527
42831
  Rail: propTypes.elementType,
@@ -42535,7 +42839,24 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
42535
42839
  * The props used for each slot inside the Slider.
42536
42840
  * @default {}
42537
42841
  */
42538
- componentsProps: propTypes.object,
42842
+ componentsProps: propTypes.shape({
42843
+ input: propTypes.object,
42844
+ mark: propTypes.object,
42845
+ markLabel: propTypes.object,
42846
+ rail: propTypes.object,
42847
+ root: propTypes.object,
42848
+ thumb: propTypes.object,
42849
+ track: propTypes.object,
42850
+ valueLabel: propTypes.shape({
42851
+ className: propTypes.string,
42852
+ components: propTypes.shape({
42853
+ Root: propTypes.elementType
42854
+ }),
42855
+ style: propTypes.object,
42856
+ value: propTypes.oneOfType([propTypes.arrayOf(propTypes.number), propTypes.number]),
42857
+ valueLabelDisplay: propTypes.oneOf(['auto', 'off', 'on'])
42858
+ })
42859
+ }),
42539
42860
 
42540
42861
  /**
42541
42862
  * The default value. Use when the component is not controlled.
@@ -44727,7 +45048,12 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
44727
45048
  * and `componentsProps.transition` prop values win over `TransitionProps` if both are applied.
44728
45049
  * @default {}
44729
45050
  */
44730
- componentsProps: propTypes.object,
45051
+ componentsProps: propTypes.shape({
45052
+ arrow: propTypes.object,
45053
+ popper: propTypes.object,
45054
+ tooltip: propTypes.object,
45055
+ transition: propTypes.object
45056
+ }),
44731
45057
 
44732
45058
  /**
44733
45059
  * Set to `true` if the `title` acts as an accessible description.
@@ -46009,7 +46335,9 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
46009
46335
  * The props used for each slot inside.
46010
46336
  * @default {}
46011
46337
  */
46012
- componentsProps: propTypes.object,
46338
+ componentsProps: propTypes.shape({
46339
+ label: propTypes.object
46340
+ }),
46013
46341
 
46014
46342
  /**
46015
46343
  * If `true`, the step is marked as failed.
@@ -51027,6 +51355,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
51027
51355
 
51028
51356
  /**
51029
51357
  * Props applied to the [`InputLabel`](/api/input-label/) element.
51358
+ * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
51030
51359
  */
51031
51360
  InputLabelProps: propTypes.object,
51032
51361
 
@@ -52170,6 +52499,7 @@ See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` )
52170
52499
  exports.usePagination = usePagination;
52171
52500
  exports.useRadioGroup = useRadioGroup;
52172
52501
  exports.useScrollTrigger = useScrollTrigger;
52502
+ exports.useSlider = useSlider;
52173
52503
  exports.useSwitch = useSwitch;
52174
52504
  exports.useTab = useTab$1;
52175
52505
  exports.useTabContext = useTabContext;