A recent change introduced in pull request 20833 is failing on certain ids.
This pull request makes naive use of querySelector() (simply prepending "#" to the id name verbatim).
Because querySelector() uses CSS selectors, and because CSS selectors have slightly different rules to HTML element ids, this is causing ids with certain symbols to fail.
In the worst case, material ui crashes entirely. In other cases, it just causes the functionality itself to fail.
This code should be able to handle symbols in ids, as they are valid in html ids, and as worked in previous versions.
For example, is there any reason for using querySelector() over getElementById(), considering what the code has is an id and what it wants to get is an element?
If there's some reason for using querySelector(), it should sanitize the input it passes by escaping any special characters.
I've created three examples on codesandbox:
<Select> and <InputLabel> with a failing labelId.<TextField>.All of these examples should work as-is in the previous version.
Steps:
<TextField> with a special character in its id property.OR
<Select> with a special character in its labelId property.We currently use some of these special characters in auto-generated ids.
It happens with @material-ui/core 4.9.14. It did not happen prior to this version.
Oh wow, it's good to know :)
There will be a 4.19.5 with this bugfix?
@gpietro Yes, this weekend.
@oliviertassinari I think it's better to rename the issue ( to include 'querySelector' )
it will make it easier to find in the search results, and avoiding duplication

Thanks for fixing it! now it works on "@material-ui/core": "4.10.0",
Most helpful comment
@gpietro Yes, this weekend.