@mui/material 5.8.3 → 5.8.6

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 (158) hide show
  1. package/Alert/Alert.js +19 -11
  2. package/AppBar/AppBar.js +22 -5
  3. package/Autocomplete/autocompleteClasses.d.ts +1 -1
  4. package/Avatar/Avatar.js +7 -4
  5. package/Badge/Badge.js +2 -2
  6. package/Button/buttonClasses.d.ts +24 -0
  7. package/Button/buttonClasses.js +1 -1
  8. package/CHANGELOG.md +224 -14
  9. package/Chip/Chip.js +31 -30
  10. package/Dialog/Dialog.js +11 -6
  11. package/FilledInput/FilledInput.js +28 -13
  12. package/Grid/Grid.d.ts +73 -52
  13. package/Grid/Grid.js +94 -40
  14. package/Grow/Grow.js +1 -2
  15. package/Hidden/withWidth.js +0 -2
  16. package/Input/Input.js +1 -1
  17. package/InputBase/InputBase.js +2 -2
  18. package/LinearProgress/LinearProgress.js +6 -2
  19. package/Link/Link.js +10 -17
  20. package/Link/getTextDecoration.d.ts +15 -0
  21. package/Link/getTextDecoration.js +29 -0
  22. package/Modal/Modal.d.ts +2 -0
  23. package/Modal/Modal.js +25 -8
  24. package/OutlinedInput/OutlinedInput.js +40 -10
  25. package/Popover/Popover.d.ts +7 -0
  26. package/Popover/index.js +1 -0
  27. package/README.md +6 -9
  28. package/Skeleton/Skeleton.js +8 -3
  29. package/Slider/Slider.d.ts +3 -1
  30. package/Slider/Slider.js +24 -22
  31. package/Snackbar/Snackbar.js +6 -20
  32. package/SnackbarContent/SnackbarContent.js +3 -3
  33. package/SpeedDialAction/SpeedDialAction.js +7 -7
  34. package/Stack/Stack.js +1 -1
  35. package/StepConnector/StepConnector.js +14 -11
  36. package/StepContent/StepContent.js +1 -1
  37. package/StepIcon/StepIcon.js +2 -1
  38. package/Switch/Switch.js +11 -11
  39. package/Tab/Tab.d.ts +0 -1
  40. package/TableCell/TableCell.js +5 -5
  41. package/Tabs/Tabs.js +16 -2
  42. package/Tooltip/Tooltip.js +1 -1
  43. package/index.js +1 -1
  44. package/legacy/Alert/Alert.js +19 -11
  45. package/legacy/AppBar/AppBar.js +23 -4
  46. package/legacy/Avatar/Avatar.js +7 -4
  47. package/legacy/Badge/Badge.js +2 -2
  48. package/legacy/Button/buttonClasses.js +1 -1
  49. package/legacy/Chip/Chip.js +31 -30
  50. package/legacy/Dialog/Dialog.js +11 -6
  51. package/legacy/FilledInput/FilledInput.js +28 -14
  52. package/legacy/Grid/Grid.js +97 -48
  53. package/legacy/Grow/Grow.js +1 -2
  54. package/legacy/Hidden/withWidth.js +0 -2
  55. package/legacy/Input/Input.js +1 -1
  56. package/legacy/InputBase/InputBase.js +2 -2
  57. package/legacy/LinearProgress/LinearProgress.js +6 -2
  58. package/legacy/Link/Link.js +10 -17
  59. package/legacy/Link/getTextDecoration.js +28 -0
  60. package/legacy/Modal/Modal.js +23 -7
  61. package/legacy/OutlinedInput/OutlinedInput.js +36 -9
  62. package/legacy/Popover/index.js +1 -0
  63. package/legacy/Skeleton/Skeleton.js +2 -2
  64. package/legacy/Slider/Slider.js +24 -22
  65. package/legacy/Snackbar/Snackbar.js +6 -21
  66. package/legacy/SnackbarContent/SnackbarContent.js +3 -3
  67. package/legacy/SpeedDialAction/SpeedDialAction.js +7 -7
  68. package/legacy/Stack/Stack.js +2 -1
  69. package/legacy/StepConnector/StepConnector.js +2 -1
  70. package/legacy/StepContent/StepContent.js +1 -1
  71. package/legacy/StepIcon/StepIcon.js +2 -1
  72. package/legacy/Switch/Switch.js +11 -11
  73. package/legacy/TableCell/TableCell.js +5 -5
  74. package/legacy/Tabs/Tabs.js +16 -2
  75. package/legacy/Tooltip/Tooltip.js +1 -1
  76. package/legacy/index.js +1 -1
  77. package/legacy/styles/CssVarsProvider.js +4 -2
  78. package/legacy/styles/experimental_extendTheme.js +153 -18
  79. package/modern/Alert/Alert.js +19 -11
  80. package/modern/AppBar/AppBar.js +22 -5
  81. package/modern/Avatar/Avatar.js +7 -4
  82. package/modern/Badge/Badge.js +2 -2
  83. package/modern/Button/buttonClasses.js +1 -1
  84. package/modern/Chip/Chip.js +31 -30
  85. package/modern/Dialog/Dialog.js +11 -6
  86. package/modern/FilledInput/FilledInput.js +27 -12
  87. package/modern/Grid/Grid.js +94 -40
  88. package/modern/Grow/Grow.js +1 -2
  89. package/modern/Hidden/withWidth.js +0 -2
  90. package/modern/Input/Input.js +1 -1
  91. package/modern/InputBase/InputBase.js +2 -2
  92. package/modern/LinearProgress/LinearProgress.js +6 -2
  93. package/modern/Link/Link.js +10 -17
  94. package/modern/Link/getTextDecoration.js +29 -0
  95. package/modern/Modal/Modal.js +24 -7
  96. package/modern/OutlinedInput/OutlinedInput.js +40 -10
  97. package/modern/Popover/index.js +1 -0
  98. package/modern/Skeleton/Skeleton.js +7 -2
  99. package/modern/Slider/Slider.js +24 -22
  100. package/modern/Snackbar/Snackbar.js +6 -20
  101. package/modern/SnackbarContent/SnackbarContent.js +3 -3
  102. package/modern/SpeedDialAction/SpeedDialAction.js +7 -7
  103. package/modern/Stack/Stack.js +1 -1
  104. package/modern/StepConnector/StepConnector.js +14 -11
  105. package/modern/StepContent/StepContent.js +1 -1
  106. package/modern/StepIcon/StepIcon.js +2 -1
  107. package/modern/Switch/Switch.js +11 -11
  108. package/modern/TableCell/TableCell.js +5 -5
  109. package/modern/Tabs/Tabs.js +16 -2
  110. package/modern/Tooltip/Tooltip.js +1 -1
  111. package/modern/index.js +1 -1
  112. package/modern/styles/CssVarsProvider.js +2 -2
  113. package/modern/styles/experimental_extendTheme.js +154 -18
  114. package/node/Alert/Alert.js +19 -11
  115. package/node/AppBar/AppBar.js +22 -5
  116. package/node/Avatar/Avatar.js +7 -4
  117. package/node/Badge/Badge.js +2 -2
  118. package/node/Button/buttonClasses.js +1 -1
  119. package/node/Chip/Chip.js +31 -30
  120. package/node/Dialog/Dialog.js +11 -6
  121. package/node/FilledInput/FilledInput.js +28 -13
  122. package/node/Grid/Grid.js +95 -40
  123. package/node/Grow/Grow.js +1 -2
  124. package/node/Hidden/withWidth.js +0 -3
  125. package/node/Input/Input.js +1 -1
  126. package/node/InputBase/InputBase.js +2 -2
  127. package/node/LinearProgress/LinearProgress.js +6 -2
  128. package/node/Link/Link.js +12 -20
  129. package/node/Link/getTextDecoration.js +39 -0
  130. package/node/Modal/Modal.js +25 -8
  131. package/node/OutlinedInput/OutlinedInput.js +38 -10
  132. package/node/Popover/index.js +13 -3
  133. package/node/Skeleton/Skeleton.js +7 -2
  134. package/node/Slider/Slider.js +24 -22
  135. package/node/Snackbar/Snackbar.js +6 -18
  136. package/node/SnackbarContent/SnackbarContent.js +3 -3
  137. package/node/SpeedDialAction/SpeedDialAction.js +7 -7
  138. package/node/Stack/Stack.js +1 -1
  139. package/node/StepConnector/StepConnector.js +14 -11
  140. package/node/StepContent/StepContent.js +1 -1
  141. package/node/StepIcon/StepIcon.js +2 -1
  142. package/node/Switch/Switch.js +11 -11
  143. package/node/TableCell/TableCell.js +5 -5
  144. package/node/Tabs/Tabs.js +16 -2
  145. package/node/Tooltip/Tooltip.js +1 -1
  146. package/node/index.js +1 -1
  147. package/node/styles/CssVarsProvider.js +6 -2
  148. package/node/styles/experimental_extendTheme.js +152 -17
  149. package/package.json +6 -7
  150. package/styles/CssVarsProvider.d.ts +10 -28
  151. package/styles/CssVarsProvider.js +6 -2
  152. package/styles/createPalette.d.ts +0 -26
  153. package/styles/experimental_extendTheme.d.ts +225 -37
  154. package/styles/experimental_extendTheme.js +154 -18
  155. package/styles/index.d.ts +24 -1
  156. package/themeCssVarsAugmentation/index.d.ts +61 -0
  157. package/umd/material-ui.development.js +1048 -541
  158. package/umd/material-ui.production.min.js +27 -22
@@ -38,7 +38,7 @@ var StepContentRoot = styled('div', {
38
38
  paddingLeft: 8 + 12,
39
39
  // margin + half icon
40
40
  paddingRight: 8,
41
- borderLeft: "1px solid ".concat(theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600])
41
+ borderLeft: theme.vars ? "1px solid ".concat(theme.vars.palette.StepContent.border) : "1px solid ".concat(theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600])
42
42
  }, ownerState.last && {
43
43
  borderLeft: 'none'
44
44
  });
@@ -124,8 +124,9 @@ var StepIcon = /*#__PURE__*/React.forwardRef(function StepIcon(inProps, ref) {
124
124
  })), /*#__PURE__*/_jsx(StepIconText, {
125
125
  className: classes.text,
126
126
  x: "12",
127
- y: "16",
127
+ y: "12",
128
128
  textAnchor: "middle",
129
+ dominantBaseline: "central",
129
130
  ownerState: ownerState,
130
131
  children: icon
131
132
  })]
@@ -95,18 +95,18 @@ var SwitchSwitchBase = styled(SwitchBase, {
95
95
  left: 0,
96
96
  zIndex: 1,
97
97
  // Render above the focus ripple.
98
- color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],
98
+ color: theme.vars ? theme.vars.palette.Switch.defaultColor : "".concat(theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]),
99
99
  transition: theme.transitions.create(['left', 'transform'], {
100
100
  duration: theme.transitions.duration.shortest
101
101
  })
102
102
  }, _defineProperty(_ref5, "&.".concat(switchClasses.checked), {
103
103
  transform: 'translateX(20px)'
104
104
  }), _defineProperty(_ref5, "&.".concat(switchClasses.disabled), {
105
- color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]
105
+ color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : "".concat(theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600])
106
106
  }), _defineProperty(_ref5, "&.".concat(switchClasses.checked, " + .").concat(switchClasses.track), {
107
107
  opacity: 0.5
108
108
  }), _defineProperty(_ref5, "&.".concat(switchClasses.disabled, " + .").concat(switchClasses.track), {
109
- opacity: theme.palette.mode === 'light' ? 0.12 : 0.2
109
+ opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : "".concat(theme.palette.mode === 'light' ? 0.12 : 0.2)
110
110
  }), _defineProperty(_ref5, "& .".concat(switchClasses.input), {
111
111
  left: '-100%',
112
112
  width: '300%'
@@ -118,24 +118,24 @@ var SwitchSwitchBase = styled(SwitchBase, {
118
118
  ownerState = _ref6.ownerState;
119
119
  return _extends({
120
120
  '&:hover': {
121
- backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),
121
+ backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.action.activeChannel, " / ").concat(theme.vars.palette.action.hoverOpacity, ")") : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),
122
122
  // Reset on touch devices, it doesn't add specificity
123
123
  '@media (hover: none)': {
124
124
  backgroundColor: 'transparent'
125
125
  }
126
126
  }
127
127
  }, ownerState.color !== 'default' && (_ref7 = {}, _defineProperty(_ref7, "&.".concat(switchClasses.checked), _defineProperty({
128
- color: theme.palette[ownerState.color].main,
128
+ color: (theme.vars || theme).palette[ownerState.color].main,
129
129
  '&:hover': {
130
- backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
130
+ backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette[ownerState.color].mainChannel, " / ").concat(theme.vars.palette.action.hoverOpacity, ")") : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
131
131
  '@media (hover: none)': {
132
132
  backgroundColor: 'transparent'
133
133
  }
134
134
  }
135
135
  }, "&.".concat(switchClasses.disabled), {
136
- color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)
136
+ color: theme.vars ? theme.vars.palette.Switch["".concat(ownerState.color, "DisabledColor")] : "".concat(theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55))
137
137
  })), _defineProperty(_ref7, "&.".concat(switchClasses.checked, " + .").concat(switchClasses.track), {
138
- backgroundColor: theme.palette[ownerState.color].main
138
+ backgroundColor: (theme.vars || theme).palette[ownerState.color].main
139
139
  }), _ref7));
140
140
  });
141
141
  var SwitchTrack = styled('span', {
@@ -154,8 +154,8 @@ var SwitchTrack = styled('span', {
154
154
  transition: theme.transitions.create(['opacity', 'background-color'], {
155
155
  duration: theme.transitions.duration.shortest
156
156
  }),
157
- backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,
158
- opacity: theme.palette.mode === 'light' ? 0.38 : 0.3
157
+ backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : "".concat(theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white),
158
+ opacity: theme.vars ? theme.vars.opacity.switchTrack : "".concat(theme.palette.mode === 'light' ? 0.38 : 0.3)
159
159
  };
160
160
  });
161
161
  var SwitchThumb = styled('span', {
@@ -167,7 +167,7 @@ var SwitchThumb = styled('span', {
167
167
  })(function (_ref9) {
168
168
  var theme = _ref9.theme;
169
169
  return {
170
- boxShadow: theme.shadows[1],
170
+ boxShadow: (theme.vars || theme).shadows[1],
171
171
  backgroundColor: 'currentColor',
172
172
  width: 20,
173
173
  height: 20,
@@ -42,17 +42,17 @@ var TableCellRoot = styled('td', {
42
42
  verticalAlign: 'inherit',
43
43
  // Workaround for a rendering bug with spanned columns in Chrome 62.0.
44
44
  // Removes the alpha (sets it to 1), and lightens or darkens the theme color.
45
- borderBottom: "1px solid\n ".concat(theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)),
45
+ borderBottom: theme.vars ? "1px solid ".concat(theme.vars.palette.TableCell.border) : "1px solid\n ".concat(theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)),
46
46
  textAlign: 'left',
47
47
  padding: 16
48
48
  }, ownerState.variant === 'head' && {
49
- color: theme.palette.text.primary,
49
+ color: (theme.vars || theme).palette.text.primary,
50
50
  lineHeight: theme.typography.pxToRem(24),
51
51
  fontWeight: theme.typography.fontWeightMedium
52
52
  }, ownerState.variant === 'body' && {
53
- color: theme.palette.text.primary
53
+ color: (theme.vars || theme).palette.text.primary
54
54
  }, ownerState.variant === 'footer' && {
55
- color: theme.palette.text.secondary,
55
+ color: (theme.vars || theme).palette.text.secondary,
56
56
  lineHeight: theme.typography.pxToRem(21),
57
57
  fontSize: theme.typography.pxToRem(12)
58
58
  }, ownerState.size === 'small' && _defineProperty({
@@ -83,7 +83,7 @@ var TableCellRoot = styled('td', {
83
83
  position: 'sticky',
84
84
  top: 0,
85
85
  zIndex: 2,
86
- backgroundColor: theme.palette.background.default
86
+ backgroundColor: (theme.vars || theme).palette.background.default
87
87
  });
88
88
  });
89
89
  /**
@@ -438,6 +438,12 @@ var Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
438
438
  var tab = children[i];
439
439
 
440
440
  if (totalSize + tab[clientSize] > containerSize) {
441
+ // If the first item is longer than the container size, then only scroll
442
+ // by the container size.
443
+ if (i === 0) {
444
+ totalSize = containerSize;
445
+ }
446
+
441
447
  break;
442
448
  }
443
449
 
@@ -546,8 +552,16 @@ var Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
546
552
  });
547
553
  React.useEffect(function () {
548
554
  var handleResize = debounce(function () {
549
- updateIndicatorState();
550
- updateScrollButtonState();
555
+ // If the Tabs component is replaced by Suspense with a fallback, the last
556
+ // ResizeObserver's handler that runs because of the change in the layout is trying to
557
+ // access a dom node that is no longer there (as the fallback component is being shown instead).
558
+ // See https://github.com/mui/material-ui/issues/33276
559
+ // TODO: Add tests that will ensure the component is not failing when
560
+ // replaced by Suspense with a fallback, once React is updated to version 18
561
+ if (tabsRef.current) {
562
+ updateIndicatorState();
563
+ updateScrollButtonState();
564
+ }
551
565
  });
552
566
  var win = ownerWindow(tabsRef.current);
553
567
  win.addEventListener('resize', handleResize);
@@ -112,7 +112,7 @@ var TooltipTooltip = styled('div', {
112
112
  var theme = _ref3.theme,
113
113
  ownerState = _ref3.ownerState;
114
114
  return _extends({
115
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.grey.darkChannel, " / 0.92)") : alpha(theme.palette.grey[700], 0.92),
115
+ backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),
116
116
  borderRadius: (theme.vars || theme).shape.borderRadius,
117
117
  color: (theme.vars || theme).palette.common.white,
118
118
  fontFamily: theme.typography.fontFamily,
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.8.3
1
+ /** @license MUI v5.8.6
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.
@@ -15,7 +15,7 @@ var _createCssVarsProvide = createCssVarsProvider({
15
15
  light: 'light',
16
16
  dark: 'dark'
17
17
  },
18
- prefix: 'md',
18
+ prefix: 'mui',
19
19
  resolveTheme: function resolveTheme(theme) {
20
20
  var newTheme = _extends({}, theme, {
21
21
  typography: createTypography(theme.palette, theme.typography)
@@ -24,7 +24,9 @@ var _createCssVarsProvide = createCssVarsProvider({
24
24
  return newTheme;
25
25
  },
26
26
  shouldSkipGeneratingVar: function shouldSkipGeneratingVar(keys) {
27
- return !!keys[0].match(/(typography|mixins|breakpoints|direction|transitions)/);
27
+ var _keys$;
28
+
29
+ return !!keys[0].match(/(typography|mixins|breakpoints|direction|transitions)/) || keys[0] === 'palette' && !!((_keys$ = keys[1]) != null && _keys$.match(/(mode|contrastThreshold|tonalOffset)/));
28
30
  }
29
31
  }),
30
32
  Experimental_CssVarsProvider = _createCssVarsProvide.CssVarsProvider,
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
4
  import { deepmerge } from '@mui/utils';
5
- import { colorChannel } from '@mui/system';
5
+ import { colorChannel, alpha, darken, lighten, emphasize } from '@mui/system';
6
6
  import createThemeWithoutVars from './createTheme';
7
7
  import { getOverlayAlpha } from '../Paper/Paper';
8
8
 
@@ -15,6 +15,18 @@ var defaultDarkOverlays = _toConsumableArray(Array(25)).map(function (_, index)
15
15
  return "linear-gradient(rgba(255 255 255 / ".concat(overlay, "), rgba(255 255 255 / ").concat(overlay, "))");
16
16
  });
17
17
 
18
+ function assignNode(obj, keys) {
19
+ keys.forEach(function (k) {
20
+ if (!obj[k]) {
21
+ obj[k] = {};
22
+ }
23
+ });
24
+ }
25
+
26
+ function setColor(obj, key, defaultValue) {
27
+ obj[key] = obj[key] || defaultValue;
28
+ }
29
+
18
30
  export default function extendTheme() {
19
31
  var _colorSchemesInput$li, _colorSchemesInput$da, _colorSchemesInput$li2, _colorSchemesInput$li3, _colorSchemesInput$da2, _colorSchemesInput$da3;
20
32
 
@@ -42,16 +54,20 @@ export default function extendTheme() {
42
54
  light: _extends({}, colorSchemesInput.light, {
43
55
  palette: lightPalette,
44
56
  opacity: _extends({
45
- placeholder: 0.42,
46
- inputTouchBottomLine: 0.42
57
+ inputPlaceholder: 0.42,
58
+ inputUnderline: 0.42,
59
+ switchTrackDisabled: 0.12,
60
+ switchTrack: 0.38
47
61
  }, (_colorSchemesInput$li2 = colorSchemesInput.light) == null ? void 0 : _colorSchemesInput$li2.opacity),
48
62
  overlays: ((_colorSchemesInput$li3 = colorSchemesInput.light) == null ? void 0 : _colorSchemesInput$li3.overlays) || []
49
63
  }),
50
64
  dark: _extends({}, colorSchemesInput.dark, {
51
65
  palette: darkPalette,
52
66
  opacity: _extends({
53
- placeholder: 0.5,
54
- inputTouchBottomLine: 0.7
67
+ inputPlaceholder: 0.5,
68
+ inputUnderline: 0.7,
69
+ switchTrackDisabled: 0.2,
70
+ switchTrack: 0.3
55
71
  }, (_colorSchemesInput$da2 = colorSchemesInput.dark) == null ? void 0 : _colorSchemesInput$da2.opacity),
56
72
  overlays: ((_colorSchemesInput$da3 = colorSchemesInput.dark) == null ? void 0 : _colorSchemesInput$da3.overlays) || defaultDarkOverlays
57
73
  })
@@ -61,23 +77,138 @@ export default function extendTheme() {
61
77
  Object.keys(theme.colorSchemes).forEach(function (key) {
62
78
  var palette = theme.colorSchemes[key].palette; // attach black & white channels to common node
63
79
 
64
- if (key === 'dark') {
65
- palette.common.background = palette.common.background || '#000';
66
- palette.common.onBackground = palette.common.onBackground || '#fff';
80
+ if (key === 'light') {
81
+ setColor(palette.common, 'background', '#fff');
82
+ setColor(palette.common, 'onBackground', '#000');
67
83
  } else {
68
- palette.common.background = palette.common.background || '#fff';
69
- palette.common.onBackground = palette.common.onBackground || '#000';
70
- }
84
+ setColor(palette.common, 'background', '#000');
85
+ setColor(palette.common, 'onBackground', '#fff');
86
+ } // assign component variables
71
87
 
72
- palette.common.backgroundChannel = colorChannel(palette.common.background);
73
- palette.common.onBackgroundChannel = colorChannel(palette.common.onBackground);
74
- palette.dividerChannel = colorChannel(palette.divider); // special token for Tooltip
75
- // TODO: consider adding `main`, and `light` to palette.grey to make it consistent.
76
88
 
77
- if (!palette.grey.dark) {
78
- palette.grey.dark = palette.grey[700];
89
+ assignNode(palette, ['Alert', 'AppBar', 'Avatar', 'Chip', 'FilledInput', 'LinearProgress', 'Skeleton', 'Slider', 'SnackbarContent', 'SpeedDialAction', 'StepConnector', 'StepContent', 'Switch', 'TableCell', 'Tooltip']);
90
+
91
+ if (key === 'light') {
92
+ setColor(palette.Alert, 'errorColor', darken(palette.error.light, 0.6));
93
+ setColor(palette.Alert, 'infoColor', darken(palette.info.light, 0.6));
94
+ setColor(palette.Alert, 'successColor', darken(palette.success.light, 0.6));
95
+ setColor(palette.Alert, 'warningColor', darken(palette.warning.light, 0.6));
96
+ setColor(palette.Alert, 'errorFilledBg', 'var(--mui-palette-error-main)');
97
+ setColor(palette.Alert, 'infoFilledBg', 'var(--mui-palette-info-main)');
98
+ setColor(palette.Alert, 'successFilledBg', 'var(--mui-palette-success-main)');
99
+ setColor(palette.Alert, 'warningFilledBg', 'var(--mui-palette-warning-main)');
100
+ setColor(palette.Alert, 'errorFilledColor', lightPalette.getContrastText(palette.error.main));
101
+ setColor(palette.Alert, 'infoFilledColor', lightPalette.getContrastText(palette.info.main));
102
+ setColor(palette.Alert, 'successFilledColor', lightPalette.getContrastText(palette.success.main));
103
+ setColor(palette.Alert, 'warningFilledColor', lightPalette.getContrastText(palette.warning.main));
104
+ setColor(palette.Alert, 'errorStandardBg', lighten(palette.error.light, 0.9));
105
+ setColor(palette.Alert, 'infoStandardBg', lighten(palette.info.light, 0.9));
106
+ setColor(palette.Alert, 'successStandardBg', lighten(palette.success.light, 0.9));
107
+ setColor(palette.Alert, 'warningStandardBg', lighten(palette.warning.light, 0.9));
108
+ setColor(palette.Alert, 'errorIconColor', 'var(--mui-palette-error-light)');
109
+ setColor(palette.Alert, 'infoIconColor', 'var(--mui-palette-info-light)');
110
+ setColor(palette.Alert, 'successIconColor', 'var(--mui-palette-success-light)');
111
+ setColor(palette.Alert, 'warningIconColor', 'var(--mui-palette-warning-light)');
112
+ setColor(palette.AppBar, 'defaultBg', 'var(--mui-palette-grey-100)');
113
+ setColor(palette.Avatar, 'defaultBg', 'var(--mui-palette-grey-400)');
114
+ setColor(palette.Chip, 'defaultBorder', 'var(--mui-palette-grey-400)');
115
+ setColor(palette.Chip, 'defaultAvatarColor', 'var(--mui-palette-grey-700)');
116
+ setColor(palette.Chip, 'defaultIconColor', 'var(--mui-palette-grey-700)');
117
+ setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');
118
+ setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');
119
+ setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');
120
+ setColor(palette.LinearProgress, 'primaryBg', lighten(palette.primary.main, 0.62));
121
+ setColor(palette.LinearProgress, 'secondaryBg', lighten(palette.secondary.main, 0.62));
122
+ setColor(palette.LinearProgress, 'errorBg', lighten(palette.error.main, 0.62));
123
+ setColor(palette.LinearProgress, 'infoBg', lighten(palette.info.main, 0.62));
124
+ setColor(palette.LinearProgress, 'successBg', lighten(palette.success.main, 0.62));
125
+ setColor(palette.LinearProgress, 'warningBg', lighten(palette.warning.main, 0.62));
126
+ setColor(palette.Skeleton, 'bg', 'rgba(var(--mui-palette-text-primaryChannel) / 0.11)');
127
+ setColor(palette.Slider, 'primaryTrack', lighten(palette.primary.main, 0.62));
128
+ setColor(palette.Slider, 'secondaryTrack', lighten(palette.secondary.main, 0.62));
129
+ setColor(palette.Slider, 'errorTrack', lighten(palette.error.main, 0.62));
130
+ setColor(palette.Slider, 'infoTrack', lighten(palette.info.main, 0.62));
131
+ setColor(palette.Slider, 'successTrack', lighten(palette.success.main, 0.62));
132
+ setColor(palette.Slider, 'warningTrack', lighten(palette.warning.main, 0.62));
133
+ setColor(palette.SnackbarContent, 'bg', emphasize(palette.background.default, 0.8));
134
+ setColor(palette.SpeedDialAction, 'fabHoverBg', emphasize(palette.background.paper, 0.15));
135
+ setColor(palette.StepConnector, 'border', 'var(--mui-palette-grey-400)');
136
+ setColor(palette.StepContent, 'border', 'var(--mui-palette-grey-400)');
137
+ setColor(palette.Switch, 'defaultColor', 'var(--mui-palette-common-white)');
138
+ setColor(palette.Switch, 'defaultDisabledColor', 'var(--mui-palette-grey-100)');
139
+ setColor(palette.Switch, 'primaryDisabledColor', lighten(palette.primary.main, 0.62));
140
+ setColor(palette.Switch, 'secondaryDisabledColor', lighten(palette.secondary.main, 0.62));
141
+ setColor(palette.Switch, 'errorDisabledColor', lighten(palette.error.main, 0.62));
142
+ setColor(palette.Switch, 'infoDisabledColor', lighten(palette.info.main, 0.62));
143
+ setColor(palette.Switch, 'successDisabledColor', lighten(palette.success.main, 0.62));
144
+ setColor(palette.Switch, 'warningDisabledColor', lighten(palette.warning.main, 0.62));
145
+ setColor(palette.TableCell, 'border', lighten(alpha(palette.divider, 1), 0.88));
146
+ setColor(palette.Tooltip, 'bg', alpha(palette.grey[700], 0.92));
147
+ } else {
148
+ setColor(palette.Alert, 'errorColor', lighten(palette.error.light, 0.6));
149
+ setColor(palette.Alert, 'infoColor', lighten(palette.info.light, 0.6));
150
+ setColor(palette.Alert, 'successColor', lighten(palette.success.light, 0.6));
151
+ setColor(palette.Alert, 'warningColor', lighten(palette.warning.light, 0.6));
152
+ setColor(palette.Alert, 'errorFilledBg', 'var(--mui-palette-error-dark)');
153
+ setColor(palette.Alert, 'infoFilledBg', 'var(--mui-palette-info-dark)');
154
+ setColor(palette.Alert, 'successFilledBg', 'var(--mui-palette-success-dark)');
155
+ setColor(palette.Alert, 'warningFilledBg', 'var(--mui-palette-warning-dark)');
156
+ setColor(palette.Alert, 'errorFilledColor', darkPalette.getContrastText(palette.error.dark));
157
+ setColor(palette.Alert, 'infoFilledColor', darkPalette.getContrastText(palette.info.dark));
158
+ setColor(palette.Alert, 'successFilledColor', darkPalette.getContrastText(palette.success.dark));
159
+ setColor(palette.Alert, 'warningFilledColor', darkPalette.getContrastText(palette.warning.dark));
160
+ setColor(palette.Alert, 'errorStandardBg', darken(palette.error.light, 0.9));
161
+ setColor(palette.Alert, 'infoStandardBg', darken(palette.info.light, 0.9));
162
+ setColor(palette.Alert, 'successStandardBg', darken(palette.success.light, 0.9));
163
+ setColor(palette.Alert, 'warningStandardBg', darken(palette.warning.light, 0.9));
164
+ setColor(palette.Alert, 'errorIconColor', 'var(--mui-palette-error-main)');
165
+ setColor(palette.Alert, 'infoIconColor', 'var(--mui-palette-info-main)');
166
+ setColor(palette.Alert, 'successIconColor', 'var(--mui-palette-success-main)');
167
+ setColor(palette.Alert, 'warningIconColor', 'var(--mui-palette-warning-main)');
168
+ setColor(palette.AppBar, 'defaultBg', 'var(--mui-palette-grey-900)');
169
+ setColor(palette.AppBar, 'darkBg', 'var(--mui-palette-background-paper)'); // specific for dark mode
170
+
171
+ setColor(palette.AppBar, 'darkColor', 'var(--mui-palette-text-primary)'); // specific for dark mode
172
+
173
+ setColor(palette.Avatar, 'defaultBg', 'var(--mui-palette-grey-600)');
174
+ setColor(palette.Chip, 'defaultBorder', 'var(--mui-palette-grey-700)');
175
+ setColor(palette.Chip, 'defaultAvatarColor', 'var(--mui-palette-grey-300)');
176
+ setColor(palette.Chip, 'defaultIconColor', 'var(--mui-palette-grey-300)');
177
+ setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');
178
+ setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');
179
+ setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');
180
+ setColor(palette.LinearProgress, 'primaryBg', darken(palette.primary.main, 0.5));
181
+ setColor(palette.LinearProgress, 'secondaryBg', darken(palette.secondary.main, 0.5));
182
+ setColor(palette.LinearProgress, 'errorBg', darken(palette.error.main, 0.5));
183
+ setColor(palette.LinearProgress, 'infoBg', darken(palette.info.main, 0.5));
184
+ setColor(palette.LinearProgress, 'successBg', darken(palette.success.main, 0.5));
185
+ setColor(palette.LinearProgress, 'warningBg', darken(palette.warning.main, 0.5));
186
+ setColor(palette.Skeleton, 'bg', 'rgba(var(--mui-palette-text-primaryChannel) / 0.13)');
187
+ setColor(palette.Slider, 'primaryTrack', darken(palette.primary.main, 0.5));
188
+ setColor(palette.Slider, 'secondaryTrack', darken(palette.secondary.main, 0.5));
189
+ setColor(palette.Slider, 'errorTrack', darken(palette.error.main, 0.5));
190
+ setColor(palette.Slider, 'infoTrack', darken(palette.info.main, 0.5));
191
+ setColor(palette.Slider, 'successTrack', darken(palette.success.main, 0.5));
192
+ setColor(palette.Slider, 'warningTrack', darken(palette.warning.main, 0.5));
193
+ setColor(palette.SnackbarContent, 'bg', emphasize(palette.background.default, 0.98));
194
+ setColor(palette.SpeedDialAction, 'fabHoverBg', emphasize(palette.background.paper, 0.15));
195
+ setColor(palette.StepConnector, 'border', 'var(--mui-palette-grey-600)');
196
+ setColor(palette.StepContent, 'border', 'var(--mui-palette-grey-600)');
197
+ setColor(palette.Switch, 'defaultColor', 'var(--mui-palette-grey-300)');
198
+ setColor(palette.Switch, 'defaultDisabledColor', 'var(--mui-palette-grey-600)');
199
+ setColor(palette.Switch, 'primaryDisabledColor', darken(palette.primary.main, 0.55));
200
+ setColor(palette.Switch, 'secondaryDisabledColor', darken(palette.secondary.main, 0.55));
201
+ setColor(palette.Switch, 'errorDisabledColor', darken(palette.error.main, 0.55));
202
+ setColor(palette.Switch, 'infoDisabledColor', darken(palette.info.main, 0.55));
203
+ setColor(palette.Switch, 'successDisabledColor', darken(palette.success.main, 0.55));
204
+ setColor(palette.Switch, 'warningDisabledColor', darken(palette.warning.main, 0.55));
205
+ setColor(palette.TableCell, 'border', darken(alpha(palette.divider, 1), 0.68));
206
+ setColor(palette.Tooltip, 'bg', alpha(palette.grey[700], 0.92));
79
207
  }
80
208
 
209
+ palette.common.backgroundChannel = colorChannel(palette.common.background);
210
+ palette.common.onBackgroundChannel = colorChannel(palette.common.onBackground);
211
+ palette.dividerChannel = colorChannel(palette.divider);
81
212
  Object.keys(palette).forEach(function (color) {
82
213
  var colors = palette[color]; // Color palettes: primary, secondary, error, info, success, and warning
83
214
 
@@ -104,12 +235,16 @@ export default function extendTheme() {
104
235
 
105
236
  if (colors.secondary) {
106
237
  palette[color].secondaryChannel = colorChannel(colors.secondary);
107
- } // Action colors: action.activeChannel
238
+ } // Action colors: action.active, action.selected
108
239
 
109
240
 
110
241
  if (colors.active) {
111
242
  palette[color].activeChannel = colorChannel(colors.active);
112
243
  }
244
+
245
+ if (colors.selected) {
246
+ palette[color].selectedChannel = colorChannel(colors.selected);
247
+ }
113
248
  });
114
249
  });
115
250
 
@@ -60,22 +60,30 @@ const AlertRoot = styled(Paper, {
60
60
  display: 'flex',
61
61
  padding: '6px 16px'
62
62
  }, color && ownerState.variant === 'standard' && {
63
- color: getColor(theme.palette[color].light, 0.6),
64
- backgroundColor: getBackgroundColor(theme.palette[color].light, 0.9),
65
- [`& .${alertClasses.icon}`]: {
63
+ color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),
64
+ backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),
65
+ [`& .${alertClasses.icon}`]: theme.vars ? {
66
+ color: theme.vars.palette.Alert[`${color}IconColor`]
67
+ } : {
66
68
  color: theme.palette.mode === 'dark' ? theme.palette[color].main : theme.palette[color].light
67
69
  }
68
70
  }, color && ownerState.variant === 'outlined' && {
69
- color: getColor(theme.palette[color].light, 0.6),
70
- border: `1px solid ${theme.palette[color].light}`,
71
- [`& .${alertClasses.icon}`]: {
71
+ color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),
72
+ border: `1px solid ${(theme.vars || theme).palette[color].light}`,
73
+ [`& .${alertClasses.icon}`]: theme.vars ? {
74
+ color: theme.vars.palette.Alert[`${color}IconColor`]
75
+ } : {
72
76
  color: theme.palette.mode === 'dark' ? theme.palette[color].main : theme.palette[color].light
73
77
  }
74
- }, color && ownerState.variant === 'filled' && {
75
- color: '#fff',
76
- fontWeight: theme.typography.fontWeightMedium,
77
- backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main
78
- });
78
+ }, color && ownerState.variant === 'filled' && _extends({
79
+ fontWeight: theme.typography.fontWeightMedium
80
+ }, theme.vars ? {
81
+ color: theme.vars.palette.Alert[`${color}FilledColor`],
82
+ backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]
83
+ } : {
84
+ backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,
85
+ color: theme.palette.getContrastText(theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main)
86
+ }));
79
87
  });
80
88
  const AlertIcon = styled('div', {
81
89
  name: 'MuiAlert',
@@ -22,7 +22,11 @@ const useUtilityClasses = ownerState => {
22
22
  root: ['root', `color${capitalize(color)}`, `position${capitalize(position)}`]
23
23
  };
24
24
  return composeClasses(slots, getAppBarUtilityClass, classes);
25
- };
25
+ }; // var2 is the fallback.
26
+ // Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'
27
+
28
+
29
+ const joinVars = (var1, var2) => `${var1?.replace(')', '')}, ${var2})`;
26
30
 
27
31
  const AppBarRoot = styled(Paper, {
28
32
  name: 'MuiAppBar',
@@ -47,7 +51,7 @@ const AppBarRoot = styled(Paper, {
47
51
  flexShrink: 0
48
52
  }, ownerState.position === 'fixed' && {
49
53
  position: 'fixed',
50
- zIndex: theme.zIndex.appBar,
54
+ zIndex: (theme.vars || theme).zIndex.appBar,
51
55
  top: 0,
52
56
  left: 'auto',
53
57
  right: 0,
@@ -57,14 +61,14 @@ const AppBarRoot = styled(Paper, {
57
61
  }
58
62
  }, ownerState.position === 'absolute' && {
59
63
  position: 'absolute',
60
- zIndex: theme.zIndex.appBar,
64
+ zIndex: (theme.vars || theme).zIndex.appBar,
61
65
  top: 0,
62
66
  left: 'auto',
63
67
  right: 0
64
68
  }, ownerState.position === 'sticky' && {
65
69
  // ⚠️ sticky is not supported by IE11.
66
70
  position: 'sticky',
67
- zIndex: theme.zIndex.appBar,
71
+ zIndex: (theme.vars || theme).zIndex.appBar,
68
72
  top: 0,
69
73
  left: 'auto',
70
74
  right: 0
@@ -72,7 +76,7 @@ const AppBarRoot = styled(Paper, {
72
76
  position: 'static'
73
77
  }, ownerState.position === 'relative' && {
74
78
  position: 'relative'
75
- }, ownerState.color === 'default' && {
79
+ }, !theme.vars && _extends({}, ownerState.color === 'default' && {
76
80
  backgroundColor: backgroundColorDefault,
77
81
  color: theme.palette.getContrastText(backgroundColorDefault)
78
82
  }, ownerState.color && ownerState.color !== 'default' && ownerState.color !== 'inherit' && ownerState.color !== 'transparent' && {
@@ -88,6 +92,19 @@ const AppBarRoot = styled(Paper, {
88
92
  color: 'inherit'
89
93
  }, theme.palette.mode === 'dark' && {
90
94
  backgroundImage: 'none'
95
+ })), theme.vars && _extends({}, ownerState.color === 'default' && {
96
+ '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette.AppBar.defaultBg : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette.AppBar.defaultBg),
97
+ '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette.text.primary : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette.text.primary)
98
+ }, ownerState.color && !ownerState.color.match(/^(default|inherit|transparent)$/) && {
99
+ '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].main : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette[ownerState.color].main),
100
+ '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].contrastText : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette[ownerState.color].contrastText)
101
+ }, {
102
+ backgroundColor: 'var(--AppBar-background)',
103
+ color: ownerState.color === 'inherit' ? 'inherit' : 'var(--AppBar-color)'
104
+ }, ownerState.color === 'transparent' && {
105
+ backgroundImage: 'none',
106
+ backgroundColor: 'transparent',
107
+ color: 'inherit'
91
108
  }));
92
109
  });
93
110
  const AppBar = /*#__PURE__*/React.forwardRef(function AppBar(inProps, ref) {
@@ -52,13 +52,16 @@ const AvatarRoot = styled('div', {
52
52
  overflow: 'hidden',
53
53
  userSelect: 'none'
54
54
  }, ownerState.variant === 'rounded' && {
55
- borderRadius: theme.shape.borderRadius
55
+ borderRadius: (theme.vars || theme).shape.borderRadius
56
56
  }, ownerState.variant === 'square' && {
57
57
  borderRadius: 0
58
- }, ownerState.colorDefault && {
59
- color: theme.palette.background.default,
58
+ }, ownerState.colorDefault && _extends({
59
+ color: (theme.vars || theme).palette.background.default
60
+ }, theme.vars ? {
61
+ backgroundColor: theme.vars.palette.Avatar.defaultBg
62
+ } : {
60
63
  backgroundColor: theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]
61
- }));
64
+ })));
62
65
  const AvatarImg = styled('img', {
63
66
  name: 'MuiAvatar',
64
67
  slot: 'Img',
@@ -321,8 +321,8 @@ process.env.NODE_ENV !== "production" ? Badge.propTypes
321
321
  * @default {}
322
322
  */
323
323
  componentsProps: PropTypes.shape({
324
- badge: PropTypes.object,
325
- root: PropTypes.object
324
+ badge: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
325
+ root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
326
326
  }),
327
327
 
328
328
  /**
@@ -2,5 +2,5 @@ import { generateUtilityClass, generateUtilityClasses } from '@mui/base';
2
2
  export function getButtonUtilityClass(slot) {
3
3
  return generateUtilityClass('MuiButton', slot);
4
4
  }
5
- const buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
5
+ const buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
6
6
  export default buttonClasses;