@mui/material 5.13.5 → 5.13.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ButtonBase/TouchRipple.js +4 -2
- package/CHANGELOG.md +173 -4
- package/Modal/Modal.js +8 -0
- package/OutlinedInput/OutlinedInput.js +1 -1
- package/README.md +8 -8
- package/Slider/Slider.js +3 -4
- package/SvgIcon/SvgIcon.js +8 -4
- package/Tooltip/Tooltip.d.ts +2 -2
- package/Tooltip/Tooltip.js +6 -1
- package/index.js +1 -1
- package/legacy/ButtonBase/TouchRipple.js +4 -2
- package/legacy/Modal/Modal.js +8 -0
- package/legacy/OutlinedInput/OutlinedInput.js +1 -1
- package/legacy/Slider/Slider.js +3 -4
- package/legacy/SvgIcon/SvgIcon.js +8 -4
- package/legacy/Tooltip/Tooltip.js +5 -2
- package/legacy/index.js +1 -1
- package/modern/ButtonBase/TouchRipple.js +4 -2
- package/modern/Modal/Modal.js +8 -0
- package/modern/OutlinedInput/OutlinedInput.js +1 -1
- package/modern/Slider/Slider.js +3 -4
- package/modern/SvgIcon/SvgIcon.js +8 -4
- package/modern/Tooltip/Tooltip.js +6 -1
- package/modern/index.js +1 -1
- package/node/ButtonBase/TouchRipple.js +4 -2
- package/node/Modal/Modal.js +8 -0
- package/node/OutlinedInput/OutlinedInput.js +1 -1
- package/node/Slider/Slider.js +3 -4
- package/node/SvgIcon/SvgIcon.js +8 -4
- package/node/Tooltip/Tooltip.js +6 -1
- package/node/index.js +1 -1
- package/package.json +7 -7
- package/styles/experimental_extendTheme.d.ts +1 -0
- package/umd/material-ui.development.js +72 -32
- package/umd/material-ui.production.min.js +5 -5
|
@@ -154,14 +154,16 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
|
|
|
154
154
|
const ignoringMouseDown = React.useRef(false);
|
|
155
155
|
// We use a timer in order to only show the ripples for touch "click" like events.
|
|
156
156
|
// We don't want to display the ripple for touch scroll events.
|
|
157
|
-
const startTimer = React.useRef(
|
|
157
|
+
const startTimer = React.useRef(0);
|
|
158
158
|
|
|
159
159
|
// This is the hook called once the previous timeout is ready.
|
|
160
160
|
const startTimerCommit = React.useRef(null);
|
|
161
161
|
const container = React.useRef(null);
|
|
162
162
|
React.useEffect(() => {
|
|
163
163
|
return () => {
|
|
164
|
-
|
|
164
|
+
if (startTimer.current) {
|
|
165
|
+
clearTimeout(startTimer.current);
|
|
166
|
+
}
|
|
165
167
|
};
|
|
166
168
|
}, []);
|
|
167
169
|
const startCommit = React.useCallback(params => {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,176 @@
|
|
|
1
1
|
# [Versions](https://mui.com/versions/)
|
|
2
2
|
|
|
3
|
+
## 5.13.7
|
|
4
|
+
|
|
5
|
+
<!-- generated comparing v5.13.6..master -->
|
|
6
|
+
|
|
7
|
+
_Jul 4, 2023_
|
|
8
|
+
|
|
9
|
+
A big thanks to the 21 contributors who made this release possible.
|
|
10
|
+
This release focuses primarily on 🐛 bug fixes, 📚 documentation, and ⚙️ infrastructure improvements.
|
|
11
|
+
|
|
12
|
+
### `@mui/material@5.13.7`
|
|
13
|
+
|
|
14
|
+
- [OutlinedInput] Fix form control properties in `ownerState` (#37668) @vonagam
|
|
15
|
+
|
|
16
|
+
### `@mui/system@5.13.7`
|
|
17
|
+
|
|
18
|
+
- [Stack] Fix spacing when there are `<style>` children (#34966) @cmd-johnson
|
|
19
|
+
|
|
20
|
+
### `@mui/icons-material@5.13.7`
|
|
21
|
+
|
|
22
|
+
- [icons] Add Microsoft logo (#37717) @zephyrus21
|
|
23
|
+
|
|
24
|
+
### `@mui/joy@5.0.0-alpha.86`
|
|
25
|
+
|
|
26
|
+
- [Autocomplete][joy] Fix Autocomplete and Modal components to work together (#37515) @saikathalderr
|
|
27
|
+
- [Menu][Joy] Improve UX of `Menu` usage demo (#37797) @sai6855
|
|
28
|
+
|
|
29
|
+
### `@mui/base@5.0.0-beta.6`
|
|
30
|
+
|
|
31
|
+
- [Slider][base][material][joy] Fix not draggable on the edge when `disableSwap={true}` (#35998) @sai6855
|
|
32
|
+
- [Slider][base] Provide slot state to Slider's thumb slot props callback (#37749) @mnajdova
|
|
33
|
+
- [Tabs] Wrap TabsList context creation in useMemo (#37370) @michaldudak
|
|
34
|
+
- [TextareaAutosize] Fix wrong height measurement (#37185) @bigteech
|
|
35
|
+
|
|
36
|
+
### `@mui/lab@5.0.0-alpha.135`
|
|
37
|
+
|
|
38
|
+
- [Timeline] Fix position `alternate-reverse` generated classname (#37678) @ZeeshanTamboli
|
|
39
|
+
|
|
40
|
+
### Docs
|
|
41
|
+
|
|
42
|
+
- [docs][base] Add demo for using the Button as a link (#37317) @AdamSundberg
|
|
43
|
+
- [docs][base] Add Tailwind CSS + plain CSS demo on the Select page (#37725) @mnajdova
|
|
44
|
+
- [docs][base] Make Base UI input demos denser (#37750) @zanivan
|
|
45
|
+
- [docs][base] Make Base UI button demos denser (#37689) @zanivan
|
|
46
|
+
- [docs][base] Add Tailwind CSS & plain CSS demos on the Input page (#37685) @mnajdova
|
|
47
|
+
- [docs][base] Fix horizontal scrolling on the mobile input page (#37688) @zanivan
|
|
48
|
+
- [docs] Improve Base UI index page (#37761) @oliviertassinari
|
|
49
|
+
- [docs] Fix incorrect package URL in README of example material-vite (#37755) @Dlouxgit
|
|
50
|
+
- [docs] Explain how to disable Base Select's portal (#37684) @michaldudak
|
|
51
|
+
- [docs] Shorten overview page URLs (#37660) @oliviertassinari
|
|
52
|
+
- [docs][material] Rename custom tab panel in Tabs demo to prevent confusion with @mui/lab (#37638) @MUK-Dev
|
|
53
|
+
- [docs][tabs] Document how to use routing with Tabs in Base UI (#37369) @michaldudak
|
|
54
|
+
- [docs] Rename product to productId (#37801) @siriwatknp
|
|
55
|
+
- [docs][base] Add Tailwind CSS & plain CSS demo on the Slider page (#37736) @mnajdova
|
|
56
|
+
|
|
57
|
+
### Core
|
|
58
|
+
|
|
59
|
+
- [docs–infra] Prevent displaying multiple ads (#37696) @oliviertassinari
|
|
60
|
+
- [blog] Fix mismatch between plan and link @oliviertassinari
|
|
61
|
+
- [core] Update yarn lockfile (#37802) @michaldudak
|
|
62
|
+
- [core] Add bundle size Toolpad app link to PRs (#36311) @Janpot
|
|
63
|
+
- [core] Fix priority support prompt action flow (#37726) @DanailH
|
|
64
|
+
- [core] Fix typo in priority support @oliviertassinari
|
|
65
|
+
- [core][docs] add Eslint rule to ensure main demo component match file… (#37278) @alexfauquette
|
|
66
|
+
- [docs-infra] Fix truncated TOCs scrollbar (#37770) @oliviertassinari
|
|
67
|
+
- [docs-infra] Adjust demo container to be glued to the toolbar (#37744) @danilo-leal
|
|
68
|
+
- [docs-infra] Fix layout shift ad (#37694) @oliviertassinari
|
|
69
|
+
- [docs-infra] Improve demos toolbar (#37762) @oliviertassinari
|
|
70
|
+
- [docs-infra] Make the GitHub link in the nav bar open in a new tab (#37766) @gateremark
|
|
71
|
+
- [docs-infra] Allow to persist icons in ToC (#37731) @cherniavskii
|
|
72
|
+
- [docs-infra] Improve product mapping (#37729) @oliviertassinari
|
|
73
|
+
- [docs-infra] Add design polish to the comment and anchor buttons (#37734) @danilo-leal
|
|
74
|
+
- [docs-infra] Tweak editable code blocks callout design (#37681) @danilo-leal
|
|
75
|
+
- [docs-infra] Improve the edit page experience (#37695) @oliviertassinari
|
|
76
|
+
- [docs-infra] Support rendering markdown outside of docs (#37691) @oliviertassinari
|
|
77
|
+
- [docs-infra] Polish demo toolbar button designs (#37680) @danilo-leal
|
|
78
|
+
- [docs-infra] Adjust demo component container design (#37659) @danilo-leal
|
|
79
|
+
- [test] Fix test:e2e local run (#37719) @oliviertassinari
|
|
80
|
+
- [test] Remove failing test in dev @oliviertassinari
|
|
81
|
+
- [website] Add no-op service worker to fix stale cache issue (#37607) @cherniavskii
|
|
82
|
+
- [website] Transition the Core page to be Material UI instead (#37583) @danilo-leal
|
|
83
|
+
- [website] Update the pricing page to reflect sales (#37751) @oliviertassinari
|
|
84
|
+
- [website] Match Copyright with the rest of the website @oliviertassinari
|
|
85
|
+
- [website] Support deep linking to pricing FAQ @oliviertassinari
|
|
86
|
+
|
|
87
|
+
All contributors of this release in alphabetical order: @AdamSundberg, @alexfauquette, @bigteech, @cherniavskii, @cmd-johnson, @DanailH, @danilo-leal, @Dlouxgit, @gateremark, @Janpot, @michaldudak, @mnajdova, @MUK-Dev, @oliviertassinari, @sai6855, @saikathalderr, @siriwatknp, @vonagam, @zanivan, @ZeeshanTamboli, @zephyrus21
|
|
88
|
+
|
|
89
|
+
## 5.13.6
|
|
90
|
+
|
|
91
|
+
_Jun 21, 2023_
|
|
92
|
+
|
|
93
|
+
A big thanks to the 25 contributors who made this release possible. Here are some highlights ✨:
|
|
94
|
+
|
|
95
|
+
- 💫 Added [Slider](https://mui.com/material-ui/react-slider/#material-you-version) component using the new Material You design language (#37520) @DiegoAndai.
|
|
96
|
+
- 📚 Added [examples](https://github.com/mui/material-ui/tree/master/examples/material-next-app-router-ts) showcasing how you can use Material UI with next.js's app directory (#37315) @smo043
|
|
97
|
+
|
|
98
|
+
### `@mui/material@5.13.6`
|
|
99
|
+
|
|
100
|
+
- ​<!-- 45 -->[Autocomplete] Fixed autocomplete's existing option selection (#37012) @bencevoros
|
|
101
|
+
- ​<!-- 44 -->[Autocomplete] Add hint demos to Material UI and Joy UI docs (#37496) @sai6855
|
|
102
|
+
- ​<!-- 13 -->[Masonry] Fix ResizeObserver loop limit exceeded error (#37208) @hbjORbj
|
|
103
|
+
- ​<!-- 11 -->[Tooltip][material] Improve warning when Tooltip receives string child (#37530) @DiegoAndai
|
|
104
|
+
- ​<!-- 10 -->[Modal] Add missing members to ModalOwnProps (#37568) @ivp-dev
|
|
105
|
+
- ​<!-- 09 -->[Slider] Arrow keys control does not work with float numbers (#37071) @gitstart
|
|
106
|
+
- ​<!-- 08 -->[SvgIcon] allow `svg` as a child (#37231) @siriwatknp
|
|
107
|
+
- ​<!-- 07 -->[Timeline] Add alternate reverse position (#37311) @abhinavkmrru
|
|
108
|
+
- ​<!-- 06 -->[Tooltip] Fix type of sx prop in `slotProps` (#37550) @SuperKXT
|
|
109
|
+
- ​<!-- 05 -->[TouchRipple] perf: avoid calling `clearTimeout()` (#37512) @romgrk
|
|
110
|
+
|
|
111
|
+
### `@mui/material-next@6.0.0-alpha.90`
|
|
112
|
+
|
|
113
|
+
- ​<!-- 12 -->[Material You] Add Slider component with Material You design (#37520) @DiegoAndai
|
|
114
|
+
|
|
115
|
+
### `@mui/joy@5.0.0-alpha.85`
|
|
116
|
+
|
|
117
|
+
- ​<!-- 37 -->[ButtonGroup][joy] Missing border when spacing is more than zero (#37577) @siriwatknp
|
|
118
|
+
- ​<!-- 36 -->[CardActions][joy] Add `CardActions` component (#37441) @siriwatknp
|
|
119
|
+
- ​<!-- 14 -->[Menu][joy] Fix closing of `Menu` in demos (#36917) @sai6855
|
|
120
|
+
|
|
121
|
+
### `@mui/base@5.0.0-beta.5`
|
|
122
|
+
|
|
123
|
+
- ​<!-- 39 -->[Menu][base] Add the resetHighlight action (#37392) @michaldudak
|
|
124
|
+
- ​<!-- 38 -->[Select][base] Expose the `areOptionsEqual` prop (#37615) @michaldudak
|
|
125
|
+
|
|
126
|
+
### `@mui/utils@5.13.2`
|
|
127
|
+
|
|
128
|
+
- ​<!-- 04 -->[utils] Allow nested imports in @mui/utils to speed up build (#37586) @flaviendelangle
|
|
129
|
+
|
|
130
|
+
### Docs
|
|
131
|
+
|
|
132
|
+
- ​<!-- 43 -->[docs][base] Improve Base UI all components images (#37590) @danilo-leal
|
|
133
|
+
- ​<!-- 42 -->[docs][base] Add pages for coming soon components (#37575) @danilo-leal
|
|
134
|
+
- ​<!-- 41 -->[docs][base] Add a Snackbar introduction demo (#37602) @danilo-leal
|
|
135
|
+
- ​<!-- 40 -->[docs][base] Add page for all Base UI components (#37536) @danilo-leal
|
|
136
|
+
- ​<!-- 33 -->[docs] Fix scrollbar on snackbar page (#37657) @oliviertassinari
|
|
137
|
+
- ​<!-- 32 -->[docs] Switch order of snackbar buttons in demos (#37389) @Primajin
|
|
138
|
+
- ​<!-- 31 -->[docs] Add support for Tailwind CSS and plain CSS demos (#37319) @mnajdova
|
|
139
|
+
- ​<!-- 30 -->[docs] Tree view color fix for dark mode in Gmail example (#37051) @PunitSoniME
|
|
140
|
+
- ​<!-- 29 -->[docs] Inline the Base UI demo (#37603) @oliviertassinari
|
|
141
|
+
- ​<!-- 28 -->[docs] Fix typo in themed components page (#37598) @vinayr
|
|
142
|
+
- ​<!-- 27 -->[docs] Fix render inline code in CSS description generation (#37448) @alexfauquette
|
|
143
|
+
- ​<!-- 26 -->[docs] Add styles to styled argument list (#37558) @DiegoAndai
|
|
144
|
+
- ​<!-- 25 -->[docs] Improve awkward wording in READMEs of example projects (#37110) @DIWAKARKASHYAP
|
|
145
|
+
- ​<!-- 24 -->[docs] Fix small base -> base-ui migration issue (#37594) @oliviertassinari
|
|
146
|
+
- ​<!-- 23 -->[docs] Fix GitHub typo (#37578) @oliviertassinari
|
|
147
|
+
- ​<!-- 22 -->[docs] Improve release guide (#37547) @DiegoAndai
|
|
148
|
+
- ​<!-- 21 -->[docs] Review fixes to the Material UI's "Example projects" page (#37444) @danilo-leal
|
|
149
|
+
- ​<!-- 17 -->[docs][joy] Add a messages template (#37546) @sernstberger
|
|
150
|
+
- ​<!-- 16 -->[docs][joy] Add pages for coming soon Joy UI components (#36920) @danilo-leal
|
|
151
|
+
- ​<!-- 15 -->[docs][joy] Add design and consistency tweaks to the Playground (#37580) @danilo-leal
|
|
152
|
+
- ​<!-- 37 -->[docs] Add and revise Base UI + Create React App examples (#36825) @samuelsycamore
|
|
153
|
+
- ​<!-- 20 -->[docs-infra] Fix demos border radius (#37658) @oliviertassinari
|
|
154
|
+
- ​<!-- 19 -->[docs-infra] Add analyticsTags to Algolia (#37600) @Janpot
|
|
155
|
+
- ​<!-- 18 -->[docs-infra] Simplify product id handling (#37593) @oliviertassinari
|
|
156
|
+
- ​<!-- 35 -->[CHANGELOG] Add missing release date for v5.13.5 @oliviertassinari
|
|
157
|
+
- ​<!-- 16 -->[examples] Shell command fix in the readme file of material-next-app-router-ts example (#37675) @bablukpik
|
|
158
|
+
- ​<!-- 15 -->[examples] Next.js v13 app router with Material UI (#37315) @smo043
|
|
159
|
+
|
|
160
|
+
### Core
|
|
161
|
+
|
|
162
|
+
- ​<!-- 34 -->[core] Update to Node.js v18 for `test-dev` CI (#37604) @ZeeshanTamboli
|
|
163
|
+
- ​<!-- 39 -->[core] Add priority support issue template (#37671) @DanailH
|
|
164
|
+
- ​<!-- 03 -->[website] Update roadmap page (#37587) @cherniavskii
|
|
165
|
+
- ​<!-- 02 -->[website] Add CSP to limit iframes to self @oliviertassinari
|
|
166
|
+
- ​<!-- 01 -->[website] Link mui-x Stack Overflow in footer link (#37509) @richbustos
|
|
167
|
+
|
|
168
|
+
All contributors of this release in alphabetical order: @abhinavkmrru, @alexfauquette, @bencevoros, @cherniavskii, @danilo-leal, @DiegoAndai, @DIWAKARKASHYAP, @flaviendelangle, @gitstart, @hbjORbj, @ivp-dev, @Janpot, @michaldudak, @mnajdova, @oliviertassinari, @Primajin, @PunitSoniME, @richbustos, @romgrk, @sai6855, @sernstberger, @siriwatknp, @SuperKXT, @vinayr, @ZeeshanTamboli
|
|
169
|
+
|
|
3
170
|
## 5.13.5
|
|
4
171
|
|
|
172
|
+
_Jun 12, 2023_
|
|
173
|
+
|
|
5
174
|
A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
|
|
6
175
|
|
|
7
176
|
- 💫 Added `ButtonGroup` component in Joy UI (#37407) @siriwatknp.
|
|
@@ -9775,7 +9944,7 @@ A big thanks to the 34 contributors who made this release possible. Here are som
|
|
|
9775
9944
|
|
|
9776
9945
|
While the source code is currently hosted in the [main repository](https://github.com/mui/material-ui), we might move it to the [x repository](https://github.com/mui/mui-x) in the future, depending on what is easier for the commercial date range picker. The date picker will stay open source no matter what.
|
|
9777
9946
|
|
|
9778
|
-
- 📚 Revamp the documentation for [the system](https://mui.com/system/getting-started/
|
|
9947
|
+
- 📚 Revamp the documentation for [the system](https://mui.com/system/getting-started/). The System contains CSS utilities. The documentation now promotes the use of the `sx` prop. It's ideal for adding one-off styles, e.g. padding, but when pushed to its limits, it can be used to implement quickly a complete page.
|
|
9779
9948
|
- 👩🎨 Upgrade emotion to v11 (#23007) @mnajdova.
|
|
9780
9949
|
- And many more 🐛 bug fixes and 📚 improvements.
|
|
9781
9950
|
|
|
@@ -10177,7 +10346,7 @@ Here are some highlights ✨:
|
|
|
10177
10346
|
If you target IE11, you need to use the new bundle (`legacy`). We are treating IE11 as a second class-citizen, which is a continuation of the direction taken in #22873.
|
|
10178
10347
|
|
|
10179
10348
|
- 🚀 Improve the internal benchmark suite (#22923, #23058) @mnajdova.
|
|
10180
|
-
This was a prerequisite step to improve the [system](https://mui.com/system/getting-started/
|
|
10349
|
+
This was a prerequisite step to improve the [system](https://mui.com/system/getting-started/). We needed to be able to measure performance. After #22945, we have measured that the `Box` component is x3 faster in v5-alpha compared to v4.
|
|
10181
10350
|
- ✏️ A new blog post: [Q3 2020 Update](https://mui.com/blog/2020-q3-update/) (#23055) @oliviertassinari.
|
|
10182
10351
|
- 🐙 Migrate more tests to react-testing-library @deiga, @Morteza-Jenabzadeh, @nicholas-l.
|
|
10183
10352
|
- And many more 🐛 bug fixes and 📚 improvements.
|
|
@@ -10518,7 +10687,7 @@ Here are some highlights ✨:
|
|
|
10518
10687
|
|
|
10519
10688
|
The new styling solution saves 2kB gzipped in the bundle compared to JSS, and about 14 kB gzipped if you were already using emotion or styled-components.
|
|
10520
10689
|
|
|
10521
|
-
Last but not least, the change allows us to take advantage dynamic style props. We will use them for dynamic color props, variant props, and new style props (an improved [system](https://mui.com/system/getting-started/
|
|
10690
|
+
Last but not least, the change allows us to take advantage dynamic style props. We will use them for dynamic color props, variant props, and new style props (an improved [system](https://mui.com/system/getting-started/)).
|
|
10522
10691
|
|
|
10523
10692
|
This change has been in our roadmap for more than a year.
|
|
10524
10693
|
We announced it in the [v4 release blog post](https://mui.com/blog/material-ui-v4-is-out/) as a direction v5 would take.
|
|
@@ -11771,7 +11940,7 @@ A big thanks to the 33 contributors who made this release possible. Here are som
|
|
|
11771
11940
|
/>
|
|
11772
11941
|
```
|
|
11773
11942
|
|
|
11774
|
-
- [Typography] Replace the `srOnly` prop so as to not duplicate the capabilities of [System](https://mui.com/system/getting-started/
|
|
11943
|
+
- [Typography] Replace the `srOnly` prop so as to not duplicate the capabilities of [System](https://mui.com/system/getting-started/) (#21413) @mnajdova.
|
|
11775
11944
|
|
|
11776
11945
|
```diff
|
|
11777
11946
|
-import Typography from '@material-ui/core/Typography';
|
package/Modal/Modal.js
CHANGED
|
@@ -281,6 +281,14 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
|
|
|
281
281
|
* @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
|
|
282
282
|
*/
|
|
283
283
|
onClose: PropTypes.func,
|
|
284
|
+
/**
|
|
285
|
+
* A function called when a transition enters.
|
|
286
|
+
*/
|
|
287
|
+
onTransitionEnter: PropTypes.func,
|
|
288
|
+
/**
|
|
289
|
+
* A function called when a transition has exited.
|
|
290
|
+
*/
|
|
291
|
+
onTransitionExited: PropTypes.func,
|
|
284
292
|
/**
|
|
285
293
|
* If `true`, the component is shown.
|
|
286
294
|
*/
|
|
@@ -138,7 +138,7 @@ const OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inPro
|
|
|
138
138
|
const fcs = formControlState({
|
|
139
139
|
props,
|
|
140
140
|
muiFormControl,
|
|
141
|
-
states: ['required']
|
|
141
|
+
states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required']
|
|
142
142
|
});
|
|
143
143
|
const ownerState = _extends({}, props, {
|
|
144
144
|
color: fcs.color || 'primary',
|
package/README.md
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
**MUI Core** contains foundational React UI component libraries for shipping new features faster.
|
|
9
9
|
|
|
10
|
-
- [_Material UI_](https://mui.com/material-ui/getting-started/
|
|
10
|
+
- [_Material UI_](https://mui.com/material-ui/getting-started/) is a comprehensive library of components that features our implementation of Google's [Material Design](https://m2.material.io/design/introduction/) system.
|
|
11
11
|
|
|
12
|
-
- [_Joy UI_](https://mui.com/joy-ui/getting-started/
|
|
12
|
+
- [_Joy UI_](https://mui.com/joy-ui/getting-started/) is a beautifully designed library of React UI components.
|
|
13
13
|
|
|
14
|
-
- [_Base UI_](https://mui.com/base-ui/getting-started/
|
|
14
|
+
- [_Base UI_](https://mui.com/base-ui/getting-started/) is our library of "unstyled" components and low-level hooks. With Base, you gain complete control over your app's CSS and accessibility features.
|
|
15
15
|
|
|
16
|
-
- [_MUI System_](https://mui.com/system/getting-started/
|
|
16
|
+
- [_MUI System_](https://mui.com/system/getting-started/) is a collection of CSS utilities to help you rapidly lay out custom designs.
|
|
17
17
|
|
|
18
18
|
<div align="center">
|
|
19
19
|
|
|
@@ -177,10 +177,10 @@ Our documentation features [a collection of example projects using Material UI](
|
|
|
177
177
|
|
|
178
178
|
## Documentation
|
|
179
179
|
|
|
180
|
-
- [Material UI](https://mui.com/material-ui/getting-started/
|
|
181
|
-
- [Joy UI](https://mui.com/joy-ui/getting-started/
|
|
182
|
-
- [Base UI](https://mui.com/base-ui/getting-started/
|
|
183
|
-
- [MUI System](https://mui.com/system/getting-started/
|
|
180
|
+
- [Material UI](https://mui.com/material-ui/getting-started/)
|
|
181
|
+
- [Joy UI](https://mui.com/joy-ui/getting-started/)
|
|
182
|
+
- [Base UI](https://mui.com/base-ui/getting-started/)
|
|
183
|
+
- [MUI System](https://mui.com/system/getting-started/)
|
|
184
184
|
|
|
185
185
|
## Premium themes
|
|
186
186
|
|
package/Slider/Slider.js
CHANGED
|
@@ -507,7 +507,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
507
507
|
marks,
|
|
508
508
|
values,
|
|
509
509
|
trackOffset,
|
|
510
|
-
trackLeap
|
|
510
|
+
trackLeap,
|
|
511
|
+
getThumbStyle
|
|
511
512
|
} = useSlider(_extends({}, ownerState, {
|
|
512
513
|
rootRef: ref
|
|
513
514
|
}));
|
|
@@ -638,9 +639,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
638
639
|
"data-index": index
|
|
639
640
|
}, thumbProps, {
|
|
640
641
|
className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),
|
|
641
|
-
style: _extends({}, style,
|
|
642
|
-
pointerEvents: disableSwap && active !== index ? 'none' : undefined
|
|
643
|
-
}, thumbProps.style),
|
|
642
|
+
style: _extends({}, style, getThumbStyle(index), thumbProps.style),
|
|
644
643
|
children: /*#__PURE__*/_jsx(InputSlot, _extends({
|
|
645
644
|
"data-index": index,
|
|
646
645
|
"aria-label": getAriaLabel ? getAriaLabel(index) : ariaLabel,
|
package/SvgIcon/SvgIcon.js
CHANGED
|
@@ -41,7 +41,9 @@ const SvgIconRoot = styled('svg', {
|
|
|
41
41
|
width: '1em',
|
|
42
42
|
height: '1em',
|
|
43
43
|
display: 'inline-block',
|
|
44
|
-
|
|
44
|
+
// the <svg> will define the property that has `currentColor`
|
|
45
|
+
// e.g. heroicons uses fill="none" and stroke="currentColor"
|
|
46
|
+
fill: ownerState.hasSvgAsChild ? undefined : 'currentColor',
|
|
45
47
|
flexShrink: 0,
|
|
46
48
|
transition: (_theme$transitions = theme.transitions) == null ? void 0 : (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {
|
|
47
49
|
duration: (_theme$transitions2 = theme.transitions) == null ? void 0 : (_theme$transitions2$d = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2$d.shorter
|
|
@@ -77,13 +79,15 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
|
|
|
77
79
|
viewBox = '0 0 24 24'
|
|
78
80
|
} = props,
|
|
79
81
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
82
|
+
const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';
|
|
80
83
|
const ownerState = _extends({}, props, {
|
|
81
84
|
color,
|
|
82
85
|
component,
|
|
83
86
|
fontSize,
|
|
84
87
|
instanceFontSize: inProps.fontSize,
|
|
85
88
|
inheritViewBox,
|
|
86
|
-
viewBox
|
|
89
|
+
viewBox,
|
|
90
|
+
hasSvgAsChild
|
|
87
91
|
});
|
|
88
92
|
const more = {};
|
|
89
93
|
if (!inheritViewBox) {
|
|
@@ -98,9 +102,9 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
|
|
|
98
102
|
"aria-hidden": titleAccess ? undefined : true,
|
|
99
103
|
role: titleAccess ? 'img' : undefined,
|
|
100
104
|
ref: ref
|
|
101
|
-
}, more, other, {
|
|
105
|
+
}, more, other, hasSvgAsChild && children.props, {
|
|
102
106
|
ownerState: ownerState,
|
|
103
|
-
children: [children, titleAccess ? /*#__PURE__*/_jsx("title", {
|
|
107
|
+
children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx("title", {
|
|
104
108
|
children: titleAccess
|
|
105
109
|
}) : null]
|
|
106
110
|
}));
|
package/Tooltip/Tooltip.d.ts
CHANGED
|
@@ -173,10 +173,10 @@ export interface TooltipProps extends StandardProps<React.HTMLAttributes<HTMLDiv
|
|
|
173
173
|
popper?: Partial<PopperProps> & TooltipComponentsPropsOverrides;
|
|
174
174
|
transition?: TransitionProps & TooltipComponentsPropsOverrides;
|
|
175
175
|
tooltip?: React.HTMLProps<HTMLDivElement> &
|
|
176
|
-
MUIStyledCommonProps &
|
|
176
|
+
MUIStyledCommonProps<Theme> &
|
|
177
177
|
TooltipComponentsPropsOverrides;
|
|
178
178
|
arrow?: React.HTMLProps<HTMLSpanElement> &
|
|
179
|
-
MUIStyledCommonProps &
|
|
179
|
+
MUIStyledCommonProps<Theme> &
|
|
180
180
|
TooltipComponentsPropsOverrides;
|
|
181
181
|
};
|
|
182
182
|
/**
|
package/Tooltip/Tooltip.js
CHANGED
|
@@ -219,7 +219,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
219
219
|
});
|
|
220
220
|
const {
|
|
221
221
|
arrow = false,
|
|
222
|
-
children,
|
|
222
|
+
children: childrenProp,
|
|
223
223
|
components = {},
|
|
224
224
|
componentsProps = {},
|
|
225
225
|
describeChild = false,
|
|
@@ -247,6 +247,11 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
247
247
|
TransitionProps
|
|
248
248
|
} = props,
|
|
249
249
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
250
|
+
|
|
251
|
+
// to prevent runtime errors, developers will need to provide a child as a React element anyway.
|
|
252
|
+
const children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx("span", {
|
|
253
|
+
children: childrenProp
|
|
254
|
+
});
|
|
250
255
|
const theme = useTheme();
|
|
251
256
|
const isRtl = theme.direction === 'rtl';
|
|
252
257
|
const [childNode, setChildNode] = React.useState();
|
package/index.js
CHANGED
|
@@ -84,14 +84,16 @@ var TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, re
|
|
|
84
84
|
var ignoringMouseDown = React.useRef(false);
|
|
85
85
|
// We use a timer in order to only show the ripples for touch "click" like events.
|
|
86
86
|
// We don't want to display the ripple for touch scroll events.
|
|
87
|
-
var startTimer = React.useRef(
|
|
87
|
+
var startTimer = React.useRef(0);
|
|
88
88
|
|
|
89
89
|
// This is the hook called once the previous timeout is ready.
|
|
90
90
|
var startTimerCommit = React.useRef(null);
|
|
91
91
|
var container = React.useRef(null);
|
|
92
92
|
React.useEffect(function () {
|
|
93
93
|
return function () {
|
|
94
|
-
|
|
94
|
+
if (startTimer.current) {
|
|
95
|
+
clearTimeout(startTimer.current);
|
|
96
|
+
}
|
|
95
97
|
};
|
|
96
98
|
}, []);
|
|
97
99
|
var startCommit = React.useCallback(function (params) {
|
package/legacy/Modal/Modal.js
CHANGED
|
@@ -298,6 +298,14 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
|
|
|
298
298
|
* @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
|
|
299
299
|
*/
|
|
300
300
|
onClose: PropTypes.func,
|
|
301
|
+
/**
|
|
302
|
+
* A function called when a transition enters.
|
|
303
|
+
*/
|
|
304
|
+
onTransitionEnter: PropTypes.func,
|
|
305
|
+
/**
|
|
306
|
+
* A function called when a transition has exited.
|
|
307
|
+
*/
|
|
308
|
+
onTransitionExited: PropTypes.func,
|
|
301
309
|
/**
|
|
302
310
|
* If `true`, the component is shown.
|
|
303
311
|
*/
|
|
@@ -135,7 +135,7 @@ var OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inProps
|
|
|
135
135
|
var fcs = formControlState({
|
|
136
136
|
props: props,
|
|
137
137
|
muiFormControl: muiFormControl,
|
|
138
|
-
states: ['required']
|
|
138
|
+
states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required']
|
|
139
139
|
});
|
|
140
140
|
var ownerState = _extends({}, props, {
|
|
141
141
|
color: fcs.color || 'primary',
|
package/legacy/Slider/Slider.js
CHANGED
|
@@ -529,7 +529,8 @@ var Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
529
529
|
marks = _useSlider.marks,
|
|
530
530
|
values = _useSlider.values,
|
|
531
531
|
trackOffset = _useSlider.trackOffset,
|
|
532
|
-
trackLeap = _useSlider.trackLeap
|
|
532
|
+
trackLeap = _useSlider.trackLeap,
|
|
533
|
+
getThumbStyle = _useSlider.getThumbStyle;
|
|
533
534
|
ownerState.marked = marks.length > 0 && marks.some(function (mark) {
|
|
534
535
|
return mark.label;
|
|
535
536
|
});
|
|
@@ -661,9 +662,7 @@ var Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
661
662
|
"data-index": index
|
|
662
663
|
}, thumbProps, {
|
|
663
664
|
className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),
|
|
664
|
-
style: _extends({}, style,
|
|
665
|
-
pointerEvents: disableSwap && active !== index ? 'none' : undefined
|
|
666
|
-
}, thumbProps.style),
|
|
665
|
+
style: _extends({}, style, getThumbStyle(index), thumbProps.style),
|
|
667
666
|
children: /*#__PURE__*/_jsx(InputSlot, _extends({
|
|
668
667
|
"data-index": index,
|
|
669
668
|
"aria-label": getAriaLabel ? getAriaLabel(index) : ariaLabel,
|
|
@@ -35,7 +35,9 @@ var SvgIconRoot = styled('svg', {
|
|
|
35
35
|
width: '1em',
|
|
36
36
|
height: '1em',
|
|
37
37
|
display: 'inline-block',
|
|
38
|
-
|
|
38
|
+
// the <svg> will define the property that has `currentColor`
|
|
39
|
+
// e.g. heroicons uses fill="none" and stroke="currentColor"
|
|
40
|
+
fill: ownerState.hasSvgAsChild ? undefined : 'currentColor',
|
|
39
41
|
flexShrink: 0,
|
|
40
42
|
transition: (_theme$transitions = theme.transitions) == null ? void 0 : (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {
|
|
41
43
|
duration: (_theme$transitions2 = theme.transitions) == null ? void 0 : (_theme$transitions2$d = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2$d.shorter
|
|
@@ -74,13 +76,15 @@ var SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
|
|
|
74
76
|
_props$viewBox = props.viewBox,
|
|
75
77
|
viewBox = _props$viewBox === void 0 ? '0 0 24 24' : _props$viewBox,
|
|
76
78
|
other = _objectWithoutProperties(props, ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"]);
|
|
79
|
+
var hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';
|
|
77
80
|
var ownerState = _extends({}, props, {
|
|
78
81
|
color: color,
|
|
79
82
|
component: component,
|
|
80
83
|
fontSize: fontSize,
|
|
81
84
|
instanceFontSize: inProps.fontSize,
|
|
82
85
|
inheritViewBox: inheritViewBox,
|
|
83
|
-
viewBox: viewBox
|
|
86
|
+
viewBox: viewBox,
|
|
87
|
+
hasSvgAsChild: hasSvgAsChild
|
|
84
88
|
});
|
|
85
89
|
var more = {};
|
|
86
90
|
if (!inheritViewBox) {
|
|
@@ -95,9 +99,9 @@ var SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
|
|
|
95
99
|
"aria-hidden": titleAccess ? undefined : true,
|
|
96
100
|
role: titleAccess ? 'img' : undefined,
|
|
97
101
|
ref: ref
|
|
98
|
-
}, more, other, {
|
|
102
|
+
}, more, other, hasSvgAsChild && children.props, {
|
|
99
103
|
ownerState: ownerState,
|
|
100
|
-
children: [children, titleAccess ? /*#__PURE__*/_jsx("title", {
|
|
104
|
+
children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx("title", {
|
|
101
105
|
children: titleAccess
|
|
102
106
|
}) : null]
|
|
103
107
|
}));
|
|
@@ -211,7 +211,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
211
211
|
});
|
|
212
212
|
var _props$arrow = props.arrow,
|
|
213
213
|
arrow = _props$arrow === void 0 ? false : _props$arrow,
|
|
214
|
-
|
|
214
|
+
childrenProp = props.children,
|
|
215
215
|
classesProp = props.classes,
|
|
216
216
|
_props$components = props.components,
|
|
217
217
|
components = _props$components === void 0 ? {} : _props$components,
|
|
@@ -256,7 +256,10 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
256
256
|
_props$TransitionComp = props.TransitionComponent,
|
|
257
257
|
TransitionComponentProp = _props$TransitionComp === void 0 ? Grow : _props$TransitionComp,
|
|
258
258
|
TransitionProps = props.TransitionProps,
|
|
259
|
-
other = _objectWithoutProperties(props, ["arrow", "children", "classes", "components", "componentsProps", "describeChild", "disableFocusListener", "disableHoverListener", "disableInteractive", "disableTouchListener", "enterDelay", "enterNextDelay", "enterTouchDelay", "followCursor", "id", "leaveDelay", "leaveTouchDelay", "onClose", "onOpen", "open", "placement", "PopperComponent", "PopperProps", "slotProps", "slots", "title", "TransitionComponent", "TransitionProps"]);
|
|
259
|
+
other = _objectWithoutProperties(props, ["arrow", "children", "classes", "components", "componentsProps", "describeChild", "disableFocusListener", "disableHoverListener", "disableInteractive", "disableTouchListener", "enterDelay", "enterNextDelay", "enterTouchDelay", "followCursor", "id", "leaveDelay", "leaveTouchDelay", "onClose", "onOpen", "open", "placement", "PopperComponent", "PopperProps", "slotProps", "slots", "title", "TransitionComponent", "TransitionProps"]); // to prevent runtime errors, developers will need to provide a child as a React element anyway.
|
|
260
|
+
var children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx("span", {
|
|
261
|
+
children: childrenProp
|
|
262
|
+
});
|
|
260
263
|
var theme = useTheme();
|
|
261
264
|
var isRtl = theme.direction === 'rtl';
|
|
262
265
|
var _React$useState = React.useState(),
|
package/legacy/index.js
CHANGED
|
@@ -149,14 +149,16 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
|
|
|
149
149
|
const ignoringMouseDown = React.useRef(false);
|
|
150
150
|
// We use a timer in order to only show the ripples for touch "click" like events.
|
|
151
151
|
// We don't want to display the ripple for touch scroll events.
|
|
152
|
-
const startTimer = React.useRef(
|
|
152
|
+
const startTimer = React.useRef(0);
|
|
153
153
|
|
|
154
154
|
// This is the hook called once the previous timeout is ready.
|
|
155
155
|
const startTimerCommit = React.useRef(null);
|
|
156
156
|
const container = React.useRef(null);
|
|
157
157
|
React.useEffect(() => {
|
|
158
158
|
return () => {
|
|
159
|
-
|
|
159
|
+
if (startTimer.current) {
|
|
160
|
+
clearTimeout(startTimer.current);
|
|
161
|
+
}
|
|
160
162
|
};
|
|
161
163
|
}, []);
|
|
162
164
|
const startCommit = React.useCallback(params => {
|
package/modern/Modal/Modal.js
CHANGED
|
@@ -280,6 +280,14 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
|
|
|
280
280
|
* @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
|
|
281
281
|
*/
|
|
282
282
|
onClose: PropTypes.func,
|
|
283
|
+
/**
|
|
284
|
+
* A function called when a transition enters.
|
|
285
|
+
*/
|
|
286
|
+
onTransitionEnter: PropTypes.func,
|
|
287
|
+
/**
|
|
288
|
+
* A function called when a transition has exited.
|
|
289
|
+
*/
|
|
290
|
+
onTransitionExited: PropTypes.func,
|
|
283
291
|
/**
|
|
284
292
|
* If `true`, the component is shown.
|
|
285
293
|
*/
|
|
@@ -138,7 +138,7 @@ const OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inPro
|
|
|
138
138
|
const fcs = formControlState({
|
|
139
139
|
props,
|
|
140
140
|
muiFormControl,
|
|
141
|
-
states: ['required']
|
|
141
|
+
states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required']
|
|
142
142
|
});
|
|
143
143
|
const ownerState = _extends({}, props, {
|
|
144
144
|
color: fcs.color || 'primary',
|
package/modern/Slider/Slider.js
CHANGED
|
@@ -506,7 +506,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
506
506
|
marks,
|
|
507
507
|
values,
|
|
508
508
|
trackOffset,
|
|
509
|
-
trackLeap
|
|
509
|
+
trackLeap,
|
|
510
|
+
getThumbStyle
|
|
510
511
|
} = useSlider(_extends({}, ownerState, {
|
|
511
512
|
rootRef: ref
|
|
512
513
|
}));
|
|
@@ -637,9 +638,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
637
638
|
"data-index": index
|
|
638
639
|
}, thumbProps, {
|
|
639
640
|
className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),
|
|
640
|
-
style: _extends({}, style,
|
|
641
|
-
pointerEvents: disableSwap && active !== index ? 'none' : undefined
|
|
642
|
-
}, thumbProps.style),
|
|
641
|
+
style: _extends({}, style, getThumbStyle(index), thumbProps.style),
|
|
643
642
|
children: /*#__PURE__*/_jsx(InputSlot, _extends({
|
|
644
643
|
"data-index": index,
|
|
645
644
|
"aria-label": getAriaLabel ? getAriaLabel(index) : ariaLabel,
|