@mui/material 5.11.13 → 5.11.14

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 (41) hide show
  1. package/Breadcrumbs/BreadcrumbCollapsed.js +26 -3
  2. package/Breadcrumbs/Breadcrumbs.d.ts +31 -0
  3. package/Breadcrumbs/Breadcrumbs.js +30 -2
  4. package/CHANGELOG.md +71 -3
  5. package/ListItemButton/ListItemButton.js +4 -2
  6. package/README.md +5 -4
  7. package/StepButton/StepButton.js +4 -2
  8. package/TabScrollButton/TabScrollButton.d.ts +34 -1
  9. package/TabScrollButton/TabScrollButton.js +41 -8
  10. package/Tabs/Tabs.d.ts +40 -0
  11. package/Tabs/Tabs.js +43 -2
  12. package/index.js +1 -1
  13. package/legacy/Breadcrumbs/BreadcrumbCollapsed.js +25 -3
  14. package/legacy/Breadcrumbs/Breadcrumbs.js +32 -2
  15. package/legacy/ListItemButton/ListItemButton.js +4 -2
  16. package/legacy/StepButton/StepButton.js +4 -2
  17. package/legacy/TabScrollButton/TabScrollButton.js +43 -8
  18. package/legacy/Tabs/Tabs.js +45 -2
  19. package/legacy/index.js +1 -1
  20. package/legacy/locale/index.js +156 -80
  21. package/locale/index.d.ts +1 -0
  22. package/locale/index.js +73 -0
  23. package/modern/Breadcrumbs/BreadcrumbCollapsed.js +26 -3
  24. package/modern/Breadcrumbs/Breadcrumbs.js +30 -2
  25. package/modern/ListItemButton/ListItemButton.js +4 -2
  26. package/modern/StepButton/StepButton.js +4 -2
  27. package/modern/TabScrollButton/TabScrollButton.js +40 -8
  28. package/modern/Tabs/Tabs.js +43 -2
  29. package/modern/index.js +1 -1
  30. package/modern/locale/index.js +73 -0
  31. package/node/Breadcrumbs/BreadcrumbCollapsed.js +26 -3
  32. package/node/Breadcrumbs/Breadcrumbs.js +29 -1
  33. package/node/ListItemButton/ListItemButton.js +4 -2
  34. package/node/StepButton/StepButton.js +4 -2
  35. package/node/TabScrollButton/TabScrollButton.js +42 -9
  36. package/node/Tabs/Tabs.js +42 -1
  37. package/node/index.js +1 -1
  38. package/node/locale/index.js +75 -1
  39. package/package.json +4 -4
  40. package/umd/material-ui.development.js +254 -118
  41. package/umd/material-ui.production.min.js +20 -20
@@ -1,12 +1,11 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _KeyboardArrowLeft, _KeyboardArrowRight;
4
- const _excluded = ["className", "direction", "orientation", "disabled"];
3
+ const _excluded = ["className", "slots", "slotProps", "direction", "orientation", "disabled"];
5
4
  /* eslint-disable jsx-a11y/aria-role */
6
5
  import * as React from 'react';
7
6
  import PropTypes from 'prop-types';
8
7
  import clsx from 'clsx';
9
- import { unstable_composeClasses as composeClasses } from '@mui/base';
8
+ import { unstable_composeClasses as composeClasses, useSlotProps } from '@mui/base';
10
9
  import KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';
11
10
  import KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';
12
11
  import ButtonBase from '../ButtonBase';
@@ -58,6 +57,8 @@ const TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(i
58
57
  });
59
58
  const {
60
59
  className,
60
+ slots = {},
61
+ slotProps = {},
61
62
  direction
62
63
  } = props,
63
64
  other = _objectWithoutPropertiesLoose(props, _excluded);
@@ -67,6 +68,24 @@ const TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(i
67
68
  isRtl
68
69
  }, props);
69
70
  const classes = useUtilityClasses(ownerState);
71
+ const StartButtonIcon = slots.StartScrollButtonIcon ?? KeyboardArrowLeft;
72
+ const EndButtonIcon = slots.EndScrollButtonIcon ?? KeyboardArrowRight;
73
+ const startButtonIconProps = useSlotProps({
74
+ elementType: StartButtonIcon,
75
+ externalSlotProps: slotProps.startScrollButtonIcon,
76
+ additionalProps: {
77
+ fontSize: 'small'
78
+ },
79
+ ownerState
80
+ });
81
+ const endButtonIconProps = useSlotProps({
82
+ elementType: EndButtonIcon,
83
+ externalSlotProps: slotProps.endScrollButtonIcon,
84
+ additionalProps: {
85
+ fontSize: 'small'
86
+ },
87
+ ownerState
88
+ });
70
89
  return /*#__PURE__*/_jsx(TabScrollButtonRoot, _extends({
71
90
  component: "div",
72
91
  className: clsx(classes.root, className),
@@ -75,11 +94,7 @@ const TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(i
75
94
  ownerState: ownerState,
76
95
  tabIndex: null
77
96
  }, other, {
78
- children: direction === 'left' ? _KeyboardArrowLeft || (_KeyboardArrowLeft = /*#__PURE__*/_jsx(KeyboardArrowLeft, {
79
- fontSize: "small"
80
- })) : _KeyboardArrowRight || (_KeyboardArrowRight = /*#__PURE__*/_jsx(KeyboardArrowRight, {
81
- fontSize: "small"
82
- }))
97
+ children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, _extends({}, startButtonIconProps)) : /*#__PURE__*/_jsx(EndButtonIcon, _extends({}, endButtonIconProps))
83
98
  }));
84
99
  });
85
100
  process.env.NODE_ENV !== "production" ? TabScrollButton.propTypes /* remove-proptypes */ = {
@@ -112,6 +127,23 @@ process.env.NODE_ENV !== "production" ? TabScrollButton.propTypes /* remove-prop
112
127
  * The component orientation (layout flow direction).
113
128
  */
114
129
  orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,
130
+ /**
131
+ * The extra props for the slot components.
132
+ * You can override the existing props or add new ones.
133
+ * @default {}
134
+ */
135
+ slotProps: PropTypes.shape({
136
+ endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
137
+ startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
138
+ }),
139
+ /**
140
+ * The components used for each slot inside.
141
+ * @default {}
142
+ */
143
+ slots: PropTypes.shape({
144
+ EndScrollButtonIcon: PropTypes.elementType,
145
+ StartScrollButtonIcon: PropTypes.elementType
146
+ }),
115
147
  /**
116
148
  * The system prop that allows defining system overrides as well as additional CSS styles.
117
149
  */
@@ -1,12 +1,12 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar"];
3
+ const _excluded = ["aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar"];
4
4
  import * as React from 'react';
5
5
  import { isFragment } from 'react-is';
6
6
  import PropTypes from 'prop-types';
7
7
  import clsx from 'clsx';
8
8
  import { refType } from '@mui/utils';
9
- import { unstable_composeClasses as composeClasses } from '@mui/base';
9
+ import { unstable_composeClasses as composeClasses, useSlotProps } from '@mui/base';
10
10
  import styled from '../styles/styled';
11
11
  import useThemeProps from '../styles/useThemeProps';
12
12
  import useTheme from '../styles/useTheme';
@@ -226,6 +226,8 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
226
226
  ScrollButtonComponent = TabScrollButton,
227
227
  scrollButtons = 'auto',
228
228
  selectionFollowsFocus,
229
+ slots = {},
230
+ slotProps = {},
229
231
  TabIndicatorProps = {},
230
232
  TabScrollButtonProps = {},
231
233
  textColor = 'primary',
@@ -259,6 +261,16 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
259
261
  scrollButtonsHideMobile: !allowScrollButtonsMobile
260
262
  });
261
263
  const classes = useUtilityClasses(ownerState);
264
+ const startScrollButtonIconProps = useSlotProps({
265
+ elementType: slots.StartScrollButtonIcon,
266
+ externalSlotProps: slotProps.startScrollButtonIcon,
267
+ ownerState
268
+ });
269
+ const endScrollButtonIconProps = useSlotProps({
270
+ elementType: slots.EndScrollButtonIcon,
271
+ externalSlotProps: slotProps.endScrollButtonIcon,
272
+ ownerState
273
+ });
262
274
  if (process.env.NODE_ENV !== 'production') {
263
275
  if (centered && scrollable) {
264
276
  console.error('MUI: You can not use the `centered={true}` and `variant="scrollable"` properties ' + 'at the same time on a `Tabs` component.');
@@ -423,6 +435,12 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
423
435
  const scrollButtonsActive = displayScroll.start || displayScroll.end;
424
436
  const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);
425
437
  conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({
438
+ slots: {
439
+ StartScrollButtonIcon: slots.StartScrollButtonIcon
440
+ },
441
+ slotProps: {
442
+ startScrollButtonIcon: startScrollButtonIconProps
443
+ },
426
444
  orientation: orientation,
427
445
  direction: isRtl ? 'right' : 'left',
428
446
  onClick: handleStartScrollClick,
@@ -431,6 +449,12 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
431
449
  className: clsx(classes.scrollButtons, TabScrollButtonProps.className)
432
450
  })) : null;
433
451
  conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({
452
+ slots: {
453
+ EndScrollButtonIcon: slots.EndScrollButtonIcon
454
+ },
455
+ slotProps: {
456
+ endScrollButtonIcon: endScrollButtonIconProps
457
+ },
434
458
  orientation: orientation,
435
459
  direction: isRtl ? 'left' : 'right',
436
460
  onClick: handleEndScrollClick,
@@ -732,6 +756,23 @@ process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ =
732
756
  * changes on activation.
733
757
  */
734
758
  selectionFollowsFocus: PropTypes.bool,
759
+ /**
760
+ * The extra props for the slot components.
761
+ * You can override the existing props or add new ones.
762
+ * @default {}
763
+ */
764
+ slotProps: PropTypes.shape({
765
+ endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
766
+ startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
767
+ }),
768
+ /**
769
+ * The components used for each slot inside.
770
+ * @default {}
771
+ */
772
+ slots: PropTypes.shape({
773
+ EndScrollButtonIcon: PropTypes.elementType,
774
+ StartScrollButtonIcon: PropTypes.elementType
775
+ }),
735
776
  /**
736
777
  * The system prop that allows defining system overrides as well as additional CSS styles.
737
778
  */
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.11.13
2
+ * @mui/material v5.11.14
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -2211,6 +2211,79 @@ export const koKR = {
2211
2211
  }
2212
2212
  }
2213
2213
  };
2214
+ export const kuCKB = {
2215
+ components: {
2216
+ MuiBreadcrumbs: {
2217
+ defaultProps: {
2218
+ expandText: 'ڕێچکە پیشان بدە'
2219
+ }
2220
+ },
2221
+ MuiTablePagination: {
2222
+ defaultProps: {
2223
+ getItemAriaLabel: type => {
2224
+ if (type === 'first') {
2225
+ return 'چوونە یەکەم پەڕە';
2226
+ }
2227
+ if (type === 'last') {
2228
+ return 'چوونە کۆتا پەڕە';
2229
+ }
2230
+ if (type === 'next') {
2231
+ return 'چوونە پەڕەی دواتر';
2232
+ }
2233
+ // if (type === 'previous') {
2234
+ return 'گەڕانەوە بۆ پەڕەی پێشوو';
2235
+ },
2236
+ labelRowsPerPage: 'ژمارەی ڕیزەکان لە هەر پەڕەیەک:',
2237
+ labelDisplayedRows: ({
2238
+ from,
2239
+ to,
2240
+ count
2241
+ }) => `${from}–${to} لە ${count !== -1 ? count : ` زیاترە لە${to}`}`
2242
+ }
2243
+ },
2244
+ MuiRating: {
2245
+ defaultProps: {
2246
+ getLabelText: value => `${value} ${value !== 1 ? 'ئەستێرەکان' : 'ئەستێرە'}`,
2247
+ emptyLabelText: 'خاڵیە'
2248
+ }
2249
+ },
2250
+ MuiAutocomplete: {
2251
+ defaultProps: {
2252
+ clearText: 'سڕینەوە',
2253
+ closeText: 'داخستن',
2254
+ loadingText: 'لە بارکردندایە...',
2255
+ noOptionsText: 'هیچ بژاردەیەک نیە',
2256
+ openText: 'کردنەوە'
2257
+ }
2258
+ },
2259
+ MuiAlert: {
2260
+ defaultProps: {
2261
+ closeText: 'داخستن'
2262
+ }
2263
+ },
2264
+ MuiPagination: {
2265
+ defaultProps: {
2266
+ 'aria-label': 'گەڕان لە پەڕەکان',
2267
+ getItemAriaLabel: (type, page, selected) => {
2268
+ if (type === 'page') {
2269
+ return `${selected ? '' : 'چوون بۆ '} پەڕەی ${page}`;
2270
+ }
2271
+ if (type === 'first') {
2272
+ return 'چوونە یەکەم پەڕە';
2273
+ }
2274
+ if (type === 'last') {
2275
+ return 'چوونە کۆتا پەڕە';
2276
+ }
2277
+ if (type === 'next') {
2278
+ return 'چوونە پەڕەی دواتر';
2279
+ }
2280
+ // if (type === 'previous') {
2281
+ return 'گەڕانەوە بۆ پەڕەی پێشوو';
2282
+ }
2283
+ }
2284
+ }
2285
+ }
2286
+ };
2214
2287
  export const kuLatn = {
2215
2288
  components: {
2216
2289
  MuiBreadcrumbs: {
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var React = _interopRequireWildcard(require("react"));
10
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -13,6 +14,7 @@ var _styled = _interopRequireDefault(require("../styles/styled"));
13
14
  var _MoreHoriz = _interopRequireDefault(require("../internal/svg-icons/MoreHoriz"));
14
15
  var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
15
16
  var _jsxRuntime = require("react/jsx-runtime");
17
+ const _excluded = ["slots", "slotProps"];
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
20
  const BreadcrumbCollapsedButton = (0, _styled.default)(_ButtonBase.default)(({
@@ -51,19 +53,40 @@ const BreadcrumbCollapsedIcon = (0, _styled.default)(_MoreHoriz.default)({
51
53
  * @ignore - internal component.
52
54
  */
53
55
  function BreadcrumbCollapsed(props) {
56
+ const {
57
+ slots = {},
58
+ slotProps = {}
59
+ } = props,
60
+ otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
54
61
  const ownerState = props;
55
62
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
56
63
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BreadcrumbCollapsedButton, (0, _extends2.default)({
57
64
  focusRipple: true
58
- }, props, {
65
+ }, otherProps, {
59
66
  ownerState: ownerState,
60
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BreadcrumbCollapsedIcon, {
67
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BreadcrumbCollapsedIcon, (0, _extends2.default)({
68
+ as: slots.CollapsedIcon,
61
69
  ownerState: ownerState
62
- })
70
+ }, slotProps.collapsedIcon))
63
71
  }))
64
72
  });
65
73
  }
66
74
  process.env.NODE_ENV !== "production" ? BreadcrumbCollapsed.propTypes = {
75
+ /**
76
+ * The props used for the CollapsedIcon slot.
77
+ * @default {}
78
+ */
79
+ slotProps: _propTypes.default.shape({
80
+ collapsedIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
81
+ }),
82
+ /**
83
+ * The components used for each slot inside the BreadcumbCollapsed.
84
+ * Either a string to use a HTML element or a component.
85
+ * @default {}
86
+ */
87
+ slots: _propTypes.default.shape({
88
+ CollapsedIcon: _propTypes.default.elementType
89
+ }),
67
90
  /**
68
91
  * The system prop that allows defining system overrides as well as additional CSS styles.
69
92
  */
@@ -19,7 +19,7 @@ var _Typography = _interopRequireDefault(require("../Typography"));
19
19
  var _BreadcrumbCollapsed = _interopRequireDefault(require("./BreadcrumbCollapsed"));
20
20
  var _breadcrumbsClasses = _interopRequireWildcard(require("./breadcrumbsClasses"));
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- const _excluded = ["children", "className", "component", "expandText", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "separator"];
22
+ const _excluded = ["children", "className", "component", "slots", "slotProps", "expandText", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "separator"];
23
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
  const useUtilityClasses = ownerState => {
@@ -89,6 +89,8 @@ const Breadcrumbs = /*#__PURE__*/React.forwardRef(function Breadcrumbs(inProps,
89
89
  children,
90
90
  className,
91
91
  component = 'nav',
92
+ slots = {},
93
+ slotProps = {},
92
94
  expandText = 'Show path',
93
95
  itemsAfterCollapse = 1,
94
96
  itemsBeforeCollapse = 1,
@@ -107,6 +109,11 @@ const Breadcrumbs = /*#__PURE__*/React.forwardRef(function Breadcrumbs(inProps,
107
109
  separator
108
110
  });
109
111
  const classes = useUtilityClasses(ownerState);
112
+ const collapsedIconSlotProps = (0, _base.useSlotProps)({
113
+ elementType: slots.CollapsedIcon,
114
+ externalSlotProps: slotProps.collapsedIcon,
115
+ ownerState
116
+ });
110
117
  const listRef = React.useRef(null);
111
118
  const renderItemsBeforeAndAfter = allItems => {
112
119
  const handleClickExpand = () => {
@@ -132,6 +139,12 @@ const Breadcrumbs = /*#__PURE__*/React.forwardRef(function Breadcrumbs(inProps,
132
139
  }
133
140
  return [...allItems.slice(0, itemsBeforeCollapse), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BreadcrumbCollapsed.default, {
134
141
  "aria-label": expandText,
142
+ slots: {
143
+ CollapsedIcon: slots.CollapsedIcon
144
+ },
145
+ slotProps: {
146
+ collapsedIcon: collapsedIconSlotProps
147
+ },
135
148
  onClick: handleClickExpand
136
149
  }, "ellipsis"), ...allItems.slice(allItems.length - itemsAfterCollapse, allItems.length)];
137
150
  };
@@ -212,6 +225,21 @@ process.env.NODE_ENV !== "production" ? Breadcrumbs.propTypes /* remove-proptype
212
225
  * @default '/'
213
226
  */
214
227
  separator: _propTypes.default.node,
228
+ /**
229
+ * The props used for each slot inside the Breadcumb.
230
+ * @default {}
231
+ */
232
+ slotProps: _propTypes.default.shape({
233
+ collapsedIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
234
+ }),
235
+ /**
236
+ * The components used for each slot inside the Breadcumb.
237
+ * Either a string to use a HTML element or a component.
238
+ * @default {}
239
+ */
240
+ slots: _propTypes.default.shape({
241
+ CollapsedIcon: _propTypes.default.elementType
242
+ }),
215
243
  /**
216
244
  * The system prop that allows defining system overrides as well as additional CSS styles.
217
245
  */
@@ -155,8 +155,10 @@ const ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inP
155
155
  value: childContext,
156
156
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ListItemButtonRoot, (0, _extends2.default)({
157
157
  ref: handleRef,
158
- href: other.href || other.to,
159
- component: (other.href || other.to) && component === 'div' ? 'a' : component,
158
+ href: other.href || other.to
159
+ // `ButtonBase` processes `href` or `to` if `component` is set to 'button'
160
+ ,
161
+ component: (other.href || other.to) && component === 'div' ? 'button' : component,
160
162
  focusVisibleClassName: (0, _clsx.default)(classes.focusVisible, focusVisibleClassName),
161
163
  ownerState: ownerState,
162
164
  className: (0, _clsx.default)(classes.root, className)
@@ -74,7 +74,8 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
74
74
  } = props,
75
75
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
76
76
  const {
77
- disabled
77
+ disabled,
78
+ active
78
79
  } = React.useContext(_StepContext.default);
79
80
  const {
80
81
  orientation
@@ -98,7 +99,8 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
98
99
  },
99
100
  className: (0, _clsx.default)(classes.root, className),
100
101
  ref: ref,
101
- ownerState: ownerState
102
+ ownerState: ownerState,
103
+ "aria-current": active ? 'step' : undefined
102
104
  }, other, {
103
105
  children: child
104
106
  }));
@@ -11,16 +11,15 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _base = require("@mui/base");
14
- var _KeyboardArrowLeft2 = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowLeft"));
15
- var _KeyboardArrowRight2 = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowRight"));
14
+ var _KeyboardArrowLeft = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowLeft"));
15
+ var _KeyboardArrowRight = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowRight"));
16
16
  var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
17
17
  var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
18
18
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
19
19
  var _styled = _interopRequireDefault(require("../styles/styled"));
20
20
  var _tabScrollButtonClasses = _interopRequireWildcard(require("./tabScrollButtonClasses"));
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- var _KeyboardArrowLeft, _KeyboardArrowRight;
23
- const _excluded = ["className", "direction", "orientation", "disabled"];
22
+ const _excluded = ["className", "slots", "slotProps", "direction", "orientation", "disabled"];
24
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
25
  const useUtilityClasses = ownerState => {
@@ -60,12 +59,15 @@ const TabScrollButtonRoot = (0, _styled.default)(_ButtonBase.default, {
60
59
  }
61
60
  }));
62
61
  const TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {
62
+ var _slots$StartScrollBut, _slots$EndScrollButto;
63
63
  const props = (0, _useThemeProps.default)({
64
64
  props: inProps,
65
65
  name: 'MuiTabScrollButton'
66
66
  });
67
67
  const {
68
68
  className,
69
+ slots = {},
70
+ slotProps = {},
69
71
  direction
70
72
  } = props,
71
73
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
@@ -75,6 +77,24 @@ const TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(i
75
77
  isRtl
76
78
  }, props);
77
79
  const classes = useUtilityClasses(ownerState);
80
+ const StartButtonIcon = (_slots$StartScrollBut = slots.StartScrollButtonIcon) != null ? _slots$StartScrollBut : _KeyboardArrowLeft.default;
81
+ const EndButtonIcon = (_slots$EndScrollButto = slots.EndScrollButtonIcon) != null ? _slots$EndScrollButto : _KeyboardArrowRight.default;
82
+ const startButtonIconProps = (0, _base.useSlotProps)({
83
+ elementType: StartButtonIcon,
84
+ externalSlotProps: slotProps.startScrollButtonIcon,
85
+ additionalProps: {
86
+ fontSize: 'small'
87
+ },
88
+ ownerState
89
+ });
90
+ const endButtonIconProps = (0, _base.useSlotProps)({
91
+ elementType: EndButtonIcon,
92
+ externalSlotProps: slotProps.endScrollButtonIcon,
93
+ additionalProps: {
94
+ fontSize: 'small'
95
+ },
96
+ ownerState
97
+ });
78
98
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabScrollButtonRoot, (0, _extends2.default)({
79
99
  component: "div",
80
100
  className: (0, _clsx.default)(classes.root, className),
@@ -83,11 +103,7 @@ const TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(i
83
103
  ownerState: ownerState,
84
104
  tabIndex: null
85
105
  }, other, {
86
- children: direction === 'left' ? _KeyboardArrowLeft || (_KeyboardArrowLeft = /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardArrowLeft2.default, {
87
- fontSize: "small"
88
- })) : _KeyboardArrowRight || (_KeyboardArrowRight = /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardArrowRight2.default, {
89
- fontSize: "small"
90
- }))
106
+ children: direction === 'left' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(StartButtonIcon, (0, _extends2.default)({}, startButtonIconProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(EndButtonIcon, (0, _extends2.default)({}, endButtonIconProps))
91
107
  }));
92
108
  });
93
109
  process.env.NODE_ENV !== "production" ? TabScrollButton.propTypes /* remove-proptypes */ = {
@@ -120,6 +136,23 @@ process.env.NODE_ENV !== "production" ? TabScrollButton.propTypes /* remove-prop
120
136
  * The component orientation (layout flow direction).
121
137
  */
122
138
  orientation: _propTypes.default.oneOf(['horizontal', 'vertical']).isRequired,
139
+ /**
140
+ * The extra props for the slot components.
141
+ * You can override the existing props or add new ones.
142
+ * @default {}
143
+ */
144
+ slotProps: _propTypes.default.shape({
145
+ endScrollButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
146
+ startScrollButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
147
+ }),
148
+ /**
149
+ * The components used for each slot inside.
150
+ * @default {}
151
+ */
152
+ slots: _propTypes.default.shape({
153
+ EndScrollButtonIcon: _propTypes.default.elementType,
154
+ StartScrollButtonIcon: _propTypes.default.elementType
155
+ }),
123
156
  /**
124
157
  * The system prop that allows defining system overrides as well as additional CSS styles.
125
158
  */
package/node/Tabs/Tabs.js CHANGED
@@ -26,7 +26,7 @@ var _tabsClasses = _interopRequireWildcard(require("./tabsClasses"));
26
26
  var _ownerDocument = _interopRequireDefault(require("../utils/ownerDocument"));
27
27
  var _ownerWindow = _interopRequireDefault(require("../utils/ownerWindow"));
28
28
  var _jsxRuntime = require("react/jsx-runtime");
29
- const _excluded = ["aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar"];
29
+ const _excluded = ["aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar"];
30
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
31
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
32
  const nextItem = (list, item) => {
@@ -234,6 +234,8 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
234
234
  ScrollButtonComponent = _TabScrollButton.default,
235
235
  scrollButtons = 'auto',
236
236
  selectionFollowsFocus,
237
+ slots = {},
238
+ slotProps = {},
237
239
  TabIndicatorProps = {},
238
240
  TabScrollButtonProps = {},
239
241
  textColor = 'primary',
@@ -267,6 +269,16 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
267
269
  scrollButtonsHideMobile: !allowScrollButtonsMobile
268
270
  });
269
271
  const classes = useUtilityClasses(ownerState);
272
+ const startScrollButtonIconProps = (0, _base.useSlotProps)({
273
+ elementType: slots.StartScrollButtonIcon,
274
+ externalSlotProps: slotProps.startScrollButtonIcon,
275
+ ownerState
276
+ });
277
+ const endScrollButtonIconProps = (0, _base.useSlotProps)({
278
+ elementType: slots.EndScrollButtonIcon,
279
+ externalSlotProps: slotProps.endScrollButtonIcon,
280
+ ownerState
281
+ });
270
282
  if (process.env.NODE_ENV !== 'production') {
271
283
  if (centered && scrollable) {
272
284
  console.error('MUI: You can not use the `centered={true}` and `variant="scrollable"` properties ' + 'at the same time on a `Tabs` component.');
@@ -431,6 +443,12 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
431
443
  const scrollButtonsActive = displayScroll.start || displayScroll.end;
432
444
  const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);
433
445
  conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollButtonComponent, (0, _extends2.default)({
446
+ slots: {
447
+ StartScrollButtonIcon: slots.StartScrollButtonIcon
448
+ },
449
+ slotProps: {
450
+ startScrollButtonIcon: startScrollButtonIconProps
451
+ },
434
452
  orientation: orientation,
435
453
  direction: isRtl ? 'right' : 'left',
436
454
  onClick: handleStartScrollClick,
@@ -439,6 +457,12 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
439
457
  className: (0, _clsx.default)(classes.scrollButtons, TabScrollButtonProps.className)
440
458
  })) : null;
441
459
  conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollButtonComponent, (0, _extends2.default)({
460
+ slots: {
461
+ EndScrollButtonIcon: slots.EndScrollButtonIcon
462
+ },
463
+ slotProps: {
464
+ endScrollButtonIcon: endScrollButtonIconProps
465
+ },
442
466
  orientation: orientation,
443
467
  direction: isRtl ? 'left' : 'right',
444
468
  onClick: handleEndScrollClick,
@@ -740,6 +764,23 @@ process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ =
740
764
  * changes on activation.
741
765
  */
742
766
  selectionFollowsFocus: _propTypes.default.bool,
767
+ /**
768
+ * The extra props for the slot components.
769
+ * You can override the existing props or add new ones.
770
+ * @default {}
771
+ */
772
+ slotProps: _propTypes.default.shape({
773
+ endScrollButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
774
+ startScrollButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
775
+ }),
776
+ /**
777
+ * The components used for each slot inside.
778
+ * @default {}
779
+ */
780
+ slots: _propTypes.default.shape({
781
+ EndScrollButtonIcon: _propTypes.default.elementType,
782
+ StartScrollButtonIcon: _propTypes.default.elementType
783
+ }),
743
784
  /**
744
785
  * The system prop that allows defining system overrides as well as additional CSS styles.
745
786
  */
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.11.13
2
+ * @mui/material v5.11.14
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the