@mui/material 9.0.0-alpha.2 → 9.0.0-alpha.4

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 (352) hide show
  1. package/Accordion/Accordion.d.mts +0 -14
  2. package/Accordion/Accordion.d.ts +0 -14
  3. package/Accordion/Accordion.js +3 -25
  4. package/Accordion/Accordion.mjs +3 -25
  5. package/AccordionSummary/AccordionSummary.js +1 -1
  6. package/AccordionSummary/AccordionSummary.mjs +1 -1
  7. package/AccordionSummary/accordionSummaryClasses.d.mts +0 -5
  8. package/AccordionSummary/accordionSummaryClasses.d.ts +0 -5
  9. package/AccordionSummary/accordionSummaryClasses.js +1 -1
  10. package/AccordionSummary/accordionSummaryClasses.mjs +1 -1
  11. package/Alert/Alert.d.mts +0 -23
  12. package/Alert/Alert.d.ts +0 -23
  13. package/Alert/Alert.js +4 -36
  14. package/Alert/Alert.mjs +4 -36
  15. package/Alert/alertClasses.d.mts +0 -72
  16. package/Alert/alertClasses.d.ts +0 -72
  17. package/Alert/alertClasses.js +1 -1
  18. package/Alert/alertClasses.mjs +1 -1
  19. package/Autocomplete/Autocomplete.d.mts +26 -60
  20. package/Autocomplete/Autocomplete.d.ts +26 -60
  21. package/Autocomplete/Autocomplete.js +76 -119
  22. package/Autocomplete/Autocomplete.mjs +76 -119
  23. package/Avatar/Avatar.d.mts +0 -8
  24. package/Avatar/Avatar.d.ts +0 -8
  25. package/Avatar/Avatar.js +13 -35
  26. package/Avatar/Avatar.mjs +13 -35
  27. package/AvatarGroup/AvatarGroup.d.mts +0 -15
  28. package/AvatarGroup/AvatarGroup.d.ts +0 -15
  29. package/AvatarGroup/AvatarGroup.js +1 -18
  30. package/AvatarGroup/AvatarGroup.mjs +1 -18
  31. package/Backdrop/Backdrop.d.mts +1 -31
  32. package/Backdrop/Backdrop.d.ts +1 -31
  33. package/Backdrop/Backdrop.js +2 -42
  34. package/Backdrop/Backdrop.mjs +2 -42
  35. package/Badge/Badge.d.mts +0 -20
  36. package/Badge/Badge.d.ts +0 -20
  37. package/Badge/Badge.js +2 -35
  38. package/Badge/Badge.mjs +2 -35
  39. package/Box/Box.d.mts +1 -0
  40. package/Box/Box.d.ts +1 -0
  41. package/Button/Button.d.mts +1 -0
  42. package/Button/Button.d.ts +1 -0
  43. package/Button/Button.js +6 -6
  44. package/Button/Button.mjs +6 -6
  45. package/Button/buttonClasses.d.mts +0 -132
  46. package/Button/buttonClasses.d.ts +0 -132
  47. package/Button/buttonClasses.js +1 -1
  48. package/Button/buttonClasses.mjs +1 -1
  49. package/ButtonBase/ButtonBase.js +16 -2
  50. package/ButtonBase/ButtonBase.mjs +16 -2
  51. package/CHANGELOG.md +191 -0
  52. package/CardHeader/CardHeader.js +5 -1
  53. package/CardHeader/CardHeader.mjs +5 -1
  54. package/CircularProgress/CircularProgress.js +2 -2
  55. package/CircularProgress/CircularProgress.mjs +2 -2
  56. package/CircularProgress/circularProgressClasses.d.mts +0 -8
  57. package/CircularProgress/circularProgressClasses.d.ts +0 -8
  58. package/CircularProgress/circularProgressClasses.js +1 -1
  59. package/CircularProgress/circularProgressClasses.mjs +1 -1
  60. package/Divider/Divider.d.mts +1 -6
  61. package/Divider/Divider.d.ts +1 -6
  62. package/Divider/Divider.js +2 -18
  63. package/Divider/Divider.mjs +2 -18
  64. package/Divider/dividerClasses.d.mts +0 -4
  65. package/Divider/dividerClasses.d.ts +0 -4
  66. package/Divider/dividerClasses.js +1 -1
  67. package/Divider/dividerClasses.mjs +1 -1
  68. package/FormControlLabel/FormControlLabel.d.mts +1 -14
  69. package/FormControlLabel/FormControlLabel.d.ts +1 -14
  70. package/FormControlLabel/FormControlLabel.js +1 -13
  71. package/FormControlLabel/FormControlLabel.mjs +1 -13
  72. package/Input/Input.js +2 -1
  73. package/Input/Input.mjs +2 -1
  74. package/List/List.d.mts +1 -0
  75. package/List/List.d.ts +1 -0
  76. package/ListItemButton/ListItemButton.d.mts +1 -0
  77. package/ListItemButton/ListItemButton.d.ts +1 -0
  78. package/ListItemIcon/ListItemIcon.d.mts +1 -0
  79. package/ListItemIcon/ListItemIcon.d.ts +1 -0
  80. package/ListItemText/ListItemText.d.mts +1 -0
  81. package/ListItemText/ListItemText.d.ts +1 -0
  82. package/ListItemText/ListItemText.js +5 -1
  83. package/ListItemText/ListItemText.mjs +5 -1
  84. package/ListSubheader/ListSubheader.d.mts +1 -0
  85. package/ListSubheader/ListSubheader.d.ts +1 -0
  86. package/Menu/Menu.d.mts +0 -13
  87. package/Menu/Menu.d.ts +0 -13
  88. package/Menu/Menu.js +5 -44
  89. package/Menu/Menu.mjs +5 -44
  90. package/MenuItem/MenuItem.js +21 -1
  91. package/MenuItem/MenuItem.mjs +23 -1
  92. package/MenuList/MenuList.js +77 -109
  93. package/MenuList/MenuList.mjs +77 -109
  94. package/MobileStepper/MobileStepper.d.mts +0 -5
  95. package/MobileStepper/MobileStepper.d.ts +0 -5
  96. package/MobileStepper/MobileStepper.js +1 -10
  97. package/MobileStepper/MobileStepper.mjs +1 -10
  98. package/Paper/Paper.d.mts +1 -0
  99. package/Paper/Paper.d.ts +1 -0
  100. package/Popover/Popover.d.mts +4 -48
  101. package/Popover/Popover.d.ts +4 -48
  102. package/Popover/Popover.js +4 -64
  103. package/Popover/Popover.mjs +4 -64
  104. package/Popper/Popper.d.mts +0 -17
  105. package/Popper/Popper.d.ts +0 -17
  106. package/Popper/Popper.js +2 -26
  107. package/Popper/Popper.mjs +2 -26
  108. package/Popper/index.d.mts +1 -0
  109. package/Popper/index.d.ts +1 -0
  110. package/Popper/index.js +11 -2
  111. package/Popper/index.mjs +1 -0
  112. package/Select/SelectInput.js +50 -55
  113. package/Select/SelectInput.mjs +47 -52
  114. package/Select/index.d.mts +1 -0
  115. package/Select/index.d.ts +1 -0
  116. package/Select/index.js +12 -0
  117. package/Select/index.mjs +1 -0
  118. package/Select/utils/SelectFocusSourceContext.d.mts +4 -0
  119. package/Select/utils/SelectFocusSourceContext.d.ts +4 -0
  120. package/Select/utils/SelectFocusSourceContext.js +19 -0
  121. package/Select/utils/SelectFocusSourceContext.mjs +13 -0
  122. package/Select/utils/areEqualValues.d.mts +1 -0
  123. package/Select/utils/areEqualValues.d.ts +1 -0
  124. package/Select/utils/areEqualValues.js +14 -0
  125. package/Select/utils/areEqualValues.mjs +8 -0
  126. package/Select/utils/getOpenInteractionType.d.mts +1 -0
  127. package/Select/utils/getOpenInteractionType.d.ts +1 -0
  128. package/Select/utils/getOpenInteractionType.js +18 -0
  129. package/Select/utils/getOpenInteractionType.mjs +12 -0
  130. package/Select/utils/index.d.mts +4 -0
  131. package/Select/utils/index.d.ts +4 -0
  132. package/Select/utils/index.js +40 -0
  133. package/Select/utils/index.mjs +4 -0
  134. package/Select/utils/isEmpty.d.mts +1 -0
  135. package/Select/utils/isEmpty.d.ts +1 -0
  136. package/Select/utils/isEmpty.js +9 -0
  137. package/Select/utils/isEmpty.mjs +3 -0
  138. package/Slider/Slider.d.mts +109 -77
  139. package/Slider/Slider.d.ts +109 -77
  140. package/Slider/Slider.js +42 -119
  141. package/Slider/Slider.mjs +42 -119
  142. package/Slider/sliderClasses.d.mts +7 -7
  143. package/Slider/sliderClasses.d.ts +7 -7
  144. package/Slider/useSlider.js +50 -14
  145. package/Slider/useSlider.mjs +50 -14
  146. package/Snackbar/Snackbar.d.mts +1 -27
  147. package/Snackbar/Snackbar.d.ts +1 -27
  148. package/Snackbar/Snackbar.js +5 -58
  149. package/Snackbar/Snackbar.mjs +5 -58
  150. package/SpeedDial/SpeedDial.d.mts +0 -13
  151. package/SpeedDial/SpeedDial.d.ts +0 -13
  152. package/SpeedDial/SpeedDial.js +15 -40
  153. package/SpeedDial/SpeedDial.mjs +15 -40
  154. package/SpeedDialAction/SpeedDialAction.d.mts +0 -28
  155. package/SpeedDialAction/SpeedDialAction.d.ts +0 -28
  156. package/SpeedDialAction/SpeedDialAction.js +5 -46
  157. package/SpeedDialAction/SpeedDialAction.mjs +5 -46
  158. package/Step/Step.js +7 -5
  159. package/Step/Step.mjs +7 -5
  160. package/StepButton/StepButton.js +16 -6
  161. package/StepButton/StepButton.mjs +16 -6
  162. package/StepConnector/StepConnector.js +2 -2
  163. package/StepConnector/StepConnector.mjs +2 -2
  164. package/StepContent/StepContent.js +2 -2
  165. package/StepContent/StepContent.mjs +2 -2
  166. package/StepLabel/StepLabel.js +2 -2
  167. package/StepLabel/StepLabel.mjs +2 -2
  168. package/Stepper/Stepper.js +44 -7
  169. package/Stepper/Stepper.mjs +44 -7
  170. package/Stepper/StepperContext.d.mts +7 -0
  171. package/Stepper/StepperContext.d.ts +7 -0
  172. package/Stepper/StepperContext.js +2 -1
  173. package/Stepper/StepperContext.mjs +1 -0
  174. package/Stepper/index.d.mts +0 -1
  175. package/Stepper/index.d.ts +0 -1
  176. package/Tab/Tab.js +0 -1
  177. package/Tab/Tab.mjs +0 -1
  178. package/TablePagination/TablePagination.d.mts +1 -1
  179. package/TablePagination/TablePagination.d.ts +1 -1
  180. package/TablePagination/TablePagination.js +4 -2
  181. package/TablePagination/TablePagination.mjs +4 -2
  182. package/Tabs/Tabs.d.mts +2 -33
  183. package/Tabs/Tabs.d.ts +2 -33
  184. package/Tabs/Tabs.js +54 -135
  185. package/Tabs/Tabs.mjs +54 -135
  186. package/TextField/TextField.d.mts +6 -49
  187. package/TextField/TextField.d.ts +6 -49
  188. package/TextField/TextField.js +18 -53
  189. package/TextField/TextField.mjs +18 -53
  190. package/Tooltip/Tooltip.d.mts +1 -55
  191. package/Tooltip/Tooltip.d.ts +1 -55
  192. package/Tooltip/Tooltip.js +9 -87
  193. package/Tooltip/Tooltip.mjs +9 -87
  194. package/Typography/Typography.d.mts +1 -6
  195. package/Typography/Typography.d.ts +1 -6
  196. package/Typography/Typography.js +3 -19
  197. package/Typography/Typography.mjs +3 -19
  198. package/Typography/typographyClasses.d.mts +0 -5
  199. package/Typography/typographyClasses.d.ts +0 -5
  200. package/Typography/typographyClasses.js +1 -1
  201. package/Typography/typographyClasses.mjs +1 -1
  202. package/index.d.mts +0 -2
  203. package/index.d.ts +0 -2
  204. package/index.js +1 -9
  205. package/index.mjs +1 -2
  206. package/locale/amET.js +4 -1
  207. package/locale/amET.mjs +3 -1
  208. package/locale/arEG.js +4 -1
  209. package/locale/arEG.mjs +3 -1
  210. package/locale/arSA.js +4 -1
  211. package/locale/arSA.mjs +3 -1
  212. package/locale/arSD.js +4 -1
  213. package/locale/arSD.mjs +3 -1
  214. package/locale/beBY.js +4 -1
  215. package/locale/beBY.mjs +3 -1
  216. package/locale/bnBD.js +4 -1
  217. package/locale/bnBD.mjs +3 -1
  218. package/locale/caES.js +4 -1
  219. package/locale/caES.mjs +3 -1
  220. package/locale/csCZ.js +4 -1
  221. package/locale/csCZ.mjs +3 -1
  222. package/locale/daDK.js +4 -1
  223. package/locale/daDK.mjs +3 -1
  224. package/locale/deDE.js +4 -1
  225. package/locale/deDE.mjs +3 -1
  226. package/locale/elGR.js +4 -1
  227. package/locale/elGR.mjs +3 -1
  228. package/locale/esES.js +4 -1
  229. package/locale/esES.mjs +3 -1
  230. package/locale/etEE.js +4 -1
  231. package/locale/etEE.mjs +3 -1
  232. package/locale/faIR.js +4 -1
  233. package/locale/faIR.mjs +3 -1
  234. package/locale/fiFI.js +4 -1
  235. package/locale/fiFI.mjs +3 -1
  236. package/locale/frFR.js +4 -1
  237. package/locale/frFR.mjs +3 -1
  238. package/locale/heIL.js +4 -1
  239. package/locale/heIL.mjs +3 -1
  240. package/locale/hiIN.js +4 -1
  241. package/locale/hiIN.mjs +3 -1
  242. package/locale/hrHR.js +5 -1
  243. package/locale/hrHR.mjs +4 -1
  244. package/locale/isIS.js +4 -1
  245. package/locale/isIS.mjs +3 -1
  246. package/locale/itIT.js +4 -1
  247. package/locale/itIT.mjs +3 -1
  248. package/locale/jaJP.js +4 -1
  249. package/locale/jaJP.mjs +3 -1
  250. package/locale/khKH.js +4 -1
  251. package/locale/khKH.mjs +3 -1
  252. package/locale/kkKZ.js +4 -1
  253. package/locale/kkKZ.mjs +3 -1
  254. package/locale/koKR.js +4 -1
  255. package/locale/koKR.mjs +3 -1
  256. package/locale/kuCKB.js +4 -1
  257. package/locale/kuCKB.mjs +3 -1
  258. package/locale/kuLatn.js +4 -1
  259. package/locale/kuLatn.mjs +3 -1
  260. package/locale/mkMK.js +5 -1
  261. package/locale/mkMK.mjs +4 -1
  262. package/locale/msMS.js +5 -1
  263. package/locale/msMS.mjs +4 -1
  264. package/locale/myMY.js +5 -1
  265. package/locale/myMY.mjs +4 -1
  266. package/locale/nbNO.js +4 -1
  267. package/locale/nbNO.mjs +3 -1
  268. package/locale/neNP.js +5 -1
  269. package/locale/neNP.mjs +4 -1
  270. package/locale/nlNL.js +4 -1
  271. package/locale/nlNL.mjs +3 -1
  272. package/locale/nnNO.js +4 -1
  273. package/locale/nnNO.mjs +3 -1
  274. package/locale/plPL.js +4 -1
  275. package/locale/plPL.mjs +3 -1
  276. package/locale/psAF.js +4 -1
  277. package/locale/psAF.mjs +3 -1
  278. package/locale/ptBR.js +4 -1
  279. package/locale/ptBR.mjs +3 -1
  280. package/locale/ptPT.js +4 -1
  281. package/locale/ptPT.mjs +3 -1
  282. package/locale/roRO.js +4 -1
  283. package/locale/roRO.mjs +3 -1
  284. package/locale/ruRU.js +4 -1
  285. package/locale/ruRU.mjs +3 -1
  286. package/locale/siLK.js +4 -1
  287. package/locale/siLK.mjs +3 -1
  288. package/locale/skSK.js +4 -1
  289. package/locale/skSK.mjs +3 -1
  290. package/locale/srRS.js +5 -1
  291. package/locale/srRS.mjs +4 -1
  292. package/locale/svSE.js +4 -1
  293. package/locale/svSE.mjs +3 -1
  294. package/locale/thTH.js +4 -1
  295. package/locale/thTH.mjs +3 -1
  296. package/locale/tlTL.js +5 -1
  297. package/locale/tlTL.mjs +4 -1
  298. package/locale/trTR.js +4 -1
  299. package/locale/trTR.mjs +3 -1
  300. package/locale/ukUA.js +4 -1
  301. package/locale/ukUA.mjs +3 -1
  302. package/locale/urPK.js +4 -1
  303. package/locale/urPK.mjs +3 -1
  304. package/locale/utils/buildFormatNumber.d.mts +2 -0
  305. package/locale/utils/buildFormatNumber.d.ts +2 -0
  306. package/locale/utils/buildFormatNumber.js +23 -0
  307. package/locale/utils/buildFormatNumber.mjs +17 -0
  308. package/locale/viVN.js +4 -1
  309. package/locale/viVN.mjs +3 -1
  310. package/locale/zhCN.js +4 -1
  311. package/locale/zhCN.mjs +3 -1
  312. package/locale/zhHK.js +4 -1
  313. package/locale/zhHK.mjs +3 -1
  314. package/locale/zhTW.js +4 -1
  315. package/locale/zhTW.mjs +3 -1
  316. package/package.json +236 -236
  317. package/styles/components.d.mts +0 -5
  318. package/styles/components.d.ts +0 -5
  319. package/styles/overrides.d.mts +0 -2
  320. package/styles/overrides.d.ts +0 -2
  321. package/styles/props.d.mts +0 -2
  322. package/styles/props.d.ts +0 -2
  323. package/themeCssVarsAugmentation/index.js +5 -0
  324. package/themeCssVarsAugmentation/index.mjs +5 -0
  325. package/useAutocomplete/useAutocomplete.d.mts +0 -12
  326. package/useAutocomplete/useAutocomplete.d.ts +0 -12
  327. package/useAutocomplete/useAutocomplete.js +53 -28
  328. package/useAutocomplete/useAutocomplete.mjs +53 -28
  329. package/utils/index.d.mts +2 -0
  330. package/utils/index.d.ts +2 -0
  331. package/utils/index.js +14 -0
  332. package/utils/index.mjs +2 -0
  333. package/utils/useRovingTabIndex.d.mts +2 -0
  334. package/utils/useRovingTabIndex.d.ts +2 -0
  335. package/utils/useRovingTabIndex.js +9 -0
  336. package/utils/useRovingTabIndex.mjs +2 -0
  337. package/version/index.js +2 -2
  338. package/version/index.mjs +2 -2
  339. package/GridLegacy/GridLegacy.d.mts +0 -160
  340. package/GridLegacy/GridLegacy.d.ts +0 -160
  341. package/GridLegacy/GridLegacy.js +0 -601
  342. package/GridLegacy/GridLegacy.mjs +0 -588
  343. package/GridLegacy/GridLegacyContext.js +0 -17
  344. package/GridLegacy/GridLegacyContext.mjs +0 -12
  345. package/GridLegacy/gridLegacyClasses.d.mts +0 -48
  346. package/GridLegacy/gridLegacyClasses.d.ts +0 -48
  347. package/GridLegacy/gridLegacyClasses.js +0 -27
  348. package/GridLegacy/gridLegacyClasses.mjs +0 -19
  349. package/GridLegacy/index.d.mts +0 -4
  350. package/GridLegacy/index.d.ts +0 -4
  351. package/GridLegacy/index.js +0 -35
  352. package/GridLegacy/index.mjs +0 -3
@@ -2,20 +2,116 @@ import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { OverridableStringUnion } from '@mui/types';
4
4
  import { Mark } from "./useSlider.types.js";
5
- import { SlotComponentProps } from "../utils/types.js";
5
+ import { CreateSlotsAndSlotProps, SlotComponentProps, SlotProps } from "../utils/types.js";
6
6
  import { Theme } from "../styles/index.js";
7
7
  import { OverrideProps, OverridableComponent } from "../OverridableComponent/index.js";
8
8
  import SliderValueLabelComponent from "./SliderValueLabel.js";
9
9
  import { SliderClasses } from "./sliderClasses.js";
10
10
  export interface SliderPropsColorOverrides {}
11
11
  export interface SliderPropsSizeOverrides {}
12
+ export interface SliderSlots {
13
+ /**
14
+ * The component that renders the root.
15
+ * @default 'span'
16
+ */
17
+ root: React.ElementType;
18
+ /**
19
+ * The component that renders the track.
20
+ * @default 'span'
21
+ */
22
+ track: React.ElementType;
23
+ /**
24
+ * The component that renders the rail.
25
+ * @default 'span'
26
+ */
27
+ rail: React.ElementType;
28
+ /**
29
+ * The component that renders the thumb.
30
+ * @default 'span'
31
+ */
32
+ thumb: React.ElementType;
33
+ /**
34
+ * The component that renders the mark.
35
+ * @default 'span'
36
+ */
37
+ mark: React.ElementType;
38
+ /**
39
+ * The component that renders the mark label.
40
+ * @default 'span'
41
+ */
42
+ markLabel: React.ElementType;
43
+ /**
44
+ * The component that renders the value label.
45
+ * @default SliderValueLabel
46
+ */
47
+ valueLabel: React.ElementType;
48
+ /**
49
+ * The component that renders the input.
50
+ * @default 'input'
51
+ */
52
+ input: React.ElementType;
53
+ }
54
+ export interface SliderRootSlotPropsOverrides {}
55
+ export interface SliderTrackSlotPropsOverrides {}
56
+ export interface SliderRailSlotPropsOverrides {}
57
+ export interface SliderThumbSlotPropsOverrides {}
58
+ export interface SliderMarkSlotPropsOverrides {}
59
+ export interface SliderMarkLabelSlotPropsOverrides {}
60
+ export interface SliderValueLabelSlotPropsOverrides {}
61
+ export interface SliderInputSlotPropsOverrides {}
62
+ export type SliderSlotsAndSlotProps = CreateSlotsAndSlotProps<SliderSlots, {
63
+ /**
64
+ * Props forwarded to the root slot.
65
+ * By default, the available props are based on the span element.
66
+ */
67
+ root: SlotProps<'span', SliderRootSlotPropsOverrides, SliderOwnerState>;
68
+ /**
69
+ * Props forwarded to the track slot.
70
+ * By default, the available props are based on the span element.
71
+ */
72
+ track: SlotProps<'span', SliderTrackSlotPropsOverrides, SliderOwnerState>;
73
+ /**
74
+ * Props forwarded to the rail slot.
75
+ * By default, the available props are based on the span element.
76
+ */
77
+ rail: SlotProps<'span', SliderRailSlotPropsOverrides, SliderOwnerState>;
78
+ /**
79
+ * Props forwarded to the thumb slot.
80
+ * By default, the available props are based on the span element.
81
+ */
82
+ thumb: SlotProps<'span', SliderThumbSlotPropsOverrides, SliderOwnerState>;
83
+ /**
84
+ * Props forwarded to the mark slot.
85
+ * By default, the available props are based on the span element.
86
+ */
87
+ mark: SlotProps<'span', SliderMarkSlotPropsOverrides, SliderOwnerState>;
88
+ /**
89
+ * Props forwarded to the mark label slot.
90
+ * By default, the available props are based on the span element.
91
+ */
92
+ markLabel: SlotProps<'span', SliderMarkLabelSlotPropsOverrides, SliderOwnerState>;
93
+ /**
94
+ * Props forwarded to the value label slot.
95
+ * By default, the available props are based on the [SliderValueLabel](https://next.mui.com/material-ui/api/slider/) component.
96
+ */
97
+ valueLabel: SlotComponentProps<typeof SliderValueLabelComponent, SliderValueLabelSlotPropsOverrides, SliderOwnerState>;
98
+ /**
99
+ * Props forwarded to the input slot.
100
+ * By default, the available props are based on the input element.
101
+ */
102
+ input: SlotProps<'input', SliderInputSlotPropsOverrides, SliderOwnerState>;
103
+ }>;
104
+
105
+ /**
106
+ * @deprecated Use `SliderRootSlotPropsOverrides` instead.
107
+ */
12
108
  export interface SliderComponentsPropsOverrides {}
13
109
  export interface SliderOwnerState extends SliderProps {
14
110
  dragging: boolean;
15
111
  marked: boolean;
16
112
  focusedThumbIndex: number;
17
113
  }
18
- export interface SliderOwnProps<Value extends number | number[]> {
114
+ export interface SliderOwnProps<Value extends number | readonly number[]> {
19
115
  /**
20
116
  * The label of the slider.
21
117
  */
@@ -35,41 +131,6 @@ export interface SliderOwnProps<Value extends number | number[]> {
35
131
  * @default 'primary'
36
132
  */
37
133
  color?: OverridableStringUnion<'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning', SliderPropsColorOverrides> | undefined;
38
- /**
39
- * The components used for each slot inside.
40
- *
41
- * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
42
- *
43
- * @default {}
44
- */
45
- components?: {
46
- Root?: React.ElementType | undefined;
47
- Track?: React.ElementType | undefined;
48
- Rail?: React.ElementType | undefined;
49
- Thumb?: React.ElementType | undefined;
50
- Mark?: React.ElementType | undefined;
51
- MarkLabel?: React.ElementType | undefined;
52
- ValueLabel?: React.ElementType | undefined;
53
- Input?: React.ElementType | undefined;
54
- } | undefined;
55
- /**
56
- * The extra props for the slot components.
57
- * You can override the existing props or add new ones.
58
- *
59
- * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
60
- *
61
- * @default {}
62
- */
63
- componentsProps?: {
64
- root?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
65
- track?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
66
- rail?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
67
- thumb?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
68
- mark?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
69
- markLabel?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
70
- valueLabel?: SlotComponentProps<typeof SliderValueLabelComponent, SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
71
- input?: SlotComponentProps<'input', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
72
- } | undefined;
73
134
  /**
74
135
  * Override or extend the styles applied to the component.
75
136
  */
@@ -171,35 +232,6 @@ export interface SliderOwnProps<Value extends number | number[]> {
171
232
  * @default 'medium'
172
233
  */
173
234
  size?: OverridableStringUnion<'small' | 'medium', SliderPropsSizeOverrides> | undefined;
174
- /**
175
- * The props used for each slot inside the Slider.
176
- * @default {}
177
- */
178
- slotProps?: {
179
- root?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
180
- track?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
181
- rail?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
182
- thumb?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
183
- mark?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
184
- markLabel?: SlotComponentProps<'span', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
185
- valueLabel?: SlotComponentProps<typeof SliderValueLabelComponent, SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
186
- input?: SlotComponentProps<'input', SliderComponentsPropsOverrides, SliderOwnerState> | undefined;
187
- } | undefined;
188
- /**
189
- * The components used for each slot inside the Slider.
190
- * Either a string to use a HTML element or a component.
191
- * @default {}
192
- */
193
- slots?: {
194
- root?: React.ElementType | undefined;
195
- track?: React.ElementType | undefined;
196
- rail?: React.ElementType | undefined;
197
- thumb?: React.ElementType | undefined;
198
- mark?: React.ElementType | undefined;
199
- markLabel?: React.ElementType | undefined;
200
- valueLabel?: React.ElementType | undefined;
201
- input?: React.ElementType | undefined;
202
- } | undefined;
203
235
  /**
204
236
  * The granularity with which the slider can step through values. (A "discrete" slider.)
205
237
  * The `min` prop serves as the origin for the valid values.
@@ -255,24 +287,24 @@ export interface SliderOwnProps<Value extends number | number[]> {
255
287
  */
256
288
  valueLabelFormat?: string | ((value: number, index: number) => React.ReactNode) | undefined;
257
289
  }
258
- export interface SliderTypeMap<RootComponent extends React.ElementType = 'span', AdditionalProps = {}, Value extends number | number[] = number | number[]> {
259
- props: AdditionalProps & SliderOwnProps<Value>;
290
+ export interface SliderTypeMap<RootComponent extends React.ElementType = 'span', AdditionalProps = {}, Value extends number | readonly number[] = number | number[]> {
291
+ props: AdditionalProps & SliderOwnProps<Value> & SliderSlotsAndSlotProps;
260
292
  defaultComponent: RootComponent;
261
293
  }
262
- export type SliderComponent<Value extends number | number[]> = OverridableComponent<SliderTypeMap<'span', {}, Value>>;
263
- export type SliderType = SliderComponent<number> & SliderComponent<number[]> & SliderComponent<number | number[]>;
294
+ export type SliderComponent<Value extends number | readonly number[]> = OverridableComponent<SliderTypeMap<'span', {}, Value>>;
295
+ export type SliderType = SliderComponent<number> & SliderComponent<number[]> & SliderComponent<readonly number[]> & SliderComponent<number | number[]>;
264
296
  export interface SliderValueLabelProps extends React.HTMLAttributes<HTMLSpanElement> {
265
297
  children: React.ReactElement<unknown>;
266
298
  index: number;
267
299
  open: boolean;
268
300
  value: React.ReactNode;
269
301
  }
270
- type SliderRootProps = NonNullable<SliderTypeMap['props']['componentsProps']>['root'];
271
- type SliderMarkProps = NonNullable<SliderTypeMap['props']['componentsProps']>['mark'];
272
- type SliderMarkLabelProps = NonNullable<SliderTypeMap['props']['componentsProps']>['markLabel'];
273
- type SliderRailProps = NonNullable<SliderTypeMap['props']['componentsProps']>['rail'];
274
- type SliderTrackProps = NonNullable<SliderTypeMap['props']['componentsProps']>['track'];
275
- type SliderThumbProps = NonNullable<SliderTypeMap['props']['componentsProps']>['thumb'];
302
+ type SliderRootProps = NonNullable<SliderTypeMap['props']['slotProps']>['root'];
303
+ type SliderMarkProps = NonNullable<SliderTypeMap['props']['slotProps']>['mark'];
304
+ type SliderMarkLabelProps = NonNullable<SliderTypeMap['props']['slotProps']>['markLabel'];
305
+ type SliderRailProps = NonNullable<SliderTypeMap['props']['slotProps']>['rail'];
306
+ type SliderTrackProps = NonNullable<SliderTypeMap['props']['slotProps']>['track'];
307
+ type SliderThumbProps = NonNullable<SliderTypeMap['props']['slotProps']>['thumb'];
276
308
  export declare const SliderRoot: React.FC<SliderRootProps>;
277
309
  export declare const SliderMark: React.FC<SliderMarkProps>;
278
310
  export declare const SliderMarkLabel: React.FC<SliderMarkLabelProps>;
@@ -292,7 +324,7 @@ export declare const SliderValueLabel: React.FC<SliderValueLabelProps>;
292
324
  * - [Slider API](https://next.mui.com/material-ui/api/slider/)
293
325
  */
294
326
  declare const Slider: SliderType;
295
- export type SliderProps<RootComponent extends React.ElementType = SliderTypeMap['defaultComponent'], AdditionalProps = {}> = OverrideProps<SliderTypeMap<RootComponent, AdditionalProps>, RootComponent> & {
327
+ export type SliderProps<RootComponent extends React.ElementType = SliderTypeMap['defaultComponent'], AdditionalProps = {}, Value extends number | readonly number[] = number | number[]> = OverrideProps<SliderTypeMap<RootComponent, AdditionalProps, Value>, RootComponent> & {
296
328
  component?: React.ElementType | undefined;
297
329
  };
298
330
  export default Slider;
package/Slider/Slider.js CHANGED
@@ -13,14 +13,13 @@ var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _chainPropTypes = _interopRequireDefault(require("@mui/utils/chainPropTypes"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _RtlProvider = require("@mui/system/RtlProvider");
16
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
17
16
  var _isHostComponent = _interopRequireDefault(require("@mui/utils/isHostComponent"));
18
17
  var _useSlider = require("./useSlider");
19
18
  var _zeroStyled = require("../zero-styled");
20
19
  var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
21
20
  var _DefaultPropsProvider = require("../DefaultPropsProvider");
21
+ var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
22
22
  var _slotShouldForwardProp = _interopRequireDefault(require("../styles/slotShouldForwardProp"));
23
- var _shouldSpreadAdditionalProps = _interopRequireDefault(require("../utils/shouldSpreadAdditionalProps"));
24
23
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
25
24
  var _createSimplePaletteValueFilter = _interopRequireDefault(require("../utils/createSimplePaletteValueFilter"));
26
25
  var _SliderValueLabel = _interopRequireDefault(require("./SliderValueLabel"));
@@ -553,9 +552,9 @@ const useUtilityClasses = ownerState => {
553
552
  const Forward = ({
554
553
  children
555
554
  }) => children;
556
- const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
555
+ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inProps, ref) {
557
556
  const props = (0, _DefaultPropsProvider.useDefaultProps)({
558
- props: inputProps,
557
+ props: inProps,
559
558
  name: 'MuiSlider'
560
559
  });
561
560
  const isRtl = (0, _RtlProvider.useRtl)();
@@ -563,10 +562,6 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
563
562
  'aria-label': ariaLabel,
564
563
  'aria-valuetext': ariaValuetext,
565
564
  'aria-labelledby': ariaLabelledby,
566
- // eslint-disable-next-line react/prop-types
567
- component = 'span',
568
- components = {},
569
- componentsProps = {},
570
565
  color = 'primary',
571
566
  classes: classesProp,
572
567
  className,
@@ -585,8 +580,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
585
580
  size = 'medium',
586
581
  step = 1,
587
582
  scale = Identity,
588
- slotProps,
589
- slots,
583
+ slotProps = {},
584
+ slots = {},
590
585
  tabIndex,
591
586
  track = 'normal',
592
587
  value: valueProp,
@@ -637,96 +632,67 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
637
632
  ownerState.dragging = dragging;
638
633
  ownerState.focusedThumbIndex = focusedThumbIndex;
639
634
  const classes = useUtilityClasses(ownerState);
640
-
641
- // support both `slots` and `components` for backward compatibility
642
- const RootSlot = slots?.root ?? components.Root ?? SliderRoot;
643
- const RailSlot = slots?.rail ?? components.Rail ?? SliderRail;
644
- const TrackSlot = slots?.track ?? components.Track ?? SliderTrack;
645
- const ThumbSlot = slots?.thumb ?? components.Thumb ?? SliderThumb;
646
- const ValueLabelSlot = slots?.valueLabel ?? components.ValueLabel ?? SliderValueLabel;
647
- const MarkSlot = slots?.mark ?? components.Mark ?? SliderMark;
648
- const MarkLabelSlot = slots?.markLabel ?? components.MarkLabel ?? SliderMarkLabel;
649
- const InputSlot = slots?.input ?? components.Input ?? 'input';
650
- const rootSlotProps = slotProps?.root ?? componentsProps.root;
651
- const railSlotProps = slotProps?.rail ?? componentsProps.rail;
652
- const trackSlotProps = slotProps?.track ?? componentsProps.track;
653
- const thumbSlotProps = slotProps?.thumb ?? componentsProps.thumb;
654
- const valueLabelSlotProps = slotProps?.valueLabel ?? componentsProps.valueLabel;
655
- const markSlotProps = slotProps?.mark ?? componentsProps.mark;
656
- const markLabelSlotProps = slotProps?.markLabel ?? componentsProps.markLabel;
657
- const inputSlotProps = slotProps?.input ?? componentsProps.input;
658
- const rootProps = (0, _useSlotProps.default)({
659
- elementType: RootSlot,
635
+ const externalForwardedProps = {
636
+ slots,
637
+ slotProps
638
+ };
639
+ const [RootSlot, rootProps] = (0, _useSlot.default)('root', {
640
+ elementType: SliderRoot,
660
641
  getSlotProps: getRootProps,
661
- externalSlotProps: rootSlotProps,
662
- externalForwardedProps: other,
663
- additionalProps: {
664
- ...((0, _shouldSpreadAdditionalProps.default)(RootSlot) && {
665
- as: component
666
- })
667
- },
668
- ownerState: {
669
- ...ownerState,
670
- ...rootSlotProps?.ownerState
642
+ externalForwardedProps: {
643
+ ...externalForwardedProps,
644
+ ...other
671
645
  },
646
+ ownerState,
672
647
  className: [classes.root, className]
673
648
  });
674
- const railProps = (0, _useSlotProps.default)({
675
- elementType: RailSlot,
676
- externalSlotProps: railSlotProps,
649
+ const [RailSlot, railProps] = (0, _useSlot.default)('rail', {
650
+ elementType: SliderRail,
651
+ externalForwardedProps,
677
652
  ownerState,
678
653
  className: classes.rail
679
654
  });
680
- const trackProps = (0, _useSlotProps.default)({
681
- elementType: TrackSlot,
682
- externalSlotProps: trackSlotProps,
655
+ const [TrackSlot, trackProps] = (0, _useSlot.default)('track', {
656
+ elementType: SliderTrack,
657
+ externalForwardedProps,
683
658
  additionalProps: {
684
659
  style: {
685
660
  ...axisProps[axis].offset(trackOffset),
686
661
  ...axisProps[axis].leap(trackLeap)
687
662
  }
688
663
  },
689
- ownerState: {
690
- ...ownerState,
691
- ...trackSlotProps?.ownerState
692
- },
664
+ ownerState,
693
665
  className: classes.track
694
666
  });
695
- const thumbProps = (0, _useSlotProps.default)({
696
- elementType: ThumbSlot,
667
+ const [ThumbSlot, thumbProps] = (0, _useSlot.default)('thumb', {
668
+ elementType: SliderThumb,
697
669
  getSlotProps: getThumbProps,
698
- externalSlotProps: thumbSlotProps,
699
- ownerState: {
700
- ...ownerState,
701
- ...thumbSlotProps?.ownerState
702
- },
670
+ externalForwardedProps,
671
+ ownerState,
703
672
  className: classes.thumb
704
673
  });
705
- const valueLabelProps = (0, _useSlotProps.default)({
706
- elementType: ValueLabelSlot,
707
- externalSlotProps: valueLabelSlotProps,
708
- ownerState: {
709
- ...ownerState,
710
- ...valueLabelSlotProps?.ownerState
711
- },
674
+ const [ValueLabelSlot, valueLabelProps] = (0, _useSlot.default)('valueLabel', {
675
+ elementType: SliderValueLabel,
676
+ externalForwardedProps,
677
+ ownerState,
712
678
  className: classes.valueLabel
713
679
  });
714
- const markProps = (0, _useSlotProps.default)({
715
- elementType: MarkSlot,
716
- externalSlotProps: markSlotProps,
680
+ const [MarkSlot, markProps] = (0, _useSlot.default)('mark', {
681
+ elementType: SliderMark,
682
+ externalForwardedProps,
717
683
  ownerState,
718
684
  className: classes.mark
719
685
  });
720
- const markLabelProps = (0, _useSlotProps.default)({
721
- elementType: MarkLabelSlot,
722
- externalSlotProps: markLabelSlotProps,
686
+ const [MarkLabelSlot, markLabelProps] = (0, _useSlot.default)('markLabel', {
687
+ elementType: SliderMarkLabel,
688
+ externalForwardedProps,
723
689
  ownerState,
724
690
  className: classes.markLabel
725
691
  });
726
- const inputSliderProps = (0, _useSlotProps.default)({
727
- elementType: InputSlot,
692
+ const [InputSliderSlot, inputSliderProps] = (0, _useSlot.default)('input', {
693
+ elementType: 'input',
728
694
  getSlotProps: getHiddenInputProps,
729
- externalSlotProps: inputSlotProps,
695
+ externalForwardedProps,
730
696
  ownerState
731
697
  });
732
698
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(RootSlot, {
@@ -794,7 +760,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
794
760
  ...getThumbStyle(index),
795
761
  ...thumbProps.style
796
762
  },
797
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(InputSlot, {
763
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(InputSliderSlot, {
798
764
  "data-index": index,
799
765
  "aria-label": getAriaLabel ? getAriaLabel(index) : ariaLabel,
800
766
  "aria-valuenow": scale(value),
@@ -856,48 +822,6 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
856
822
  * @default 'primary'
857
823
  */
858
824
  color: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), _propTypes.default.string]),
859
- /**
860
- * The components used for each slot inside.
861
- *
862
- * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
863
- *
864
- * @default {}
865
- */
866
- components: _propTypes.default.shape({
867
- Input: _propTypes.default.elementType,
868
- Mark: _propTypes.default.elementType,
869
- MarkLabel: _propTypes.default.elementType,
870
- Rail: _propTypes.default.elementType,
871
- Root: _propTypes.default.elementType,
872
- Thumb: _propTypes.default.elementType,
873
- Track: _propTypes.default.elementType,
874
- ValueLabel: _propTypes.default.elementType
875
- }),
876
- /**
877
- * The extra props for the slot components.
878
- * You can override the existing props or add new ones.
879
- *
880
- * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
881
- *
882
- * @default {}
883
- */
884
- componentsProps: _propTypes.default.shape({
885
- input: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
886
- mark: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
887
- markLabel: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
888
- rail: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
889
- root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
890
- thumb: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
891
- track: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
892
- valueLabel: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
893
- children: _propTypes.default.element,
894
- className: _propTypes.default.string,
895
- open: _propTypes.default.bool,
896
- style: _propTypes.default.object,
897
- value: _propTypes.default.node,
898
- valueLabelDisplay: _propTypes.default.oneOf(['auto', 'off', 'on'])
899
- })])
900
- }),
901
825
  /**
902
826
  * The default value. Use when the component is not controlled.
903
827
  */
@@ -995,7 +919,7 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
995
919
  */
996
920
  size: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.oneOf(['small', 'medium']), _propTypes.default.string]),
997
921
  /**
998
- * The props used for each slot inside the Slider.
922
+ * The props used for each slot inside.
999
923
  * @default {}
1000
924
  */
1001
925
  slotProps: _propTypes.default.shape({
@@ -1016,8 +940,7 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
1016
940
  })])
1017
941
  }),
1018
942
  /**
1019
- * The components used for each slot inside the Slider.
1020
- * Either a string to use a HTML element or a component.
943
+ * The components used for each slot inside.
1021
944
  * @default {}
1022
945
  */
1023
946
  slots: _propTypes.default.shape({