@material-ui/core
Version:
React components that implement Google's Material Design.
1,133 lines (872 loc) • 458 kB
Markdown
### [Versions](https://material-ui.com/versions/)
## 4.3.0
###### *July 28, 2019*
Big thanks to the 23 contributors who made this release possible!
Here are some highlights ✨:
- 🌳 Introduce a new Tree View component in the (#14827) @joshwooding
This is a first step toward a feature rich tree view component.
We will keep iterate on it to add customization demos, filter, drag and drop, and checkboxes.
You can find the documentation under [this URL](https://material-ui.com/components/tree-view/).
- 💄 Support vertical tabs (#16628) @josephpung
You can learn more about it following [this URL](https://material-ui.com/components/tabs/#vertical-tabs).
- 📚 Remove the prop-types from TypeScript demos (#16521) @merceyz
The runtime prop-types are often redundant with the static type checks.
We have removed them from the TypeScript demos.
- ⚛️ Add two codemods to improve the imports (#16192) @jedwards1211
If you are not familiar with codemods, [check the library out](https://github.com/facebook/codemod). This is a tool tool to assist you with large-scale codebase refactors.
We introduce two new codemods in this release:
- `optimal-imports`: Material-UI supports tree shaking for modules at 1 level depth maximum.
You shouldn't import any module at a higher level depth.
```diff
-import createMuiTheme from '@material-ui/core/styles/createMuiTheme';
+import { createMuiTheme } from '@material-ui/core/styles';
```
Notice that this codemod can be used in conjunction with our custom [material-ui/restricted-path-imports](https://github.com/mui-org/material-ui/tree/master/packages/eslint-plugin-material-ui#restricted-path-imports) eslint rule.
- `top-level-imports`: Converts all @material-ui/core submodule imports to the root module.
```diff
-import createMuiTheme from '@material-ui/core/styles/createMuiTheme';
+import { createMuiTheme } from '@material-ui/core';
```
- 💄 Support small switch (#16620) @darkowic
You can learn more about it following [this URL](https://material-ui.com/components/switches/#sizes).
- And many more 🐛 bug fixes 📚 improvements.
### `@material-ui/core@v4.3.0`
- [FilledInput] Add hiddenLabel prop (#16671) @oliviertassinari
- [Menu] Use strict mode compatible testing API (#16582) @eps1lon
- [Modal] Fix focus not being contained (#16585) @eps1lon
- [Modal] Prevent backdrop to stay open (#16694) @ValentinH
- [Popper] Fix scroll jump when content contains autofocus input (#16740) (#16751) @alirezamirian
- [Portal] Prepare deprecation of onRendered (#16597) @oliviertassinari
- [SelectInput] Fix layout issue with displayEmpty (#16743) @ypresto
- [Select] Implement WAI-ARIA dropdown without label (#16739) @eps1lon
- [useMediaQuery] Improve useWidth demo (#16611) @siriwatknp
- [Step] Add `completed` class key to TypeScript definitions (#16662) @pranshuchittora
- [Stepper] Add cutomization example (#16769) @oliviertassinari
- [Switch] Support small size (#16620) @darkowic
- [Tabs] Improve accessibility (#16384) @mbrookes
- [Tabs] Support vertical tabs (#16628) @josephpung
- [TextField] Rename interface FormControl to FormControlState (#16748) @B3zo0
- [TextareaAutosize] Fix infinite render loop (#16635) @oliviertassinari
- [TextareaAutosize] Fix infinite render loop (#16708) @mcdougal
### `@material-ui/codemod@v4.3.0`
- [codemod] Add codemods for optimal tree-shakeable imports (#16192) @jedwards1211
### `@material-ui/lab@v4.0.0-alpha.21`
- [TreeView] Add new component (#14827) @joshwooding
### `@material-ui/styles@@4.3.0`
- [styles] Add typings for font-face (#16639) @merceyz
### Docs
- [docs] Add CSS to api for TextField (#16659) @m2mathew
- [docs] Apply v1 redirection first @oliviertassinari
- [docs] Batch changes (#16621) @oliviertassinari
- [docs] Display correct version of Material-UI (#16680) @eps1lon
- [docs] Document the global class names (#16770) @oliviertassinari
- [docs] Fix SEO reported by Ahrefs (#16765) @oliviertassinari
- [docs] Fix Typo in modal.md (#16744) @jeffshek
- [docs] Fix dependabot badge (#16725) @eps1lon
- [docs] Fix reset colors crashing app (#16750) @eps1lon
- [docs] Fix typo in typography.md (#16654) @hexium310
- [docs] Generate prop-types from TypeScript demos (#16521) @merceyz
- [docs] Grammar fix for global class names docs (#16778) @joshwooding
- [docs] Improve SEO (#16724) @oliviertassinari
- [docs] Improve favicon (#16632) @oliviertassinari
- [docs] Improve generated markdown (#16771) @merceyz
- [docs] Link page layouts to premium themes (#16690) @mbrookes
- [docs] Move dependencies/scripts from root into workspace (#16640) @eps1lon
- [docs] Prevent password field blur when adornment clicked (#16672) @ee92
- [docs] Redirects old v1.5.0 url to v1 subdomain (#16658) @m2mathew
- [docs] Reduce bundle size (#16046) @eps1lon
- [docs] Remove bbb from showcase (#16687) @mbrookes
- [docs] Remove unused imports (#16623) @merceyz
- [docs] Reword unsupported material components notes (#16660) @m2mathew
- [docs] Solve docs 301 redirections (#16705) @oliviertassinari
- [docs] Update translations (#16684) @mbrookes
- [docs] Upgrade next to v9 (#16546) @eps1lon
- [docs] Revert upgrade to next 9 (#16755) @eps1lon
- [docs] Workaround to describe aria-sort (#16767) @mbrookes
- [examples] Remove version next version from the description (#16678) @straxico
## Core
- [test] Fix empty visual rergression screenshots (#16702) @eps1lon
- [test] Fix failing test_browser in edge (#16688) @eps1lon
- [core] Batch changes (#16691) @oliviertassinari
- [core] Batch small changes (#16766) @oliviertassinari
- [core] Deduplicate packages (#16608) @merceyz
- [core] Fix type definition for createMuiTheme SpacingOptions (#16624) @dominictwlee
- [core] Import esm babel helpers (#16701) @TrySound
- [core] Introduce dependabot (#16679) @eps1lon
- [core] Remove old JSS v9 animationName property (#16779) @merceyz
- [core] Upgrade babel-plugin-optimize-clsx (#16636) @merceyz
- [core] Upgrade dependencies from yarn audit (#16625) @merceyz
- [core] Upgrade jss (#16668) @TrySound
- [core] Bump babel dependencies to latest (#16699) @eps1lon
- [ci] Merge test_browser and test_production (#16731) @eps1lon
- [ci] Use custom frozen lockfile check (#16677) @eps1lon
## 4.2.1
###### *July 17, 2019*
Big thanks to the 25 contributors who made this release possible!
Here are some highlights ✨:
- ♿️ Improve Dialog header accessibility (#16576) @dayander
- ⚛️ Fix more strict mode warnings (#16525) @eps1lon
- 🐛 Fix menu dense support (#16510) @sumedhan
- ⭐️ Introduce a new Rating component in the lab
- And many more 🐛 bug fixes 📚 improvements.
### `@material-ui/core@v4.2.1`
- [Autocomplete] Use placeholder prop (#16568) @himanshupathakpwd
- [DialogTitle] Update default element from h6 to h2 (#16576) @dayander
- [Grid] Generify props with component property (#16590) @JipingWang
- [InputBase] Fix inconsistent filled state (#16526) @eps1lon
- [InputBase] Improve documentation for custom `inputComponent` (#16399) @eps1lon
- [Input] Add missing class keys in TypeScript (#16529) @dskiba
- [MenuItem] Fix dense prop support (#16510) @sumedhan
- [Modal] Use computed key to restore style (#16540) @neeschit
- [Popper] Refactor to more commonly known react patterns (#16613) @eps1lon
- [Ripple] Use custom transition logic (#16525) @eps1lon
- [Slide] Remove gutter (#16533) @User195
- [TouchRipple] Convert to function component (#16522) @joshwooding
- [Transition] The ref forwarding works (#16531) @oliviertassinari
- [useMediaQuery] Accept function as argument & more (#16343) @merceyz
### `@material-ui/styles@v4.2.1`
- [styles] Make theme optional for `styled` components (#16379) (#16478) @akomm
- [core] Upgrade deepmerge (#16520) @TrySound
### `@material-ui/system@v4.3.1`
- [core] Upgrade deepmerge (#16520) @TrySound
### `@material-ui/lab@v4.0.0-alpha.20`
- [Rating] Add a new component (#16455) @oliviertassinari
- [SpeedDialAction] Convert to hook (#16386) @adeelibr
### Docs
- [docs] Add density guide to customizations (#16410) @eps1lon
- [docs] Add sidebar alias to Drawer demo description (#16535) @mbrookes
- [docs] Fix dead link (#16567) @sharils
- [docs] Fix typo (#16561) @siowyisheng
- [docs] Fix typo in advanced styles guide (#16593) @elquimista
- [docs] Fix typo: change lakes to lacks (#16553) @davinakano
- [docs] Remove <any> from nextjs-with-typescript example (#16555) @virzak
- [docs] Remove duplicate alts (#16564) @williammalone
- [docs] Update migration v3 guide, slider in core (#16589) @elquimista
- [docs] Update typo in docs - portals (#16592) @siowyisheng
- [docs] Use LinkProps from next in examples (#16583) @Janpot
- [example] Fix "@zeit/next-typescript" dependency missing (#16603) @nb256
- [examples] Update to support Next.js v9 (#16519) @Janpot
- [blog] June 2019 Update (#16516) @oliviertassinari
### Core
- [core] Fix docs:typescript:check (#16607) @merceyz
- [core] Fix incorrect usage of HtmlHTMLAttributes (#16579) @whitneyit
- [core] Re-export missing typings (#16490) @merceyz
- [core] Remove all .defaultProps usages (#16542) @joshwooding
- [core] Restrict setRef usage to ref callback (#16539) @eps1lon
- [core] Upgrade convert-css-length (#16530) @TrySound
- [core] Upgrade deepmerge (#16520) @TrySound
- [core] Use useFormControl instead of withFormControlState (#16503) @eps1lon
- [core] Batch small changes (#16532) @oliviertassinari
- [test] Run queries on document.body (#16538) @eps1lon
- [test] react-test-renderer coverage (#16523) @dondi
- [ci] Create canaries (#16587) @eps1lon
## 4.2.0
###### *July 6, 2019*
Big thanks to the 24 contributors who made this release possible!
Here are some highlights ✨:
- ♿️ Fix the persisting aria-hidden logic of the Modal (#16392) @eps1lon
- 💄 Move the Slider component to the core (#16416).
- 💄 Introduce a new TextareaAutosize component (#16362).
- ⚛️ Migrate a few components to testing-library.
- 🚀 Remove two dependencies (react-event-listener and debounce).
- And many more 🐛 bug fixes 📚 improvements.
### `@material-ui/core@v4.2.0`
- [Tabs] Use the correct window reference (#16497) @NMinhNguyen
- [Breadcrumbs] Add li to BreadcrumbsClassKey type (#16425) @le0nik
- [ButtonBase] Fix anchors with href having a button role (#16397) @eps1lon
- [ButtonBase] Improve test coverage (#16361) @eps1lon
- [CardMedia] Change prop requirements to conform html picture semantics (#16396) @maeertin
- [ClickAwayListener] Don't miss any click away events (#16446) @NMinhNguyen
- [FormControl] Add useFormControlState (#16467) @eps1lon
- [ListItemIcon] Add margin to line up when using flex-start (#16398) @slim-hmidi
- [ListItemSecondaryAction] Add missing types for props spread (#16411) @nsams
- [MenuItem] Fix type deceleration not using MenuItemClassKey (#16358) @merceyz
- [Menu] Fix autoFocus to work correctly with keepMounted (#16450) @ryancogswell
- [Modal] Fix persisting aria-hidden (#16392) @eps1lon
- [Modal] Make the modal demo style more "agnostic" (#16385) @oliviertassinari
- [Select] Fix node reference (#16401) @ffjanhoeck
- [Slider] Fix small step regression (#16395) @alitaheri
- [Slider] Fix textAlign prop affecting Slider rail (#16440) @mohan-cao
- [Slider] Move to core (#16416) @oliviertassinari
- [Tabs] Migrate to hooks (#16427) @oliviertassinari
- [TextareaAutosize] Fix one possible case of infinite render loop (#16387) @ZYinMD
- [TextareaAutosize] New public component (#16362) @oliviertassinari
- [Tooltip] Fix arrow demos (#16412) @Favna
### `@material-ui/styles@v4.2.0`
- [styles] Add test for removing styles via `overrides` (#16420) @eps1lon
- [styles] Handle props of type any in styled (#16356) @merceyz
- [styles] Support augmenting CSS properties (#16333) @merceyz
### `@material-ui/lab@v4.0.0-alpha.19`
- [Slider] Move to core (#16416) @oliviertassinari
### Docs
- [docs] Fix typo in TypeScript doc (#16365) @DDDDDanica
- [docs] Add missing page title for translations (#16375) @jaironalves
- [docs] Correct spelling imporant -> important (#16388) @rlfarman
- [docs] Fix typo in customizing components (#16404) @YipinXiong
- [docs] Fix typo in docs server (#16406) @thanasis00
- [docs] Fixed link to Button API in FAQ (#16370) @kxlow
- [docs] Improve example of Custom Pagination Actions Table (#16472) @bigtone1284
- [docs] Minor improvements (#16423) @eps1lon
- [docs] Reduce the headers font-size (#16433) @oliviertassinari
- [docs] Remove compose helper (#16429) @oliviertassinari
- [docs] Remove outdated references to the @next release (#16428) @davidoffyuy
- [docs] Replace hardcoded content with translation (#16380) @eps1lon
- [docs] Small ad information icon (#16438) @oliviertassinari
- [docs] Update displayEmpty prop description in Select API docs (#16376) @bigtone1284
- [docs] Update testing guide (#16368) @eps1lon
- [docs] Use full text of the code of conduct (#16417) @mbrookes
- [docs] [TableCell] Fix padding and size property descriptions (#16378) @the-question
### Core
- [test] Simpler createClientRender (#16461) @eps1lon
- [ci] Move TypeScript tests into separate job (#16405) @eps1lon
- [ci] Persist/Report only if previous steps succeeded (#16432) @eps1lon
- [core] Improve test coverage (#16453) @eps1lon
- [core] Speed-up typechecking (#16413) @merceyz
## 4.1.3
###### *June 25, 2019*
Big thanks to the 4 contributors who made this release possible!
This is a quick release after a regression that occurred in 4.1.2.
### `@material-ui/core@v4.1.3`
- [core] Revert strict mode compatible transition components (#16348) @eps1lon
- [theme] Validate fontSize in createTypography (#16321) @merceyz
### `@material-ui/lab@v4.0.0-alpha.18`
- [Slider] Fix label contrast color (#16350) @oliviertassinari
### Docs
- [docs] Improve colors reliably (#16324) @oliviertassinari
- [docs] Migrate batch of demos to hooks/typescript (#16334) @merceyz
- [docs] Some fixes to the Link component page (#16345) @kyarik
- [docs] Use latest size snapshot from master (#16342) @eps1lon
## 4.1.2
###### *June 23, 2019*
Big thanks to the 30 contributors who made this release possible!
Here are some highlights ✨:
- ♿️ Fix Select and Menu keyboard behavior (#16323).
- 🚀 Reduce the Modal bundle size by -22% (5 kB) (#15839, #16254, #16262).
- 💄 Remove noise from the material.io generated icons (#16258).
- ⚛️ Extend StrictMode compatiblity to 25 more components (#16283).
- And many more 🐛 bug fixes 📚 improvements.
### `@material-ui/core@v4.1.2`
- [ButtonBase] Fix dragging issue (#16250) @LukasMirbt
- [Dialog] Prepare deprecation of withMobileDialog (#14992) @oliviertassinari
- [Divider] Add aria role if it's not implicit (#16256) @eps1lon
- [Grow][Zoom] Remove transform value when entered (#16297) @gijsbotje
- [MenuList] Fix keyboard a11y when no item is focused when opening (#16323) @eps1lon
- [Menu] Add missing `autoFocus` TypeScript types (#16289) @BassT
- [Modal] Fix aria-hidden restore logic (#15839) @mackersD
- [Modal] Migrate to hooks (#16254) @oliviertassinari
- [Modal] Refactor tests to remove internal accesses (#16262) @oliviertassinari
- [Select] Fix autowidth not working with open controlled (#16214) @jobpaardekooper
- [Select] Fix display when no value is selected (#16294) @ianschmitz
- [Select] Fix forward ref logic (#16296) @ffjanhoeck
- [Select] Fix specificity issue (#16137) @aditya1906
- [Slide] Remove the transform property once open (#16281) @gijsbotje
- [Snackbar] Fix type definition of autoHideDuration prop (#16257) @brunomonteirosud
- [TextField] Fix media hover specificity issue (#16266) @arminydy
- [TextField] Reduce specificity of notchedOutline (#16304) @romanr
- [Textarea] Update height when maxRows prop changes (#16298) @tasinet
- [TouchRipple] Fix ripple staying on fast updates (#16291) @eps1lon
### `@material-ui/icons@v4.2.1`
- [icons] Remove noise from Google source (#16258) @oliviertassinari
### `@material-ui/system@v4.3.0`
- [system] Add support for marginX, marginY, paddingX, and paddingY (#16169) @dimitropoulos
- [system] Add visibility property to display (#16231) @aditya1906
### `@material-ui/lab@v4.0.0-alpha.17`
- [Slider] Fix onChangeCommitted firing on mouseenter (#16329) @cdcasey
- [Slider] Fix various tick mark issues (#16275) @eps1lon
- [Slider] Mitigate floating point errors (#16252) @joaosilvalopes
### `@material-ui/styles@v4.1.2`
- [styles] Make StyleRules backwards compatible (#16200) @merceyz
- [styles] Only run the check on the client-side (#16284) @oliviertassinari
- [styles] Remove withTheme type from makeStyles options (#16217) @merceyz
### Docs
- [docs] Add docs for Overflow, TextOverflow, WhiteSpace (#16170) @aditya1906
- [docs] Batch of fixes (#16229) @oliviertassinari
- [docs] Better react-router-dom version comment (#16335) @kyarik
- [docs] Convert SideEffects to hooks (#16197) @eps1lon
- [docs] Fix IE 11 rendering issue on the pickers page (#16246) @oliviertassinari
- [docs] Fix code example (#16279) @maslowproject
- [docs] Fix links that point to the next branch (#16326) @Maxim-Mazurok
- [docs] Fix outdated react-transition-group docs link (#16274) @eps1lon
- [docs] Improve codevariant switch perf (#16211) @eps1lon
- [docs] Include and explain value type change in migration guide (#16226) @eps1lon
- [docs] Instapaper, fix contained+secondary button border (#16236) @patelnav
- [docs] Material Sense is only using v3 (#16267) @josiahbryan
- [docs] Migrate batch of demos to hooks/typescript (#16322) @merceyz
- [docs] Remove import if there are no specifiers left (#16199) @merceyz
- [docs] Fix a typo emooji -> emoji (#16286) @sabrinaluo
- [example] Hooks are standards now, no need to mention it (#16288) @obedparla
- [examples] Fix the styled-jsx integration of the Next.js examples (#16268) @lifeiscontent
### Core
- [types] Explicitly use react types (#16230) @kdy1
- [test] Introduce @testing-library/react (#15732) @eps1lon
- [core] Add MuiCardActionArea prop (#16235) @aditya1906
- [core] Add missing MuiTableHead and MuiTableBody type to theme.props (#16220) @merceyz
- [core] Add missing exports from styles in core (#16311) @fzaninotto
- [core] Change <> to <React.Fragment> (#16225) @aditya1906
- [core] Extend StrictMode compatiblity (#16283) @eps1lon
- [core] Move size tracking to azure pipelines (#16182) @eps1lon
- [core] Remove string from SpacingArgument in theme.spacing (#16290) @merceyz
- [ci] Build packages in parallel for size snapshot (#16261) @eps1lon
- [ci] Run azure on master (#16207) @eps1lon
- [ci] Use sinon browser build (#16208) @eps1lon
## 4.1.1
###### *June 13, 2019*
Big thanks to the 10 contributors who made this release possible!
Here are some highlights ✨:
- 🐛 Fix react-hot-loader regression (#16195).
- 🐛 Fix TypeScript icons regression (#16139) @MayhemYDG.
- 🐛 Fix withWidth regression (#16196).
- 💄 Add Slider range support (#15703).
- And many more 📚 improvements.
### `@material-ui/core@v4.1.1`
- [ButtonBase] Fix riple not stoping on mouse up (#16142) @joaosilvalopes
- [useMediaQuery] Defensive logic against matchMedia not available (#16196) @oliviertassinari
- [Typography] Fix variantMapping rejecting partial type (#16187) @eps1lon
### `@material-ui/styles@v4.1.1`
- [styles] Fix react-hot-loader regression (#16195) @oliviertassinari
### `@material-ui/icons@v4.2.0`
- [icons] Fix generated index.d.ts (#16139) @MayhemYDG
- [icons] Update and clean the icons (#16166) @oliviertassinari
### `@material-ui/lab@v4.0.0-alpha.16`
- [Slider] Support range (#15703) @oliviertassinari
### `@material-ui/system@v4.2.0`
- [system] Add overflow, textOverflow, whiteSpace properties (#16129) @aditya1906
- [system] Add remaining flexbox properties (#16164) @aditya1906
### Docs
- [docs] Add 700 font weight support (#16141) @aditya1906
- [docs] Change http to https part 2 (#16171) @aditya1906
- [docs] Fix build on windows (#16154) @merceyz
- [docs] Fix small typos in v3->v4 migration guide (#16174) @charlax
- [docs] Improve the CssBaseline description (#16148) @levigunz
- [docs] Lowercase text to demo text-transform (#16160) @blmoore
- [docs] Pseudo-class: the style rules that require an increase of specificity (#16120) @oliviertassinari
- [docs] Remove `CSS to MUI webpack Loader` (#16175) @sabrinaluo
- [docs] import Omit Type from @material-ui/types (#16157) @aditya1906
### Core
- [core] Add TypeScript types for styled (#16133) @merceyz
- [core] Fix withStyles not including props (#16134) @merceyz
- [core] Fix yarn docs:api removing <br> tags on windows (#16165) @merceyz
- [core] Remove bootstrap v4-alpha (#16177) @aditya1906
## 4.1.0
###### *June 10, 2019*
A big thanks to the 26 contributors who made this release possible!
Here are some highlights ✨:
- 💄 A new ButtonGroup component (#15744) @mbrookes
- 💄 New system props (flex, fontStyle, letterSpacing, lineHeight) (#16045, #16109) @ljvanschie, @aditya1906
- 📚 Fix the documentation notification spam (#16070)
- 💄 A new fontWeightBold typography theme value (#16036) @aditya1906
- 🚀 Reduce TypeScript compile time when using the icons (#16083) @phryneas
- And many more 🐛 bug fixes 📚 improvements.
### `@material-ui/core@v4.1.0`
- [ButtonGroup] New component (#15744) @mbrookes
- [TextField] Improve dense height to better match the specification (#16087) @Ritorna
- [Popper] Add popperRef prop (#16069) @oliviertassinari
- [theme] Add fontWeightBold to theme.typography (#16036) @aditya1906
- [LinearProgress] Fix direction issue in RTL (#16009) @mkermani144
- [Dialog] Fix double scroll issue (#16108) @williamsdyyz
- [Popper] Fix anchorEl prop types (#16004) @dan8f
- [Snackbar] Fix wrong event call (#16070) @oliviertassinari
- [SwipeableDrawer] Convert to function component (#15947) @joshwooding
- [Tab] Improve the textColor description (#16085) @sPaCeMoNk3yIam
- [withWidth] Migrate to hooks (#15678) @jacobbogers
### `@material-ui/system@v4.1.0`
- [system] Add flex to FlexboxProps type definitions (#16045) @ljvanschie
- [system] Add fontStyle, letterSpacing, lineHeight props (#16109) @aditya1906
- [system] Fix breakpoints TypeScript types (#15720) @Kujawadl
### `@material-ui/styles@v4.1.0`
- [styles] Allow CSS properties to be functions (#15546) @merceyz
- [styles] Fix styled type definition not including properties (#15548) @merceyz
- [styles] Upgrade jss (#16121) @eps1lon
### `@material-ui/icons@v4.1.0`
- [icons] Simplify generated index.d.ts to reduce TS compile time (#16083) @phryneas
### Docs
- [blog] May 2019 Update (#16117) @oliviertassinari
- [docs] Minor typo correction (#16115) @tonytino
- [docs] Add AdaptingHook TypeScript demo (#16131) @merceyz
- [docs] Add global override demos (#16067) @oliviertassinari
- [docs] Add redirect for typography migration (#16077) @eps1lon
- [docs] Add system example for prop + theme key (#16099) @peteruithoven
- [docs] Batch of small fixes (#16061) @oliviertassinari
- [docs] Bump material-table and @material-ui/pickers versions (#16039) @eps1lon
- [docs] Change http to https (#16056) @aditya1906
- [docs] Fix bundle doc typos (#16054) @DDDDDanica
- [docs] Fix chip array removal (#16086) @joaosilvalopes
- [docs] Fix grammar in migration doc (#16064) @DDDDDanica
- [docs] Fix some warnings/regressions (#16106) @eps1lon
- [docs] Fix spelling and usage of MuiCssBaseline (#16098) @tschaub
- [docs] Fix typo in the Gatsby example (#16130) @bernardwang
- [docs] Make demos linkable (#16063) @eps1lon
- [docs] Migrate Popover demo to Hooks (#16074) @nikhilem
- [docs] Migrate batch of demos to hooks/typescript (#16003) @merceyz
- [docs] Move the themes to themes.material-ui.com (#15983) @oliviertassinari
- [docs] Remove duplicate font icons instruction (#16066) @hubgit
- [docs] Remove extraneous link to migration helper (#16082) @charlax
- [docs] Remove unsupported textDense styles (#16057) @sadika9
- [docs] Revert unreleased changes to the useMediaQuery API (#16127) @oliviertassinari
- [docs] Update translations (#16125) @mbrookes
- [docs] Upgrade notistack and migrate the demo to hooks (#16124) @merceyz
- [docs] Use immediate export in MenuAppBar.js (#16032) @aditya1906
- [docs] Use immediate export when there is no HOC part 2 (#16038) @merceyz
### Core
- [core] Fix incorrect typings for hexToRgb (#16059) @whitneyit
- [core] Fix type definition for theme.spacing (#16031) @merceyz
- [core] Remove direct type dependency to jss/csstype (#16071) @eps1lon
- [core] Remove export of describeConformance (#16048) @eps1lon
- [core] Use only up to second level path imports (#16002) @eps1lon
- [test] Bump karma-webpack (#16119) @eps1lon
## 4.0.2
###### *June 3, 2019*
A big thanks to the 30 contributors who made this release possible!
Here are some highlights ✨:
- 🐛 A second stability release after the release of v4.0.0.
- 💄 Add a new size="small" prop to the Chip component (#15751) @mbrookes
- 🐛 Fix three IE 11 issues (#15921, #15952, #15967) @eps1lon, @rupert-ong, @ryancogswell
- And many more 📚 improvements.
### `@material-ui/core@v4.0.2`
- [Box] Fix prop-types and TypeScript warnings (#15884) @eps1lon
- [Breadcrumbs] Add theme props and override TypeScript definitions (#15950) @chrislambe
- [Chip] Add size prop for small option (#15751) @mbrookes
- [Container] Document the classes API (#15919) @divyanshutomar
- [Dialog] Improve scroll=body CSS logic (#15896) @DominikSerafin
- [Link] Better support of component="button" (#15863) @ianschmitz
- [Popover] Convert to function component (#15623) @joshwooding
- [Portal] Synchronously call onRendered (#15943) @Arlevoy
- [Radio] Fix dot misalignment in IE11 (#15952) @rupert-ong
- [theme] Return default value for spacing when no args provided (#15891) @mbrookes
- [TrapFocus] Fix error restoring focus when activeElement is null (#15967) @ryancogswell
- [core] Export useMediaQuery & useScrollTrigger in index.js (#15958) @adeelibr
- [core] Migrate extend ButtonBaseProps typings (#15869) @joshwooding
### `@material-ui/styles@v4.0.2`
- [styles] Remove warning when component with no displayName is provided (#15913) @eps1lon
- [styles] Fix createStyles for TypeScript v3.5 (#15990) @merceyz
### `@material-ui/system@v4.0.2`
- [system] Fix typing for flexDirection prop (#15987) @rhmoller
### `@material-ui/lab@v4.0.0-alpha.15`
- [lab] Consume correct core utils in lab (#15995) @TrySound
### `@material-ui/codemod@v4.0.2`
- [codemod] Improve theme codemod to handle destructured theme.spacing (#15916) @sviande
### Docs
- [docs] Add React + Material-UI + Firebase as an example project (#15915) @Phoqe
- [docs] Batch of fixes (#15996) @oliviertassinari
- [docs] Fix a typo within pricing page layout example (#15978) @sdornan
- [docs] Fix broken JSS links (#15972) @timkindberg
- [docs] Fix most lighthouse a11y issues in input demos (#15780) @eps1lon
- [docs] Fix typo (#15975) @rick-software
- [docs] Fix wrong variable name (styles => useStyles) (#15908) @hiromoon
- [docs] Icon TypeScript demos (#15965) @goldins
- [docs] Improve dark mode (#15944) @eps1lon
- [docs] Improve interactive performance (#15874) @eps1lon
- [docs] Improve lighthouse a11y score in demos (#15901) @eps1lon
- [docs] Mention Virtuoso as a possible virtualization integration (#15934) @petyosi
- [docs] Migrate Grid demos to hooks (#15970) @merceyz
- [docs] Migrate Hidden demos to hooks (#15989) @merceyz
- [docs] SignIn -> SignUp typo (#15966) @Hatko
- [docs] Update FUNDING.yml with Tidelift string (#15981) @jeffstern
- [docs] Update the translations (#15991) @mbrookes
- [docs] v4 Migration doc slight clean up (#15886) @mlenser
- [example] Fix ssr example to work on Windows (#15949) @petervaldesii
- [example] Fix theme palette value (#15977) @vaidehi27
- [docs] Fix syntax error in v3 migration guide (#16010) @zhuangya
- [docs] Use immediate export when there is no HOC (#16005) @merceyz
### Core
- [core] Add dependency react>=16.3.0 requested by @emotion/core and react-js (#15982) @marco-silva0000
- [core] Fix IE 11 crashes related to Object.assign (#15921) @eps1lon
- [core] Minor fixes (#15875) @joshwooding
- [core] Remove export of internal test-utils (#15895) @eps1lon
- [core] Update babel-plugin-optimize-clsx (#15894) @merceyz
- [core] Upgrade rollup and related plugins (#15939) @merceyz
- [ci] Move static tests into separate job (#15890) @eps1lon
- [core] Upgrade dependencies with esm support (#16000) @TrySound
## 4.0.1
###### *May 27, 2019*
A big thanks to the 23 contributors who made this release possible!
Here are some highlights ✨:
- 🐛 A stability release after the release of v4.0.0.
- 🤖 A new codemod to migrate the theme.spacing.unit API (#15782) @joshwooding
- 🐛 Fix IE 11 crash (#15856) @aditya1906
- 📚 Clean up the documentation after the next -> master migration
### `@material-ui/core@v4.0.1`
- [Buttons] Consolidate ripple props type declarations (#15843) @lychyi
- [IconButton] Add disable ripple props (#15864) @lychyi
- [ListItemText] Update classes type definitions (#15822) @davjo664
- [Tabs] Hide scrollbar on MacOS (#15762) @Umerbhat
- [Tooltip] Fix alignment issues (#15811) @pkmnct
- [styles] Add MuiLink to ComponentsPropsList (#15814) @stuartgrigg
### `@material-ui/icons@v4.0.1`
- [icons] Fix the TypeScript definition of createSvgIcon (#15861) @alexkirsz
### `@material-ui/codemod@v4.0.1`
- [codemod] Create spacing api codemod (#15782) @joshwooding
### `@material-ui/styles@v4.0.1`
- [styles] Fix Symbol() usage in IE11 (#15856) @aditya1906
### `@material-ui/lab@v4.0.0-alpha.14`
- [lab] Add missing clsx calls (#15809) @merceyz
### Docs
- [docs] Add SECURITY.md (#15804) @oliviertassinari
- [docs] Add Transitions header in the dialogs page (#15847) @prasook-jain
- [docs] Add extendedFab migration (#15866) @chanand
- [docs] Add missing Breadcrumbs CSS API (#15813) @joshwooding
- [docs] Correctly fix the Google Ad issue @oliviertassinari
- [docs] Fix Boolan -> Boolean (#15880) @jaironalves
- [docs] Fix Link import (#15871) @bennyn
- [docs] Fix deploy command @oliviertassinari
- [docs] Fix empty v4 blog post link (#15831) @drac
- [docs] Fix typo in styles advanced guide (#15844) @mgvparas
- [docs] Follow the documentation, my bad @oliviertassinari
- [docs] Global at rule is called font-face (#15865) @aditya1906
- [docs] Hide the Ad fallback to Google (#15815) @oliviertassinari
- [docs] Improve SEO structure @oliviertassinari
- [docs] Improve lighthouse performance score (#15758) @eps1lon
- [docs] Let's take our time, we don't need to rush v5 (#15826) @oliviertassinari
- [docs] Minor fixes (#15836) @mbrookes
- [docs] Minor improvements to codesandbox demos and examples (#15857) @eps1lon
- [docs] Move links to the master branch (#15830) @oliviertassinari
- [docs] Redirect next.material-ui.com to material-ui.com (#15838) @mbrookes
- [docs] Update Installation.md for v4.0.0 (#15818) @hinsxd
- [docs] Update the translations (#15807) @mbrookes
- [docs] Update the v4 blog post (#15862) @mbrookes
- [docs] Update translations (#15841) @mbrookes
- [docs] Use makeStyles from core in layout examples (#15845) @divyanshutomar
- [docs] Fix typo in README (#15817) @ammaristotle
- [example] Update gatsby-plugin-material-ui dependency (#15810) @hupe1980
### Core
- [core] Add cross-env to docs:size-why (#15816) @merceyz
- [core] Change the top package name so we get the number of dependents packages @oliviertassinari
- [core] Fix not appearing in github used/dependents (#15859) @eps1lon
- [core] Prepare focus visible polyfill in ref phase (#15851) @eps1lon
- [core] Remove babel-node for server/shared modules (#15764) @cvanem
- [core] Remove dependency on workspace (#15849) @eps1lon
- Create FUNDING.yml @oliviertassinari
- [test] Remove FontAwesome from screenshot tests (#15853) @eps1lon
## 4.0.0
###### *May 23, 2019*
[Material-UI v4 is out 🎉](https://medium.com/material-ui/material-ui-v4-is-out-4b7587d1e701)
Some statistics with v4 compared to the release of v1 one year ago:
- From 300k downloads/month to 2M downloads/month on npm
- From 90k users/month to 350k users/month on the documentation
### `@material-ui/lab@v4.0.0-alpha.13`
- [ToggleButtonGroup] Added missing size prop to type declarations (#15785) @CoolCyberBrain
### `@material-ui/system@v4.0.0`
- [system] Add missing TypeScript types for flexbox and shadows (#15781) @willbamford
### Docs
- [docs] Add remaining TypeScript component demos (#15755) @eps1lon
- [docs] Fix Nav components subsections to be open by default (#15749) @mbrookes
- [docs] Fix some gramma in testing doc (#15776) @DDDDDanica
- [docs] Fix some grammar in right to left guide (#15789) @DDDDDanica
- [docs] Fix typo (#15792) @retyui
- [docs] Material-UI v4 is out (#15766) @oliviertassinari
- [docs] Reference the article with it's full name in icon doc (#15796) @DDDDDanica
- [docs] Revert the marked change (#15797) @oliviertassinari
### Core
- [core] Change cssutils responsiveProperty unit type (#15783) @eddiemonge
## 4.0.0-rc.0
###### *May 20, 2019*
A big thanks to the 17 contributors who made this release possible!
We have done the very last breaking changes (nothing significant).
The release of v4 is imminent, stay tuned!
### `@material-ui/core@v4.0.0-rc.0`
### Breaking changes
- [ClickAwayListener] Fix scrollbar interaction (#15743) @Umerbhat
```diff
-<ClickAwayListener />
+<ClickAwayListener mouseEvent="onMouseUp" />
```
We recommend the default value since `mouseup` will be triggered by clicks
on scrollbars.
- [Tabs] Hide scrollbar buttons when possible (#15676) @whitneymarkov
```diff
-<Tabs />
+<Tabs scrollButtons="desktop" />
```
- [Tabs] Remove deprecated fullWidth and scrollable props (#15670) @mbrookes
```diff
-<Tabs fullWidth scrollable />
+<Tabs variant="scrollable" />
```
### Changes
- [ButtonBase] Convert to function component (#15716) @eps1lon
- [CssBaseline] Fix wrong default font weight (#15747) @oliviertassinari
- [InputBase] Convert to function component (#15446) @adeelibr
- [Popups] Allow Element as anchor el (#15707) @eps1lon
- [Portal] Fix disablePortal not working (#15701) @imdaveead
- [Radio] Animate the check state change (#15671) @imdaveead
- [Tabs] Remove deprecated fullWidth and scrollable props (#15670) @mbrookes
- [Tabs] Update rendering of auto-scrollable buttons (#15676) @whitneymarkov
- [Tabs] Update onChange docs to match types (#15672) @jharrilim
- [ToggleButtonGroup] Add size prop (#15644) @isaacblinder
### `@material-ui/icons@v4.0.0-rc.0`
- [icons] Forward ref (#15683) @eps1lon
### `@material-ui/lab@v4.0.0-alpha.12`
- [SpeedDial] Convert to function component (#15737) @jeongsd
### Docs
- [docs] Add showcase criteria (#15686) @cvanem
- [docs] Document if a component is StrictMode compatible (#15718) @eps1lon
- [docs] Fix "enebles" typo on Palette page (#15719) @sbward
- [docs] Fix a typo (#15709) @designorant
- [docs] Fix Algolia top level duplication (#15738) @oliviertassinari
- [docs] Fix typo and formatting in app-bar demo (#15723) @flying-sheep
- [docs] Overhaul bundle size guide (#15739) @eps1lon
- [docs] Persist the side nav scroll (#15704) @oliviertassinari
- [docs] Port blog to next (#15711) @mbrookes
- [docs] Simplify /related-projects (#15702) @pinturic
- [docs] Use pickers from material-ui namespace (#15691) @eps1lon
- [docs] Warn about ButtonBase#disableRipple and a11y (#15740) @eps1lon
- [docs] Add ClickAwayListener breaking change (#15753) @eps1lon
- [docs] Core a11y improvements (#15748) @eps1lon
- [docs] Fix some apostrophe in TypeScript doc (#15757) @DDDDDanica
### Core
- [test] Colocate shadow root test for focus visible with implementation (#15712) @eps1lon
- [test] Extend StrictMode tests (#15714) @eps1lon
- [core] Add missing fontStyle type to TypographyStyle (#15733) @merceyz
## 4.0.0-beta.2
###### *May 13, 2019*
A big thanks to the 13 contributors who made this release possible!
This is a stability release preparing v4.
### `@material-ui/core@v4.0.0-beta.2`
- [Box] Add export to barrel (index.js) (#15602) @ljvanschie
- [ButtonBase] Extend error message for invalid `component` prop (#15627) @eps1lon
- [Select] Add to docs that options must be direct descendants (#15619) @bh1505
- [SwipeableDrawer] Remove internal accesses in the tests (#15469) @joshwooding
- [Tabs] scrollButtons have an empty button error in compliance tools (#15646) @elnikolinho
- [useScrollTrigger] Enhance trigger, improve tests (#15634) @cvanem
### `@material-ui/styles@v4.0.0-beta.2`
- [styles] Fix warning false positive (#15595) @oliviertassinari
- [styles] Keep MuiThemeProvider for backward compatibility (#15650) @oliviertassinari
### `@material-ui/system@v4.0.0-beta.2`
- [system] Fix css function rejecting certain prop types (#15611) @eps1lon
### `@material-ui/lab@v4.0.0-alpha.11`
- [SpeedDial] Fix classname override logic (#15652) @janhesters
### Docs
- [docs] Add custom default props handler (#15473) @eps1lon
- [docs] Add next page link (#15656) @mbrookes
- [docs] Add QuintoAndar in the showcase (#15622) @oliviertassinari
- [docs] Fix dead David DM badges in README (#15667) @mbrookes
- [docs] Fix few grammar issues (#15643) @DDDDDanica
- [docs] Fix plural spelling (#15613) @cvanem
- [docs] Fix some dev-only warnings (#15640) @eps1lon
- [docs] Fix the adapting makeStyles based on props example syntax (#15621) @devarsh
- [docs] Improve installation instructions for running the docs locally (#15608) @andreawaxman
- [docs] Improve v3 migration guide (#15615) @eps1lon
- [docs] Link edit page button to github editor (#15659) @mbrookes
- [docs] Miscellaneous polish (#15665) @eps1lon
- [docs] Reorganize the structure (#15603) @mbrookes
- [docs] Update the translations (#15653) @mbrookes
### Core
- [core] Drop partial chrome 41 support (#15630) @eps1lon
- [core] Optimize clsx usage (#15589) @merceyz
- [core] Remove react-event-listener from function components (#15633) @joshwooding
- [core] Upgrade the dev dependencies (#15590) @oliviertassinari
## 4.0.0-beta.1
###### *May 5, 2019*
A big thanks to the 19 contributors who made this release possible!
Here are some highlights ✨:
- 🐛 Many bug fixes based on people migrating from v3 to v4.
- 💄 Responsive font sizes (#14573) @n-batalha.
- 💄 AppBar scroll behavior (#15522) @cvanem.
- ♿️ Better Button and Tooltip keyboard behavior (#15398, #15484) @eps1lon.
- And many more 🔍 TypeScript fixes and 📚 documentation improvements.
### `@material-ui/core@v4.0.0-beta.1`
### Bug fixes / Breaking changes
- [ListItem][ExpansionPanel] Follow the style convention (#15534) @oliviertassinari
Fix a CSS override issue.
- [Tooltip] Display only on keyboard focus (#15398) @eps1lon
Fix an accessibility issue.
### Changes
- [AppBar] Hide and Elevate on Scroll (#15522) @cvanem
- [Box] Add to core index TypeScript definitions (#15576) @ljvanschie
- [ButtonBase] Use fork of focus-visible polyfill (#15484) @eps1lon
- [Menu] Add 'variant' prop TypeScript declaration (#15556) @kunimart
- [MenuList] Ignore disableListWrap for text focus navigation (#15555) @ryancogswell
- [Portal] Migrate to React hooks (#15399) @gautam-pahuja
- [TableCell] Fix TypeScript declaration of the 'padding' prop (#15516) @kunimart
- [TableCell] Update TypeScript definitions (#15541) @ljvanschie
- [TablePagination] Use OverridableComponent in TypeScript declarations (#15517) @kunimart
- [Tabs] Fix aria-label issue on the demos (#15507) @amangalvedhekar
- [theme] Responsive font sizes (#14573) @n-batalha
- [Transition] Fix false-positive ref warning (#15526) @eps1lon
- [Badge] Handle undefined badgeContent rendering empty bubble (#15581) @Naismith
### `@material-ui/styles@v4.0.0-beta.1`
- [styles] Create a new JSS instance with injectFirst (#15560) @oliviertassinari
- [core] Set default theme type for makeStyles (#15549) @merceyz
- [core] Set default theme type for useTheme (#15538) @merceyz
### `@material-ui/types@v4.0.0-beta.2`
- [types] Add @material-ui/types package (#15577) @eps1lon
### `@material-ui/system@v4.0.0-beta.1`
- [system] Test types (#15575) @eps1lon
### `@material-ui/lab@v4.0.0-alpha.10`
- [Slider] Save focus after click (#15439) @jztang
### Docs
- [example] Fix TypeScript compilation error (#15550) @emmtqg
- [docs] Add DelayingApperance TypeScript demo (#15551) @merceyz
- [docs] Convert react-autosuggest demo to TypeScript (#15485) @nareshbhatia
- [docs] Document v4 theme.spacing.unit deprecation (#15571) @cvanem
- [docs] Extract inherited component from test (#15562) @eps1lon
- [docs] Fix Draggable Dialog interactions with the content (#15552) @devdanco
- [docs] Fix outdated links & demos (#15521) @oliviertassinari
- [docs] Fix typechecking (#15501) @merceyz
- [docs] Fix typography demo in dark mode (#15591) @jztang
- [docs] Improve v3 migration guide (#15527) @janhesters
- [docs] Migrate more demos to hooks (#15494) @merceyz
- [docs] Remove NoSsr where possible (#15510) @oliviertassinari
- [docs] Simplify wording for customization demo descriptions (#15539) @mbrookes
- [docs] Update Changelog (#15567) @oliviertassinari
- [docs] Updated v3 Migration guide (#15518) @vkasraj
### Core
- [core] Add additional warnings when attaching ref to function elements (#15519) @eps1lon
- [core] Add ref prop to transition components (#15520) @eps1lon
- [core] Better handle theme.overrides pseudo-classes (#15578) @oliviertassinari
- [core] Fix createStyles not being defined (#15547) @pvdstel
## 4.0.0-beta.0
###### *Apr 28, 2019*
A big thanks to the 21 contributors who made this release possible!
Here are some highlights ✨:
- ♿️ Significantly improve the keyboard behavior of the menu (#15360, #15495) @ryancogswell.
- 💅 Generate global class names (#15140) @oliviertassinari.
- 📦 Add example integration with Preact (#15401).
- 🔥 Continue the TypeScript and hook demos migration @merceyz, @bh1505, @donigianrp, @eluchsinger, @eps1lon, @lksilva.
- 🎀 4 more core components migrated from Classes to Hooks @joshwooding.
- 📦 Reduce the cost of using the Modal by -74% standalone (#15466).
- And many more 🐛 bug fixes and 💄 improvements.
The library has entered the beta phase of v4.
We are grateful to all the contributors that have helped us so far.
We will focus or effort on the stability of the library for the next two weeks.
We don't plan more breaking changes, at the exception of changes that are required to fix bugs or that have minor impacts.
We hope we can release v4 on May 15th, one year after v1.
Please try the beta out! You can find an [upgrade guide](https://material-ui.com/guides/migration-v3/) to ease the transition.
You will learn more about v4 in the final release blog post and our plans for the future.
### `@material-ui/core@v4.0.0-beta.0`
#### Breaking changes
- [styles] Generate global class names (#15140) @oliviertassinari
Remove the dangerouslyUseGlobalCSS options (makes it the default behavior).
- [Modal] -74% bundle size reduction when used standalone (#15466) @oliviertassinari
Remove the classes customization API for the Modal component.
- [core] Remove RootRef usage (#15347) @joshwooding
The Modal and Dialog child needs to be able to hold a ref.
```diff
class Component extends React.Component {
render() {
return <div />
}
}
-const MyComponent = props => <div {...props} />
+const MyComponent = React.forwardRef((props, ref) => <div ref={ref} {...props} />);
<Modal><Component /></Modal>
<Modal><MyComponent /></Modal>
<Modal><div /></Modal>
```
- [ClickAwayListener] Hide react-event-listener (#15420) @oliviertassinari
- [Slide] Convert to function component (#15344) @joshwooding
The child needs to be able to hold a ref.
```diff
class Component extends React.Component {
render() {
return <div />
}
}
-const MyComponent = props => <div {...props} />
+const MyComponent = React.forwardRef((props, ref) => <div ref={ref} {...props} />);
<Slide><Component /></Slide>
<Slide><MyComponent /></Slide>
<Slide><div /></Slide>
```
#### Changes
- [TextField] Update labelWidth for outline variant if required is updated (#15386) @dmiller9911
- [Breadcrumbs] Fix types and enable component generic props (#15414) @Atralbus
- [TextField] Pass rowsMin prop to underlying abstractions (#15411) @pachuka
- [SelectInput] Convert to function component (#15410) @joshwooding
- [Link] Improve TypeScript integration with react-router (#15412) @pachuka
- [ButtonBase] Remove dead style (#15503) @koshea
- [Menu] Improve performance and add support for variants (#15360) @ryancogswell
- [MenuList] Add text keyboard focus navigation (#15495) @ryancogswell
- [Modal] -74% bundle size reduction (#15466) @oliviertassinari
- [Paper] Fix color inheritance issue using nested themes (#15465) @mustafahlvc
- [Popper] Convert to function component (#15405) @joshwooding
- [Radio][Checkbox] Revert breaking changes (#15483) @oliviertassinari
- [Select] Display 0 as a valid value, fix a propType warning (#15468) @Princezhm
- [Slider] Add Customized Slider Demo (#15478) @bh1505
- [Snackbar] Convert to function component (#15504) @adeelibr
- [Textarea] Fix cursor jump (#15436) @oliviertassinari
- [Textarea] Remove rowsMin prop (#15430) @pachuka
### `@material-ui/styles@v4.0.0-beta.0`
- [styles] Add type test for withStyles + ref (#15383) @eps1lon
- [styles] Warn if @material-ui/styles is duplicated (#15422) @oliviertassinari
- [styles] Generate global class names (#15140) @oliviertassinari
### Docs
- [docs] Add Button + react-router TypeScript demo (#15382) @eps1lon
- [docs] Add CustomizedSwitches TypeScript demo (#15424) @donigianrp
- [docs] Add Interactive List TypeScript demos (#15416) @lksilva
- [docs] Add Nested List and Switch List Secondary TypeScript demos (#15493) @bh1505
- [docs] Add ref vs dom node prop explanation (#15458) @eps1lon
- [docs] Add Selected List Item to TypeScript demos (#15417) @lksilva
- [docs] Add SkipNav (#15409) @mbrookes
- [docs] Add some Selection-Controls TypeScript demos (#15408) @bh1505
- [docs] Add switches TypeScript demo (#15384) @JarkEMones
- [docs] Add TypeScript demo for hook+props based styling (#15459) @eps1lon
- [docs] Document Tooltip breaking changes (#15403) @joshwooding
- [docs] Fix modal demo jumping on cursor move (#15462) @eps1lon
- [docs] Improve CSS Grid documentation (#15477) @dmwyatt
- [docs] Improved demo transpiling (#15438) @merceyz
- [docs] material-table demo: persist the changes (#15392) @mbrn
- [docs] Migrate Divider demos to hooks (#15490) @merceyz
- [docs] Migrate Drawer demos to hooks (#15487) @merceyz
- [docs] Migrate List demos to hooks (#15488) @merceyz
- [docs] Migrate Paper demos to hooks (#15489) @merceyz
- [docs] Migrate picker demos to hooks (#15390) @merceyz
- [docs] Migrate Table demos to hooks (#15486) @merceyz
- [docs] Migrate TextField demos to hooks (#15434) @merceyz
- [docs] Remove unused imports and declarations (#15479) @merceyz
- [docs] Separate out selection controls to own pages (#15427) @mbrookes
- [docs] Small grammar fix for Menu (#15475) @mbrookes
- [docs] Transfer List TypeScript Demo (#15419) @eluchsinger
- [example] Add preact-next example (#15401) @oliviertassinari
- [example] Fix gatsby-next (#15406) @TheHolyWaffle
### Core
- [core] Fix the CI fail (#15428) @oliviertassinari
- [ci] Fail when demos are only available in TS (#15460) @eps1lon
- [core] Fix useLayoutEffect warnings on the server (#15463) @eps1lon
- [core] Minor nitpicks (#15432) @joshwooding
- [core] Use terser for minification in umd bundle (#15491) @eps1lon
- [test] Conform components forward ref to root component (#15425) @eps1lon
- [test] Fix a flaky test (#15445) @oliviertassinari
- [test] Keep track of the bundle size of TrapFocus (#15453) @oliviertassinari
## 4.0.0-alpha.8
###### *Apr 17, 2019*
A big thanks to the 27 contributors who made this release possible!
Here are some highlights ✨:
- 🔥 Many new TypeScript & hook demos @donigianrp, @sperry94, @jasondashwang, @cahilfoley, @bh1505 and @kenzhemir
- 🎀 5 more core components migrated from Classes to Hooks @joshwooding, @oliviertassiari.
- 📐 Update the List to better match the Material Design specification.
- 🎁 Add new TransferList component @mbrookes.
- And many more 🐛 bug fixes and 💄 improvements.
We hope the next release can be 4.0.0-beta.0.
Here are the last breaking changes we want to introduce:
- Remove the `dangerouslyUseGlobalCSS` option (make it the default behavior) (#15140)
- Require the Slide and Modal child element to be able to hold a ref (#15344, #15347)
- Hide the EventListener dependency of ClickAwayListener (#15126)
We have done a lot of changes in the alpha phase.
The beta phase will be used to stabilize the library, we might have introduced bugs.
We will encourage people to try the beta out. We hope the migration will be smooth [with the upgrade guide](https://material-ui.com/guides/migration-v3/).
We hope 2-3 weeks of beta will be enough. We plan on releasing v4 stable in May.
### `@material-ui/core@v4.0.0-alpha.8`
#### Breaking change
- [Paper] Reduce the default elevation (#15243) @oliviertassinari
Change the default Paper elevation to match the Card and the Expansion Panel:
```diff
-<Paper />
+<Paper elevation={2} />
```
- [List] Update to match the specification (#15339) @oliviertassinari
Rework the list components to match the specification:
- The usage of the `ListItemAvatar` component is required when using an avatar
- The usage of the `ListItemIcon` component is required when using a left checkbox
- The `edge` property should be set on the icon buttons.
- [actions] Rename disableActionSpacing to disableSpacing (#15355) @oliviertassinari
- [CardActions] Rename the `disableActionSpacing` prop `disableSpacing`.
- [CardActions] Remove the `disableActionSpacing` CSS class.
- [CardActions] Rename the `action` CSS class `spacing`.
- [DialogActions] Rename the `disableActionSpacing` prop `disableSpacing`.
- [DialogActions] Rename the `action` CSS class `spacing`.
- [ExpansionPanelActions] Rename the `action` CSS class `spacing`.
- [Tooltip] Convert to function component (#15291) @joshwooding
The child of the `Tooltip` needs to be able to hold a ref
```diff
class Compo