@mui/material 5.14.17 → 5.14.19

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 (113) hide show
  1. package/Autocomplete/Autocomplete.d.ts +3 -0
  2. package/Autocomplete/Autocomplete.js +24 -5
  3. package/BottomNavigation/BottomNavigation.js +0 -0
  4. package/Box/Box.js +2 -1
  5. package/Box/boxClasses.d.ts +7 -0
  6. package/Box/boxClasses.js +3 -0
  7. package/Box/index.d.ts +3 -0
  8. package/Box/index.js +3 -1
  9. package/CHANGELOG.md +154 -6
  10. package/Chip/Chip.js +2 -2
  11. package/FilledInput/FilledInput.js +9 -6
  12. package/FormControlLabel/FormControlLabel.js +1 -2
  13. package/InputAdornment/InputAdornment.js +2 -2
  14. package/InputLabel/InputLabel.js +5 -1
  15. package/Modal/Modal.d.ts +3 -0
  16. package/Modal/Modal.js +3 -0
  17. package/Popper/Popper.js +3 -0
  18. package/Rating/Rating.js +4 -6
  19. package/Select/Select.d.ts +1 -2
  20. package/Select/SelectInput.js +2 -1
  21. package/StepButton/StepButton.js +1 -1
  22. package/TablePagination/TablePagination.d.ts +23 -0
  23. package/TablePagination/TablePagination.js +47 -12
  24. package/TablePagination/TablePaginationActions.d.ts +19 -0
  25. package/TablePagination/TablePaginationActions.js +35 -15
  26. package/index.js +1 -1
  27. package/legacy/Accordion/Accordion.js +4 -5
  28. package/legacy/AccordionSummary/AccordionSummary.js +5 -6
  29. package/legacy/Autocomplete/Autocomplete.js +55 -41
  30. package/legacy/AvatarGroup/AvatarGroup.js +2 -3
  31. package/legacy/BottomNavigation/BottomNavigation.js +0 -0
  32. package/legacy/Box/Box.js +2 -1
  33. package/legacy/Box/boxClasses.js +3 -0
  34. package/legacy/Box/index.js +3 -1
  35. package/legacy/Button/Button.js +10 -11
  36. package/legacy/ButtonBase/ButtonBase.js +4 -5
  37. package/legacy/ButtonGroup/ButtonGroup.js +4 -5
  38. package/legacy/CardActionArea/CardActionArea.js +4 -5
  39. package/legacy/CardHeader/CardHeader.js +1 -2
  40. package/legacy/Checkbox/Checkbox.js +3 -4
  41. package/legacy/Chip/Chip.js +29 -32
  42. package/legacy/FilledInput/FilledInput.js +20 -17
  43. package/legacy/FormControlLabel/FormControlLabel.js +1 -2
  44. package/legacy/FormHelperText/FormHelperText.js +4 -5
  45. package/legacy/FormLabel/FormLabel.js +5 -6
  46. package/legacy/Input/Input.js +7 -8
  47. package/legacy/InputAdornment/InputAdornment.js +2 -2
  48. package/legacy/InputBase/InputBase.js +5 -6
  49. package/legacy/InputLabel/InputLabel.js +5 -1
  50. package/legacy/ListItem/ListItem.js +4 -5
  51. package/legacy/ListItemButton/ListItemButton.js +6 -7
  52. package/legacy/MenuItem/MenuItem.js +11 -12
  53. package/legacy/Modal/Modal.js +3 -0
  54. package/legacy/NativeSelect/NativeSelectInput.js +6 -7
  55. package/legacy/OutlinedInput/OutlinedInput.js +7 -8
  56. package/legacy/PaginationItem/PaginationItem.js +9 -10
  57. package/legacy/Popper/Popper.js +3 -0
  58. package/legacy/Rating/Rating.js +8 -10
  59. package/legacy/Select/SelectInput.js +2 -1
  60. package/legacy/Slider/Slider.js +11 -14
  61. package/legacy/SpeedDialIcon/SpeedDialIcon.js +4 -5
  62. package/legacy/StepButton/StepButton.js +1 -1
  63. package/legacy/StepIcon/StepIcon.js +5 -6
  64. package/legacy/StepLabel/StepLabel.js +10 -12
  65. package/legacy/Switch/Switch.js +14 -17
  66. package/legacy/Tab/Tab.js +10 -11
  67. package/legacy/TablePagination/TablePagination.js +53 -19
  68. package/legacy/TablePagination/TablePaginationActions.js +35 -14
  69. package/legacy/TableRow/TableRow.js +4 -5
  70. package/legacy/Tabs/Tabs.js +1 -2
  71. package/legacy/ToggleButton/ToggleButton.js +4 -5
  72. package/legacy/Tooltip/Tooltip.js +10 -12
  73. package/legacy/index.js +1 -1
  74. package/legacy/styles/createMixins.js +4 -5
  75. package/modern/Autocomplete/Autocomplete.js +24 -5
  76. package/modern/BottomNavigation/BottomNavigation.js +0 -0
  77. package/modern/Box/Box.js +2 -1
  78. package/modern/Box/boxClasses.js +3 -0
  79. package/modern/Box/index.js +3 -1
  80. package/modern/Chip/Chip.js +2 -2
  81. package/modern/FilledInput/FilledInput.js +9 -6
  82. package/modern/FormControlLabel/FormControlLabel.js +1 -2
  83. package/modern/InputAdornment/InputAdornment.js +2 -2
  84. package/modern/InputLabel/InputLabel.js +5 -1
  85. package/modern/Modal/Modal.js +3 -0
  86. package/modern/Popper/Popper.js +3 -0
  87. package/modern/Rating/Rating.js +4 -6
  88. package/modern/Select/SelectInput.js +2 -1
  89. package/modern/StepButton/StepButton.js +1 -1
  90. package/modern/TablePagination/TablePagination.js +46 -12
  91. package/modern/TablePagination/TablePaginationActions.js +34 -15
  92. package/modern/index.js +1 -1
  93. package/node/Autocomplete/Autocomplete.js +24 -5
  94. package/node/BottomNavigation/BottomNavigation.js +0 -0
  95. package/node/Box/Box.js +2 -1
  96. package/node/Box/boxClasses.js +9 -0
  97. package/node/Box/index.js +24 -1
  98. package/node/Chip/Chip.js +2 -2
  99. package/node/FilledInput/FilledInput.js +9 -6
  100. package/node/FormControlLabel/FormControlLabel.js +1 -2
  101. package/node/InputAdornment/InputAdornment.js +2 -2
  102. package/node/InputLabel/InputLabel.js +5 -1
  103. package/node/Modal/Modal.js +3 -0
  104. package/node/Popper/Popper.js +3 -0
  105. package/node/Rating/Rating.js +4 -6
  106. package/node/Select/SelectInput.js +2 -1
  107. package/node/StepButton/StepButton.js +1 -1
  108. package/node/TablePagination/TablePagination.js +47 -12
  109. package/node/TablePagination/TablePaginationActions.js +35 -15
  110. package/node/index.js +1 -1
  111. package/package.json +9 -9
  112. package/umd/material-ui.development.js +180 -102
  113. package/umd/material-ui.production.min.js +21 -21
@@ -195,6 +195,9 @@ export interface AutocompleteProps<
195
195
  * @default 'No options'
196
196
  */
197
197
  noOptionsText?: React.ReactNode;
198
+ onKeyDown?: (
199
+ event: React.KeyboardEvent<HTMLDivElement> & { defaultMuiPrevented?: boolean },
200
+ ) => void;
198
201
  /**
199
202
  * Override the default text for the *open popup* icon button.
200
203
  *
@@ -3,8 +3,9 @@
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  var _ClearIcon, _ArrowDropDownIcon;
6
- const _excluded = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"],
7
- _excluded2 = ["ref"];
6
+ const _excluded = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionKey", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"],
7
+ _excluded2 = ["ref"],
8
+ _excluded3 = ["key"];
8
9
  import * as React from 'react';
9
10
  import PropTypes from 'prop-types';
10
11
  import clsx from 'clsx';
@@ -527,9 +528,15 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
527
528
  })]
528
529
  }, params.key);
529
530
  const renderGroup = renderGroupProp || defaultRenderGroup;
530
- const defaultRenderOption = (props2, option) => /*#__PURE__*/_jsx("li", _extends({}, props2, {
531
- children: getOptionLabel(option)
532
- }));
531
+ const defaultRenderOption = (props2, option) => {
532
+ const {
533
+ key
534
+ } = props2,
535
+ otherProps = _objectWithoutPropertiesLoose(props2, _excluded3);
536
+ return /*#__PURE__*/_jsx("li", _extends({}, otherProps, {
537
+ children: getOptionLabel(option)
538
+ }), key);
539
+ };
533
540
  const renderOption = renderOptionProp || defaultRenderOption;
534
541
  const renderListOption = (option, index) => {
535
542
  const optionProps = getOptionProps({
@@ -823,6 +830,14 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
823
830
  * @returns {boolean}
824
831
  */
825
832
  getOptionDisabled: PropTypes.func,
833
+ /**
834
+ * Used to determine the key for a given option.
835
+ * This can be useful when the labels of options are not unique (since labels are used as keys by default).
836
+ *
837
+ * @param {Value} option The option to get the key for.
838
+ * @returns {string | number}
839
+ */
840
+ getOptionKey: PropTypes.func,
826
841
  /**
827
842
  * Used to determine the string value for a given option.
828
843
  * It's used to fill the input (and the list box options if `renderOption` is not provided).
@@ -945,6 +960,10 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
945
960
  * @param {string} reason Can be: `"input"` (user input), `"reset"` (programmatic change), `"clear"`.
946
961
  */
947
962
  onInputChange: PropTypes.func,
963
+ /**
964
+ * @ignore
965
+ */
966
+ onKeyDown: PropTypes.func,
948
967
  /**
949
968
  * Callback fired when the popup requests to be opened.
950
969
  * Use in controlled mode (see open).
File without changes
package/Box/Box.js CHANGED
@@ -5,11 +5,12 @@ import PropTypes from 'prop-types';
5
5
  import { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';
6
6
  import { createTheme } from '../styles';
7
7
  import THEME_ID from '../styles/identifier';
8
+ import boxClasses from './boxClasses';
8
9
  const defaultTheme = createTheme();
9
10
  const Box = createBox({
10
11
  themeId: THEME_ID,
11
12
  defaultTheme,
12
- defaultClassName: 'MuiBox-root',
13
+ defaultClassName: boxClasses.root,
13
14
  generateClassName: ClassNameGenerator.generate
14
15
  });
15
16
  process.env.NODE_ENV !== "production" ? Box.propTypes /* remove-proptypes */ = {
@@ -0,0 +1,7 @@
1
+ export interface BoxClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ }
5
+ export type BoxClassKey = keyof BoxClasses;
6
+ declare const boxClasses: BoxClasses;
7
+ export default boxClasses;
@@ -0,0 +1,3 @@
1
+ import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
+ const boxClasses = generateUtilityClasses('MuiBox', ['root']);
3
+ export default boxClasses;
package/Box/index.d.ts CHANGED
@@ -1,2 +1,5 @@
1
1
  export { default } from './Box';
2
2
  export * from './Box';
3
+
4
+ export { default as boxClasses } from './boxClasses';
5
+ export * from './boxClasses';
package/Box/index.js CHANGED
@@ -1,3 +1,5 @@
1
1
  'use client';
2
2
 
3
- export { default } from './Box';
3
+ export { default } from './Box';
4
+ export { default as boxClasses } from './boxClasses';
5
+ export * from './boxClasses';
package/CHANGELOG.md CHANGED
@@ -1,5 +1,153 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## 5.14.19
4
+
5
+ <!-- generated comparing v5.14.18..master -->
6
+
7
+ _Nov 29, 2023_
8
+
9
+ A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:
10
+
11
+ - 🐛 Fix Material UI Autocomplete behavior when there are duplicate labels (#36426) @islandryu
12
+ - 🚀 Added Material You Linear Progress to `material-next` package (#39807) @lhilgert9
13
+
14
+ ### `@mui/material@5.14.19`
15
+
16
+ - &#8203;<!-- 44 -->[Autocomplete] Fix behavior when there are duplicate labels (#36426) @islandryu
17
+ - &#8203;<!-- 37 -->[Box] Added boxClasses (#39889) @sadik-malik
18
+ - &#8203;<!-- 18 -->[FilledInput] Fix slot props deepmerge order (#38922) @dhaub-exelixis
19
+ - &#8203;<!-- 12 -->[Select] Add id to hidden input element (#39414) @DarhkVoyd
20
+ - &#8203;<!-- 11 -->[Select] Remove unnecessary picking of `onChange` type from SelectInputProps (#39891) @ZeeshanTamboli
21
+
22
+ ### `@mui/base@5.0.0-beta.25`
23
+
24
+ - &#8203;<!-- 46 -->[Menu] Fix navigation of items when 1st item is disabled (#39828) @sai6855
25
+ - &#8203;<!-- 42 -->[Modal] Refine demos (#39824) @zanivan
26
+ - &#8203;<!-- 41 -->[NumberInput] Implement `numberInputReducer` (#38723) @mj12albert
27
+ - &#8203;<!-- 40 -->[useNumberInput] Fix change handlers passed through slotProps (#39407) @mj12albert
28
+
29
+ ### `@mui/joy@5.0.0-beta.16`
30
+
31
+ - &#8203;<!-- 38 -->[Box] Added boxClasses (#39895) @sadik-malik
32
+
33
+ ### `@mui/system@5.14.19`
34
+
35
+ - &#8203;<!-- 36 -->[Box] Added boxClasses (#39896) @sadik-malik
36
+ - &#8203;<!-- 09 -->Add outlineColor to defaultSxConfig (#39962) @brijeshb42
37
+
38
+ ### `@mui/types@7.2.10`
39
+
40
+ - &#8203;<!-- 08 -->Add `PartiallyRequired` type (#39939) @lhilgert9
41
+
42
+ ### `@mui/material-next@6.0.0-alpha.111`
43
+
44
+ - &#8203;<!-- 47 -->[ProgressIndicator] Apply MD3 style to `LinearProgress` (#39807) @lhilgert9
45
+ - &#8203;<!-- 17 -->[FormHelperText] Add FormHelperText component (#39503) @mj12albert
46
+ - &#8203;<!-- 16 -->[IconButton] Copy IconButton to material-next (#39945) @mj12albert
47
+ - &#8203;<!-- 13 -->[Switch] Copy `Switch` to material next (#39887) @lhilgert9
48
+
49
+ ### Docs
50
+
51
+ - &#8203;<!-- 19 -->[material-ui] Fix theme prop in v5 migration guide (#39976) @sai6855
52
+ - &#8203;<!-- 43 -->[base-ui] Improve Next.js Link docs (#39838) @oliviertassinari
53
+ - &#8203;<!-- 39 -->[base-ui] Export Base UI theme in stylesheet (#39694) @mnajdova
54
+ - &#8203;<!-- 52 -->[joy-ui] Fix the date min & max slot props values on the Input demo (#40018) @avikalpg
55
+ - &#8203;<!-- 35 -->[joy-ui][ButtonGroup] Fix orientation prop description (#39876) @sai6855
56
+ - &#8203;<!-- 25 -->[joy-ui] Update gif from the Dark Mode Optimization page (#39726) @danilo-leal
57
+ - &#8203;<!-- 24 -->[joy-ui] Fix h1 template (#40017) @oliviertassinari
58
+ - &#8203;<!-- 23 -->[joy-ui] Fix wrong product id @oliviertassinari
59
+ - &#8203;<!-- 22 -->[joy-ui] Fixes in theme scoping documentation (#39899) @ZeeshanTamboli
60
+ - &#8203;<!-- 21 -->[joy-ui] Refine the Email, Teams and Files templates (#39579) @zanivan
61
+ - &#8203;<!-- 15 -->[joy-ui][templates] Fix layout shift on Profile template (#40022) @zanivan
62
+ - &#8203;<!-- 14 -->[joy-ui][Templates] Update thumbnails (#39938) @zanivan
63
+ - &#8203;<!-- 20 -->[material-next] Add contributing guide (#39944) @mj12albert
64
+ - &#8203;<!-- 51 -->End v6 blogpost notification (#39879) @joserodolfofreitas
65
+ - &#8203;<!-- 31 -->Fix nested CSS warning (#39932) @mnajdova
66
+ - &#8203;<!-- 30 -->Make integration searchable (#39967) @oliviertassinari
67
+ - &#8203;<!-- 29 -->Fix use of quote in markdown (#39953) @oliviertassinari
68
+ - &#8203;<!-- 28 -->Show design links on Joy UI (#39955) @oliviertassinari
69
+ - &#8203;<!-- 27 -->Restore Algolia results when searching for "Figma" (#39956) @oliviertassinari
70
+ - &#8203;<!-- 26 -->Fix two tone icon dark mode color (#39868) @mnajdova
71
+
72
+ ### Core
73
+
74
+ - &#8203;<!-- 45 -->Improve lerna's renovate package rules (#40029) @DiegoAndai
75
+ - &#8203;<!-- 34 -->Downgrade lerna to 7.2.0 (#40026) @DiegoAndai
76
+ - &#8203;<!-- 32 -->Rename OpenCollective @oliviertassinari
77
+ - &#8203;<!-- 48 -->[docs-infra] Env variables should be string (#39991) @oliviertassinari
78
+ - &#8203;<!-- 10 -->[Portal] Improve docs for container prop (#39180) @oliviertassinari
79
+ - &#8203;<!-- 50 -->[website] Update pricing table (#40023) @cherniavskii
80
+ - &#8203;<!-- 49 -->[website][docs] Update the product identifier menu and X page (#39832) @danilo-leal
81
+ - &#8203;<!-- 07 -->[website] Mark TreeView and Charts as stable (#39975) @flaviendelangle
82
+ - &#8203;<!-- 06 -->[website] Update career page (#40015) @oliviertassinari
83
+ - &#8203;<!-- 05 -->[website] Sync about dataset @oliviertassinari
84
+ - &#8203;<!-- 04 -->[website] Fix 301 redirection to X tree-view @oliviertassinari
85
+ - &#8203;<!-- 03 -->[website] Change redirection prefixes @oliviertassinari
86
+ - &#8203;<!-- 02 -->[website] Fix 301 link @oliviertassinari
87
+ - &#8203;<!-- 01 -->[website] Fix modal not being closed with the escape key on the Base UI page (#39880) @ZeeshanTamboli
88
+
89
+ All contributors of this release in alphabetical order: @avikalpg, @brijeshb42, @cherniavskii, @danilo-leal, @DarhkVoyd, @dhaub-exelixis, @DiegoAndai, @flaviendelangle, @islandryu, @joserodolfofreitas, @lhilgert9, @mj12albert, @mnajdova, @oliviertassinari, @sadik-malik, @sai6855, @zanivan, @ZeeshanTamboli
90
+
91
+ ## 5.14.18
92
+
93
+ <!-- generated comparing v5.14.17..master -->
94
+
95
+ _Nov 14, 2023_
96
+
97
+ A big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
98
+
99
+ - 💫 Introduced new [Stepper](https://mui.com/joy-ui/react-stepper/) component in Joy UI (#39688) @siriwatknp
100
+ - other 🐛 bug fixes and 📚 documentation improvements
101
+
102
+ ### `@mui/material@5.14.18`
103
+
104
+ - &#8203;<!-- 32 -->[Autocomplete] Add `defaultMuiPrevented` to onKeyDown type (#39820) @sai6855
105
+ - &#8203;<!-- 31 -->[Autocomplete] Fix React key warning in Next.js (#39795) @mj12albert
106
+ - &#8203;<!-- 24 -->[Checkbox] Asterisk placement aligned correctly (#39721) @axelbostrom
107
+ - &#8203;<!-- 04 -->[Rating] Fix the hover highlighting for spaced icons (#39775) @ZeeshanTamboli
108
+ - &#8203;<!-- 03 -->[TablePagination] Implement `slotProps` pattern for the actions and the select slots (#39353) @anle9650
109
+ - &#8203;<!-- 02 -->[TextField] Fix padding on small filled multiline TextField (#39769) @mj12albert
110
+
111
+ ### `@mui/joy@5.0.0-beta.15`
112
+
113
+ - &#8203;<!-- 11 -->[Stepper] Add new `Stepper` component (#39688) @siriwatknp
114
+ - &#8203;<!-- 12 -->[Select] Fix displaying placeholder when multiple is true (#39806) @sai6855
115
+
116
+ ### `@mui/material-next@6.0.0-alpha.110`
117
+
118
+ - &#8203;<!-- 26 -->[ButtonGroup] Copy `ButtonGroup` to material next (#39739) @lhilgert9
119
+ - &#8203;<!-- 09 -->[ProgressIndicator] Change `CircularProgress` files to ts (#39791) @lhilgert9
120
+ - &#8203;<!-- 08 -->[ProgressIndicator] Change `LinearProgress` files to ts (#39793) @lhilgert9
121
+ - &#8203;<!-- 07 -->[ProgressIndicator] Copy `LinearProgress` to material next (#39779) @lhilgert9
122
+ - &#8203;<!-- 06 -->[ProgressIndicator] Copy `CircularProgress` to material next (#39780) @lhilgert9
123
+ - &#8203;<!-- 05 -->[TextField] Add FormLabel and InputLabel components (#39483) @mj12albert
124
+
125
+ ## Docs
126
+
127
+ - &#8203;<!-- 30 -->[base-ui][NumberInput] Fix inconsistent demo component names (#39786) @mnajdova
128
+ - &#8203;<!-- 29 -->[base-ui][Menu] Refine demos (#39823) @zanivan
129
+ - &#8203;<!-- 28 -->[base-ui][Switch] Refine demos (#39822) @zanivan
130
+ - &#8203;<!-- 16 -->[joy-ui] Fix API generation for Grid (#39861) @oliviertassinari
131
+ - &#8203;<!-- 15 -->[joy-ui] Fix menu in color inversion header demo (#39785) @sai6855
132
+ - &#8203;<!-- 14 -->[joy-ui] Change the design kit link on the Overview page (#39725) @danilo-leal
133
+ - &#8203;<!-- 13 -->[joy-ui] Add `CssBaseline` to integration with Material UI page (#39790) @swillianc
134
+ - &#8203;<!-- 10 -->[joy-ui][Tabs] Add wordBreak style to demo (#39821) @sai6855
135
+
136
+ ## Core
137
+
138
+ - &#8203;<!-- 27 -->[blog] MUI X late v6 blog post (#39700) @joserodolfofreitas
139
+ - &#8203;<!-- 25 -->[CHANGELOG] Correct the Joy UI version in the changelog (#39788) @michaldudak
140
+ - &#8203;<!-- 23 -->[core] Remove legacy docs files (#39860) @oliviertassinari
141
+ - &#8203;<!-- 22 -->[core] Fix GitHub title tag consistency @oliviertassinari
142
+ - &#8203;<!-- 21 -->[core] Make the API docs builder configurable per project (#39772) @michaldudak
143
+ - &#8203;<!-- 20 -->[docs] Fix the default theme viewer font family (#39782) @danilo-leal
144
+ - &#8203;<!-- 19 -->[docs-infra] Fix hydration api (#39706) @oliviertassinari
145
+ - &#8203;<!-- 18 -->[docs-infra] Adjust the website & docs footer (#39810) @danilo-leal
146
+ - &#8203;<!-- 17 -->[docs-infra] Fix bug on API prop copy experience (#39707) @oliviertassinari
147
+ - &#8203;<!-- 01 -->[website] Change roadmap link destination (#39639) @danilo-leal
148
+
149
+ All contributors of this release in alphabetical order: @anle9650, @axelbostrom, @danilo-leal, @joserodolfofreitas, @lhilgert9, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @sai6855, @siriwatknp, @swillianc, @zanivan, @ZeeshanTamboli
150
+
3
151
  ## 5.14.17
4
152
 
5
153
  <!-- generated comparing v5.14.16..master -->
@@ -14,7 +162,7 @@ This release was mostly about 🐛 bug fixes and 📚 documentation improvements
14
162
  - [Dialog] Should not close until the IME is cancelled (#39713) @megos
15
163
  - [InputBase] Add `sx` type to `input` and `root` slot (#39569) @sai6855
16
164
 
17
- ### `@mui/joy@5.0.0-beta.13`
165
+ ### `@mui/joy@5.0.0-beta.14`
18
166
 
19
167
  - [ModalDialog] Remove redundant code (#39719) @sai6855
20
168
  - [ToggleButtonGroup] Fix toggling button state when `Button` is not immediate children (#39571) @sai6855
@@ -876,7 +1024,7 @@ A big thanks to the 21 contributors who made this release possible. Here are som
876
1024
 
877
1025
  ### Core
878
1026
 
879
- - [CHANGELOG] Fix issues in highlight @oliviertassinari
1027
+ - [changelog] Fix issues in highlight @oliviertassinari
880
1028
  - [core] Remove redundant `@material-ui/` aliases from regression test webpack config (#38574) @ZeeshanTamboli
881
1029
  - [core] Fix CI error @oliviertassinari
882
1030
  - [core] Remove unnecessary Box (#38461) @oliviertassinari
@@ -1535,7 +1683,7 @@ A big thanks to the 25 contributors who made this release possible. Here are som
1535
1683
  - &#8203;<!-- 20 -->[docs-infra] Fix demos border radius (#37658) @oliviertassinari
1536
1684
  - &#8203;<!-- 19 -->[docs-infra] Add analyticsTags to Algolia (#37600) @Janpot
1537
1685
  - &#8203;<!-- 18 -->[docs-infra] Simplify product id handling (#37593) @oliviertassinari
1538
- - &#8203;<!-- 35 -->[CHANGELOG] Add missing release date for v5.13.5 @oliviertassinari
1686
+ - &#8203;<!-- 35 -->[changelog] Add missing release date for v5.13.5 @oliviertassinari
1539
1687
  - &#8203;<!-- 16 -->[examples] Shell command fix in the readme file of material-next-ts example (#37675) @bablukpik
1540
1688
  - &#8203;<!-- 15 -->[examples] Next.js v13 app router with Material UI (#37315) @smo043
1541
1689
 
@@ -6878,7 +7026,7 @@ A big thanks to the 18 contributors who made this release possible. Here are som
6878
7026
 
6879
7027
  - [blog] MUI X v5 blog post (#29590) @DanailH
6880
7028
  - [blog] Polish the Benny Joo joins MUI post (#29697) @oliviertassinari
6881
- - [CHANGELOG] Explain why we do breaking changes @oliviertassinari
7029
+ - [changelog] Explain why we do breaking changes @oliviertassinari
6882
7030
  - [core] Update latest issue template for codesandbox CI (#29783) @eps1lon
6883
7031
  - [core] Ensure `@mui/core` is an alias for `@mui/base` (#29762) @eps1lon
6884
7032
  - [docs] Fix broken Next and Previous links (#29711) @scallaway
@@ -10121,7 +10269,7 @@ The prop didn't solve any important problem better than any of its alternatives
10121
10269
 
10122
10270
  ### Core
10123
10271
 
10124
- - &#8203;<!-- 01 -->[CHANGELOG] Better document breaking changes @oliviertassinari
10272
+ - &#8203;<!-- 01 -->[changelog] Better document breaking changes @oliviertassinari
10125
10273
  - &#8203;<!-- 05 -->[core] Modernize icons `builder:src` (#25137) @eps1lon
10126
10274
  - &#8203;<!-- 04 -->[core] Properly use BABEL_ENV test and development (#25139) @eps1lon
10127
10275
  - &#8203;<!-- 15 -->[test] Add (manual) visual regression test for icons (#25160) @eps1lon
@@ -10144,7 +10292,7 @@ A big thanks to the 26 contributors who made this release possible. Here are som
10144
10292
  This is a follow-up effort after we have merged `material-ui-pickers`. The components are written in TypeScript which required us to upgrade our infra.
10145
10293
  - 👌 Improve the Slider thumb and track animation (#24968) @remyoudemans.
10146
10294
  The thumb is now moving with a light transition between different values unless it's dragged.
10147
- <img src="https://user-images.githubusercontent.com/3165635/109394906-b7405a00-7929-11eb-829a-3b5246c30c08.gif" width="412" height="110" />
10295
+ <img src="https://user-images.githubusercontent.com/3165635/109394906-b7405a00-7929-11eb-829a-3b5246c30c08.gif" width="412" height="110" alt="thumb-animation" />
10148
10296
  - 💅 Convert 5 components with custom colors support (#25099, #25088) @mngu.
10149
10297
  This change makes it easier to leverage custom palettes
10150
10298
  - And many more 🐛 bug fixes and 📚 improvements.
package/Chip/Chip.js CHANGED
@@ -358,10 +358,10 @@ const Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {
358
358
  }) : {};
359
359
  let deleteIcon = null;
360
360
  if (onDelete) {
361
- deleteIcon = deleteIconProp && /*#__PURE__*/React.isValidElement(deleteIconProp) ? /*#__PURE__*/React.cloneElement(deleteIconProp, {
361
+ deleteIcon = deleteIconProp && /*#__PURE__*/React.isValidElement(deleteIconProp) ? ( /*#__PURE__*/React.cloneElement(deleteIconProp, {
362
362
  className: clsx(deleteIconProp.props.className, classes.deleteIcon),
363
363
  onClick: handleDeleteIconClick
364
- }) : /*#__PURE__*/_jsx(CancelIcon, {
364
+ })) : /*#__PURE__*/_jsx(CancelIcon, {
365
365
  className: clsx(classes.deleteIcon),
366
366
  onClick: handleDeleteIconClick
367
367
  });
@@ -126,6 +126,9 @@ const FilledInputRoot = styled(InputBaseRoot, {
126
126
  }, ownerState.hiddenLabel && {
127
127
  paddingTop: 16,
128
128
  paddingBottom: 17
129
+ }, ownerState.hiddenLabel && ownerState.size === 'small' && {
130
+ paddingTop: 8,
131
+ paddingBottom: 9
129
132
  }));
130
133
  });
131
134
  const FilledInputInput = styled(InputBaseInput, {
@@ -166,11 +169,6 @@ const FilledInputInput = styled(InputBaseInput, {
166
169
  }, ownerState.hiddenLabel && {
167
170
  paddingTop: 16,
168
171
  paddingBottom: 17
169
- }, ownerState.multiline && {
170
- paddingTop: 0,
171
- paddingBottom: 0,
172
- paddingLeft: 0,
173
- paddingRight: 0
174
172
  }, ownerState.startAdornment && {
175
173
  paddingLeft: 0
176
174
  }, ownerState.endAdornment && {
@@ -178,6 +176,11 @@ const FilledInputInput = styled(InputBaseInput, {
178
176
  }, ownerState.hiddenLabel && ownerState.size === 'small' && {
179
177
  paddingTop: 8,
180
178
  paddingBottom: 9
179
+ }, ownerState.multiline && {
180
+ paddingTop: 0,
181
+ paddingBottom: 0,
182
+ paddingLeft: 0,
183
+ paddingRight: 0
181
184
  }));
182
185
  const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps, ref) {
183
186
  var _ref, _slots$root, _ref2, _slots$input;
@@ -212,7 +215,7 @@ const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps,
212
215
  ownerState
213
216
  }
214
217
  };
215
- const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(slotProps != null ? slotProps : componentsPropsProp, filledInputComponentsProps) : filledInputComponentsProps;
218
+ const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(filledInputComponentsProps, slotProps != null ? slotProps : componentsPropsProp) : filledInputComponentsProps;
216
219
  const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : FilledInputRoot;
217
220
  const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : FilledInputInput;
218
221
  return /*#__PURE__*/_jsx(InputBase, _extends({
@@ -152,8 +152,7 @@ const FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel
152
152
  ref: ref
153
153
  }, other, {
154
154
  children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(Stack, {
155
- direction: "row",
156
- alignItems: "center",
155
+ display: "block",
157
156
  children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {
158
157
  ownerState: ownerState,
159
158
  "aria-hidden": true,
@@ -114,10 +114,10 @@ const InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inP
114
114
  color: "text.secondary",
115
115
  children: children
116
116
  }) : /*#__PURE__*/_jsxs(React.Fragment, {
117
- children: [position === 'start' ? /* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx("span", {
117
+ children: [position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx("span", {
118
118
  className: "notranslate",
119
119
  children: "\u200B"
120
- })) : null, children]
120
+ }))) : null, children]
121
121
  })
122
122
  }))
123
123
  });
@@ -105,7 +105,11 @@ const InputLabelRoot = styled(FormLabel, {
105
105
  // but it feels a better when it bleeds a bit on the left, so 32px.
106
106
  maxWidth: 'calc(133% - 32px)',
107
107
  transform: 'translate(14px, -9px) scale(0.75)'
108
- })));
108
+ }), ownerState.variant === 'standard' && {
109
+ '&:not(label) + div': {
110
+ marginTop: 16
111
+ }
112
+ }));
109
113
  const InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {
110
114
  const props = useThemeProps({
111
115
  name: 'MuiInputLabel',
package/Modal/Modal.d.ts CHANGED
@@ -93,6 +93,9 @@ export interface ModalOwnProps {
93
93
  * An HTML element or function that returns one.
94
94
  * The `container` will have the portal children appended to it.
95
95
  *
96
+ * You can also provide a callback, which is called in a React layout effect.
97
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
98
+ *
96
99
  * By default, it uses the body of the top-level document object,
97
100
  * so it's simply `document.body` most of the time.
98
101
  */
package/Modal/Modal.js CHANGED
@@ -276,6 +276,9 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
276
276
  * An HTML element or function that returns one.
277
277
  * The `container` will have the portal children appended to it.
278
278
  *
279
+ * You can also provide a callback, which is called in a React layout effect.
280
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
281
+ *
279
282
  * By default, it uses the body of the top-level document object,
280
283
  * so it's simply `document.body` most of the time.
281
284
  */
package/Popper/Popper.js CHANGED
@@ -117,6 +117,9 @@ process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */
117
117
  * An HTML element or function that returns one.
118
118
  * The `container` will have the portal children appended to it.
119
119
  *
120
+ * You can also provide a callback, which is called in a React layout effect.
121
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
122
+ *
120
123
  * By default, it uses the body of the top-level document object,
121
124
  * so it's simply `document.body` most of the time.
122
125
  */
package/Rating/Rating.js CHANGED
@@ -337,16 +337,14 @@ const Rating = /*#__PURE__*/React.forwardRef(function Rating(inProps, ref) {
337
337
  const rootNode = rootRef.current;
338
338
  const {
339
339
  right,
340
- left
340
+ left,
341
+ width: containerWidth
341
342
  } = rootNode.getBoundingClientRect();
342
- const {
343
- width
344
- } = rootNode.firstChild.getBoundingClientRect();
345
343
  let percent;
346
344
  if (theme.direction === 'rtl') {
347
- percent = (right - event.clientX) / (width * max);
345
+ percent = (right - event.clientX) / containerWidth;
348
346
  } else {
349
- percent = (event.clientX - left) / (width * max);
347
+ percent = (event.clientX - left) / containerWidth;
350
348
  }
351
349
  let newHover = roundValueToPrecision(max * percent + precision / 2, precision);
352
350
  newHover = clamp(newHover, precision, max);
@@ -11,8 +11,7 @@ export { SelectChangeEvent };
11
11
 
12
12
  export interface SelectProps<Value = unknown>
13
13
  extends StandardProps<InputProps, 'value' | 'onChange'>,
14
- Omit<OutlinedInputProps, 'value' | 'onChange'>,
15
- Pick<SelectInputProps<Value>, 'onChange'> {
14
+ Omit<OutlinedInputProps, 'value' | 'onChange'> {
16
15
  /**
17
16
  * If `true`, the width of the popover will automatically be set according to the items inside the
18
17
  * menu, otherwise it will be at least the width of the select input.
@@ -435,6 +435,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
435
435
  const classes = useUtilityClasses(ownerState);
436
436
  const paperProps = _extends({}, MenuProps.PaperProps, (_MenuProps$slotProps = MenuProps.slotProps) == null ? void 0 : _MenuProps$slotProps.paper);
437
437
  const listboxId = useId();
438
+ const hiddenInputId = useId();
438
439
  return /*#__PURE__*/_jsxs(React.Fragment, {
439
440
  children: [/*#__PURE__*/_jsx(SelectSelect, _extends({
440
441
  ref: handleDisplayRef,
@@ -465,7 +466,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
465
466
  })), /*#__PURE__*/_jsx(SelectNativeInput, _extends({
466
467
  "aria-invalid": error,
467
468
  value: Array.isArray(value) ? value.join(',') : value,
468
- name: name,
469
+ name: name != null ? name : hiddenInputId,
469
470
  ref: inputRef,
470
471
  "aria-hidden": true,
471
472
  onChange: handleChange,
@@ -81,7 +81,7 @@ const StepButton = /*#__PURE__*/React.forwardRef(function StepButton(inProps, re
81
81
  icon,
82
82
  optional
83
83
  };
84
- const child = isMuiElement(children, ['StepLabel']) ? /*#__PURE__*/React.cloneElement(children, childProps) : /*#__PURE__*/_jsx(StepLabel, _extends({}, childProps, {
84
+ const child = isMuiElement(children, ['StepLabel']) ? ( /*#__PURE__*/React.cloneElement(children, childProps)) : /*#__PURE__*/_jsx(StepLabel, _extends({}, childProps, {
85
85
  children: children
86
86
  }));
87
87
  return /*#__PURE__*/_jsx(StepButtonRoot, _extends({
@@ -29,6 +29,9 @@ export interface TablePaginationOwnProps extends TablePaginationBaseProps {
29
29
  ActionsComponent?: React.ElementType<TablePaginationActionsProps>;
30
30
  /**
31
31
  * Props applied to the back arrow [`IconButton`](/material-ui/api/icon-button/) component.
32
+ *
33
+ * This prop is an alias for `slotProps.actions.previousButton` and will be overriden by it if both are used.
34
+ * @deprecated Use `slotProps.actions.previousButton` instead.
32
35
  */
33
36
  backIconButtonProps?: Partial<IconButtonProps>;
34
37
  /**
@@ -41,6 +44,11 @@ export interface TablePaginationOwnProps extends TablePaginationBaseProps {
41
44
  * To enable server side pagination for an unknown number of items, provide -1.
42
45
  */
43
46
  count: number;
47
+ /**
48
+ * If `true`, the component is disabled.
49
+ * @default false
50
+ */
51
+ disabled?: boolean;
44
52
  /**
45
53
  * Accepts a function which returns a string value that provides a user-friendly name for the current page.
46
54
  * This is important for screen reader users.
@@ -72,6 +80,9 @@ export interface TablePaginationOwnProps extends TablePaginationBaseProps {
72
80
  labelRowsPerPage?: React.ReactNode;
73
81
  /**
74
82
  * Props applied to the next arrow [`IconButton`](/material-ui/api/icon-button/) element.
83
+ *
84
+ * This prop is an alias for `slotProps.actions.nextButton` and will be overriden by it if both are used.
85
+ * @deprecated Use `slotProps.actions.nextButton` instead.
75
86
  */
76
87
  nextIconButtonProps?: Partial<IconButtonProps>;
77
88
  /**
@@ -106,6 +117,10 @@ export interface TablePaginationOwnProps extends TablePaginationBaseProps {
106
117
  rowsPerPageOptions?: Array<number | { value: number; label: string }>;
107
118
  /**
108
119
  * Props applied to the rows per page [`Select`](/material-ui/api/select/) element.
120
+ *
121
+ * This prop is an alias for `slotProps.select` and will be overriden by it if both are used.
122
+ * @deprecated Use `slotProps.select` instead.
123
+ *
109
124
  * @default {}
110
125
  */
111
126
  SelectProps?: Partial<SelectProps>;
@@ -119,6 +134,14 @@ export interface TablePaginationOwnProps extends TablePaginationBaseProps {
119
134
  * @default false
120
135
  */
121
136
  showLastButton?: boolean;
137
+ /**
138
+ * The props used for each slot inside the TablePagination.
139
+ * @default {}
140
+ */
141
+ slotProps?: {
142
+ actions?: TablePaginationActionsProps['slotProps'];
143
+ select?: Partial<SelectProps>;
144
+ };
122
145
  /**
123
146
  * The system prop that allows defining system overrides as well as additional CSS styles.
124
147
  */