@mui/material 5.10.6 → 5.10.7

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 (209) hide show
  1. package/Accordion/accordionClasses.d.ts +18 -18
  2. package/AccordionActions/accordionActionsClasses.d.ts +10 -10
  3. package/AccordionDetails/accordionDetailsClasses.d.ts +8 -8
  4. package/AccordionSummary/accordionSummaryClasses.d.ts +22 -22
  5. package/Alert/alertClasses.d.ts +44 -44
  6. package/AlertTitle/alertTitleClasses.d.ts +8 -8
  7. package/AppBar/appBarClasses.d.ts +28 -28
  8. package/Autocomplete/autocompleteClasses.d.ts +54 -54
  9. package/Avatar/avatarClasses.d.ts +20 -20
  10. package/AvatarGroup/avatarGroupClasses.d.ts +10 -10
  11. package/Backdrop/backdropClasses.d.ts +10 -10
  12. package/Badge/badgeClasses.d.ts +56 -56
  13. package/BottomNavigation/BottomNavigation.js +0 -0
  14. package/BottomNavigation/bottomNavigationClasses.d.ts +8 -8
  15. package/BottomNavigationAction/bottomNavigationActionClasses.d.ts +14 -14
  16. package/Breadcrumbs/breadcrumbsClasses.d.ts +14 -14
  17. package/Button/Button.js +3 -10
  18. package/Button/buttonClasses.d.ts +100 -100
  19. package/ButtonBase/buttonBaseClasses.d.ts +12 -12
  20. package/ButtonBase/touchRippleClasses.d.ts +20 -20
  21. package/ButtonGroup/ButtonGroupContext.d.ts +18 -18
  22. package/ButtonGroup/buttonGroupClasses.d.ts +58 -58
  23. package/CHANGELOG.md +78 -0
  24. package/Card/cardClasses.d.ts +8 -8
  25. package/CardActionArea/cardActionAreaClasses.d.ts +12 -12
  26. package/CardActions/cardActionsClasses.d.ts +10 -10
  27. package/CardContent/cardContentClasses.d.ts +8 -8
  28. package/CardHeader/cardHeaderClasses.d.ts +18 -18
  29. package/CardMedia/cardMediaClasses.d.ts +12 -12
  30. package/Checkbox/Checkbox.js +12 -3
  31. package/Checkbox/checkboxClasses.d.ts +18 -18
  32. package/Chip/chipClasses.d.ts +96 -88
  33. package/Chip/chipClasses.js +1 -1
  34. package/CircularProgress/circularProgressClasses.d.ts +26 -26
  35. package/ClickAwayListener/index.d.ts +2 -2
  36. package/Collapse/collapseClasses.d.ts +18 -18
  37. package/Container/containerClasses.d.ts +6 -6
  38. package/Dialog/DialogContext.d.ts +6 -6
  39. package/Dialog/dialogClasses.d.ts +36 -36
  40. package/DialogActions/dialogActionsClasses.d.ts +10 -10
  41. package/DialogContent/dialogContentClasses.d.ts +10 -10
  42. package/DialogContentText/DialogContentText.js +14 -3
  43. package/DialogContentText/dialogContentTextClasses.d.ts +8 -8
  44. package/DialogTitle/dialogTitleClasses.d.ts +8 -8
  45. package/Divider/dividerClasses.d.ts +34 -34
  46. package/Drawer/drawerClasses.d.ts +30 -30
  47. package/Fab/fabClasses.d.ts +26 -26
  48. package/FilledInput/filledInputClasses.d.ts +40 -40
  49. package/FormControl/formControlClasses.d.ts +14 -14
  50. package/FormControlLabel/formControlLabelClasses.d.ts +20 -20
  51. package/FormGroup/formGroupClasses.d.ts +12 -12
  52. package/FormHelperText/formHelperTextClasses.d.ts +22 -22
  53. package/FormLabel/formLabelClasses.d.ts +22 -22
  54. package/Grid/gridClasses.d.ts +48 -48
  55. package/Icon/iconClasses.d.ts +24 -24
  56. package/IconButton/iconButtonClasses.d.ts +26 -26
  57. package/ImageList/imageListClasses.d.ts +16 -16
  58. package/ImageListItem/imageListItemClasses.d.ts +18 -18
  59. package/ImageListItemBar/imageListItemBarClasses.d.ts +30 -30
  60. package/Input/inputClasses.d.ts +34 -34
  61. package/InputAdornment/inputAdornmentClasses.d.ts +24 -24
  62. package/InputBase/inputBaseClasses.d.ts +46 -46
  63. package/InputLabel/InputLabel.js +12 -3
  64. package/InputLabel/inputLabelClasses.d.ts +32 -32
  65. package/LinearProgress/linearProgressClasses.d.ts +42 -42
  66. package/Link/getTextDecoration.d.ts +15 -15
  67. package/Link/linkClasses.d.ts +18 -18
  68. package/List/listClasses.d.ts +14 -14
  69. package/ListItem/listItemClasses.d.ts +30 -30
  70. package/ListItemAvatar/listItemAvatarClasses.d.ts +10 -10
  71. package/ListItemButton/ListItemButton.js +10 -3
  72. package/ListItemButton/listItemButtonClasses.d.ts +22 -22
  73. package/ListItemIcon/listItemIconClasses.d.ts +10 -10
  74. package/ListItemSecondaryAction/listItemSecondaryActionClasses.d.ts +10 -10
  75. package/ListItemText/listItemTextClasses.d.ts +18 -18
  76. package/ListSubheader/listSubheaderClasses.d.ts +18 -18
  77. package/Menu/menuClasses.d.ts +12 -12
  78. package/MenuItem/MenuItem.js +10 -3
  79. package/MenuItem/menuItemClasses.d.ts +20 -20
  80. package/MobileStepper/mobileStepperClasses.d.ts +22 -22
  81. package/NativeSelect/nativeSelectClasses.d.ts +32 -32
  82. package/OutlinedInput/outlinedInputClasses.d.ts +36 -36
  83. package/OverridableComponentAugmentation.d.ts +31 -31
  84. package/Pagination/paginationClasses.d.ts +14 -14
  85. package/PaginationItem/paginationItemClasses.d.ts +42 -42
  86. package/Paper/paperClasses.d.ts +39 -39
  87. package/Popover/popoverClasses.d.ts +10 -10
  88. package/Popper/Popper.d.ts +24 -24
  89. package/Radio/Radio.js +12 -3
  90. package/Radio/radioClasses.d.ts +16 -16
  91. package/RadioGroup/RadioGroupContext.d.ts +11 -11
  92. package/RadioGroup/useRadioGroup.d.ts +4 -4
  93. package/Rating/ratingClasses.d.ts +40 -40
  94. package/ScopedCssBaseline/scopedCssBaselineClasses.d.ts +8 -8
  95. package/Select/selectClasses.d.ts +30 -30
  96. package/Skeleton/skeletonClasses.d.ts +26 -26
  97. package/Snackbar/snackbarClasses.d.ts +20 -20
  98. package/SnackbarContent/snackbarContentClasses.d.ts +12 -12
  99. package/SpeedDial/speedDialClasses.d.ts +22 -22
  100. package/SpeedDialAction/speedDialActionClasses.d.ts +20 -20
  101. package/SpeedDialIcon/speedDialIconClasses.d.ts +18 -18
  102. package/Step/StepContext.d.ts +20 -20
  103. package/Step/stepClasses.d.ts +16 -16
  104. package/StepButton/stepButtonClasses.d.ts +14 -14
  105. package/StepConnector/stepConnectorClasses.d.ts +26 -26
  106. package/StepContent/stepContentClasses.d.ts +12 -12
  107. package/StepIcon/stepIconClasses.d.ts +16 -16
  108. package/StepLabel/StepLabel.js +5 -3
  109. package/StepLabel/stepLabelClasses.d.ts +28 -28
  110. package/Stepper/StepperContext.d.ts +18 -18
  111. package/Stepper/stepperClasses.d.ts +14 -14
  112. package/SvgIcon/SvgIcon.js +2 -2
  113. package/SvgIcon/svgIconClasses.d.ts +26 -24
  114. package/Switch/switchClasses.d.ts +32 -32
  115. package/Tab/tabClasses.d.ts +26 -26
  116. package/TabScrollButton/tabScrollButtonClasses.d.ts +12 -12
  117. package/Table/tableClasses.d.ts +10 -10
  118. package/TableBody/tableBodyClasses.d.ts +8 -8
  119. package/TableCell/tableCellClasses.d.ts +32 -32
  120. package/TableContainer/tableContainerClasses.d.ts +8 -8
  121. package/TableFooter/tableFooterClasses.d.ts +8 -8
  122. package/TableHead/tableHeadClasses.d.ts +8 -8
  123. package/TablePagination/tablePaginationClasses.d.ts +28 -28
  124. package/TableRow/tableRowClasses.d.ts +16 -16
  125. package/TableSortLabel/tableSortLabelClasses.d.ts +16 -16
  126. package/Tabs/tabsClasses.d.ts +32 -32
  127. package/TextField/textFieldClasses.d.ts +8 -8
  128. package/ToggleButton/toggleButtonClasses.d.ts +24 -24
  129. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +18 -18
  130. package/Toolbar/toolbarClasses.d.ts +14 -14
  131. package/Tooltip/Tooltip.d.ts +2 -2
  132. package/Tooltip/Tooltip.js +3 -5
  133. package/Tooltip/tooltipClasses.d.ts +30 -30
  134. package/Typography/typographyClasses.d.ts +50 -50
  135. package/Unstable_Grid2/Grid2.d.ts +4 -4
  136. package/Unstable_Grid2/Grid2Props.d.ts +15 -15
  137. package/Unstable_Grid2/grid2Classes.d.ts +5 -5
  138. package/Unstable_Grid2/index.d.ts +4 -4
  139. package/Unstable_TrapFocus/index.d.ts +2 -2
  140. package/Unstable_TrapFocus/index.js +2 -2
  141. package/className/index.d.ts +1 -1
  142. package/darkScrollbar/index.d.ts +28 -28
  143. package/esm/BottomNavigation/BottomNavigation.js +0 -0
  144. package/esm/Button/Button.js +3 -8
  145. package/esm/Checkbox/Checkbox.js +11 -3
  146. package/esm/Chip/chipClasses.js +1 -1
  147. package/esm/DialogContentText/DialogContentText.js +13 -3
  148. package/esm/InputLabel/InputLabel.js +11 -3
  149. package/esm/ListItemButton/ListItemButton.js +10 -3
  150. package/esm/MenuItem/MenuItem.js +10 -3
  151. package/esm/Radio/Radio.js +11 -3
  152. package/esm/StepLabel/StepLabel.js +5 -3
  153. package/esm/SvgIcon/SvgIcon.js +2 -2
  154. package/esm/Tooltip/Tooltip.js +3 -5
  155. package/esm/Unstable_TrapFocus/index.js +1 -1
  156. package/esm/styles/CssVarsProvider.js +3 -1
  157. package/esm/styles/excludeVariablesFromRoot.js +6 -0
  158. package/index.js +1 -1
  159. package/internal/switchBaseClasses.d.ts +12 -12
  160. package/legacy/BottomNavigation/BottomNavigation.js +0 -0
  161. package/legacy/Button/Button.js +2 -4
  162. package/legacy/Checkbox/Checkbox.js +10 -2
  163. package/legacy/Chip/chipClasses.js +1 -1
  164. package/legacy/DialogContentText/DialogContentText.js +10 -2
  165. package/legacy/InputLabel/InputLabel.js +10 -2
  166. package/legacy/ListItemButton/ListItemButton.js +9 -2
  167. package/legacy/MenuItem/MenuItem.js +9 -2
  168. package/legacy/Radio/Radio.js +10 -2
  169. package/legacy/StepLabel/StepLabel.js +5 -4
  170. package/legacy/SvgIcon/SvgIcon.js +2 -2
  171. package/legacy/Tooltip/Tooltip.js +3 -5
  172. package/legacy/Unstable_TrapFocus/index.js +1 -1
  173. package/legacy/index.js +1 -1
  174. package/legacy/styles/CssVarsProvider.js +3 -1
  175. package/legacy/styles/excludeVariablesFromRoot.js +12 -0
  176. package/locale/index.d.ts +71 -71
  177. package/modern/BottomNavigation/BottomNavigation.js +0 -0
  178. package/modern/Button/Button.js +3 -8
  179. package/modern/Checkbox/Checkbox.js +11 -3
  180. package/modern/Chip/chipClasses.js +1 -1
  181. package/modern/DialogContentText/DialogContentText.js +13 -3
  182. package/modern/InputLabel/InputLabel.js +11 -3
  183. package/modern/ListItemButton/ListItemButton.js +10 -3
  184. package/modern/MenuItem/MenuItem.js +10 -3
  185. package/modern/Radio/Radio.js +11 -3
  186. package/modern/StepLabel/StepLabel.js +5 -3
  187. package/modern/SvgIcon/SvgIcon.js +2 -2
  188. package/modern/Tooltip/Tooltip.js +3 -5
  189. package/modern/Unstable_TrapFocus/index.js +1 -1
  190. package/modern/index.js +1 -1
  191. package/modern/styles/CssVarsProvider.js +3 -1
  192. package/modern/styles/excludeVariablesFromRoot.js +6 -0
  193. package/package.json +5 -5
  194. package/styles/CssVarsProvider.d.ts +14 -14
  195. package/styles/CssVarsProvider.js +4 -1
  196. package/styles/excludeVariablesFromRoot.d.ts +5 -0
  197. package/styles/excludeVariablesFromRoot.js +14 -0
  198. package/transitions/index.d.ts +1 -1
  199. package/transitions/transition.d.ts +13 -13
  200. package/transitions/utils.d.ts +23 -23
  201. package/umd/material-ui.development.js +478 -428
  202. package/umd/material-ui.production.min.js +9 -9
  203. package/useMediaQuery/useMediaQuery.d.ts +31 -31
  204. package/useTouchRipple/index.d.ts +1 -1
  205. package/useTouchRipple/useTouchRipple.d.ts +28 -28
  206. package/utils/getScrollbarSize.d.ts +2 -2
  207. package/utils/ownerDocument.d.ts +2 -2
  208. package/utils/ownerWindow.d.ts +2 -2
  209. package/utils/setRef.d.ts +2 -2
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.10.6
1
+ /** @license MUI v5.10.7
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.
@@ -7004,7 +7004,7 @@
7004
7004
  }
7005
7005
 
7006
7006
  const _excluded$2i = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"],
7007
- _excluded2$d = ["theme"],
7007
+ _excluded2$c = ["theme"],
7008
7008
  _excluded3$1 = ["theme"];
7009
7009
 
7010
7010
  function isEmpty$2(obj) {
@@ -7145,7 +7145,7 @@
7145
7145
  let {
7146
7146
  theme: themeInput
7147
7147
  } = _ref,
7148
- other = _objectWithoutPropertiesLoose(_ref, _excluded2$d);
7148
+ other = _objectWithoutPropertiesLoose(_ref, _excluded2$c);
7149
7149
 
7150
7150
  return stylesArg(_extends({
7151
7151
  theme: isEmpty$2(themeInput) ? defaultTheme : themeInput
@@ -7463,7 +7463,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
7463
7463
 
7464
7464
  function getLuminance(color) {
7465
7465
  color = decomposeColor(color);
7466
- let rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;
7466
+ let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;
7467
7467
  rgb = rgb.map(val => {
7468
7468
  if (color.type !== 'color') {
7469
7469
  val /= 255; // normalized
@@ -7770,7 +7770,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
7770
7770
  function getInitColorSchemeScript$1(options) {
7771
7771
  const {
7772
7772
  enableColorScheme = true,
7773
- enableSystem = false,
7773
+ defaultMode = 'light',
7774
7774
  defaultLightColorScheme = 'light',
7775
7775
  defaultDarkColorScheme = 'dark',
7776
7776
  modeStorageKey = DEFAULT_MODE_STORAGE_KEY,
@@ -7782,10 +7782,10 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
7782
7782
  // eslint-disable-next-line react/no-danger
7783
7783
  dangerouslySetInnerHTML: {
7784
7784
  __html: `(function() { try {
7785
- var mode = localStorage.getItem('${modeStorageKey}');
7785
+ var mode = localStorage.getItem('${modeStorageKey}') || '${defaultMode}';
7786
7786
  var cssColorScheme = mode;
7787
7787
  var colorScheme = '';
7788
- if (mode === 'system' || (!mode && !!${enableSystem})) {
7788
+ if (mode === 'system') {
7789
7789
  // handle system mode
7790
7790
  var mql = window.matchMedia('(prefers-color-scheme: dark)');
7791
7791
  if (mql.matches) {
@@ -8064,7 +8064,8 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
8064
8064
  disableTransitionOnChange: designSystemTransitionOnChange = false,
8065
8065
  enableColorScheme: designSystemEnableColorScheme = true,
8066
8066
  shouldSkipGeneratingVar: designSystemShouldSkipGeneratingVar,
8067
- resolveTheme
8067
+ resolveTheme,
8068
+ excludeVariablesFromRoot
8068
8069
  } = options;
8069
8070
 
8070
8071
  if (!defaultTheme.colorSchemes || typeof designSystemColorScheme === 'string' && !defaultTheme.colorSchemes[designSystemColorScheme] || typeof designSystemColorScheme === 'object' && !defaultTheme.colorSchemes[designSystemColorScheme == null ? void 0 : designSystemColorScheme.light] || typeof designSystemColorScheme === 'object' && !defaultTheme.colorSchemes[designSystemColorScheme == null ? void 0 : designSystemColorScheme.dark]) {
@@ -8195,6 +8196,15 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
8195
8196
  })();
8196
8197
 
8197
8198
  if (key === resolvedDefaultColorScheme) {
8199
+ if (excludeVariablesFromRoot) {
8200
+ const excludedVariables = {};
8201
+ excludeVariablesFromRoot(cssVarPrefix).forEach(cssVar => {
8202
+ excludedVariables[cssVar] = css[cssVar];
8203
+ delete css[cssVar];
8204
+ });
8205
+ defaultColorSchemeStyleSheet[`[${attribute}="${key}"]`] = excludedVariables;
8206
+ }
8207
+
8198
8208
  defaultColorSchemeStyleSheet[`${colorSchemeSelector}, [${attribute}="${key}"]`] = css;
8199
8209
  } else {
8200
8210
  otherColorSchemesStyleSheet[`${colorSchemeSelector === ':root' ? '' : colorSchemeSelector}[${attribute}="${key}"]`] = css;
@@ -8932,7 +8942,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
8932
8942
  }
8933
8943
 
8934
8944
  const _excluded$2e = ["defaultProps", "mixins", "overrides", "palette", "props", "styleOverrides"],
8935
- _excluded2$c = ["type", "mode"];
8945
+ _excluded2$b = ["type", "mode"];
8936
8946
  function adaptV4Theme(inputTheme) {
8937
8947
  {
8938
8948
  console.warn(['MUI: adaptV4Theme() is deprecated.', 'Follow the upgrade guide on https://mui.com/r/migration-v4#theme.'].join('\n'));
@@ -8997,7 +9007,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
8997
9007
  type: typeInput,
8998
9008
  mode: modeInput
8999
9009
  } = palette,
9000
- paletteRest = _objectWithoutPropertiesLoose(palette, _excluded2$c);
9010
+ paletteRest = _objectWithoutPropertiesLoose(palette, _excluded2$b);
9001
9011
 
9002
9012
  const finalMode = modeInput || typeInput || 'light';
9003
9013
  theme.palette = _extends({
@@ -10596,6 +10606,363 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
10596
10606
  ClickAwayListener['propTypes' + ''] = exactProp(ClickAwayListener.propTypes);
10597
10607
  }
10598
10608
 
10609
+ const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(',');
10610
+
10611
+ function getTabIndex(node) {
10612
+ const tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);
10613
+
10614
+ if (!Number.isNaN(tabindexAttr)) {
10615
+ return tabindexAttr;
10616
+ } // Browsers do not return `tabIndex` correctly for contentEditable nodes;
10617
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2
10618
+ // so if they don't have a tabindex attribute specifically set, assume it's 0.
10619
+ // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
10620
+ // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
10621
+ // yet they are still part of the regular tab order; in FF, they get a default
10622
+ // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
10623
+ // order, consider their tab index to be 0.
10624
+
10625
+
10626
+ if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {
10627
+ return 0;
10628
+ }
10629
+
10630
+ return node.tabIndex;
10631
+ }
10632
+
10633
+ function isNonTabbableRadio(node) {
10634
+ if (node.tagName !== 'INPUT' || node.type !== 'radio') {
10635
+ return false;
10636
+ }
10637
+
10638
+ if (!node.name) {
10639
+ return false;
10640
+ }
10641
+
10642
+ const getRadio = selector => node.ownerDocument.querySelector(`input[type="radio"]${selector}`);
10643
+
10644
+ let roving = getRadio(`[name="${node.name}"]:checked`);
10645
+
10646
+ if (!roving) {
10647
+ roving = getRadio(`[name="${node.name}"]`);
10648
+ }
10649
+
10650
+ return roving !== node;
10651
+ }
10652
+
10653
+ function isNodeMatchingSelectorFocusable(node) {
10654
+ if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {
10655
+ return false;
10656
+ }
10657
+
10658
+ return true;
10659
+ }
10660
+
10661
+ function defaultGetTabbable(root) {
10662
+ const regularTabNodes = [];
10663
+ const orderedTabNodes = [];
10664
+ Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {
10665
+ const nodeTabIndex = getTabIndex(node);
10666
+
10667
+ if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {
10668
+ return;
10669
+ }
10670
+
10671
+ if (nodeTabIndex === 0) {
10672
+ regularTabNodes.push(node);
10673
+ } else {
10674
+ orderedTabNodes.push({
10675
+ documentOrder: i,
10676
+ tabIndex: nodeTabIndex,
10677
+ node
10678
+ });
10679
+ }
10680
+ });
10681
+ return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);
10682
+ }
10683
+
10684
+ function defaultIsEnabled() {
10685
+ return true;
10686
+ }
10687
+ /**
10688
+ * Utility component that locks focus inside the component.
10689
+ */
10690
+
10691
+
10692
+ function FocusTrap(props) {
10693
+ const {
10694
+ children,
10695
+ disableAutoFocus = false,
10696
+ disableEnforceFocus = false,
10697
+ disableRestoreFocus = false,
10698
+ getTabbable = defaultGetTabbable,
10699
+ isEnabled = defaultIsEnabled,
10700
+ open
10701
+ } = props;
10702
+ const ignoreNextEnforceFocus = React__namespace.useRef();
10703
+ const sentinelStart = React__namespace.useRef(null);
10704
+ const sentinelEnd = React__namespace.useRef(null);
10705
+ const nodeToRestore = React__namespace.useRef(null);
10706
+ const reactFocusEventTarget = React__namespace.useRef(null); // This variable is useful when disableAutoFocus is true.
10707
+ // It waits for the active element to move into the component to activate.
10708
+
10709
+ const activated = React__namespace.useRef(false);
10710
+ const rootRef = React__namespace.useRef(null);
10711
+ const handleRef = useForkRef(children.ref, rootRef);
10712
+ const lastKeydown = React__namespace.useRef(null);
10713
+ React__namespace.useEffect(() => {
10714
+ // We might render an empty child.
10715
+ if (!open || !rootRef.current) {
10716
+ return;
10717
+ }
10718
+
10719
+ activated.current = !disableAutoFocus;
10720
+ }, [disableAutoFocus, open]);
10721
+ React__namespace.useEffect(() => {
10722
+ // We might render an empty child.
10723
+ if (!open || !rootRef.current) {
10724
+ return;
10725
+ }
10726
+
10727
+ const doc = ownerDocument(rootRef.current);
10728
+
10729
+ if (!rootRef.current.contains(doc.activeElement)) {
10730
+ if (!rootRef.current.hasAttribute('tabIndex')) {
10731
+ {
10732
+ console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n'));
10733
+ }
10734
+
10735
+ rootRef.current.setAttribute('tabIndex', -1);
10736
+ }
10737
+
10738
+ if (activated.current) {
10739
+ rootRef.current.focus();
10740
+ }
10741
+ }
10742
+
10743
+ return () => {
10744
+ // restoreLastFocus()
10745
+ if (!disableRestoreFocus) {
10746
+ // In IE11 it is possible for document.activeElement to be null resulting
10747
+ // in nodeToRestore.current being null.
10748
+ // Not all elements in IE11 have a focus method.
10749
+ // Once IE11 support is dropped the focus() call can be unconditional.
10750
+ if (nodeToRestore.current && nodeToRestore.current.focus) {
10751
+ ignoreNextEnforceFocus.current = true;
10752
+ nodeToRestore.current.focus();
10753
+ }
10754
+
10755
+ nodeToRestore.current = null;
10756
+ }
10757
+ }; // Missing `disableRestoreFocus` which is fine.
10758
+ // We don't support changing that prop on an open FocusTrap
10759
+ // eslint-disable-next-line react-hooks/exhaustive-deps
10760
+ }, [open]);
10761
+ React__namespace.useEffect(() => {
10762
+ // We might render an empty child.
10763
+ if (!open || !rootRef.current) {
10764
+ return;
10765
+ }
10766
+
10767
+ const doc = ownerDocument(rootRef.current);
10768
+
10769
+ const contain = nativeEvent => {
10770
+ const {
10771
+ current: rootElement
10772
+ } = rootRef; // Cleanup functions are executed lazily in React 17.
10773
+ // Contain can be called between the component being unmounted and its cleanup function being run.
10774
+
10775
+ if (rootElement === null) {
10776
+ return;
10777
+ }
10778
+
10779
+ if (!doc.hasFocus() || disableEnforceFocus || !isEnabled() || ignoreNextEnforceFocus.current) {
10780
+ ignoreNextEnforceFocus.current = false;
10781
+ return;
10782
+ }
10783
+
10784
+ if (!rootElement.contains(doc.activeElement)) {
10785
+ // if the focus event is not coming from inside the children's react tree, reset the refs
10786
+ if (nativeEvent && reactFocusEventTarget.current !== nativeEvent.target || doc.activeElement !== reactFocusEventTarget.current) {
10787
+ reactFocusEventTarget.current = null;
10788
+ } else if (reactFocusEventTarget.current !== null) {
10789
+ return;
10790
+ }
10791
+
10792
+ if (!activated.current) {
10793
+ return;
10794
+ }
10795
+
10796
+ let tabbable = [];
10797
+
10798
+ if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {
10799
+ tabbable = getTabbable(rootRef.current);
10800
+ }
10801
+
10802
+ if (tabbable.length > 0) {
10803
+ var _lastKeydown$current, _lastKeydown$current2;
10804
+
10805
+ const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');
10806
+ const focusNext = tabbable[0];
10807
+ const focusPrevious = tabbable[tabbable.length - 1];
10808
+
10809
+ if (isShiftTab) {
10810
+ focusPrevious.focus();
10811
+ } else {
10812
+ focusNext.focus();
10813
+ }
10814
+ } else {
10815
+ rootElement.focus();
10816
+ }
10817
+ }
10818
+ };
10819
+
10820
+ const loopFocus = nativeEvent => {
10821
+ lastKeydown.current = nativeEvent;
10822
+
10823
+ if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {
10824
+ return;
10825
+ } // Make sure the next tab starts from the right place.
10826
+ // doc.activeElement referes to the origin.
10827
+
10828
+
10829
+ if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {
10830
+ // We need to ignore the next contain as
10831
+ // it will try to move the focus back to the rootRef element.
10832
+ ignoreNextEnforceFocus.current = true;
10833
+ sentinelEnd.current.focus();
10834
+ }
10835
+ };
10836
+
10837
+ doc.addEventListener('focusin', contain);
10838
+ doc.addEventListener('keydown', loopFocus, true); // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.
10839
+ // e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=559561.
10840
+ // Instead, we can look if the active element was restored on the BODY element.
10841
+ //
10842
+ // The whatwg spec defines how the browser should behave but does not explicitly mention any events:
10843
+ // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.
10844
+
10845
+ const interval = setInterval(() => {
10846
+ if (doc.activeElement.tagName === 'BODY') {
10847
+ contain();
10848
+ }
10849
+ }, 50);
10850
+ return () => {
10851
+ clearInterval(interval);
10852
+ doc.removeEventListener('focusin', contain);
10853
+ doc.removeEventListener('keydown', loopFocus, true);
10854
+ };
10855
+ }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);
10856
+
10857
+ const onFocus = event => {
10858
+ if (nodeToRestore.current === null) {
10859
+ nodeToRestore.current = event.relatedTarget;
10860
+ }
10861
+
10862
+ activated.current = true;
10863
+ reactFocusEventTarget.current = event.target;
10864
+ const childrenPropsHandler = children.props.onFocus;
10865
+
10866
+ if (childrenPropsHandler) {
10867
+ childrenPropsHandler(event);
10868
+ }
10869
+ };
10870
+
10871
+ const handleFocusSentinel = event => {
10872
+ if (nodeToRestore.current === null) {
10873
+ nodeToRestore.current = event.relatedTarget;
10874
+ }
10875
+
10876
+ activated.current = true;
10877
+ };
10878
+
10879
+ return /*#__PURE__*/jsxRuntime_2(React__namespace.Fragment, {
10880
+ children: [/*#__PURE__*/jsxRuntime_1("div", {
10881
+ tabIndex: open ? 0 : -1,
10882
+ onFocus: handleFocusSentinel,
10883
+ ref: sentinelStart,
10884
+ "data-testid": "sentinelStart"
10885
+ }), /*#__PURE__*/React__namespace.cloneElement(children, {
10886
+ ref: handleRef,
10887
+ onFocus
10888
+ }), /*#__PURE__*/jsxRuntime_1("div", {
10889
+ tabIndex: open ? 0 : -1,
10890
+ onFocus: handleFocusSentinel,
10891
+ ref: sentinelEnd,
10892
+ "data-testid": "sentinelEnd"
10893
+ })]
10894
+ });
10895
+ }
10896
+
10897
+ FocusTrap.propTypes
10898
+ /* remove-proptypes */
10899
+ = {
10900
+ // ----------------------------- Warning --------------------------------
10901
+ // | These PropTypes are generated from the TypeScript type definitions |
10902
+ // | To update them edit the d.ts file and run "yarn proptypes" |
10903
+ // ----------------------------------------------------------------------
10904
+
10905
+ /**
10906
+ * A single child content element.
10907
+ */
10908
+ children: elementAcceptingRef$1,
10909
+
10910
+ /**
10911
+ * If `true`, the focus trap will not automatically shift focus to itself when it opens, and
10912
+ * replace it to the last focused element when it closes.
10913
+ * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.
10914
+ *
10915
+ * Generally this should never be set to `true` as it makes the focus trap less
10916
+ * accessible to assistive technologies, like screen readers.
10917
+ * @default false
10918
+ */
10919
+ disableAutoFocus: PropTypes.bool,
10920
+
10921
+ /**
10922
+ * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.
10923
+ *
10924
+ * Generally this should never be set to `true` as it makes the focus trap less
10925
+ * accessible to assistive technologies, like screen readers.
10926
+ * @default false
10927
+ */
10928
+ disableEnforceFocus: PropTypes.bool,
10929
+
10930
+ /**
10931
+ * If `true`, the focus trap will not restore focus to previously focused element once
10932
+ * focus trap is hidden or unmounted.
10933
+ * @default false
10934
+ */
10935
+ disableRestoreFocus: PropTypes.bool,
10936
+
10937
+ /**
10938
+ * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.
10939
+ * For instance, you can provide the "tabbable" npm dependency.
10940
+ * @param {HTMLElement} root
10941
+ */
10942
+ getTabbable: PropTypes.func,
10943
+
10944
+ /**
10945
+ * This prop extends the `open` prop.
10946
+ * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.
10947
+ * This prop should be memoized.
10948
+ * It can be used to support multiple focus trap mounted at the same time.
10949
+ * @default function defaultIsEnabled() {
10950
+ * return true;
10951
+ * }
10952
+ */
10953
+ isEnabled: PropTypes.func,
10954
+
10955
+ /**
10956
+ * If `true`, focus is locked.
10957
+ */
10958
+ open: PropTypes.bool.isRequired
10959
+ } ;
10960
+
10961
+ {
10962
+ // eslint-disable-next-line
10963
+ FocusTrap['propTypes' + ''] = exactProp(FocusTrap.propTypes);
10964
+ }
10965
+
10599
10966
  var top = 'top';
10600
10967
  var bottom = 'bottom';
10601
10968
  var right = 'right';
@@ -12661,7 +13028,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
12661
13028
  generateUtilityClasses('MuiPopperUnstyled', ['root']);
12662
13029
 
12663
13030
  const _excluded$2b = ["anchorEl", "children", "component", "components", "componentsProps", "direction", "disablePortal", "modifiers", "open", "ownerState", "placement", "popperOptions", "popperRef", "TransitionProps"],
12664
- _excluded2$b = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition"];
13031
+ _excluded2$a = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition"];
12665
13032
 
12666
13033
  function flipPlacement(placement, direction) {
12667
13034
  if (direction === 'ltr') {
@@ -12850,7 +13217,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
12850
13217
  style,
12851
13218
  transition = false
12852
13219
  } = props,
12853
- other = _objectWithoutPropertiesLoose(props, _excluded2$b);
13220
+ other = _objectWithoutPropertiesLoose(props, _excluded2$a);
12854
13221
 
12855
13222
  const [exited, setExited] = React__namespace.useState(true);
12856
13223
 
@@ -13292,363 +13659,6 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13292
13659
 
13293
13660
  }
13294
13661
 
13295
- const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(',');
13296
-
13297
- function getTabIndex(node) {
13298
- const tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);
13299
-
13300
- if (!Number.isNaN(tabindexAttr)) {
13301
- return tabindexAttr;
13302
- } // Browsers do not return `tabIndex` correctly for contentEditable nodes;
13303
- // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2
13304
- // so if they don't have a tabindex attribute specifically set, assume it's 0.
13305
- // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
13306
- // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
13307
- // yet they are still part of the regular tab order; in FF, they get a default
13308
- // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
13309
- // order, consider their tab index to be 0.
13310
-
13311
-
13312
- if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {
13313
- return 0;
13314
- }
13315
-
13316
- return node.tabIndex;
13317
- }
13318
-
13319
- function isNonTabbableRadio(node) {
13320
- if (node.tagName !== 'INPUT' || node.type !== 'radio') {
13321
- return false;
13322
- }
13323
-
13324
- if (!node.name) {
13325
- return false;
13326
- }
13327
-
13328
- const getRadio = selector => node.ownerDocument.querySelector(`input[type="radio"]${selector}`);
13329
-
13330
- let roving = getRadio(`[name="${node.name}"]:checked`);
13331
-
13332
- if (!roving) {
13333
- roving = getRadio(`[name="${node.name}"]`);
13334
- }
13335
-
13336
- return roving !== node;
13337
- }
13338
-
13339
- function isNodeMatchingSelectorFocusable(node) {
13340
- if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {
13341
- return false;
13342
- }
13343
-
13344
- return true;
13345
- }
13346
-
13347
- function defaultGetTabbable(root) {
13348
- const regularTabNodes = [];
13349
- const orderedTabNodes = [];
13350
- Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {
13351
- const nodeTabIndex = getTabIndex(node);
13352
-
13353
- if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {
13354
- return;
13355
- }
13356
-
13357
- if (nodeTabIndex === 0) {
13358
- regularTabNodes.push(node);
13359
- } else {
13360
- orderedTabNodes.push({
13361
- documentOrder: i,
13362
- tabIndex: nodeTabIndex,
13363
- node
13364
- });
13365
- }
13366
- });
13367
- return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);
13368
- }
13369
-
13370
- function defaultIsEnabled() {
13371
- return true;
13372
- }
13373
- /**
13374
- * Utility component that locks focus inside the component.
13375
- */
13376
-
13377
-
13378
- function TrapFocus(props) {
13379
- const {
13380
- children,
13381
- disableAutoFocus = false,
13382
- disableEnforceFocus = false,
13383
- disableRestoreFocus = false,
13384
- getTabbable = defaultGetTabbable,
13385
- isEnabled = defaultIsEnabled,
13386
- open
13387
- } = props;
13388
- const ignoreNextEnforceFocus = React__namespace.useRef();
13389
- const sentinelStart = React__namespace.useRef(null);
13390
- const sentinelEnd = React__namespace.useRef(null);
13391
- const nodeToRestore = React__namespace.useRef(null);
13392
- const reactFocusEventTarget = React__namespace.useRef(null); // This variable is useful when disableAutoFocus is true.
13393
- // It waits for the active element to move into the component to activate.
13394
-
13395
- const activated = React__namespace.useRef(false);
13396
- const rootRef = React__namespace.useRef(null);
13397
- const handleRef = useForkRef(children.ref, rootRef);
13398
- const lastKeydown = React__namespace.useRef(null);
13399
- React__namespace.useEffect(() => {
13400
- // We might render an empty child.
13401
- if (!open || !rootRef.current) {
13402
- return;
13403
- }
13404
-
13405
- activated.current = !disableAutoFocus;
13406
- }, [disableAutoFocus, open]);
13407
- React__namespace.useEffect(() => {
13408
- // We might render an empty child.
13409
- if (!open || !rootRef.current) {
13410
- return;
13411
- }
13412
-
13413
- const doc = ownerDocument(rootRef.current);
13414
-
13415
- if (!rootRef.current.contains(doc.activeElement)) {
13416
- if (!rootRef.current.hasAttribute('tabIndex')) {
13417
- {
13418
- console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n'));
13419
- }
13420
-
13421
- rootRef.current.setAttribute('tabIndex', -1);
13422
- }
13423
-
13424
- if (activated.current) {
13425
- rootRef.current.focus();
13426
- }
13427
- }
13428
-
13429
- return () => {
13430
- // restoreLastFocus()
13431
- if (!disableRestoreFocus) {
13432
- // In IE11 it is possible for document.activeElement to be null resulting
13433
- // in nodeToRestore.current being null.
13434
- // Not all elements in IE11 have a focus method.
13435
- // Once IE11 support is dropped the focus() call can be unconditional.
13436
- if (nodeToRestore.current && nodeToRestore.current.focus) {
13437
- ignoreNextEnforceFocus.current = true;
13438
- nodeToRestore.current.focus();
13439
- }
13440
-
13441
- nodeToRestore.current = null;
13442
- }
13443
- }; // Missing `disableRestoreFocus` which is fine.
13444
- // We don't support changing that prop on an open TrapFocus
13445
- // eslint-disable-next-line react-hooks/exhaustive-deps
13446
- }, [open]);
13447
- React__namespace.useEffect(() => {
13448
- // We might render an empty child.
13449
- if (!open || !rootRef.current) {
13450
- return;
13451
- }
13452
-
13453
- const doc = ownerDocument(rootRef.current);
13454
-
13455
- const contain = nativeEvent => {
13456
- const {
13457
- current: rootElement
13458
- } = rootRef; // Cleanup functions are executed lazily in React 17.
13459
- // Contain can be called between the component being unmounted and its cleanup function being run.
13460
-
13461
- if (rootElement === null) {
13462
- return;
13463
- }
13464
-
13465
- if (!doc.hasFocus() || disableEnforceFocus || !isEnabled() || ignoreNextEnforceFocus.current) {
13466
- ignoreNextEnforceFocus.current = false;
13467
- return;
13468
- }
13469
-
13470
- if (!rootElement.contains(doc.activeElement)) {
13471
- // if the focus event is not coming from inside the children's react tree, reset the refs
13472
- if (nativeEvent && reactFocusEventTarget.current !== nativeEvent.target || doc.activeElement !== reactFocusEventTarget.current) {
13473
- reactFocusEventTarget.current = null;
13474
- } else if (reactFocusEventTarget.current !== null) {
13475
- return;
13476
- }
13477
-
13478
- if (!activated.current) {
13479
- return;
13480
- }
13481
-
13482
- let tabbable = [];
13483
-
13484
- if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {
13485
- tabbable = getTabbable(rootRef.current);
13486
- }
13487
-
13488
- if (tabbable.length > 0) {
13489
- var _lastKeydown$current, _lastKeydown$current2;
13490
-
13491
- const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');
13492
- const focusNext = tabbable[0];
13493
- const focusPrevious = tabbable[tabbable.length - 1];
13494
-
13495
- if (isShiftTab) {
13496
- focusPrevious.focus();
13497
- } else {
13498
- focusNext.focus();
13499
- }
13500
- } else {
13501
- rootElement.focus();
13502
- }
13503
- }
13504
- };
13505
-
13506
- const loopFocus = nativeEvent => {
13507
- lastKeydown.current = nativeEvent;
13508
-
13509
- if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {
13510
- return;
13511
- } // Make sure the next tab starts from the right place.
13512
- // doc.activeElement referes to the origin.
13513
-
13514
-
13515
- if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {
13516
- // We need to ignore the next contain as
13517
- // it will try to move the focus back to the rootRef element.
13518
- ignoreNextEnforceFocus.current = true;
13519
- sentinelEnd.current.focus();
13520
- }
13521
- };
13522
-
13523
- doc.addEventListener('focusin', contain);
13524
- doc.addEventListener('keydown', loopFocus, true); // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.
13525
- // e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=559561.
13526
- // Instead, we can look if the active element was restored on the BODY element.
13527
- //
13528
- // The whatwg spec defines how the browser should behave but does not explicitly mention any events:
13529
- // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.
13530
-
13531
- const interval = setInterval(() => {
13532
- if (doc.activeElement.tagName === 'BODY') {
13533
- contain();
13534
- }
13535
- }, 50);
13536
- return () => {
13537
- clearInterval(interval);
13538
- doc.removeEventListener('focusin', contain);
13539
- doc.removeEventListener('keydown', loopFocus, true);
13540
- };
13541
- }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);
13542
-
13543
- const onFocus = event => {
13544
- if (nodeToRestore.current === null) {
13545
- nodeToRestore.current = event.relatedTarget;
13546
- }
13547
-
13548
- activated.current = true;
13549
- reactFocusEventTarget.current = event.target;
13550
- const childrenPropsHandler = children.props.onFocus;
13551
-
13552
- if (childrenPropsHandler) {
13553
- childrenPropsHandler(event);
13554
- }
13555
- };
13556
-
13557
- const handleFocusSentinel = event => {
13558
- if (nodeToRestore.current === null) {
13559
- nodeToRestore.current = event.relatedTarget;
13560
- }
13561
-
13562
- activated.current = true;
13563
- };
13564
-
13565
- return /*#__PURE__*/jsxRuntime_2(React__namespace.Fragment, {
13566
- children: [/*#__PURE__*/jsxRuntime_1("div", {
13567
- tabIndex: open ? 0 : -1,
13568
- onFocus: handleFocusSentinel,
13569
- ref: sentinelStart,
13570
- "data-testid": "sentinelStart"
13571
- }), /*#__PURE__*/React__namespace.cloneElement(children, {
13572
- ref: handleRef,
13573
- onFocus
13574
- }), /*#__PURE__*/jsxRuntime_1("div", {
13575
- tabIndex: open ? 0 : -1,
13576
- onFocus: handleFocusSentinel,
13577
- ref: sentinelEnd,
13578
- "data-testid": "sentinelEnd"
13579
- })]
13580
- });
13581
- }
13582
-
13583
- TrapFocus.propTypes
13584
- /* remove-proptypes */
13585
- = {
13586
- // ----------------------------- Warning --------------------------------
13587
- // | These PropTypes are generated from the TypeScript type definitions |
13588
- // | To update them edit the d.ts file and run "yarn proptypes" |
13589
- // ----------------------------------------------------------------------
13590
-
13591
- /**
13592
- * A single child content element.
13593
- */
13594
- children: elementAcceptingRef$1,
13595
-
13596
- /**
13597
- * If `true`, the trap focus will not automatically shift focus to itself when it opens, and
13598
- * replace it to the last focused element when it closes.
13599
- * This also works correctly with any trap focus children that have the `disableAutoFocus` prop.
13600
- *
13601
- * Generally this should never be set to `true` as it makes the trap focus less
13602
- * accessible to assistive technologies, like screen readers.
13603
- * @default false
13604
- */
13605
- disableAutoFocus: PropTypes.bool,
13606
-
13607
- /**
13608
- * If `true`, the trap focus will not prevent focus from leaving the trap focus while open.
13609
- *
13610
- * Generally this should never be set to `true` as it makes the trap focus less
13611
- * accessible to assistive technologies, like screen readers.
13612
- * @default false
13613
- */
13614
- disableEnforceFocus: PropTypes.bool,
13615
-
13616
- /**
13617
- * If `true`, the trap focus will not restore focus to previously focused element once
13618
- * trap focus is hidden or unmounted.
13619
- * @default false
13620
- */
13621
- disableRestoreFocus: PropTypes.bool,
13622
-
13623
- /**
13624
- * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.
13625
- * For instance, you can provide the "tabbable" npm dependency.
13626
- * @param {HTMLElement} root
13627
- */
13628
- getTabbable: PropTypes.func,
13629
-
13630
- /**
13631
- * This prop extends the `open` prop.
13632
- * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.
13633
- * This prop should be memoized.
13634
- * It can be used to support multiple trap focus mounted at the same time.
13635
- * @default function defaultIsEnabled() {
13636
- * return true;
13637
- * }
13638
- */
13639
- isEnabled: PropTypes.func,
13640
-
13641
- /**
13642
- * If `true`, focus is locked.
13643
- */
13644
- open: PropTypes.bool.isRequired
13645
- } ;
13646
-
13647
- {
13648
- // eslint-disable-next-line
13649
- TrapFocus['propTypes' + ''] = exactProp(TrapFocus.propTypes);
13650
- }
13651
-
13652
13662
  function getModalUtilityClass(slot) {
13653
13663
  return generateUtilityClass('MuiModal', slot);
13654
13664
  }
@@ -13910,7 +13920,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
13910
13920
  container: container,
13911
13921
  disablePortal: disablePortal,
13912
13922
  children: /*#__PURE__*/jsxRuntime_2(Root, _extends({}, rootProps, {
13913
- children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/jsxRuntime_1(BackdropComponent, _extends({}, backdropProps)) : null, /*#__PURE__*/jsxRuntime_1(TrapFocus, {
13923
+ children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/jsxRuntime_1(BackdropComponent, _extends({}, backdropProps)) : null, /*#__PURE__*/jsxRuntime_1(FocusTrap, {
13914
13924
  disableEnforceFocus: disableEnforceFocus,
13915
13925
  disableAutoFocus: disableAutoFocus,
13916
13926
  disableRestoreFocus: disableRestoreFocus,
@@ -14524,8 +14534,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14524
14534
 
14525
14535
  const getFingerNewValue = ({
14526
14536
  finger,
14527
- move = false,
14528
- values: values2
14537
+ move = false
14529
14538
  }) => {
14530
14539
  const {
14531
14540
  current: slider
@@ -14563,19 +14572,19 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14563
14572
 
14564
14573
  if (range) {
14565
14574
  if (!move) {
14566
- activeIndex = findClosest(values2, newValue);
14575
+ activeIndex = findClosest(values, newValue);
14567
14576
  } else {
14568
14577
  activeIndex = previousIndex.current;
14569
14578
  } // Bound the new value to the thumb's neighbours.
14570
14579
 
14571
14580
 
14572
14581
  if (disableSwap) {
14573
- newValue = clamp$2(newValue, values2[activeIndex - 1] || -Infinity, values2[activeIndex + 1] || Infinity);
14582
+ newValue = clamp$2(newValue, values[activeIndex - 1] || -Infinity, values[activeIndex + 1] || Infinity);
14574
14583
  }
14575
14584
 
14576
14585
  const previousValue = newValue;
14577
14586
  newValue = setValueIndex({
14578
- values: values2,
14587
+ values,
14579
14588
  newValue,
14580
14589
  index: activeIndex
14581
14590
  }); // Potentially swap the index if needed.
@@ -14613,8 +14622,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14613
14622
  activeIndex
14614
14623
  } = getFingerNewValue({
14615
14624
  finger,
14616
- move: true,
14617
- values
14625
+ move: true
14618
14626
  });
14619
14627
  focusThumb({
14620
14628
  sliderRef,
@@ -14627,7 +14635,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14627
14635
  setDragging(true);
14628
14636
  }
14629
14637
 
14630
- if (handleChange) {
14638
+ if (handleChange && newValue !== valueDerived) {
14631
14639
  handleChange(nativeEvent, newValue, activeIndex);
14632
14640
  }
14633
14641
  });
@@ -14643,8 +14651,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14643
14651
  newValue
14644
14652
  } = getFingerNewValue({
14645
14653
  finger,
14646
- move: true,
14647
- values
14654
+ move: true
14648
14655
  });
14649
14656
  setActive(-1);
14650
14657
 
@@ -14684,8 +14691,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14684
14691
  newValue,
14685
14692
  activeIndex
14686
14693
  } = getFingerNewValue({
14687
- finger,
14688
- values
14694
+ finger
14689
14695
  });
14690
14696
  focusThumb({
14691
14697
  sliderRef,
@@ -14759,8 +14765,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14759
14765
  newValue,
14760
14766
  activeIndex
14761
14767
  } = getFingerNewValue({
14762
- finger,
14763
- values
14768
+ finger
14764
14769
  });
14765
14770
  focusThumb({
14766
14771
  sliderRef,
@@ -14930,7 +14935,7 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
14930
14935
  componentsProps = {}
14931
14936
  } = props,
14932
14937
  other = _objectWithoutPropertiesLoose(props, _excluded$29); // all props with defaults
14933
- // consider extracting to hook an reusing the lint rule for the varints
14938
+ // consider extracting to hook an reusing the lint rule for the variants
14934
14939
 
14935
14940
 
14936
14941
  const ownerState = _extends({}, props, {
@@ -15503,8 +15508,6 @@ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rg
15503
15508
  // ResizeObserver's handler that runs because of the change in the layout is trying to
15504
15509
  // access a dom node that is no longer there (as the fallback component is being shown instead).
15505
15510
  // See https://github.com/mui/material-ui/issues/32640
15506
- // TODO: Add tests that will ensure the component is not failing when
15507
- // replaced by Suspense with a fallback, once React is updated to version 18
15508
15511
 
15509
15512
  if (inputRef.current) {
15510
15513
  syncHeightWithFlushSycn();
@@ -16677,7 +16680,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
16677
16680
  var Paper$1 = Paper;
16678
16681
 
16679
16682
  const _excluded$22 = ["colorSchemes", "cssVarPrefix"],
16680
- _excluded2$a = ["palette"];
16683
+ _excluded2$9 = ["palette"];
16681
16684
  const defaultDarkOverlays = [...Array(25)].map((_, index) => {
16682
16685
  if (index === 0) {
16683
16686
  return undefined;
@@ -16717,7 +16720,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
16717
16720
  {
16718
16721
  palette: lightPalette
16719
16722
  } = _createThemeWithoutVa,
16720
- muiTheme = _objectWithoutPropertiesLoose(_createThemeWithoutVa, _excluded2$a);
16723
+ muiTheme = _objectWithoutPropertiesLoose(_createThemeWithoutVa, _excluded2$9);
16721
16724
 
16722
16725
  const {
16723
16726
  palette: darkPalette
@@ -16935,6 +16938,13 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
16935
16938
  return theme;
16936
16939
  }
16937
16940
 
16941
+ /**
16942
+ * @internal These variables should not appear in the :root stylesheet when the `defaultMode="dark"`
16943
+ */
16944
+ const excludeVariablesFromRoot = cssVarPrefix => [...[...Array(24)].map((_, index) => `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}overlays-${index + 1}`), `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkBg`, `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkColor`];
16945
+
16946
+ var excludeVariablesFromRoot$1 = excludeVariablesFromRoot;
16947
+
16938
16948
  const shouldSkipGeneratingVar = keys => {
16939
16949
  var _keys$;
16940
16950
 
@@ -16962,7 +16972,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
16962
16972
 
16963
16973
  return newTheme;
16964
16974
  },
16965
- shouldSkipGeneratingVar
16975
+ shouldSkipGeneratingVar,
16976
+ excludeVariablesFromRoot: excludeVariablesFromRoot$1
16966
16977
  });
16967
16978
 
16968
16979
  function getSvgIconUtilityClass(slot) {
@@ -17014,7 +17025,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
17014
17025
  inherit: 'inherit',
17015
17026
  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',
17016
17027
  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',
17017
- 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'
17028
+ 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.1875rem'
17018
17029
  }[ownerState.fontSize],
17019
17030
  // TODO v5 deprecate, v6 remove for sx
17020
17031
  color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null ? void 0 : (_palette$ownerState$c2 = _palette[ownerState.color]) == null ? void 0 : _palette$ownerState$c2.main) != null ? _palette$ownerState$c : {
@@ -17062,13 +17073,13 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
17062
17073
  return /*#__PURE__*/jsxRuntime_2(SvgIconRoot, _extends({
17063
17074
  as: component,
17064
17075
  className: clsx(classes.root, className),
17065
- ownerState: ownerState,
17066
17076
  focusable: "false",
17067
17077
  color: htmlColor,
17068
17078
  "aria-hidden": titleAccess ? undefined : true,
17069
17079
  role: titleAccess ? 'img' : undefined,
17070
17080
  ref: ref
17071
17081
  }, more, other, {
17082
+ ownerState: ownerState,
17072
17083
  children: [children, titleAccess ? /*#__PURE__*/jsxRuntime_1("title", {
17073
17084
  children: titleAccess
17074
17085
  }) : null]
@@ -21547,7 +21558,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
21547
21558
  function getChipUtilityClass(slot) {
21548
21559
  return generateUtilityClass('MuiChip', slot);
21549
21560
  }
21550
- const chipClasses = generateUtilityClasses('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorPrimary', 'colorSecondary', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);
21561
+ const chipClasses = generateUtilityClasses('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);
21551
21562
  var chipClasses$1 = chipClasses;
21552
21563
 
21553
21564
  const _excluded$1P = ["avatar", "className", "clickable", "color", "component", "deleteIcon", "disabled", "icon", "label", "onClick", "onDelete", "onKeyDown", "onKeyUp", "size", "variant"];
@@ -25859,8 +25870,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
25859
25870
 
25860
25871
  var ButtonGroupContext$1 = ButtonGroupContext;
25861
25872
 
25862
- const _excluded$1E = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"],
25863
- _excluded2$9 = ["root"];
25873
+ const _excluded$1E = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"];
25864
25874
 
25865
25875
  const useUtilityClasses$1n = ownerState => {
25866
25876
  const {
@@ -26104,11 +26114,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
26104
26114
  variant
26105
26115
  });
26106
26116
 
26107
- const _useUtilityClasses = useUtilityClasses$1n(ownerState),
26108
- {
26109
- root: classesRoot
26110
- } = _useUtilityClasses,
26111
- classes = _objectWithoutPropertiesLoose(_useUtilityClasses, _excluded2$9);
26117
+ const classes = useUtilityClasses$1n(ownerState);
26112
26118
 
26113
26119
  const startIcon = startIconProp && /*#__PURE__*/jsxRuntime_1(ButtonStartIcon, {
26114
26120
  className: classes.startIcon,
@@ -26124,7 +26130,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
26124
26130
 
26125
26131
  return /*#__PURE__*/jsxRuntime_2(ButtonRoot, _extends({
26126
26132
  ownerState: ownerState,
26127
- className: clsx(contextProps.className, classesRoot, className),
26133
+ className: clsx(contextProps.className, classes.root, className),
26128
26134
  component: component,
26129
26135
  disabled: disabled,
26130
26136
  focusRipple: !disableFocusRipple,
@@ -27612,7 +27618,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
27612
27618
  const checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);
27613
27619
  var checkboxClasses$1 = checkboxClasses;
27614
27620
 
27615
- const _excluded$1v = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size"];
27621
+ const _excluded$1v = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size", "className"];
27616
27622
 
27617
27623
  const useUtilityClasses$1e = ownerState => {
27618
27624
  const {
@@ -27680,7 +27686,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
27680
27686
  indeterminate = false,
27681
27687
  indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,
27682
27688
  inputProps,
27683
- size = 'medium'
27689
+ size = 'medium',
27690
+ className
27684
27691
  } = props,
27685
27692
  other = _objectWithoutPropertiesLoose(props, _excluded$1v);
27686
27693
 
@@ -27706,7 +27713,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
27706
27713
  fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size
27707
27714
  }),
27708
27715
  ownerState: ownerState,
27709
- ref: ref
27716
+ ref: ref,
27717
+ className: clsx(classes.root, className)
27710
27718
  }, other, {
27711
27719
  classes: classes
27712
27720
  }));
@@ -27735,6 +27743,11 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
27735
27743
  */
27736
27744
  classes: PropTypes.object,
27737
27745
 
27746
+ /**
27747
+ * @ignore
27748
+ */
27749
+ className: PropTypes.string,
27750
+
27738
27751
  /**
27739
27752
  * The color of the component.
27740
27753
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -29233,7 +29246,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
29233
29246
  const dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);
29234
29247
  var dialogContentTextClasses$1 = dialogContentTextClasses;
29235
29248
 
29236
- const _excluded$1p = ["children"];
29249
+ const _excluded$1p = ["children", "className"];
29237
29250
 
29238
29251
  const useUtilityClasses$19 = ownerState => {
29239
29252
  const {
@@ -29258,7 +29271,10 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
29258
29271
  name: 'MuiDialogContentText'
29259
29272
  });
29260
29273
 
29261
- const ownerState = _objectWithoutPropertiesLoose(props, _excluded$1p);
29274
+ const {
29275
+ className
29276
+ } = props,
29277
+ ownerState = _objectWithoutPropertiesLoose(props, _excluded$1p);
29262
29278
 
29263
29279
  const classes = useUtilityClasses$19(ownerState);
29264
29280
  return /*#__PURE__*/jsxRuntime_1(DialogContentTextRoot, _extends({
@@ -29266,7 +29282,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
29266
29282
  variant: "body1",
29267
29283
  color: "text.secondary",
29268
29284
  ref: ref,
29269
- ownerState: ownerState
29285
+ ownerState: ownerState,
29286
+ className: clsx(classes.root, className)
29270
29287
  }, props, {
29271
29288
  classes: classes
29272
29289
  }));
@@ -29289,6 +29306,11 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
29289
29306
  */
29290
29307
  classes: PropTypes.object,
29291
29308
 
29309
+ /**
29310
+ * @ignore
29311
+ */
29312
+ className: PropTypes.string,
29313
+
29292
29314
  /**
29293
29315
  * The system prop that allows defining system overrides as well as additional CSS styles.
29294
29316
  */
@@ -34953,7 +34975,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
34953
34975
  const inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);
34954
34976
  var inputLabelClasses$1 = inputLabelClasses;
34955
34977
 
34956
- const _excluded$12 = ["disableAnimation", "margin", "shrink", "variant"];
34978
+ const _excluded$12 = ["disableAnimation", "margin", "shrink", "variant", "className"];
34957
34979
 
34958
34980
  const useUtilityClasses$S = ownerState => {
34959
34981
  const {
@@ -35053,7 +35075,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
35053
35075
 
35054
35076
  const {
35055
35077
  disableAnimation = false,
35056
- shrink: shrinkProp
35078
+ shrink: shrinkProp,
35079
+ className
35057
35080
  } = props,
35058
35081
  other = _objectWithoutPropertiesLoose(props, _excluded$12);
35059
35082
 
@@ -35083,7 +35106,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
35083
35106
  return /*#__PURE__*/jsxRuntime_1(InputLabelRoot, _extends({
35084
35107
  "data-shrink": shrink,
35085
35108
  ownerState: ownerState,
35086
- ref: ref
35109
+ ref: ref,
35110
+ className: clsx(classes.root, className)
35087
35111
  }, other, {
35088
35112
  classes: classes
35089
35113
  }));
@@ -35106,6 +35130,11 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
35106
35130
  */
35107
35131
  classes: PropTypes.object,
35108
35132
 
35133
+ /**
35134
+ * @ignore
35135
+ */
35136
+ className: PropTypes.string,
35137
+
35109
35138
  /**
35110
35139
  * The color of the component.
35111
35140
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -35959,7 +35988,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
35959
35988
  const listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);
35960
35989
  var listItemButtonClasses$1 = listItemButtonClasses;
35961
35990
 
35962
- const _excluded$_ = ["alignItems", "autoFocus", "component", "children", "dense", "disableGutters", "divider", "focusVisibleClassName", "selected"];
35991
+ const _excluded$_ = ["alignItems", "autoFocus", "component", "children", "dense", "disableGutters", "divider", "focusVisibleClassName", "selected", "className"];
35963
35992
  const overridesResolver$3 = (props, styles) => {
35964
35993
  const {
35965
35994
  ownerState
@@ -36061,7 +36090,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
36061
36090
  disableGutters = false,
36062
36091
  divider = false,
36063
36092
  focusVisibleClassName,
36064
- selected = false
36093
+ selected = false,
36094
+ className
36065
36095
  } = props,
36066
36096
  other = _objectWithoutPropertiesLoose(props, _excluded$_);
36067
36097
 
@@ -36099,7 +36129,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
36099
36129
  href: other.href || other.to,
36100
36130
  component: (other.href || other.to) && component === 'div' ? 'a' : component,
36101
36131
  focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
36102
- ownerState: ownerState
36132
+ ownerState: ownerState,
36133
+ className: clsx(classes.root, className)
36103
36134
  }, other, {
36104
36135
  classes: classes,
36105
36136
  children: children
@@ -36138,6 +36169,11 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
36138
36169
  */
36139
36170
  classes: PropTypes.object,
36140
36171
 
36172
+ /**
36173
+ * @ignore
36174
+ */
36175
+ className: PropTypes.string,
36176
+
36141
36177
  /**
36142
36178
  * The component used for the root node.
36143
36179
  * Either a string to use a HTML element or a component.
@@ -38156,7 +38192,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
38156
38192
  const menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);
38157
38193
  var menuItemClasses$1 = menuItemClasses;
38158
38194
 
38159
- const _excluded$R = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex"];
38195
+ const _excluded$R = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"];
38160
38196
  const overridesResolver$1 = (props, styles) => {
38161
38197
  const {
38162
38198
  ownerState
@@ -38278,7 +38314,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
38278
38314
  disableGutters = false,
38279
38315
  focusVisibleClassName,
38280
38316
  role = 'menuitem',
38281
- tabIndex: tabIndexProp
38317
+ tabIndex: tabIndexProp,
38318
+ className
38282
38319
  } = props,
38283
38320
  other = _objectWithoutPropertiesLoose(props, _excluded$R);
38284
38321
 
@@ -38319,7 +38356,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
38319
38356
  role: role,
38320
38357
  tabIndex: tabIndex,
38321
38358
  component: component,
38322
- focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)
38359
+ focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
38360
+ className: clsx(classes.root, className)
38323
38361
  }, other, {
38324
38362
  ownerState: ownerState,
38325
38363
  classes: classes
@@ -38351,6 +38389,11 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
38351
38389
  */
38352
38390
  classes: PropTypes.object,
38353
38391
 
38392
+ /**
38393
+ * @ignore
38394
+ */
38395
+ className: PropTypes.string,
38396
+
38354
38397
  /**
38355
38398
  * The component used for the root node.
38356
38399
  * Either a string to use a HTML element or a component.
@@ -40343,7 +40386,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
40343
40386
  const radioClasses = generateUtilityClasses('MuiRadio', ['root', 'checked', 'disabled', 'colorPrimary', 'colorSecondary']);
40344
40387
  var radioClasses$1 = radioClasses;
40345
40388
 
40346
- const _excluded$I = ["checked", "checkedIcon", "color", "icon", "name", "onChange", "size"];
40389
+ const _excluded$I = ["checked", "checkedIcon", "color", "icon", "name", "onChange", "size", "className"];
40347
40390
 
40348
40391
  const useUtilityClasses$z = ownerState => {
40349
40392
  const {
@@ -40418,7 +40461,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
40418
40461
  icon = defaultIcon$1,
40419
40462
  name: nameProp,
40420
40463
  onChange: onChangeProp,
40421
- size = 'medium'
40464
+ size = 'medium',
40465
+ className
40422
40466
  } = props,
40423
40467
  other = _objectWithoutPropertiesLoose(props, _excluded$I);
40424
40468
 
@@ -40456,7 +40500,8 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
40456
40500
  name: name,
40457
40501
  checked: checked,
40458
40502
  onChange: onChange,
40459
- ref: ref
40503
+ ref: ref,
40504
+ className: clsx(classes.root, className)
40460
40505
  }, other));
40461
40506
  });
40462
40507
  Radio.propTypes
@@ -40483,6 +40528,11 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
40483
40528
  */
40484
40529
  classes: PropTypes.object,
40485
40530
 
40531
+ /**
40532
+ * @ignore
40533
+ */
40534
+ className: PropTypes.string,
40535
+
40486
40536
  /**
40487
40537
  * The color of the component.
40488
40538
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -45275,7 +45325,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
45275
45325
  const handleFocusRef = useForkRef(focusVisibleRef, handleUseRef);
45276
45326
  const handleRef = useForkRef(children.ref, handleFocusRef); // There is no point in displaying an empty tooltip.
45277
45327
 
45278
- if (title === '') {
45328
+ if (typeof title !== 'number' && !title) {
45279
45329
  open = false;
45280
45330
  }
45281
45331
 
@@ -45617,11 +45667,9 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
45617
45667
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
45618
45668
 
45619
45669
  /**
45620
- * Tooltip title. Zero-length titles string are never displayed.
45670
+ * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.
45621
45671
  */
45622
- title: PropTypes
45623
- /* @typescript-to-proptypes-ignore */
45624
- .node.isRequired,
45672
+ title: PropTypes.node,
45625
45673
 
45626
45674
  /**
45627
45675
  * The component used for the transition.
@@ -46638,7 +46686,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
46638
46686
  root: ['root', orientation, error && 'error', disabled && 'disabled', alternativeLabel && 'alternativeLabel'],
46639
46687
  label: ['label', active && 'active', completed && 'completed', error && 'error', disabled && 'disabled', alternativeLabel && 'alternativeLabel'],
46640
46688
  iconContainer: ['iconContainer', active && 'active', completed && 'completed', error && 'error', disabled && 'disabled', alternativeLabel && 'alternativeLabel'],
46641
- labelContainer: ['labelContainer']
46689
+ labelContainer: ['labelContainer', alternativeLabel && 'alternativeLabel']
46642
46690
  };
46643
46691
  return composeClasses(slots, getStepLabelUtilityClass, classes);
46644
46692
  };
@@ -46687,7 +46735,6 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
46687
46735
  fontWeight: 500
46688
46736
  },
46689
46737
  [`&.${stepLabelClasses$1.alternativeLabel}`]: {
46690
- textAlign: 'center',
46691
46738
  marginTop: 16
46692
46739
  },
46693
46740
  [`&.${stepLabelClasses$1.error}`]: {
@@ -46715,7 +46762,10 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
46715
46762
  theme
46716
46763
  }) => ({
46717
46764
  width: '100%',
46718
- color: (theme.vars || theme).palette.text.secondary
46765
+ color: (theme.vars || theme).palette.text.secondary,
46766
+ [`&.${stepLabelClasses$1.alternativeLabel}`]: {
46767
+ textAlign: 'center'
46768
+ }
46719
46769
  }));
46720
46770
  const StepLabel = /*#__PURE__*/React__namespace.forwardRef(function StepLabel(inProps, ref) {
46721
46771
  const props = useThemeProps({
@@ -52717,7 +52767,7 @@ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` );
52717
52767
  exports.Tooltip = Tooltip$1;
52718
52768
  exports.Typography = Typography$1;
52719
52769
  exports.Unstable_Grid2 = Grid2$1;
52720
- exports.Unstable_TrapFocus = TrapFocus;
52770
+ exports.Unstable_TrapFocus = FocusTrap;
52721
52771
  exports.Zoom = Zoom$1;
52722
52772
  exports.accordionActionsClasses = accordionActionsClasses$1;
52723
52773
  exports.accordionClasses = accordionClasses$1;