@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
@@ -21,7 +21,6 @@ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
21
21
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
22
22
  var _speedDialActionClasses = _interopRequireWildcard(require("./speedDialActionClasses"));
23
23
  var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
24
- var _utils = require("../utils");
25
24
  var _jsxRuntime = require("react/jsx-runtime");
26
25
  const useUtilityClasses = ownerState => {
27
26
  const {
@@ -147,18 +146,15 @@ const SpeedDialAction = /*#__PURE__*/React.forwardRef(function SpeedDialAction(i
147
146
  const {
148
147
  className,
149
148
  delay = 0,
150
- FabProps = {},
151
149
  icon,
152
150
  id,
153
151
  open,
154
- TooltipClasses,
155
- tooltipOpen: tooltipOpenProp = false,
156
- tooltipPlacement = 'left',
157
- tooltipTitle,
158
152
  slots = {},
159
153
  slotProps = {},
160
154
  ...other
161
155
  } = props;
156
+ const resolvedTooltipSlotProps = typeof slotProps.tooltip === 'function' ? slotProps.tooltip(props) : slotProps.tooltip ?? {};
157
+ const tooltipPlacement = resolvedTooltipSlotProps.placement ?? 'left';
162
158
  const ownerState = {
163
159
  ...props,
164
160
  tooltipPlacement
@@ -166,18 +162,9 @@ const SpeedDialAction = /*#__PURE__*/React.forwardRef(function SpeedDialAction(i
166
162
  const classes = useUtilityClasses(ownerState);
167
163
  const externalForwardedProps = {
168
164
  slots,
169
- slotProps: {
170
- fab: FabProps,
171
- ...slotProps,
172
- tooltip: (0, _utils.mergeSlotProps)(typeof slotProps.tooltip === 'function' ? slotProps.tooltip(ownerState) : slotProps.tooltip, {
173
- title: tooltipTitle,
174
- open: tooltipOpenProp,
175
- placement: tooltipPlacement,
176
- classes: TooltipClasses
177
- })
178
- }
165
+ slotProps
179
166
  };
180
- const [tooltipOpen, setTooltipOpen] = React.useState(externalForwardedProps.slotProps.tooltip?.open);
167
+ const [tooltipOpen, setTooltipOpen] = React.useState(resolvedTooltipSlotProps.open ?? false);
181
168
  const handleTooltipClose = () => {
182
169
  setTooltipOpen(false);
183
170
  };
@@ -288,12 +275,6 @@ process.env.NODE_ENV !== "production" ? SpeedDialAction.propTypes /* remove-prop
288
275
  * @default 0
289
276
  */
290
277
  delay: _propTypes.default.number,
291
- /**
292
- * Props applied to the [`Fab`](https://mui.com/material-ui/api/fab/) component.
293
- * @default {}
294
- * @deprecated Use `slotProps.fab` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
295
- */
296
- FabProps: _propTypes.default.object,
297
278
  /**
298
279
  * The icon to display in the SpeedDial Fab.
299
280
  */
@@ -330,28 +311,6 @@ process.env.NODE_ENV !== "production" ? SpeedDialAction.propTypes /* remove-prop
330
311
  /**
331
312
  * The system prop that allows defining system overrides as well as additional CSS styles.
332
313
  */
333
- sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
334
- /**
335
- * `classes` prop applied to the [`Tooltip`](https://mui.com/material-ui/api/tooltip/) element.
336
- * @deprecated Use `slotProps.tooltip.classes` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
337
- */
338
- TooltipClasses: _propTypes.default.object,
339
- /**
340
- * Make the tooltip always visible when the SpeedDial is open.
341
- * @default false
342
- * @deprecated Use `slotProps.tooltip.open` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
343
- */
344
- tooltipOpen: _propTypes.default.bool,
345
- /**
346
- * Placement of the tooltip.
347
- * @default 'left'
348
- * @deprecated Use `slotProps.tooltip.placement` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
349
- */
350
- tooltipPlacement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
351
- /**
352
- * Label to display in the tooltip.
353
- * @deprecated Use `slotProps.tooltip.title` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
354
- */
355
- tooltipTitle: _propTypes.default.node
314
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
356
315
  } : void 0;
357
316
  var _default = exports.default = SpeedDialAction;
@@ -14,7 +14,6 @@ import Tooltip from "../Tooltip/index.mjs";
14
14
  import capitalize from "../utils/capitalize.mjs";
15
15
  import speedDialActionClasses, { getSpeedDialActionUtilityClass } from "./speedDialActionClasses.mjs";
16
16
  import useSlot from "../utils/useSlot.mjs";
17
- import { mergeSlotProps } from "../utils/index.mjs";
18
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
18
  const useUtilityClasses = ownerState => {
20
19
  const {
@@ -140,18 +139,15 @@ const SpeedDialAction = /*#__PURE__*/React.forwardRef(function SpeedDialAction(i
140
139
  const {
141
140
  className,
142
141
  delay = 0,
143
- FabProps = {},
144
142
  icon,
145
143
  id,
146
144
  open,
147
- TooltipClasses,
148
- tooltipOpen: tooltipOpenProp = false,
149
- tooltipPlacement = 'left',
150
- tooltipTitle,
151
145
  slots = {},
152
146
  slotProps = {},
153
147
  ...other
154
148
  } = props;
149
+ const resolvedTooltipSlotProps = typeof slotProps.tooltip === 'function' ? slotProps.tooltip(props) : slotProps.tooltip ?? {};
150
+ const tooltipPlacement = resolvedTooltipSlotProps.placement ?? 'left';
155
151
  const ownerState = {
156
152
  ...props,
157
153
  tooltipPlacement
@@ -159,18 +155,9 @@ const SpeedDialAction = /*#__PURE__*/React.forwardRef(function SpeedDialAction(i
159
155
  const classes = useUtilityClasses(ownerState);
160
156
  const externalForwardedProps = {
161
157
  slots,
162
- slotProps: {
163
- fab: FabProps,
164
- ...slotProps,
165
- tooltip: mergeSlotProps(typeof slotProps.tooltip === 'function' ? slotProps.tooltip(ownerState) : slotProps.tooltip, {
166
- title: tooltipTitle,
167
- open: tooltipOpenProp,
168
- placement: tooltipPlacement,
169
- classes: TooltipClasses
170
- })
171
- }
158
+ slotProps
172
159
  };
173
- const [tooltipOpen, setTooltipOpen] = React.useState(externalForwardedProps.slotProps.tooltip?.open);
160
+ const [tooltipOpen, setTooltipOpen] = React.useState(resolvedTooltipSlotProps.open ?? false);
174
161
  const handleTooltipClose = () => {
175
162
  setTooltipOpen(false);
176
163
  };
@@ -281,12 +268,6 @@ process.env.NODE_ENV !== "production" ? SpeedDialAction.propTypes /* remove-prop
281
268
  * @default 0
282
269
  */
283
270
  delay: PropTypes.number,
284
- /**
285
- * Props applied to the [`Fab`](https://mui.com/material-ui/api/fab/) component.
286
- * @default {}
287
- * @deprecated Use `slotProps.fab` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
288
- */
289
- FabProps: PropTypes.object,
290
271
  /**
291
272
  * The icon to display in the SpeedDial Fab.
292
273
  */
@@ -323,28 +304,6 @@ process.env.NODE_ENV !== "production" ? SpeedDialAction.propTypes /* remove-prop
323
304
  /**
324
305
  * The system prop that allows defining system overrides as well as additional CSS styles.
325
306
  */
326
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
327
- /**
328
- * `classes` prop applied to the [`Tooltip`](https://mui.com/material-ui/api/tooltip/) element.
329
- * @deprecated Use `slotProps.tooltip.classes` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
330
- */
331
- TooltipClasses: PropTypes.object,
332
- /**
333
- * Make the tooltip always visible when the SpeedDial is open.
334
- * @default false
335
- * @deprecated Use `slotProps.tooltip.open` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
336
- */
337
- tooltipOpen: PropTypes.bool,
338
- /**
339
- * Placement of the tooltip.
340
- * @default 'left'
341
- * @deprecated Use `slotProps.tooltip.placement` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
342
- */
343
- tooltipPlacement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
344
- /**
345
- * Label to display in the tooltip.
346
- * @deprecated Use `slotProps.tooltip.title` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
347
- */
348
- tooltipTitle: PropTypes.node
307
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
349
308
  } : void 0;
350
309
  export default SpeedDialAction;
package/Step/Step.js CHANGED
@@ -12,7 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _integerPropType = _interopRequireDefault(require("@mui/utils/integerPropType"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
- var _StepperContext = _interopRequireDefault(require("../Stepper/StepperContext"));
15
+ var _StepperContext = require("../Stepper/StepperContext");
16
16
  var _StepContext = _interopRequireDefault(require("./StepContext"));
17
17
  var _zeroStyled = require("../zero-styled");
18
18
  var _DefaultPropsProvider = require("../DefaultPropsProvider");
@@ -30,7 +30,7 @@ const useUtilityClasses = ownerState => {
30
30
  };
31
31
  return (0, _composeClasses.default)(slots, _stepClasses.getStepUtilityClass, classes);
32
32
  };
33
- const StepRoot = (0, _zeroStyled.styled)('div', {
33
+ const StepRoot = (0, _zeroStyled.styled)('li', {
34
34
  name: 'MuiStep',
35
35
  slot: 'Root',
36
36
  overridesResolver: (props, styles) => {
@@ -67,7 +67,7 @@ const Step = /*#__PURE__*/React.forwardRef(function Step(inProps, ref) {
67
67
  active: activeProp,
68
68
  children,
69
69
  className,
70
- component = 'div',
70
+ component = 'li',
71
71
  completed: completedProp,
72
72
  disabled: disabledProp,
73
73
  expanded = false,
@@ -80,8 +80,9 @@ const Step = /*#__PURE__*/React.forwardRef(function Step(inProps, ref) {
80
80
  connector,
81
81
  alternativeLabel,
82
82
  orientation,
83
- nonLinear
84
- } = React.useContext(_StepperContext.default);
83
+ nonLinear,
84
+ isTabList
85
+ } = (0, _StepperContext.useStepperContext)();
85
86
  let [active = false, completed = false, disabled = false] = [activeProp, completedProp, disabledProp];
86
87
  if (activeStep === index) {
87
88
  active = activeProp !== undefined ? activeProp : true;
@@ -115,6 +116,7 @@ const Step = /*#__PURE__*/React.forwardRef(function Step(inProps, ref) {
115
116
  className: (0, _clsx.default)(classes.root, className),
116
117
  ref: ref,
117
118
  ownerState: ownerState,
119
+ role: isTabList ? 'presentation' : undefined,
118
120
  ...other,
119
121
  children: [connector && alternativeLabel && index !== 0 ? connector : null, children]
120
122
  });
package/Step/Step.mjs CHANGED
@@ -5,7 +5,7 @@ import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
6
  import integerPropType from '@mui/utils/integerPropType';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
- import StepperContext from "../Stepper/StepperContext.mjs";
8
+ import { useStepperContext } from "../Stepper/StepperContext.mjs";
9
9
  import StepContext from "./StepContext.mjs";
10
10
  import { styled } from "../zero-styled/index.mjs";
11
11
  import { useDefaultProps } from "../DefaultPropsProvider/index.mjs";
@@ -23,7 +23,7 @@ const useUtilityClasses = ownerState => {
23
23
  };
24
24
  return composeClasses(slots, getStepUtilityClass, classes);
25
25
  };
26
- const StepRoot = styled('div', {
26
+ const StepRoot = styled('li', {
27
27
  name: 'MuiStep',
28
28
  slot: 'Root',
29
29
  overridesResolver: (props, styles) => {
@@ -60,7 +60,7 @@ const Step = /*#__PURE__*/React.forwardRef(function Step(inProps, ref) {
60
60
  active: activeProp,
61
61
  children,
62
62
  className,
63
- component = 'div',
63
+ component = 'li',
64
64
  completed: completedProp,
65
65
  disabled: disabledProp,
66
66
  expanded = false,
@@ -73,8 +73,9 @@ const Step = /*#__PURE__*/React.forwardRef(function Step(inProps, ref) {
73
73
  connector,
74
74
  alternativeLabel,
75
75
  orientation,
76
- nonLinear
77
- } = React.useContext(StepperContext);
76
+ nonLinear,
77
+ isTabList
78
+ } = useStepperContext();
78
79
  let [active = false, completed = false, disabled = false] = [activeProp, completedProp, disabledProp];
79
80
  if (activeStep === index) {
80
81
  active = activeProp !== undefined ? activeProp : true;
@@ -108,6 +109,7 @@ const Step = /*#__PURE__*/React.forwardRef(function Step(inProps, ref) {
108
109
  className: clsx(classes.root, className),
109
110
  ref: ref,
110
111
  ownerState: ownerState,
112
+ role: isTabList ? 'presentation' : undefined,
111
113
  ...other,
112
114
  children: [connector && alternativeLabel && index !== 0 ? connector : null, children]
113
115
  });
@@ -16,7 +16,7 @@ var _DefaultPropsProvider = require("../DefaultPropsProvider");
16
16
  var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
17
17
  var _StepLabel = _interopRequireDefault(require("../StepLabel"));
18
18
  var _isMuiElement = _interopRequireDefault(require("../utils/isMuiElement"));
19
- var _StepperContext = _interopRequireDefault(require("../Stepper/StepperContext"));
19
+ var _StepperContext = require("../Stepper/StepperContext");
20
20
  var _StepContext = _interopRequireDefault(require("../Step/StepContext"));
21
21
  var _stepButtonClasses = _interopRequireWildcard(require("./stepButtonClasses"));
22
22
  var _jsxRuntime = require("react/jsx-runtime");
@@ -75,11 +75,14 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
75
75
  } = props;
76
76
  const {
77
77
  disabled,
78
- active
78
+ active,
79
+ index
79
80
  } = React.useContext(_StepContext.default);
80
81
  const {
81
- orientation
82
- } = React.useContext(_StepperContext.default);
82
+ orientation,
83
+ totalSteps,
84
+ getRovingTabIndexProps
85
+ } = (0, _StepperContext.useStepperContext)();
83
86
  const ownerState = {
84
87
  ...props,
85
88
  orientation
@@ -93,6 +96,10 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
93
96
  ...childProps,
94
97
  children: children
95
98
  });
99
+ const rovingTabIndexItemProps = getRovingTabIndexProps?.(index, ref) ?? {
100
+ ref,
101
+ tabIndex: active ? 0 : -1
102
+ };
96
103
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StepButtonRoot, {
97
104
  focusRipple: true,
98
105
  disabled: disabled,
@@ -100,9 +107,12 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
100
107
  className: classes.touchRipple
101
108
  },
102
109
  className: (0, _clsx.default)(classes.root, className),
103
- ref: ref,
104
110
  ownerState: ownerState,
105
- "aria-current": active ? 'step' : undefined,
111
+ "aria-selected": active,
112
+ "aria-posinset": index + 1,
113
+ "aria-setsize": totalSteps,
114
+ role: "tab",
115
+ ...rovingTabIndexItemProps,
106
116
  ...other,
107
117
  children: child
108
118
  });
@@ -9,7 +9,7 @@ import { useDefaultProps } from "../DefaultPropsProvider/index.mjs";
9
9
  import ButtonBase from "../ButtonBase/index.mjs";
10
10
  import StepLabel from "../StepLabel/index.mjs";
11
11
  import isMuiElement from "../utils/isMuiElement.mjs";
12
- import StepperContext from "../Stepper/StepperContext.mjs";
12
+ import { useStepperContext } from "../Stepper/StepperContext.mjs";
13
13
  import StepContext from "../Step/StepContext.mjs";
14
14
  import stepButtonClasses, { getStepButtonUtilityClass } from "./stepButtonClasses.mjs";
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -68,11 +68,14 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
68
68
  } = props;
69
69
  const {
70
70
  disabled,
71
- active
71
+ active,
72
+ index
72
73
  } = React.useContext(StepContext);
73
74
  const {
74
- orientation
75
- } = React.useContext(StepperContext);
75
+ orientation,
76
+ totalSteps,
77
+ getRovingTabIndexProps
78
+ } = useStepperContext();
76
79
  const ownerState = {
77
80
  ...props,
78
81
  orientation
@@ -86,6 +89,10 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
86
89
  ...childProps,
87
90
  children: children
88
91
  });
92
+ const rovingTabIndexItemProps = getRovingTabIndexProps?.(index, ref) ?? {
93
+ ref,
94
+ tabIndex: active ? 0 : -1
95
+ };
89
96
  return /*#__PURE__*/_jsx(StepButtonRoot, {
90
97
  focusRipple: true,
91
98
  disabled: disabled,
@@ -93,9 +100,12 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
93
100
  className: classes.touchRipple
94
101
  },
95
102
  className: clsx(classes.root, className),
96
- ref: ref,
97
103
  ownerState: ownerState,
98
- "aria-current": active ? 'step' : undefined,
104
+ "aria-selected": active,
105
+ "aria-posinset": index + 1,
106
+ "aria-setsize": totalSteps,
107
+ role: "tab",
108
+ ...rovingTabIndexItemProps,
99
109
  ...other,
100
110
  children: child
101
111
  });
@@ -15,7 +15,7 @@ var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
15
15
  var _zeroStyled = require("../zero-styled");
16
16
  var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
17
17
  var _DefaultPropsProvider = require("../DefaultPropsProvider");
18
- var _StepperContext = _interopRequireDefault(require("../Stepper/StepperContext"));
18
+ var _StepperContext = require("../Stepper/StepperContext");
19
19
  var _StepContext = _interopRequireDefault(require("../Step/StepContext"));
20
20
  var _stepConnectorClasses = require("./stepConnectorClasses");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
@@ -112,7 +112,7 @@ const StepConnector = /*#__PURE__*/React.forwardRef(function StepConnector(inPro
112
112
  const {
113
113
  alternativeLabel,
114
114
  orientation = 'horizontal'
115
- } = React.useContext(_StepperContext.default);
115
+ } = (0, _StepperContext.useStepperContext)();
116
116
  const {
117
117
  active,
118
118
  disabled,
@@ -8,7 +8,7 @@ import capitalize from "../utils/capitalize.mjs";
8
8
  import { styled } from "../zero-styled/index.mjs";
9
9
  import memoTheme from "../utils/memoTheme.mjs";
10
10
  import { useDefaultProps } from "../DefaultPropsProvider/index.mjs";
11
- import StepperContext from "../Stepper/StepperContext.mjs";
11
+ import { useStepperContext } from "../Stepper/StepperContext.mjs";
12
12
  import StepContext from "../Step/StepContext.mjs";
13
13
  import { getStepConnectorUtilityClass } from "./stepConnectorClasses.mjs";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -105,7 +105,7 @@ const StepConnector = /*#__PURE__*/React.forwardRef(function StepConnector(inPro
105
105
  const {
106
106
  alternativeLabel,
107
107
  orientation = 'horizontal'
108
- } = React.useContext(StepperContext);
108
+ } = useStepperContext();
109
109
  const {
110
110
  active,
111
111
  disabled,
@@ -15,7 +15,7 @@ var _zeroStyled = require("../zero-styled");
15
15
  var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
16
16
  var _DefaultPropsProvider = require("../DefaultPropsProvider");
17
17
  var _Collapse = _interopRequireDefault(require("../Collapse"));
18
- var _StepperContext = _interopRequireDefault(require("../Stepper/StepperContext"));
18
+ var _StepperContext = require("../Stepper/StepperContext");
19
19
  var _StepContext = _interopRequireDefault(require("../Step/StepContext"));
20
20
  var _stepContentClasses = require("./stepContentClasses");
21
21
  var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
@@ -79,7 +79,7 @@ const StepContent = /*#__PURE__*/React.forwardRef(function StepContent(inProps,
79
79
  } = props;
80
80
  const {
81
81
  orientation
82
- } = React.useContext(_StepperContext.default);
82
+ } = (0, _StepperContext.useStepperContext)();
83
83
  const {
84
84
  active,
85
85
  last,
@@ -8,7 +8,7 @@ import { styled } from "../zero-styled/index.mjs";
8
8
  import memoTheme from "../utils/memoTheme.mjs";
9
9
  import { useDefaultProps } from "../DefaultPropsProvider/index.mjs";
10
10
  import Collapse from "../Collapse/index.mjs";
11
- import StepperContext from "../Stepper/StepperContext.mjs";
11
+ import { useStepperContext } from "../Stepper/StepperContext.mjs";
12
12
  import StepContext from "../Step/StepContext.mjs";
13
13
  import { getStepContentUtilityClass } from "./stepContentClasses.mjs";
14
14
  import useSlot from "../utils/useSlot.mjs";
@@ -72,7 +72,7 @@ const StepContent = /*#__PURE__*/React.forwardRef(function StepContent(inProps,
72
72
  } = props;
73
73
  const {
74
74
  orientation
75
- } = React.useContext(StepperContext);
75
+ } = useStepperContext();
76
76
  const {
77
77
  active,
78
78
  last,
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var React = _interopRequireWildcard(require("react"));
14
14
  var _StepContext = _interopRequireDefault(require("../Step/StepContext"));
15
15
  var _StepIcon = _interopRequireDefault(require("../StepIcon"));
16
- var _StepperContext = _interopRequireDefault(require("../Stepper/StepperContext"));
16
+ var _StepperContext = require("../Stepper/StepperContext");
17
17
  var _zeroStyled = require("../zero-styled");
18
18
  var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
19
19
  var _DefaultPropsProvider = require("../DefaultPropsProvider");
@@ -132,7 +132,7 @@ const StepLabel = /*#__PURE__*/React.forwardRef(function StepLabel(inProps, ref)
132
132
  const {
133
133
  alternativeLabel,
134
134
  orientation
135
- } = React.useContext(_StepperContext.default);
135
+ } = (0, _StepperContext.useStepperContext)();
136
136
  const {
137
137
  active,
138
138
  disabled,
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import * as React from 'react';
7
7
  import StepContext from "../Step/StepContext.mjs";
8
8
  import StepIcon from "../StepIcon/index.mjs";
9
- import StepperContext from "../Stepper/StepperContext.mjs";
9
+ import { useStepperContext } from "../Stepper/StepperContext.mjs";
10
10
  import { styled } from "../zero-styled/index.mjs";
11
11
  import memoTheme from "../utils/memoTheme.mjs";
12
12
  import { useDefaultProps } from "../DefaultPropsProvider/index.mjs";
@@ -125,7 +125,7 @@ const StepLabel = /*#__PURE__*/React.forwardRef(function StepLabel(inProps, ref)
125
125
  const {
126
126
  alternativeLabel,
127
127
  orientation
128
- } = React.useContext(StepperContext);
128
+ } = useStepperContext();
129
129
  const {
130
130
  active,
131
131
  disabled,
@@ -12,11 +12,14 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _integerPropType = _interopRequireDefault(require("@mui/utils/integerPropType"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
+ var _RtlProvider = require("@mui/system/RtlProvider");
16
+ var _useRovingTabIndex = _interopRequireDefault(require("../utils/useRovingTabIndex"));
15
17
  var _zeroStyled = require("../zero-styled");
16
18
  var _DefaultPropsProvider = require("../DefaultPropsProvider");
17
19
  var _stepperClasses = require("./stepperClasses");
18
20
  var _StepConnector = _interopRequireDefault(require("../StepConnector"));
19
- var _StepperContext = _interopRequireDefault(require("./StepperContext"));
21
+ var _StepperContext = require("./StepperContext");
22
+ var _StepButton = _interopRequireDefault(require("../StepButton"));
20
23
  var _jsxRuntime = require("react/jsx-runtime");
21
24
  const useUtilityClasses = ownerState => {
22
25
  const {
@@ -30,7 +33,7 @@ const useUtilityClasses = ownerState => {
30
33
  };
31
34
  return (0, _composeClasses.default)(slots, _stepperClasses.getStepperUtilityClass, classes);
32
35
  };
33
- const StepperRoot = (0, _zeroStyled.styled)('div', {
36
+ const StepperRoot = (0, _zeroStyled.styled)('ol', {
34
37
  name: 'MuiStepper',
35
38
  slot: 'Root',
36
39
  overridesResolver: (props, styles) => {
@@ -41,6 +44,9 @@ const StepperRoot = (0, _zeroStyled.styled)('div', {
41
44
  }
42
45
  })({
43
46
  display: 'flex',
47
+ listStyle: 'none',
48
+ margin: 0,
49
+ padding: 0,
44
50
  variants: [{
45
51
  props: {
46
52
  orientation: 'horizontal'
@@ -67,6 +73,7 @@ const StepperRoot = (0, _zeroStyled.styled)('div', {
67
73
  });
68
74
  const defaultConnector = /*#__PURE__*/(0, _jsxRuntime.jsx)(_StepConnector.default, {});
69
75
  const Stepper = /*#__PURE__*/React.forwardRef(function Stepper(inProps, ref) {
76
+ const isRtl = (0, _RtlProvider.useRtl)();
70
77
  const props = (0, _DefaultPropsProvider.useDefaultProps)({
71
78
  props: inProps,
72
79
  name: 'MuiStepper'
@@ -76,7 +83,7 @@ const Stepper = /*#__PURE__*/React.forwardRef(function Stepper(inProps, ref) {
76
83
  alternativeLabel = false,
77
84
  children,
78
85
  className,
79
- component = 'div',
86
+ component = 'ol',
80
87
  connector = defaultConnector,
81
88
  nonLinear = false,
82
89
  orientation = 'horizontal',
@@ -91,27 +98,57 @@ const Stepper = /*#__PURE__*/React.forwardRef(function Stepper(inProps, ref) {
91
98
  };
92
99
  const classes = useUtilityClasses(ownerState);
93
100
  const childrenArray = React.Children.toArray(children).filter(Boolean);
101
+ const totalSteps = childrenArray.length;
102
+ const isTabList = childrenArray.some(child => {
103
+ if (! /*#__PURE__*/React.isValidElement(child)) {
104
+ return false;
105
+ }
106
+ if (child.type === _StepButton.default) {
107
+ return true;
108
+ }
109
+ const grandChildren = child.props.children;
110
+ if (grandChildren) {
111
+ return React.Children.toArray(grandChildren).some(grandChild => /*#__PURE__*/React.isValidElement(grandChild) && grandChild.type === _StepButton.default);
112
+ }
113
+ return false;
114
+ });
94
115
  const steps = childrenArray.map((step, index) => {
95
116
  return /*#__PURE__*/React.cloneElement(step, {
96
117
  index,
97
- last: index + 1 === childrenArray.length,
118
+ last: index + 1 === totalSteps,
98
119
  ...step.props
99
120
  });
100
121
  });
122
+ const {
123
+ getContainerProps,
124
+ getItemProps
125
+ } = (0, _useRovingTabIndex.default)({
126
+ orientation,
127
+ isRtl
128
+ });
129
+ const rovingTabIndexContainerProps = getContainerProps(ref);
101
130
  const contextValue = React.useMemo(() => ({
102
131
  activeStep,
103
132
  alternativeLabel,
104
133
  connector,
105
134
  nonLinear,
106
- orientation
107
- }), [activeStep, alternativeLabel, connector, nonLinear, orientation]);
108
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StepperContext.default.Provider, {
135
+ orientation,
136
+ totalSteps,
137
+ getRovingTabIndexProps: getItemProps,
138
+ isTabList
139
+ }), [activeStep, alternativeLabel, connector, nonLinear, orientation, totalSteps, getItemProps, isTabList]);
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StepperContext.StepperContextProvider, {
109
141
  value: contextValue,
110
142
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StepperRoot, {
111
143
  as: component,
112
144
  ownerState: ownerState,
113
145
  className: (0, _clsx.default)(classes.root, className),
114
146
  ref: ref,
147
+ ...(isTabList && {
148
+ role: 'tablist',
149
+ 'aria-orientation': orientation,
150
+ ...rovingTabIndexContainerProps
151
+ }),
115
152
  ...other,
116
153
  children: steps
117
154
  })