Releases: mui/material-ui
Releases · mui/material-ui
v0.10.3
General
- We've set up the project to perform automated tests - now we just need to increase our test coverage. :) (#1331)
- The style auto-prefixer now caches browser test results so that it only has to perform them once.
New Components
- RefreshIndicator (#1312)
Component Fixes / Enhancements
- AppBar - showMenuIconButton now only affects the icon next to the title (#1295, #1182)
- CardMedia - CardMedia children styles are now being properly merged (#1306)
- Dialog - fixed a bug that caused the dialog height to be incorrect on window resize (#1305)
- FloatingActionButton - Added backgroundColor and disabledColor props (#1329)
- FocusRipples now only get rendered when needed.
- IconMenu - Added isOpen() (#1288)
- LeftNav
- ListItem - fixed incorrect styling on disabled list items (#1350)
- SelectField
- Snackbar - Clickaway is now properly bound when openOnMount is true (#1327)
- Tabs - Added contentContainerClassName prop (#1285)
- TextField - Added underlineStyle prop (#1343)
- TimePicker - Added pedantic prop (#1275, #1173)
v0.10.2
Breaking Changes (This was missed in the original release notes.)
- Changed
date-picker/index.js
to expose DatePicker and DatePickerDialog. Hencerequire('material-ui/lib/date-picker')
no longer works. Userequire('material-ui/lib/date-picker/date-picker')
instead.
General
- Replaced onMouseOver / onMouseOut with onMouseEnter / onMouseLeave to achieve hover affects.
This prevented extra unnecessary renders from happening. (#1190) - All svg icons inside the /svg-icons folder now uses the PureRenderMixin.
Icon Builder
Component Fixes / Enhancements
- AppBar - Fixed a styling bug in Safari (#1226)
- Cards can now expand and collapse (#1060)
- DatePicker
- Dialog
- DropDownMenu - Clicking away no longer triggers other click events to happen (#1177, #1174)
- FocusRipples now only render when actually shown.
- IconMenu
- Fixed a bug that caused a scrollable menu to jump after selecting an item.
- Fixed keyboard focus when user hits ESC.
- LeftNav
- Menu
- Performance improvements when opening a menu.
- Added animated prop.
- RaisedButton - Fixed a bug that caused rounded corners not to round (#1048)
- SelectField - Now passes the index and payload back in the onChange callback (#1193, #1194)
- Slider - Fixed a bug that caused value to not be set correctly (#1251)
- Snackbar - Extra props are now being passed down to the root (#1260)
- SvgIcon - Added code to remove some unnecessary renders on hover.
- Toolbar - Fixed display glitch on Firefox (#839, #1248)
v0.10.1
Component Fixes / Enhancements
- CircularProgress - Fixed animation bug in Safari (#1093, #863)
- Dialog
- DropDownMenu
- IconMenu - Added
closeOnItemTouchTap
prop (#1156) - LeftNav - Performance improvements during show/hide (#1137)
- SelectField -
errorText
is now being passed down to underlyingtextField
(#1131) - Table - Added static width to checkbox columns (#1128)
- Tabs - Added
inkBarStyle
prop (#1154) - TextField -
errorStyle
prop is now being properly merged (#1116)
v0.10.0
Breaking Changes
- Removed
input.jsx
file. This component was deprecated long ago, but was never removed from the project. - Buttons now default to a type of
button
instead of the browser's default ofsubmit
. We found that
most of the buttons in our apps were not submit buttons and it was more intuitive to default tobutton
.
If you need a submit button, be sure to pass in a type ofsubmit
. (#1017) - The
DialogWindow
component was refactored intoDialog
.DialogWindow
was never documented and was just
a lower level component that was used byDialog
. It was, however, exposed on the mainindex.js
and has
since been removed. If you were usingDialogWindow
before, you should be able to safely use
Dialog
instead.
New Components
- SvgIcons & Icon Builder
- We've created SvgIcon versions of all the
material-design-icons. These SvgIcon
components can be found in the/lib/svg-icons
directory and were not added to the mainindex.js
file. To use these icons, require them directly:require('material-ui/lib/svg-icons/action/face')
.
These icons were created using a script that crawls the icon repo and generates the
appropriatejs
andjsx
files and can be found in the/icon-builder
directory.
- We've created SvgIcon versions of all the
- Menu, MenuItem, MenuDivider
- This is a new implementation of menus and menu items. With it comes:
- better composability
- scrollable menus
- better transitions
- better keyboard access
- selectable with value and valueLink
- We're working on migrating some of our other components to use this new implementation. Until that's
thats done, require these components directly if you'd like to use them:
require('material-ui/lib/menus/menu')
.
- This is a new implementation of menus and menu items. With it comes:
- IconMenu
- This component replaces
DropDownIcon
and has all of the new menu features mentioned above.
- This component replaces
Component Fixes / Enhancements
- AppBar
- AppCanvas - AppBar child styles can now be overridable (#903)
- Avatar - Added
size
prop (#945) - CardMedia - Styles are now being properly merged using the
mediaStyle
prop (#1004) - CircularProgress - Added
color
andinnerStyle
prop (#928) - DatePicker
- Dialog
- FloatingActionButton - Now accepts
FontIcon
andSvgIcon
as children (#967, #894) - FontIcon - Now supports
material-icon
ligatures (#952, #1007) - IconButton
- LeftNav - Fixed swipe gesture to open / close (#868, #848, #998, #997)
- List - Added
zDepth
prop. - ListItem
- Menu
- MenuItems now properly renders icons (#956)
- Overlay
- RaisedButton
- SelectField
- Slider
- Snackbar
- Table
- Tab - Added
contentContainerStyle
prop (#953) - Tabs - Fixed a bug that caused inkbar to not display properly (#1015, #940)
- TextField
- TimePicker - Fixed key warnings (#1018)
- Toolbar
v0.9.2
New Components
- SelectField (#846)
- Card, CardActions, CardHeader, CardMedia, CardText, CardTitle (#857)
- Table (#890)
Components
- AppBar - Long AppBar titles now render ellipses (#875)
- Buttons
- Added containerElement prop (#850)
- Fixed styling for disabled link buttons
- DropDownMenu - Added keyboard functionality (#846)
- FontIcon - Added color and hoverColor props
- ListItem
- Fixed display problem with Single line checkboxes (#854)
- Added rightIconButton prop
- Slider - Added step functionality (#860)
- Switches - Added labelStyle prop (#871)
- SvgIcon - Added color and hoverColor props
- TextField - Made element styles overridable (#864)
- TimePicker
- Toggle
- Toolbar - Fixed error when a child element is null (#847)
Theming
- Theme spacing can now be overriden (#879)
v0.9.1
General
The following components have been modified to allow for style overrides:
Radio Button Group, Radio Button, Enhanced Switch Label, Text Field, Toggle, Checkbox (#807)
New Components
- List, ListItem, ListDivider, Avatar (#836)
Components
- Checkbox - Added checkedIcon and unCheckedIcon props. This is useful to create icon toggles.
- Dialog - Fixed a bug with the open immediately flag (#810)
- DropDownIcon - Added support for icon ligature (#806)
- Menu - Fixed a style problem (#843)
- RadioButtonGroup - Fixed a bug with mapping Radio children (#820)
- Slider - Fixed a glitch that happened when click on the slider handle (#833)
- TextField - Added fullWidth prop (#827)
- TimePicker
v0.9.0
Breaking
We've cleaned up some of our click/tap events. (#771) Upgrade should be straight forward, please see below:
- DropDownIcon - closeOnMenuItemClick has been replaced with closeOnMenuItemTouchTap.
- Menu - onItemClick has been removed; use onItemTap instead.
- MenuItem - onClick event has been removed; use onTouchTap instead.
General
- ClickAwayable is now bound to onTouchTap instead of onClick (#766)
Components
- AppBar will now render its children (#725)
- DatePicker will now properly handle defaultDate prop changes (#722)
- Dialog actions now respond to onTouchTap (#752)
- LeftNav
- Menu
- RadioButtonGroup can now have its styles overridden (#768)
- RaisedButtons - Fixed a bug that caused incorrect transitions (#731, #702)
- SvgIcon - ViewBox can now be passed in as a prop (#747)
- Tabs - Components inside tabs now keep their state when switching between tabs (#700, #450)
- TextField
- Multi-line text fields can now be initialized with a certain number of rows (#693)
- Fixed style bug that caused width to not be set on disabled text-fields
- Fixed style bug that caused focus underline to be black
- Fixed style problem that caused text to jump on multi-line inputs
- Theme (New)
- This is a high order component that can be used to set your theme overrides (#797)
v0.8.0
Breaking Changes
- Refactored all CSS into Javascript (#30, #316)
- All Material-UI components now have their styles defined inline. This solves
many problems with CSS as mentions in @vjeux's presentation
such as polluting the global namespace with classes that really should be
component specific. In addition to the benefits mentioned in the
presentation, inline styles allow Material-UI to become CSS preprocessor
agnostic and make Themeing much more dynamic and simple.
Read our CSS in JS discussion - Upgrade path:
- If you are overriding component CSS classes: Redefine your overrides as
an object following React's inline styles format,
then pass it into the material-ui component via thestyle
prop. These
changes are applied to the root element of the component. If you are
overriding a nested element of the component, check the component's
documentation and see if there is a style prop available for that nested
element. If a style prop does not exist for the component's nested element
that you are trying to override, submit an issue
requesting to have it added. - If you are using any of Material-UI's Less files: These files have been
refactored into their own javascript files
and can be accessed like sovar FILENAME = require('material-ui').Styles.FILENAME;
.
Material-UI has moved away from being a CSS Framework to being simply a
set of React components.
- If you are overriding component CSS classes: Redefine your overrides as
- All Material-UI components now have their styles defined inline. This solves
- Paper component no longer generates nested divs (#601)
- This allowed us to simplify styling of paper containers. As a result, styling the inner div is no longer necessary.
General
- Themes have been added (#202)
- Requiring individual components is now supported (#363)
- An example would be:
var SvgIcon = require('material-ui/lib/svg-icon);
- The
/lib
folder in Material-UI contains the file structure needed when referencing individual components.
- An example would be: