UNPKG

@material-ui/core

Version:

React components that implement Google's Material Design.

1,175 lines (925 loc) โ€ข 600 kB
### [Versions](https://material-ui.com/versions/) ## 5.0.0-alpha.6 ###### _Aug 13, 2020_ Big thanks to the 26 contributors who made this release possible. Here are some highlights โœจ: - ๐Ÿ’… Introduce a new dynamic variant API (#21648) @mnajdova. This API allows developers to add new variants on the Material-UI's components right from the theme, without having to wrap the components. For instance with the Button: ```tsx // Define the style that should be applied, for specific props. const theme = createMuiTheme({ variants: { MuiButton: [ { props: { variant: 'dashed', color: 'secondary' }, styles: { border: `4px dashed ${red[500]}`, }, }, ], }, }); // Retain type safety. declare module '@material-ui/core/Button/Button' { interface ButtonPropsVariantOverrides { dashed: true; } } // Enjoy! <Button variant="dashed" /> ``` More details in [the documentation](https://material-ui.com/customization/components/#adding-new-component-variants) and [RFC](#21749). - ๐Ÿ‘ฎ Add documentation for the [TrapFocus](https://next.material-ui.com/components/trap-focus/) component (#22062) @oliviertassinari. - โš›๏ธ Prepare support for React v17 (#22093, #22105, #22143, #22111) @eps1lon. - ๐Ÿšง We have undertaken breaking changes. ### `@material-ui/core@v5.0.0-alpha.6` ### Breaking changes - [Avatar] Rename variant circle -> circular for consistency (#22015) @kodai3 Rename `circle` to `circular` for consistency. The possible values should be adjectives, not nouns: ```diff -<Avatar variant="circle"> +<Avatar variant="circular"> ``` - [Badge] Rename overlap circle -> circular and rectangle -> rectangular for consistency (#22050) @kodai3 Rename `circle` to `circular` and `rectangle` to `rectangular` for consistency. The possible values should be adjectives, not nouns: ```diff -<Badge overlap="circle"> -<Badge overlap="rectangle"> +<Badge overlap="circular"> +<Badge overlap="rectangular"> ``` - [CircularProgress] Remove static variant, simplify determinate (#22060) @mbrookes The `static` variant has been merged into the `determinate` variant, with the latter assuming the appearance of the former. The removed variant was rarely useful. It was an exception to Material Design, and was removed from the specification. ```diff -<CircularProgress variant="determinate" /> ``` ```diff -<CircularProgress variant="static" classes={{ static: 'className' }} /> +<CircularProgress variant="determinate" classes={{ determinate: 'className' }} /> ``` - [Dialog] Remove transition onX props (#22113) @mbrookes The onE\* transition props were removed. Use TransitionProps instead. ```diff <Dialog - onEnter={onEnter} - onEntered={onEntered}, - onEntering={onEntered}, - onExit={onEntered}, - onExited={onEntered}, - onExiting={onEntered} + TransitionProps={{ + onEnter, + onEntered, + onEntering, + onExit, + onExited, + onExiting, + }} /> ``` - [Fab] Rename round -> circular for consistency (#21903) @kodai3 Rename `round` to `circular` for consistency. The possible values should be adjectives, not nouns: ```diff -<Fab variant="round"> +<Fab variant="circular"> ``` - [List] Improve hover/select/focus UI display (#21930) @joshwooding - [Pagination] Rename round -> circular for consistency (#22009) @kodai3 Rename `round` to `circular` for consistency. The possible values should be adjectives, not nouns: ```diff -<Pagination shape="round"> -<PaginationItem shape="round"> +<Pagination shape="circular"> +<PaginationItem shape="circular"> ``` - [RootRef] Remove component (#21974) @eps1lon This component was removed. You can get a reference to the underlying DOM node of our components via `ref` prop. The component relied on [`ReactDOM.findDOMNode`](https://reactjs.org/docs/react-dom.html#finddomnode) which is [deprecated in `React.StrictMode`](https://reactjs.org/docs/strict-mode.html#warning-about-deprecated-finddomnode-usage). ```diff -<RootRef rootRef={ref}> - <Button /> -</RootRef> +<Button ref={ref} /> ``` - [Snackbar] Change the default position on desktop (#21980) @kodai3 The notification now displays at the bottom left on large screens. It better matches the behavior of Gmail, Google Keep, material.io, etc. You can restore the previous behavior with: ```diff -<Snackbar /> +<Snackbar anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }} /> ``` - [Snackbar] Remove transition onX props (#22107) @mbrookes The onE\* transition props were removed. Use TransitionProps instead. ```diff <Snackbar - onEnter={onEnter} - onEntered={onEntered}, - onEntering={onEntered}, - onExit={onEntered}, - onExited={onEntered}, - onExiting={onEntered} + TransitionProps={{ + onEnter, + onEntered, + onEntering, + onExit, + onExited, + onExiting, + }} /> ``` - [TextareaAutosize] Rename rowsMax->maxRows & rowsMin->minRows (#21873) @mhayk Rename `rowsMin`/`rowsMax` prop with `mi Rows`/`maxRows` for consistency with HTML attributes. ```diff -<TextField rowsMax={6}> -<TextareAutosize rowsMin={1}> -<TextareAutosize rowsMax={6}> +<TextField maxRows={6}> +<TextareAutosize minRows={1}> +<TextareAutosize maxRows={6}> ``` - [TextField] Better isolate static textarea behavior to dynamic one (#21995) @AxartInc Better isolate the fixed textarea height behavior to the dynamic one. You need to use the `rowsMin` prop in the following case: ```diff -<TextField rows={2} rowsMax={5} /> +<TextField rowsMin={2} rowsMax={5} /> ``` Remove the `rows` prop, use the `rowsMin` prop instead. This change aims to clarify the behavior of the prop. ```diff -<TextareaAutosize rows={2} /> +<TextareaAutosize rowsMin={2} /> ``` - [theme] Remove theme.mixins.gutters (#22109) @joshwooding The abstraction hasn't proven to be used frequently enough to be valuable. ```diff -theme.mixins.gutters(), +paddingLeft: theme.spacing(2), +paddingRight: theme.spacing(2), +[theme.breakpoints.up('sm')]: { + paddingLeft: theme.spacing(3), + paddingRight: theme.spacing(3), +}, ``` ### Changes - [Avatar] Custom variant (#22139) @mnajdova - [Badge] Add missing class key (#22095) @kodai3 - [Badge] Custom variant (#22140) @mnajdova - [Button] Improved variant type names & cleanup tests (#22010) @mnajdova - [ButtonBase] Forward type to other components than 'button' (#22172) @eps1lon - [ButtonGroup] Custom variant (#22160) @mnajdova - [Chip] Custom variant (#22161) @mnajdova - [CssBaseline] Add text size adjust property (#22089) @Tolsee - [l10n] Add Greek (el-GR) locale (#21988) @tmanolat - [Table] Cell small's right padding is bigger than medium (#22017) @adamlaurencik - [TrapFocus] Add documentation (#22062) @oliviertassinari - [Typography] Add custom variants support (#22006) @mnajdova - [useIsFocusVisible] Remove focus-visible if focus is re-targetted (#22102) @eps1lon - [core] Fix various potential issues with multiple windows (#22159) @scottander - [core] Improve hook dependencies in useControlled.js (#21977) @roth1002 ### `@material-ui/lab@v5.0.0-alpha.6` ### Breaking changes - [Skeleton] Rename variant circle -> circular and rect -> rectangular for consistency (#22053) @kodai3 Rename `circle` to `circular` and `rect` to `rectangular` for consistency. The possible values should be adjectives, not nouns: ```diff -<Skeleton variant="circle"> -<Skeleton variant="rect"> +<Skeleton variant="circular"> +<Skeleton variant="rectangular"> ``` ### Changes - [Autocomplete] Add support for "{label: string}" data type as a default for "options" (#21992) @DanailH - [TreeView] Add disabled prop (#20133) @netochaves - [TreeView] Simplify focus logic (#22098) @eps1lon - [TreeView] Test current behavior of active item removal (#21720) @eps1lon - [TreeView] Test selection behavior (#21901) @joshwooding ### `@material-ui/system@v5.0.0-alpha.6` - [core] Bump csstype to 3.0.0 (#22048) @eps1lon ### Docs - [docs] Add 'size' prop to ToggleButton API docs (#22052) @zenje - [docs] Add ClassKeys migration description for Renaming API (#22061) @kodai3 - [docs] Add a label to the TreeView demos (#21900) @joshwooding - [docs] Add missing JSDOC for various props (#22005) @eps1lon - [docs] Add the services that support MUI in readme (#22137) @naineet - [docs] Add trailingSlash: true (#22008) @oliviertassinari - [docs] Add visibility to TypeScript examples (#22013) @esemeniuc - [docs] Avoid using any type in Tabs examples (#22091) @tacigar - [docs] Bump next to 9.5.0 (#21975) @eps1lon - [docs] Disallow undefined array members at runtime where they're unexpected (#21990) @eps1lon - [docs] Improve Autocomplete GitHub demo (#22153) @aquibbaig - [docs] Improve draggable dialog demo wording (#22021) @Sanskar95 - [docs] Improve transition props API descriptions (#21952) @maksimgm - [docs] Port buildApi to TypeScript (#22055) @eps1lon - [docs] Update build instructions for component API (#21970) @eps1lon - [docs] Update grouped instruction of autocomplete (#22056) @yfng96 - [docs] Use `import * as React from 'react';` (#22058) @mbrookes - [docs] Use pickers v4 (#22023) @eps1lon ### Core - [core] Allow running prettier from material-ui-x (#22071) @oliviertassinari - [core] Bump csstype to 3.0.0 (#22048) @eps1lon - [core] Fix next and prevent future regressions (#22135) @eps1lon - [core] Improve merge-conflict label automation (#22065) @eps1lon - [core] Lint cleanup (#21972) @eps1lon - [core] Resolve all dot-prop versions to 5.x (#22007) @eps1lon - [core] Small changes (#22020) @oliviertassinari - [Security] Bump elliptic from 6.5.0 to 6.5.3 (#21997) @dependabot-preview - [test] Drop css-loader (#21999) @eps1lon - [test] Lint framer workspace (#22002) @eps1lon - [test] Lint useThemeVariants with custom rules plugin (#21963) @eps1lon - [test] Run same tests in coverage and unit (#22092) @eps1lon - [test] Type-check framerx package (#21868) @eps1lon - [test] Work on React v17 (#22093, #22105, #22143, #22111) @eps1lon ## 5.0.0-alpha.5 ###### _July 28, 2020_ Big thanks to the 18 contributors who made this release possible. ### `@material-ui/core@v5.0.0-alpha.5` - [Accordion] Add new classes key (#21920) @natac13 - [Accordion] Fix IconButtonProps spreading logic (#21850) @kgregory - [Avatar] Fix group size (#21896) @natac13 - [Button] Custom variant (#21648) @mnajdova - [CssBaseline] Export ScopedCssBaseline from barrel index (#21869) @mherczeg - [Dialog] Fix body scrollbar close behavior (#21951) @maksimgm - [Grid] Rename justify prop to justifyContent (#21845) @mnajdova - [Icon] Hide name placeholder while "Material Icons" font is loading (#21950) @maksimgm - [Select] Ensure that onChange is called before onClose (#21878) @DanailH - [Slider] Make `index` public in the ValueLabel props (#21932) @govardhan-srinivas ### `@material-ui/lab@v5.0.0-alpha.5` - [TreeView] Change focus management to aria-activedescendant (#21695) @joshwooding - [TreeView] Fix crash when shift clicking a clean tree (#21899) @joshwooding ### Framer - [framer] Refactor as switch (#21885) @mhkasif - [framer] Update with latest sources (#21888) @eps1lon ### Docs - [blog] Q2 2020 Update (#21822) @oliviertassinari - [docs] Add expand all and select all to controlled tree demo (#21929) @joshwooding - [docs] Add useRadioGroup section (#21910) @kodai3 - [docs] Autocomplete is not showing options even though they exist (#21949) @maksimgm - [docs] Change the destination branch for PRs (#21870) @DanailH - [docs] Fix Skeleton inline example (#21918) @ppecheux - [docs] Fix custom Snackbar width on mobile (#21948) @ruhci28 - [docs] Fix the type of the second argument of 'createMuiTheme' function (#21859) @DanailH - [docs] Improve ad display @oliviertassinari - [docs] Improve documentation of theme.breakpoints (#21922) @ruhci28 - [docs] Link react-hook-form (#21886) @jeffshek - [docs] Mention @MuiContrib in CONTRIBUTING (#21891) @eps1lon - [docs] Replace latests tags with next in the codesandbox (#21851) @mnajdova - [docs] Update gold sponsor to Text-Em-All (formerly Call-Em-All) (#21897) @jonmiller0 - [docs] Update testing guide (#21863) @eps1lon ### Core - [test] Enable more StrictMode tests (#21817) @eps1lon - [test] Lint internal typescript-to-proptypes fork (#21876) @eps1lon - [test] Pass didWarnControlledToUncontrolled between tests (#21875) @eps1lon - [test] Unify import to `test/utils (#21856) @eps1lon - [core] Add warnings where ref-forwarding components/elements are required (#21883) @eps1lon - [core] Automatically tweet about good first issues (#21879) @eps1lon - [core] Batch small changes (#21928) @oliviertassinari - [core] Remove /test-utils (#21855) @eps1lon - [core] Throw on unused `typescript-to-proptypes-ignore` directives (#21867) @eps1lon ## 5.0.0-alpha.4 ###### _July 19, 2020_ Big thanks to the 11 contributors who made this release possible. ### `@material-ui/core@v5.0.0-alpha.4` #### Breaking changes - [core] Drop support for non-ref-forwarding class components (#21811) @eps1lon Support for non-ref-forwarding class components in the `component` prop or as an immediate `children` has been dropped. If you were using `unstable_createStrictModeTheme` or didn't see any warnings related to `findDOMNode` in `React.StrictMode` then you don't need to do anything. Otherwise check out the ["Caveat with refs" section in our composition guide](/guides/composition/#caveat-with-refs) to find out how to migrate. This change affects almost all components where you're using the `component` prop or passing `children` to components that require `children` to be elements (e.g. `<MenuList><CustomMenuItem /></MenuList>`) - [Stepper] Use context API (#21613) @baterson Rely on the context over the `React.cloneElement()` API. This change makes composition easier. ### `@material-ui/icons@v5.0.0-alpha.4` - [icons] Add Google brand icon (#21807) @bmg02 ### Docs - [docs] Break up Select demos (#21792) @cjoecker - [docs] Change RMUIF info to new version (#21812) @phoqe - [docs] Fix Spanish translation (#21800) @adamsr123 - [docs] Fix nav color (#21780) @mbrookes - [docs] Update advanced-de.md (#21786) @jasonericdavis ### Core - [core] Allow dist tag as argv in use-react-dist-tag (#21810) @eps1lon - [core] Drop support for non-ref-forwarding class components (#21811) @eps1lon - [core] Lint with typescript-eslint parser (#21758) @oliviertassinari - [core] One label is enough @oliviertassinari - [core] Remove lint:fix command @oliviertassinari - [test] Enable "missing act()"-warnings (#21802) @eps1lon - [test] Improve stack trace for unexpected errors (#21818) @eps1lon - [test] Update react next patch (#21746) @eps1lon - [test] Use testing-library in withStyles (#21804) @eps1lon ## 5.0.0-alpha.3 ###### _July 12, 2020_ Big thanks to the 14 contributors who made this release possible. ### `@material-ui/core@v5.0.0-alpha.3` - [Avatar] Avoid usage of z-index (#21685) @nvdai2401 - [GridList] Fix crash when loading images (#21741) @paradoxxxzero - [List] Fix secondary action position when disableGutters={true} (#21732) @kgregory - [TablePagination] Fix broken labelling if SelectProps provided ids (#21703) @eps1lon - [theme] Fix custom breakpoint in CSS Media Queries (#21759) @nkrivous - [TrapFocus] Fix disableAutoFocus prop (#21612) @oliviertassinari ### `@material-ui/lab@v5.0.0-alpha.3` - [lab] Fix TypeScript theme overrides support (#21724) @cjoecker - [Autocomplete] Fail form validation if required is filled when `multiple` (#21692, #21670) @weslenng, @eps1lon ### Docs - [examples] Include troubleshooting for next.js (#21683) @ocavue - [docs] Add ethicalads.io (#21752) @oliviertassinari - [docs] Apply small fixes (#21754) @jaironalves - [docs] Batch small changes (#21669) @oliviertassinari - [docs] Bump next to 9.4.4 (#21690) @eps1lon - [docs] Fix custom switch ripple color (#21729) @xanderoku - [docs] Fix text from showcase (#21755) @cjoecker - [docs] Improve customized timeline demo (#21739) @mageprincess - [docs] Move more prop docs into IntelliSense (#21659) @eps1lon - [docs] Move more prop docs into IntelliSense (#21687) @eps1lon - [docs] Recommend default branch (#21719) @eps1lon - [docs] Remove `@document` directive from IntelliSense (#21688) @eps1lon - [docs] Track web-vitals (#21702) @eps1lon ### Core - [test] Allow container + hydrate in render (#21747) @eps1lon - [test] Bump url-loader (#21689) @eps1lon - [test] Restore clock between each test (#21760) @eps1lon - [test] Run lab unit tests in browser (#21691) @eps1lon - [core] Allow generating markdown api docs for subset of components (#21731) @eps1lon - [core] Batch small changes (#21756) @oliviertassinari - [core] Don't bail out early if docs:api fails (#21726) @eps1lon - [core] Remove dead code from docs:api (#21730) @eps1lon - [core] Simplify debounce (#21666) @NMinhNguyen - [core] Use common yarn version (#21779) @eps1lon ## 5.0.0-alpha.2 ###### _July 4, 2020_ Big thanks to the 16 contributors who made this release possible. ### `@material-ui/core@v5.0.0-alpha.2` #### Breaking changes - [Button] Make primary the default color (#21594) @mbrookes The button `color` prop is now "primary" by default, and "default" has been removed. This makes the button closer to the Material Design specification and simplifies the API. ```diff -<Button color="default" /> -<Button color="primary" /> +<Button /> +<Button /> ``` - [ExpansionPanel] Remove component (#21630) @mnajdova This completes our effort on renaming the ExpansionPanel component Accordion - [Collapse] Add orientation and horizontal support (#20619) @darkowic The `collapsedHeight` prop was renamed `collapsedSize` to support the horizontal direction. ```diff -<Collapse collapsedHeight={40}> +<Collapse collapsedSize={40}> ``` #### Changes - [Card] Fix vertically center header action (#21646) @kgregory - [l10n] Update cs-CZ and sk-SK locales (#21656) @char0n - [l10n] Update sv-SE locale (#21631) @tbz - [Menu] Remove overflow style in MenuItem (#21644) @tj3407 - [MenuItem] Add types for ListItemClasses (#21654) @eps1lon - [Slider] Fix cannot read property โ€˜focusโ€™ of nulll (#21653) @mageprincess - [TextField] Fix CSS isolation issue (#21665) @Codetalker777 - [TrapFocus] Fix portal support (#21610) @mnajdova - [TypeScript] Fix version support (#21640) @jakubfiglak ### `@material-ui/lab@v5.0.0-alpha.2` - [TreeView] Improve node registration and fix other issues (#21574) @joshwooding ### Docs - [blog] Post survey results 2020 (#21555) @mnajdova - [docs] Add new showcase (#21637) @cjoecker - [docs] CodeFund is shutting down (#21632) @oliviertassinari - [docs] Document next version (#21591) @oliviertassinari - [docs] Enable docs search on v5.0.0 & fix duplicate on master @oliviertassinari - [docs] Fix ad issues @oliviertassinari - [docs] Move more prop docs into IntelliSense (#21655) @eps1lon - [docs] Remove in-context translation code & files (#21633) @mbrookes - [example] Remove dead dependency from next-typescript (#21628) @StefanWerW ### Core - [test] Add toWarnDev() and toErrorDev() matcher (#21581) @eps1lon ## 5.0.0-alpha.1 ###### _June 27, 2020_ Big thanks to the 33 contributors who made this release possible. Here are some highlights โœจ: - ๐Ÿ”„ Introduce a new `LoadingButton` component in the lab (#21389) @mnajdova. - ๐Ÿ“ Synchronize icons with Google, add 200 new icons (#21498) @alecananian - ๐Ÿ’ฅ Start working on breaking changes. ### `@material-ui/core@v5.0.0-alpha.1` #### Breaking changes - [Divider] Use border instead of background color (#18965) @mikejav. It prevents inconsistent height on scaled screens. For people customizing the color of the border, the change requires changing the override CSS property: ```diff .MuiDivider-root { - background-color: #f00; + border-color: #f00; } ``` - [Rating] Rename `visuallyhidden` to `visuallyHidden` for consistency (#21413) @mnajdova. ```diff <Rating classes={{ - visuallyhidden: 'custom-visually-hidden-classname', + visuallyHidden: 'custom-visually-hidden-classname', }} /> ``` - [Typography] Replace the `srOnly` prop so as to not duplicate the capabilities of [System](https://material-ui.com/system/basics/) (#21413) @mnajdova. ```diff -import Typography from '@material-ui/core/Typography'; +import { visuallyHidden } from '@material-ui/system'; +import styled from 'styled-component'; +const Span = styled('span')(visuallyHidden); -<Typography variant="srOnly">Create a user</Typography> +<Span>Create a user</Span> ``` - [TablePagination] Add showFirstButton and showLastButton support (#20750) @ShahAnuj2610. The customization of the table pagination's actions labels must be done with the `getItemAriaLabel` prop. This increases consistency with the `Pagination` component. ```diff <TablePagination - backIconButtonText="Avant" - nextIconButtonText="Aprรจs + getItemAriaLabel={โ€ฆ} ``` - [ExpansionPanel] Rename to Accordion (#21494) @mnajdova. Use a more common the naming convention: ```diff -import ExpansionPanel from '@material-ui/core/ExpansionPanel'; -import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary'; -import ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails'; -import ExpansionPanelActions from '@material-ui/core/ExpansionPanelActions'; +import Accordion from '@material-ui/core/Accordion'; +import AccordionSummary from '@material-ui/core/AccordionSummary'; +import AccordionDetails from '@material-ui/core/AccordionDetails'; +import AccordionActions from '@material-ui/core/AccordionActions'; -<ExpansionPanel> +<Accordion> - <ExpansionPanelSummary> + <AccordionSummary> <Typography>Location</Typography> <Typography>Select trip destination</Typography> - </ExpansionPanelSummary> + </AccordionSummary> - <ExpansionPanelDetails> + <AccordionDetails> <Chip label="Barbados" onDelete={() => {}} /> <Typography variant="caption">Select your destination of choice</Typography> - </ExpansionPanelDetails> + </AccordionDetails> <Divider /> - <ExpansionPanelActions> + <AccordionActions> <Button size="small">Cancel</Button> <Button size="small" color="primary">Save</Button> - </ExpansionPanelActions> + </AccordionActions> -</ExpansionPanel> +</Accordion> ``` - [BottomNavigation] typescript: The `event` in `onChange` is no longer typed as a `React.ChangeEvent` but `React.SyntheticEvent`. ```diff -<BottomNavigation onChange={(event: React.ChangeEvent<{}>) => {}} /> +<BottomNavigation onChange={(event: React.SyntheticEvent) => {}} /> ``` - [Slider] typescript: The `event` in `onChange` is no longer typed as a `React.ChangeEvent` but `React.SyntheticEvent`. ```diff -<Slider onChange={(event: React.ChangeEvent<{}>, value: unknown) => {}} /> +<Slider onChange={(event: React.SyntheticEvent, value: unknown) => {}} /> ``` - [Tabs] typescript: The `event` in `onChange` is no longer typed as a `React.ChangeEvent` but `React.SyntheticEvent`. ```diff -<Tabs onChange={(event: React.ChangeEvent<{}>, value: unknown) => {}} /> +<Tabs onChange={(event: React.SyntheticEvent, value: unknown) => {}} /> ``` - [Accordion] typescript: The `event` in `onChange` is no longer typed as a `React.ChangeEvent` but `React.SyntheticEvent`. ```diff -<Accordion onChange={(event: React.ChangeEvent<{}>, expanded: boolean) => {}} /> +<Accordion onChange={(event: React.SyntheticEvent, expanded: boolean) => {}} /> ``` #### Changes - [Badge] Fix transition flicker (#21557) @mnajdova - [ButtonGroup] Improve contained hover style (#21532) @alecananian - [l10n] Improve Russian translation (#21480) @AntonLukichev - [l10n] Improve zh-CN, add zh-TW (#21493) @Jack-Works - [LinearProgress] High frequency updates (#21416) @dnicerio - [Stepper] Fix optional label alignment (#21420) @curtislin7 - [Table] Move prop docs into IntelliSense (#21530) @oliviertassinari - [TablePagination] Add showFirstButton and showLastButton support (#20750) @ShahAnuj2610 - [Tabs] Fix useCallback missing arguments (#21471) @KitsonBroadhurst - [TextField] Fix FilledInput disable hover style when disabled (#21457) @tchmnn ### `@material-ui/lab@v5.0.0-alpha.1` - [Autocomplete] Fix support for renderTags={() => null} (#21460) @matthenschke - [LoadingButton] Introduce new component (#21389) @mnajdova - [Pagination] Fix display when boundaryCount={0} (#21446) @guimacrf - [Skeleton] Fix text border (#21543) @el1f - [Timeline] Align dots with content (#21402) @mnajdova - [TreeView] Minor styling changes (#21573) @joshwooding - [TreeView] Simplify customization (#21514) @joshwooding ### `@material-ui/icons@v5.0.0-alpha.1` - [icons] Synchronize icons with Google (#21498) @alecananian ### `@material-ui/system@v5.0.0-alpha.1` - [system] Introduce visuallyHidden style utility (#21413) @mnajdova ### Docs - [docs] Add CSP support section to docs (#21479) @razor-x - [docs] Add explicit example for extending existing palette colors (#21458) @BennyHinrichs - [docs] Add more details about breakpoint widths (#21545) @Muzietto - [docs] Add new gold sponsor @oliviertassinari - [docs] Add transitions customization page (#21456) @mnajdova - [docs] Correct syntax errors to improve document readability (#21515) @AGDholo - [docs] Document type="number" limitation (#21500) @IwalkAlone - [docs] Entry for translations and fix grammar error (#21478) @jaironalves - [docs] Fix broken "customization" anchor link (#21506) @connorads - [docs] Fix typo in MultipleSelects.js (#21510) @ShiyuCheng2018 - [docs] Fix typo in SpeedDialIcon classes comment (#21398) @zachbradshaw - [docs] Fix typo in TextField required prop (#21538) @HumbertoL - [docs] Fix version in localized urls (#21442) @tchmnn - [docs] Format english markdown files (#21463) @eps1lon - [docs] Format some previously unformatted, untranslated files (#21558) @eps1lon - [docs] Hide duplicate table borders (#20809) @marcosvega91 - [docs] Improve docs for useMediaQuery and breakpoint (#21512) @DDDDDanica - [docs] Improve npm homepage links (#21452) @eps1lon - [docs] Move more prop docs into IntelliSense (#21383) @eps1lon - [docs] Restrict docs markdown and demos to 80ch (#21481) @eps1lon - [docs] Reword palette intention and fix format (#21477) @DDDDDanica - [docs] Update v4 migration guide (#21462) @eps1lon ### Core - [typescript-to-proptypes] Integrate into monorepo @eps1lon - [test] Add type test CardHeader title component (#21590) @eps1lon - [test] Fix type tests not being type checked (#21539) @eps1lon - [test] Ignore empty vrtests (#21450) @eps1lon - [test] Improve makeStyles error coverage (#21568) @eps1lon - [test] Migrate Typography to testing-library (#21534) @marcosvega91 - [test] Move size comparison details to separate page (#21504) @eps1lon - [test] Use testing-library in MenuItem (#21391) @eps1lon - [test] Use testing-library in StepButton (#21406) @baterson - [test] Use testing-library in Stepper (#21400) @baterson - [core] Batch small changes (#21419) @oliviertassinari - [core] Batch small changes (#21553) @oliviertassinari - [core] Disable caching for yarn proptypes permanently (#21414) @eps1lon - [core] Extend env for build script (#21403) @eps1lon - [core] Fix react next patch and prevent regression (#21495) @eps1lon - [core] Fork typescript-to-proptypes (#21497) @eps1lon - [core] Misc branch cleaning (#21459) @eps1lon - [core] Misc prettier changes (#21484) @eps1lon - [core] Run prettier on the JSON sources (#21556) @oliviertassinari - [core] Type custom `onChange` implementations with a generic react event (#21552) @eps1lon ## 4.10.2 ###### _June 11, 2020_ โš ๏ธ This release marks the end of the active development on the v4.x versions, after 18 months of development. We are moving all ongoing efforts to v5 (`next` branch) โœจ. This means a feature freeze on v4. The development of this version will be limited to important bug fixes, security patches, and easing the upgrade path to v5. You can follow our progress on the [v5 milestone](https://github.com/mui-org/material-ui/milestone/35). We will make the documentation of the v5 alpha releases available under https://next.material-ui.com/, starting next week (weekly releases, as usual). Big thanks to the 19 contributors who made this release possible. Here are some highlights โœจ: - Introduce a new Timeline component (#21331) @mnajdova. <img width="244" alt="timeline" src="https://user-images.githubusercontent.com/3165635/84400961-ff381900-ac02-11ea-8e5e-beb6c0840fe0.png"> You can find the component in the [lab](http://material-ui.com/components/timeline/). - Simplify the theme overrides with TypeScript for the components in the lab (#21279) @CarsonF. In order to benefit from the [CSS overrides](/customization/globals/#css) with the theme and the lab components, TypeScript users need to import the following types. Internally, it uses [module augmentation](/guides/typescript/#customization-of-theme) to extend the default theme structure with the extension components available in the lab. ```tsx // 1. augment the theme import type '@material-ui/lab/themeAugmentation'; // 2. override const theme = createMuiTheme({ overrides: { MuiTimeline: { root:ย { backgroundColor: 'red', }, }, }, }); ``` - Minify error messages in production (#21214) @eps1lon. Using the [React error decoder](https://reactjs.org/docs/error-decoder.html/) as inspiration, the exceptions thrown by Material-UI in production are now minified. You will be redirected to the documentation to [decode the error](https://material-ui.com/production-error/?code=4&args%5B%5D=500). ### `@material-ui/core@v4.10.2` - [Checkbox] Fix custom icon fontSize prop support (#21362) @kn1ves - [Dialog] Fix dialog children being announced as clickable (#21285) @eps1lon - [Select] Improve native validation, autofill, and testability (#21192) @netochaves - [Stepper] Always pass state props to connector (#21370) @baterson - [Stepper] Only render label container if a label exists (#21322) @Floriferous ### `@material-ui/lab@v4.0.0-alpha.56` - [Autocomplete] Fix scroll reset after unselect the only option (#21280) @svikhristyuk - [Autocomplete] Prevent default event for disabled options (#21390) @GregoryAndrievskiy - [SpeedDial] Improve tooltip work break (#21359) @SugiKent - [Timeline] Introduce new component (#21331) @mnajdova - [TypeScript] Allow lab components to have overrides in theme (#21279) @CarsonF ### `@material-ui/utils@v4.10.2` - [core] Minify error messages in production (#21214) @eps1lon ### Docs - [docs] Add palette TypeScript override example (#21319) @WillSquire - [docs] Always consider code as left-to-right (#21386) @eps1lon - [docs] Correct the name of a prop in the Table docs (#21384) @fedde-s - [docs] Improve CONTRIBUTING.md (#21303) @pedrooa - [docs] Improve ad display (#21246) @oliviertassinari - [docs] Improve legibility of required star (#21369) @eps1lon - [docs] List all the Tab components under the API section (#21241) @emretapci - [docs] Move more prop docs into IntelliSense (#21002) @eps1lon - [docs] Move more prop docs into IntelliSense (#21368) @eps1lon - [docs] Move more prop docs into IntelliSense (#21375) @eps1lon - [docs] Sync translations (#21336) @oliviertassinari - [docs] Update builderbook.org image in showcase (#21360) @klyburke - [docs] Update builderbook.org showcase (#21274) @klyburke - [docs] Update minimum TypeScript version to 3.2 (#21197) @NMinhNguyen - [docs] Use rem in responsive font sizes chart (#21373) @thewidgetsmith ### Core - [test] Speed up slow TablePagination tests (#21374) @eps1lon - [test] Type-test event handlers on ListItem (#21298) @eps1lon - [core] Batch small changes (#21335) @oliviertassinari - [core] Don't ship type tests (#21300) @eps1lon - [core] Minify error messages in production (#21214) @eps1lon - [core] Switch from `$ExpectError` to `@ts-expect-error` (#21308) @eps1lon - [core] Use custom \$ExpectType assertion (#21309) @eps1lon ## 4.10.1 ###### _June 1, 2020_ Big thanks to the 21 contributors who made this release possible. ### `@material-ui/core@v4.10.1` - [CircularProgress] Fix IE 11 wobbling (#21248) @AmirAhrari - [l10n] Improve Ukrainian translation (#21239) @goodwin64 - [LinearProgress] Set aria-valuemin and aria-valuemax (#21195) @eps1lon - [List] Add โ€˜alignItemsFlexStartโ€™ to ListItemIconClassKey #21256) @YoonjiJang - [Slider] Fix missing type definitions (#21244) @konekoya - [Stepper] Add focus ripple to StepButton (#21223) @mnajdova - [SvgIcon] Add displayName in react-devtools (#21134) @gndplayground - [Table] Add React node support to TablePagination.labelRowsPerPage (#21226) @oliviertassinari - [TextField] Fix missing autofill events (#21237) @maksimgm - [Tooltip] Improve arrow customization (#21203) @mnajdova - [Transition] Prevent passing undefined argument to callbacks (#21158) @iamhosseindhv ### `@material-ui/lab@v4.0.0-alpha.55` - [Autocomplete] Document how to use a 3rd party input (#21257) @maksimgm - [Autocomplete] Fix dynamic changes of multiple={boolean} (#21194) @weizhi9958 - [Autocomplete] Improve getOptionLabel usage warning (#21207) @rhuanbarreto - [Skeleton] Improve component (#21255) @oliviertassinari - [Skeleton] Improve contrast on light themes (#21122) @eps1lon - [Pagination] Fix selected item style (#21252) @svikhristyuk ### Docs - [docs] Adapt CONTRIBUTING.md for https instead of SSH git clone (#21187) @cjoecker - [docs] Add Progress value label examples (#21190) @cjoecker - [docs] Document the onClick handler on Button (#21234) @hoop71 - [docs] English improvements in api.md (#21159) @dandv - [docs] Fix typo in default palette value (#21243) @dbgb - [docs] Fix typo, principals -> principles (#21160) @dandv - [docs] Improve ad display (#21219) @oliviertassinari - [docs] Mention laying out radio buttons horizontally (#21186) @dandv - [docs] Replace typefaces with fontsource (#21153) @DecliningLotus - [docs] Simplify CONTRIBUTING.md (#21196) @NMinhNguyen - [docs] Small grammar fix (#21161) @dandv - [docs] Sync translations (#21275) @oliviertassinari - [docs] Track pixel ratio (#21209) @eps1lon ### Core - [TrapFocus] Make an unstable version public (#21201) @dmtrKovalenko - [test] Track size of `@material-ui/utils` (#21240) @eps1lon - [core] Batch small changes (#21156) @oliviertassinari - [core] Batch small changes (#21249) @oliviertassinari ## 4.10.0 ###### _May 23, 2020_ Big thanks to the 30 contributors who made this release possible. Here are some highlights โœจ: - ๐Ÿฆด Allow Skeleton to infer its dimensions from the children (#21097) @mikew. In the following example, the skeleton will take the size of the avatar. ```jsx <Skeleton> <Avatar /> </Skeleton> ``` Follow [the docs to learn more](http://material-ui.com/components/skeleton/#inferring-dimensions). - โ™ฟ๏ธ Add tabs accessibility docs section (#20965) @eps1lon. The behavior of the [keyboard navigation](http://material-ui.com/components/tabs/#keyboard-navigation) can be customized with the `selectionFollowsFocus` prop. - โ„น Improve tooltip arrow customizability (#21095) @sakulstra. The arrow background color and border can now be customized independently. <img src="https://user-images.githubusercontent.com/3165635/82205669-328acf00-9907-11ea-8fa0-f9784ad2b718.png" width="90" /> - ๐Ÿ”˜ Add vertical support to the ToggleButton component (#21051) @xiaomaini - And many more ๐Ÿ› bug fixes and ๐Ÿ“š improvements. ### `@material-ui/core@v4.10.0` - [AppBar] Fix z-index issue on Firefox (#21063) @pedrooa - [Avatar] Fix group positioning (#21141) @CarsonF - [Button] Fix disableFocusRipple prop description (#21116) @umairfarooq44 - [CircularProgress] Improve custom bar demo (#21005) @id0Sch - [l10n] Add new keys to Finnish (fi-FI) locale (#21087) @SampsaKaskela - [l10n] Prepare iteration on number formatting (#20656) @oliviertassinari - [Popper] Remove duplicate handleOpen call from effect (#21106) @inomdzhon - [Select] Fix possible crash when clicking on the label (#21047) @eps1lon - [Slide] Fix double negation in CSS translate (#21115) @scristall - [Snackbar] Explain how to place the snackbar (#21052) @dandv - [Snackbar] Fix double click issue on demos (#21059) @joshwooding - [Tabs] Add a11y docs section (#20965) @eps1lon - [theme] Fix types, reject undefined coefficient in darken, lighten (#21006) @dellink - [Tooltip] Add PopperComponent prop (#21039) @joshwooding - [Tooltip] Improve arrow customizability (#21095) @sakulstra ### `@material-ui/styles@v4.10.0` - [styles] Increase counter only for non global styles (#21003) @jantimon ### `@material-ui/lab@v4.0.0-alpha.54` - [Autocomplete] Improve value type inference (#20949) @kanoshin - [Autocomplete] Fix autoHighlight for dynamic options (#21090) @mstykow - [Autocomplete] Fix iOS double tap (#21060) @kaplantm - [Pagination] Document difference with TablePagination (#21107) @hoop71 - [Skeleton] Allow children to influence width and height (#21097) @mikew - [Skeleton] Reduce SkeletonChildren test flakyness (#21121) @eps1lon - [TabPanel] Allow flow content (#21017) @eps1lon - [ToggleButton] Add orientation prop (#21051) @xiaomaini - [TreeView] Add test for undesired behavior (#21043) @eps1lon ### Docs - [docs] Add CssBaseline to auto dark mode example (#21094) @fantasyui-com - [docs] Add new twitter quotes to the homepage (#21061) @mbrookes - [docs] Fix anchor link to using inline vs. classes (#21151) @dandv - [docs] Fix autocomplete attributes (#21138) @socsieng - [docs] Fix typo in Modal accessibility description (#21062) @arthur-melo - [docs] Improve mui-treasury integration (#21054) @siriwatknp - [docs] Improve text based sizing for larger font scales (#21131) @eps1lon - [docs] Keep the same header between locales (#21041) @jaironalves - [docs] Minor fixes in theming, link to Context (#21149) @dandv - [docs] Recommend no-restricted-imports to catch treeshake issues (#21035) @eps1lon - [docs] Reduce confusion around higher order component (#21056) @ravshansbox - [docs] Show font smoothing override (#21057) @mattstobbs - [docs] Sort ways to support MUI; clarify clsx (#21150) @dandv - [docs] Sync translations (#21155) @oliviertassinari ### Core - [core] Add issue template for material design issues (#21120) @eps1lon - [core] Batch small changes (#20980) @oliviertassinari - [core] Explicitly declare children (#21014) @eps1lon - [core] Narrow type definition for useControlled hook (#21027) @EdwardSalter - [core] Small changes (#21064) @oliviertassinari - [Security] Bump handlebars from 4.5.3 to 4.7.6 (#21033) @dependabot-preview - [test] Fix react next patch (#21109) @eps1lon - [test] Improve isolation of tests using mount() (#21034) @eps1lon - [test] Isolate transition tests (#21032) @eps1lon - [test] Migrate some tests to testing-library (#21058) @joshwooding ## 4.9.14 ###### _May 11, 2020_ Big thanks to the 19 contributors who made this release possible. Here are some highlights โœจ: - ๐Ÿ—‚ An experimental extension of the Tab API (#20806) @eps1lon. - โš›๏ธ An improved version of unstable strict mode support (#20952, #20985) @eps1lon @DrewVartanian. - And many more ๐Ÿ› bug fixes and ๐Ÿ“š improvements. ### `@material-ui/core@v4.9.14` - [l10n] Add Hindi (hi-IN) locale (#20916) @chandan-singh - [Popper] Fix keepMounted visibility (#20937) @weslenng - [Select] Focus labelled element on click (#20833) @qkdreyer - [Slider] Fix center label in IE 11 (#20942) @Uneetpatel7 - [Tabs] Add `selectionFollowsFocus` (#20936) @eps1lon - [Tabs] Forward aria-label\* attributes to tablist (#20986) @eps1lon - [TextField] Fix typography inheritance issue (#20908) @esseswann - [theme] Fix missing args to createMuiStrictModeTheme (#20985) @DrewVartanian - [theme] Add support #rrggbbaa pattern in hexToRgb function (#20931) @dellink - [theme] Fix override breakpoints (#20901) @JasonHK - [Tooltip] Fix arrow placement overlap (#20900) @esseswann ### `@material-ui/styles@v4.9.14` - [styles] Return simpler type from ComponentCreator (#20854) @vlazh ### `@material-ui/system@v4.9.14` - [system] Add csstype as dependency to material-ui-system (#20922) @govizlora ### `@material-ui/lab@v4.0.0-alpha.53` - [Autocomplete] Add new handleHomeEndKeys prop (#20910) @p00000001 - [Autocomplete] Fix Google Map demo warnings (#20983) @oliviertassinari - [Autocomplete] Fix onHighlightChange when filtering (#20923) @marcosvega91 - [Tabs] Add new experimental Tabs API (#20806) @eps1lon - [ToggleButton] Reduce gap with ButtonGroup (#20967) @rehanmohiuddin ### `@material-ui/types@v5.1.0` - [types] Add OverridableStringUnion helper (#20901) @JasonHK ### Docs - [docs] Add missing spot do DiamondSponsors (#20958) @eps1lon - [docs] Fix leaking lazy stylesheets (#20903) @eps1lon - [docs] Label accessibility for native select (#20876) @mkesavan13 - [docs] Reduce likelyhood of overflow in ToC (#20961) @eps1lon - [docs] Remove redirection to v0 (#17637) (#20902) @dellink - [docs] Sychronize translations (#20982) @oliviertassinari ### Core - [test] Improve assertion mismatch messages (#20964) @eps1lon - [test] Migrate all Table components to testing-library (#20914) @marcosvega91 - [test] Migrate CircularProgress and Collapse to testing-library (#20789) @marcosvega91 - [test] Prepare patch for `react@next` (#20966) @eps1lon - [test] Use actual element over document.activeElement (#20945) @eps1lon - [core] Remove unstable_StrictMode transition components (#20952) @eps1lon - [core] Fix typo in internal ScrollbarSize (#20934) @liujiajun - [core] Fix typo in test description (#20943) @kunal-mandalia ## 4.9.13 ###### _May 4, 2020_ Big thanks to the 27 contributors who made this release possible. Here are some highlights โœจ: - ๐Ÿ’Ž A new diamond sponsor: [Sencha](https://sencha.com/), thank you! - โš›๏ธ More tests migrated from enzyme to testing-library @marcosvega91. - And many more ๐Ÿ› bug fixes and ๐Ÿ“š improvements. ### `@material-ui/core@v4.9.13` - [AvatarGroup] Improve limit display (#20793) @let-aurn - [ClickAwayListener] Remove misleading code comment (#20743) @eps1lon - [l10n] Improve es-ES locale (#20794) @eloyrubinos - [Modal] Should propagate event if disableEscapeKeyDown (#20786) @weslenng - [Pagination] Refactor boundaryCount (#20826) @mbrookes - [Select] Fix height overflow (#20822) @esseswann - [Slider] Fix RTL support (#20851) @weslenng - [Tabs] Implement keyboard navigation (#20781) @eps1lon - [Tabs] Improve customizability of the scroll buttons (#20783) @netochaves - [TextField] Fix caret color in autofill dark theme (#20857) @CarsonF - [Tooltip] Fix disableTouchListener behavior (#20807) @weslenng - [unstable_TrapFocus] Guard against dropped memo cache (#20848) @eps1lon ### `@material-ui/styles@v4.9.13` - [styles] Fix wording in indexCounter comment (#20874) @iamclaytonray - [styles] Improve component props inference of styled (#20830) @vlazh ### `@material-ui/system@v4.9.13` - [system] Improve breakpoints types (#20753) @nodeTempest ### `@material-ui/lab@v4.0.0-alpha.52` - [Autocomplete] Display loading feedback with freeSolo (#20869) @weslenng - [Autocomplete] Fix support for limitTags={0} (#20850) @tykdn - [Skeleton] Fix z-index elevation issue (#20803) @luminaxster - [SpeedDial] Fix direct dependency on react-transition-group (#20847) @squirly - [TreeView] Add onIconClick and onLabelClick (#20657) @tonyhallett ### Docs - [sponsors] Add diamond Sencha (#20875) @oliviertassinari - [docs] Add collapsible table demo (#19795) @LorenzHenk - [docs] Fix "Find the source" link in localization.md (#20791) @ValentinH - [docs] Fix emojis/html being included in toc (#20841) @eps1lon - [docs] Fix groups name in autocomplete virtualization example (#20898) @Uneetpatel7 - [docs] Fix header and row shift on pagination click (#20873) @ankitasingh170190 - [docs] Fix incorrect signature of createStyles (#20866) @eps1lon - [docs] Fix table zebra customization demo (#20870) @rkrueger11 - [docs] Fix typo in Select type definitions (#20817) @qkdreyer - [docs] Implement keyboard navigation for demo toolbar (#20798) @eps1lon - [docs] Improve svgr documentation (#20893) @tavantzo - [docs] Make CSS interoperability examples easier to use (#20860) @weisk - [docs] Use mathematical interval notation for breakpoints (#20843) @eps1lon - [examples] Add next.js SSG clarification comment (#20810) @sospedra ### Core - [test] Migrate colorManipulator from assert to expect (#20792) @marcosvega91 - [test] Migrate from assert to expect (#20799) @oliviertassinari - [test] Replace all assert with expect (#20853) @marcosvega91 - [core] Batch small changes (#20823) @oliviertassinari - [core] Batch small changes (#20877) @oliviertassinari ## 4.9.12 ###### _Apr 27, 2020_ Big thanks to the 32 contributors who made this release possible. Here are some highlights โœจ: - โš›๏ธ A first module written in TypeScript (#20685) @eps1lon. - ๐Ÿ‡ง๐Ÿ‡ท A documentation fully translated in Brazilian (@jaironalves). - And many more ๐Ÿ› bug fixes and ๐Ÿ“š improvements. ### `@material-ui/core@v4.9.12` - [ButtonBase] Fix ripple size when clientX or clientY is 0 (#20654) @jin60641 - [ButtonGroup] Add disableElevation prop (#20747) @Andrew5569 - [ClickAwayListener] Fix support of leading edge (#20647) @oliviertassinari - [ExpansionPanel] Increase contrast for focus state (#20720) @petermikitsh - [l10n] Document how far Material-UI should go (#20737) @eloyrubinos - [l10n] Improve az-AZ locale (#20659) @rommelmamedov - [l10n] Improve bg-BG locale (#20668) @panayotoff - [l10n] Improve cs-CZ locale (#20670) @char0n - [l10n] Improve de-DE locale (#20684) @eps1lon - [l10n] Improve et-EE locale (#20682) @villuv - [l10n] Improve hu-HU locale (#20658) @vgaborabs - [l10n] Improve it-IT locale (#20674) @Angelk90 - [l10n] Improve pl-PL locale (#20672) @eXtreme - [l10n] Improve pt-BR locale (#20734) @jaironalves - [l10n] Improve pt-PT locale (#20673) @hrafaelveloso - [l10n] Improve ro-RO locale (#20681) @raduchiriac - [l10n] Improve tr-TR locale (#20754) @yunusemredilber - [l10n] Port locale to TypeScript (#20685) @eps1lon - [Modal] Prevent focus steal from other windows (#20694) @eps1lon - [Popper] Add ref type definition (#20688) @takakobem - [Select] Fix height inconsistency between input and select (#20780) @esseswann - [Select] Pass onClick to menuItem (#20739) @marcosvega91 - [Slider] Fix focus after click (#20651) @davidcalhoun - [Snackbar] Improve consecutive demos (#20721) @calbatr0ss - [Tabs] Use a native element for the tabpanel role (#20648) @oliviertassinari - [TextField] Fix required outlined label space with no asterisk (#20715) @eps1lon - [TextField] Use aria-hidden on required asterisk (#20742) @alorek - [Tooltip] Fix flip invalid CSS property error (#20745) @j-mendez - [useScrollTrigger] Fix out of sync trigger (#20678, #20680) @ohlr @marcosvega91. ### `@material-ui/lab@v4.0.0-alpha.51` #### Breaking changes - [Autocomplete] Remove startAfter props (#20729) @marcosvega91 #### Change - [Autocomplete] Add new onHighlightChange callback (#20691) @marcosvega91 - [Autocomplete] Fix "fixed tags" demo (#20687) @kthyer - [Autocomplete] Fix popup open logic when non empty (#20732) @marcosvega91 - [Autocomplete] Remove dead code (#20663) @oliviertassinari - [TreeView] Update firstCharMap when a TreeItem is removed (#20085) @tonyhallett ### `@material-ui/utils@v4.9.12` - [core] Avoid test with instanceof HTMLElement (#20646) @oliviertassinari ### Docs - [docs] Add "Persian" to the list of RTL languages (#20679) @mirismaili - [docs] Add "reset focus" control to demo tools (#20724) @eps1lon - [docs] Allow default actions of nested elements (#20777) @eps1lon - [docs] Batch small changes (#20644) @oliviertassinari - [docs] English fix: fewer boilerplate -> less boilerplate (#20775) @dandv - [docs] Fix dropped iframe content in firefox (#20686) @eps1lon - [docs] Fix typo in vision.md (#20649) @Flavyoo - [docs] Fix warning and crash in dev mode (#20623) @oliviertassinari - [docs] Improve infrastructure (#20751) @oliviertassinari - [docs] Modernize DemoFrame (#20664) @eps1lon - [docs] Never transition preview if not shown (#20784) @eps1lon - [docs] Parse markdown on mount (#20601) @eps1lon - [docs] Replace react-frame-component with concurrent safe impl (#20677) @eps1lon - [docs] Sync translations (#20779) @oliviertassinari - [material-ui-docs] Fix missing/extraneous dependencies (#20771) @eps1lon ### Core - [AppBar] Migrate to testing-library (#20693) @marcosvega91 - [Avatar] Migrate to testing-library (#20697) @marcosvega91 - [Badge] Migrate to testing-library (#20710) @marcosvega91 - [BottomNavigation] Migrate to testing-library (#20728) @marcosvega91 - [Box] Migrate to testing-library (#20736) @marcosvega91 - [Card] Migrate to testing-library (#20773) @marcosvega91 - [core] Bump `@material-ui/react-transition-group` (#20699) @eps1lon - [core] Force visibility on a few components in ink save print mode (#20749) @coktopus - [test] Improve textToHash test (#20770) @eps1lon - [test] Relax lint rules in test (#20702) @eps1lon ## 4.9.11 ###### _Apr 18, 2020_ Big thanks to the 25 contributors who made this release possible. ### `@material-ui/core@v4.9.11` - [Backdrop] Document Fade inherited component (#20500) @Josh-Weston - [Checkbox] Add test showcase for checked checkbox (#20571) @eps1lon - [ExpansionPanel] Unify paddings with ListItem and similar components (#20586) @esseswann - [l10n] Improve persian (fa-IR) locale (#20543) @ali4heydari - [List] Fix ListItemIcon `children` type from element to Node (#20577) @alielkhateeb - [Popper] Fix support for TypeScript 3.2 (#20550) @NMinhNguyen - [react] Add createMuiStrictModeTheme (#20523) @eps1lon - [SwitchBase] Prepare v5 removal of the second argument of onChange (#20541) @samuli