From 0dc2e4aca18e72b4d263abfb9defa10fb759ab96 Mon Sep 17 00:00:00 2001
From: Ali Taheri <ali.taheri.m@gmail.com>
Date: Tue, 6 Oct 2015 15:54:45 +0330
Subject: [PATCH] Added undocumented style property to the components that use
 it

---
 .../components/pages/components/app-bar.jsx   |  2 +-
 .../app/components/pages/components/cards.jsx |  6 +++
 .../components/pages/components/dialog.jsx    |  6 +++
 .../components/pages/components/grid-list.jsx | 12 ++++++
 .../pages/components/icon-menus.jsx           |  6 +++
 .../app/components/pages/components/icons.jsx | 12 ++++++
 .../app/components/pages/components/lists.jsx | 12 ++++++
 .../app/components/pages/components/menus.jsx | 12 ++++++
 .../components/pages/components/progress.jsx  |  6 +++
 .../app/components/pages/components/table.jsx | 42 +++++++++++++++++++
 .../components/pages/components/toolbars.jsx  | 18 ++++++++
 src/card/card-actions.jsx                     |  1 +
 src/card/card-expandable.jsx                  |  1 +
 src/card/card-header.jsx                      |  1 +
 src/card/card-title.jsx                       |  1 +
 src/circular-progress.jsx                     |  1 +
 src/clearfix.jsx                              |  4 ++
 src/date-picker/date-display.jsx              |  1 +
 src/date-picker/date-picker-dialog.jsx        |  1 +
 src/dialog.jsx                                |  1 +
 src/drop-down-icon.jsx                        |  1 +
 src/drop-down-menu.jsx                        |  1 +
 src/enhanced-button.jsx                       |  1 +
 src/enhanced-switch.jsx                       |  1 +
 src/enhanced-textarea.jsx                     |  1 +
 src/flat-button.jsx                           |  1 +
 src/floating-action-button.jsx                |  1 +
 src/font-icon.jsx                             |  1 +
 src/grid-list/grid-list.jsx                   |  1 +
 src/grid-list/grid-tile.jsx                   |  1 +
 src/icon-button.jsx                           |  1 +
 src/ink-bar.jsx                               |  1 +
 src/left-nav.jsx                              |  1 +
 src/linear-progress.jsx                       |  1 +
 src/lists/list-divider.jsx                    |  1 +
 src/lists/list-item.jsx                       |  1 +
 src/lists/list.jsx                            |  1 +
 src/lists/nested-list.jsx                     |  1 +
 src/menu/link-menu-item.jsx                   |  1 +
 src/menu/menu-item.jsx                        |  1 +
 src/menu/menu.jsx                             |  2 +
 src/menu/subheader-menu-item.jsx              |  1 +
 src/menus/icon-menu.jsx                       |  1 +
 src/menus/menu-divider.jsx                    |  4 ++
 src/menus/menu-item.jsx                       |  1 +
 src/menus/menu.jsx                            |  1 +
 src/overlay.jsx                               |  1 +
 src/paper.jsx                                 |  1 +
 src/radio-button-group.jsx                    |  1 +
 src/raised-button.jsx                         |  1 +
 src/ripples/circle-ripple.jsx                 |  1 +
 src/ripples/focus-ripple.jsx                  |  1 +
 src/ripples/touch-ripple.jsx                  |  1 +
 src/select-field.jsx                          |  1 +
 src/slider.jsx                                |  1 +
 src/snackbar.jsx                              |  1 +
 src/svg-icon.jsx                              |  1 +
 src/tabs/tab.jsx                              |  1 +
 src/tabs/tabs.jsx                             |  1 +
 src/text-field.jsx                            |  1 +
 src/toolbar/toolbar-group.jsx                 |  3 +-
 src/toolbar/toolbar-separator.jsx             |  4 ++
 src/toolbar/toolbar-title.jsx                 |  1 +
 src/tooltip.jsx                               |  5 ++-
 src/transition-groups/scale-in-child.jsx      |  1 +
 src/transition-groups/scale-in.jsx            |  1 +
 src/transition-groups/slide-in-child.jsx      |  1 +
 src/transition-groups/slide-in.jsx            |  1 +
 68 files changed, 203 insertions(+), 4 deletions(-)

diff --git a/docs/src/app/components/pages/components/app-bar.jsx b/docs/src/app/components/pages/components/app-bar.jsx
index a0900340ab69e8..e01a768a1c4f4b 100644
--- a/docs/src/app/components/pages/components/app-bar.jsx
+++ b/docs/src/app/components/pages/components/app-bar.jsx
@@ -63,7 +63,7 @@ export default class AppBarPage extends React.Component {
             name: 'style',
             type: 'object',
             header: 'optional',
-            desc: 'Override the inline-styles of the app bars\'s root element.',
+            desc: 'Override the inline-styles of the app bar\'s root element.',
           },
           {
             name: 'showMenuIconButton',
diff --git a/docs/src/app/components/pages/components/cards.jsx b/docs/src/app/components/pages/components/cards.jsx
index cb89da0dbfa486..d4073f478dc28f 100644
--- a/docs/src/app/components/pages/components/cards.jsx
+++ b/docs/src/app/components/pages/components/cards.jsx
@@ -68,6 +68,12 @@ export default class CardPage extends React.Component {
                   'and CardActions implement showExpandableButton. Any child component of Card can implements ' +
                   'showExpandableButton or forwards the property to a child component supporting it.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the card\'s root element.',
+          },
         ],
       },
       {
diff --git a/docs/src/app/components/pages/components/dialog.jsx b/docs/src/app/components/pages/components/dialog.jsx
index c083255c48359e..e0fa6ba396cf14 100644
--- a/docs/src/app/components/pages/components/dialog.jsx
+++ b/docs/src/app/components/pages/components/dialog.jsx
@@ -44,6 +44,12 @@ export default class DialogPage extends React.Component {
             header: 'optional',
             desc: 'The ref of the action to focus on when the dialog is displayed.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the dialog\'s root element.',
+          },
           {
             name: 'bodyStyle',
             type: 'object',
diff --git a/docs/src/app/components/pages/components/grid-list.jsx b/docs/src/app/components/pages/components/grid-list.jsx
index 44107245ffdb92..de0da2df20fae7 100644
--- a/docs/src/app/components/pages/components/grid-list.jsx
+++ b/docs/src/app/components/pages/components/grid-list.jsx
@@ -43,6 +43,12 @@ class GridListPage extends React.Component {
             header: 'optional',
             desc: 'Number of px for one cell height. Defaults to 180.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the grid list\'s root element.',
+          },
         ],
       },
       {
@@ -96,6 +102,12 @@ class GridListPage extends React.Component {
             header: 'optional',
             desc: 'Height of the tile in number of grid cells. Defaults to 1.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the grid tile\'s root element.',
+          },
           {
             name: 'rootClass',
             type: 'string|ReactComponent',
diff --git a/docs/src/app/components/pages/components/icon-menus.jsx b/docs/src/app/components/pages/components/icon-menus.jsx
index 2225cabcf4533c..4ff81b48069b00 100644
--- a/docs/src/app/components/pages/components/icon-menus.jsx
+++ b/docs/src/app/components/pages/components/icon-menus.jsx
@@ -56,6 +56,12 @@ export default class IconMenus extends React.Component {
             header: 'default: false',
             desc: 'Indicates if the menu should render with compact desktop styles.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the icon menu\'s root element.',
+          },
           {
             name: 'iconStyle',
             type: 'object',
diff --git a/docs/src/app/components/pages/components/icons.jsx b/docs/src/app/components/pages/components/icons.jsx
index 9a467e095d28c3..99c64f6dfa9d7b 100644
--- a/docs/src/app/components/pages/components/icons.jsx
+++ b/docs/src/app/components/pages/components/icons.jsx
@@ -75,6 +75,12 @@ export default class FontIconPage extends React.Component {
             header: 'optional',
             desc: 'This is the icon color when the mouse hovers over the icon.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the font icon\'s root element.',
+          },
         ],
       },
       {
@@ -93,6 +99,12 @@ export default class FontIconPage extends React.Component {
             header: 'optional',
             desc: 'This is the icon color when the mouse hovers over the icon.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the svg icon\'s root element.',
+          },
         ],
       },
     ];
diff --git a/docs/src/app/components/pages/components/lists.jsx b/docs/src/app/components/pages/components/lists.jsx
index 766a1286ecf0f1..6c05d6ad378c2f 100644
--- a/docs/src/app/components/pages/components/lists.jsx
+++ b/docs/src/app/components/pages/components/lists.jsx
@@ -53,6 +53,12 @@ export default class ListsPage extends React.Component {
             header: 'default: false',
             desc: 'If true, the subheader will be indented by 72px.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the list\'s root element.',
+          },
           {
             name: 'subheader',
             type: 'node',
@@ -170,6 +176,12 @@ export default class ListsPage extends React.Component {
             header: 'default: 1',
             desc: 'Can be 1 or 2. This is the number of secondary text lines before ellipsis will show.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the list item\'s root element.',
+          },
         ],
       },
       {
diff --git a/docs/src/app/components/pages/components/menus.jsx b/docs/src/app/components/pages/components/menus.jsx
index d8c51fec34f838..93314a0c667a09 100644
--- a/docs/src/app/components/pages/components/menus.jsx
+++ b/docs/src/app/components/pages/components/menus.jsx
@@ -46,6 +46,12 @@ export default class MenusPage extends React.Component {
             header: 'default: false',
             desc: 'Indicates if the menu should render with compact desktop styles.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the menu\'s root element.',
+          },
           {
             name: 'listStyle',
             type: 'object',
@@ -114,6 +120,12 @@ export default class MenusPage extends React.Component {
             header: 'default: false',
             desc: 'Disables a menu item.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the menu item\'s root element.',
+          },
           {
             name: 'innerDivStyle',
             type: 'object',
diff --git a/docs/src/app/components/pages/components/progress.jsx b/docs/src/app/components/pages/components/progress.jsx
index 92ea197e8c3e64..0b2467fda17483 100644
--- a/docs/src/app/components/pages/components/progress.jsx
+++ b/docs/src/app/components/pages/components/progress.jsx
@@ -66,6 +66,12 @@ let ProgressPage = React.createClass({
             header: 'default: 1',
             desc: 'The size of the progress.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the progress\'s root element.',
+          },
         ],
       },
     ];
diff --git a/docs/src/app/components/pages/components/table.jsx b/docs/src/app/components/pages/components/table.jsx
index d3b94d2acc8c9b..28101351862c61 100644
--- a/docs/src/app/components/pages/components/table.jsx
+++ b/docs/src/app/components/pages/components/table.jsx
@@ -87,6 +87,12 @@ export default class TablePage extends React.Component {
             desc: 'If true, table rows can be selected. If multiple row selection is desired, enable multiSelectable. ' +
               'The default value is true.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the table\'s root element.',
+          },
         ],
       },
       {
@@ -120,6 +126,12 @@ export default class TablePage extends React.Component {
             desc: 'If set to true the select all checkbox will be programmatically checked and will not trigger the select ' +
               'all event.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the table header\'s root element.',
+          },
         ],
       },
       {
@@ -177,6 +189,12 @@ export default class TablePage extends React.Component {
             header: 'optional',
             desc: 'If true, every other table row starting with the first row will be striped. The default value is false.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the table body\'s root element.',
+          },
         ],
       },
       {
@@ -190,6 +208,12 @@ export default class TablePage extends React.Component {
               'is true, this property will not influence the number of columns. This is mainly useful for "super header" ' +
               'rows so that the checkbox column does not create an offset that needs to be accounted for manually.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the table footer\'s root element.',
+          },
         ],
       },
       {
@@ -232,6 +256,12 @@ export default class TablePage extends React.Component {
             header: 'default: false',
             desc: 'Indicates whether or not the row is striped.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the table row\'s root element.',
+          },
         ],
       },
       {
@@ -255,6 +285,12 @@ export default class TablePage extends React.Component {
             header: 'optional',
             desc: 'Additional styling that can be applied to the tooltip.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the table header column\'s root element.',
+          },
         ],
       },
       {
@@ -272,6 +308,12 @@ export default class TablePage extends React.Component {
             header: 'default: false',
             desc: 'If true, this column responds to hover events.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the table row column\'s root element.',
+          },
         ],
       },
       {
diff --git a/docs/src/app/components/pages/components/toolbars.jsx b/docs/src/app/components/pages/components/toolbars.jsx
index 9a79c43ffe8549..074e3b68200673 100644
--- a/docs/src/app/components/pages/components/toolbars.jsx
+++ b/docs/src/app/components/pages/components/toolbars.jsx
@@ -43,6 +43,12 @@ export default class ToolbarPage extends React.Component {
             header: 'optional',
             desc: 'Optional pull "left" or "right"',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the toolbar group\'s root element.',
+          },
         ],
       },
       {
@@ -53,6 +59,12 @@ export default class ToolbarPage extends React.Component {
             desc: 'A vertical bar used to separate groups of components. It ' +
                   'is used to easily organize components.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the toolbar separator\'s root element.',
+          },
         ],
       },
       {
@@ -68,6 +80,12 @@ export default class ToolbarPage extends React.Component {
             header: 'optional',
             desc: 'The text to be displayed for the element.',
           },
+          {
+            name: 'style',
+            type: 'object',
+            header: 'optional',
+            desc: 'Override the inline-styles of the toolbar title\'s root element.',
+          },
         ],
       },
     ];
diff --git a/src/card/card-actions.jsx b/src/card/card-actions.jsx
index 02be4876104fba..1f5068286cb56e 100644
--- a/src/card/card-actions.jsx
+++ b/src/card/card-actions.jsx
@@ -48,6 +48,7 @@ const CardActions = React.createClass({
     expandable: React.PropTypes.bool,
     actAsExpander: React.PropTypes.bool,
     showExpandableButton: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   render() {
diff --git a/src/card/card-expandable.jsx b/src/card/card-expandable.jsx
index 076757d3860336..b55f5fe7b9a2ba 100644
--- a/src/card/card-expandable.jsx
+++ b/src/card/card-expandable.jsx
@@ -40,6 +40,7 @@ const CardExpandable = React.createClass({
   propTypes: {
     onExpanding: React.PropTypes.func.isRequired,
     expanded: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/card/card-header.jsx b/src/card/card-header.jsx
index 3035976f3847b1..8db6a8eb691d4f 100644
--- a/src/card/card-header.jsx
+++ b/src/card/card-header.jsx
@@ -42,6 +42,7 @@ const CardHeader = React.createClass({
     title: React.PropTypes.node,
     titleColor: React.PropTypes.string,
     titleStyle: React.PropTypes.object,
+    style: React.PropTypes.object,
     subtitle: React.PropTypes.node,
     subtitleColor: React.PropTypes.string,
     subtitleStyle: React.PropTypes.object,
diff --git a/src/card/card-title.jsx b/src/card/card-title.jsx
index 9b6a86a52cc04a..a41b0c54be232a 100644
--- a/src/card/card-title.jsx
+++ b/src/card/card-title.jsx
@@ -41,6 +41,7 @@ const CardTitle = React.createClass({
     title: React.PropTypes.node,
     titleColor: React.PropTypes.string,
     titleStyle: React.PropTypes.object,
+    style: React.PropTypes.object,
     subtitle: React.PropTypes.node,
     subtitleColor: React.PropTypes.string,
     subtitleStyle: React.PropTypes.object,
diff --git a/src/circular-progress.jsx b/src/circular-progress.jsx
index 21b1f9ed7b1891..db6b01b50be3b1 100644
--- a/src/circular-progress.jsx
+++ b/src/circular-progress.jsx
@@ -17,6 +17,7 @@ const CircularProgress = React.createClass({
       max:  React.PropTypes.number,
       size: React.PropTypes.number,
       color: React.PropTypes.string,
+      style: React.PropTypes.object,
       innerStyle: React.PropTypes.object,
   },
 
diff --git a/src/clearfix.jsx b/src/clearfix.jsx
index d2dbc6816bd7ee..3103d587272704 100644
--- a/src/clearfix.jsx
+++ b/src/clearfix.jsx
@@ -12,6 +12,10 @@ const ClearFix = React.createClass({
     muiTheme: React.PropTypes.object,
   },
 
+  propTypes: {
+    style: React.PropTypes.object,
+  },
+  
   //for passing default theme context to children
   childContextTypes: {
     muiTheme: React.PropTypes.object,
diff --git a/src/date-picker/date-display.jsx b/src/date-picker/date-display.jsx
index 275450ba977599..17d903773e36bf 100644
--- a/src/date-picker/date-display.jsx
+++ b/src/date-picker/date-display.jsx
@@ -19,6 +19,7 @@ const DateDisplay = React.createClass({
     disableYearSelection: React.PropTypes.bool,
     monthDaySelected: React.PropTypes.bool,
     selectedDate: React.PropTypes.object.isRequired,
+    style: React.PropTypes.object,
     weekCount: React.PropTypes.number,
   },
 
diff --git a/src/date-picker/date-picker-dialog.jsx b/src/date-picker/date-picker-dialog.jsx
index 6800a1eee12615..367a3cf0830415 100644
--- a/src/date-picker/date-picker-dialog.jsx
+++ b/src/date-picker/date-picker-dialog.jsx
@@ -50,6 +50,7 @@ const DatePickerDialog = React.createClass({
     onClickAway: React.PropTypes.func,
     onDismiss: React.PropTypes.func,
     onShow: React.PropTypes.func,
+    style: React.PropTypes.object,
     shouldDisableDate: React.PropTypes.func,
     showYearSelector: React.PropTypes.bool,
   },
diff --git a/src/dialog.jsx b/src/dialog.jsx
index e457ac29fc846f..5b8375236e7cee 100644
--- a/src/dialog.jsx
+++ b/src/dialog.jsx
@@ -113,6 +113,7 @@ let Dialog = React.createClass({
     openImmediately: React.PropTypes.bool,
     onClickAway: React.PropTypes.func,
     repositionOnUpdate: React.PropTypes.bool,
+    style: React.PropTypes.object,
     title: React.PropTypes.node,
     defaultIsOpen: React.PropTypes.bool,
     isOpen: React.PropTypes.bool,
diff --git a/src/drop-down-icon.jsx b/src/drop-down-icon.jsx
index a420c9542e6e27..7434342771c367 100644
--- a/src/drop-down-icon.jsx
+++ b/src/drop-down-icon.jsx
@@ -34,6 +34,7 @@ const DropDownIcon = React.createClass({
     iconStyle: React.PropTypes.object,
     iconClassName: React.PropTypes.string,
     iconLigature: React.PropTypes.string,
+    style: React.PropTypes.object,
   },
 
   getInitialState() {
diff --git a/src/drop-down-menu.jsx b/src/drop-down-menu.jsx
index 610b02a2fe2d94..0f0e8426b4977d 100644
--- a/src/drop-down-menu.jsx
+++ b/src/drop-down-menu.jsx
@@ -47,6 +47,7 @@ const DropDownMenu = React.createClass({
     labelStyle:React.PropTypes.object,
     selectedIndex: React.PropTypes.number,
     openImmediately: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/enhanced-button.jsx b/src/enhanced-button.jsx
index 72da4cf8be1d87..23d4115a6f1b0a 100644
--- a/src/enhanced-button.jsx
+++ b/src/enhanced-button.jsx
@@ -82,6 +82,7 @@ const EnhancedButton = React.createClass({
     onKeyUp: React.PropTypes.func,
     onTouchTap: React.PropTypes.func,
     tabIndex: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/enhanced-switch.jsx b/src/enhanced-switch.jsx
index d0e0d1ddb3eaeb..d32fe02486cae2 100644
--- a/src/enhanced-switch.jsx
+++ b/src/enhanced-switch.jsx
@@ -53,6 +53,7 @@ const EnhancedSwitch = React.createClass({
       labelPosition: React.PropTypes.oneOf(['left', 'right']),
       disableFocusRipple: React.PropTypes.bool,
       disableTouchRipple: React.PropTypes.bool,
+      style: React.PropTypes.object,
     },
 
   windowListeners: {
diff --git a/src/enhanced-textarea.jsx b/src/enhanced-textarea.jsx
index b873a91e56c1bd..9900d00f36e06e 100644
--- a/src/enhanced-textarea.jsx
+++ b/src/enhanced-textarea.jsx
@@ -52,6 +52,7 @@ const EnhancedTextarea = React.createClass({
     textareaStyle: React.PropTypes.object,
     rows: React.PropTypes.number,
     rowsMax: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/flat-button.jsx b/src/flat-button.jsx
index bc16c7483fe8e6..754928efd37cb3 100644
--- a/src/flat-button.jsx
+++ b/src/flat-button.jsx
@@ -79,6 +79,7 @@ const FlatButton = React.createClass({
     primary: React.PropTypes.bool,
     rippleColor: React.PropTypes.string,
     secondary: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/floating-action-button.jsx b/src/floating-action-button.jsx
index 6f6b4294c13b32..2356207ed68528 100644
--- a/src/floating-action-button.jsx
+++ b/src/floating-action-button.jsx
@@ -51,6 +51,7 @@ const FloatingActionButton = React.createClass({
     onTouchEnd: React.PropTypes.func,
     onTouchStart: React.PropTypes.func,
     secondary: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getInitialState() {
diff --git a/src/font-icon.jsx b/src/font-icon.jsx
index b7f0af6f0bef2f..f7a8dad0fa7a1c 100644
--- a/src/font-icon.jsx
+++ b/src/font-icon.jsx
@@ -28,6 +28,7 @@ const FontIcon = React.createClass({
     hoverColor: React.PropTypes.string,
     onMouseLeave: React.PropTypes.func,
     onMouseEnter: React.PropTypes.func,
+    style: React.PropTypes.object,
   },
 
   getInitialState() {
diff --git a/src/grid-list/grid-list.jsx b/src/grid-list/grid-list.jsx
index dbbc28bd5c0130..d18e94cc4325e7 100644
--- a/src/grid-list/grid-list.jsx
+++ b/src/grid-list/grid-list.jsx
@@ -15,6 +15,7 @@ const GridList = React.createClass({
     cols: React.PropTypes.number,
     padding: React.PropTypes.number,
     cellHeight: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/grid-list/grid-tile.jsx b/src/grid-list/grid-tile.jsx
index 627df8a417e816..aba6ab8d9ed3a9 100644
--- a/src/grid-list/grid-tile.jsx
+++ b/src/grid-list/grid-tile.jsx
@@ -21,6 +21,7 @@ const GridTile = React.createClass({
     actionPosition: React.PropTypes.oneOf(['left', 'right']),
     cols: React.PropTypes.number,
     rows: React.PropTypes.number,
+    style: React.PropTypes.object,
     rootClass: React.PropTypes.oneOfType([
       React.PropTypes.string,
       React.PropTypes.object,
diff --git a/src/icon-button.jsx b/src/icon-button.jsx
index 0b1ab5120231ed..cc88629aff4132 100644
--- a/src/icon-button.jsx
+++ b/src/icon-button.jsx
@@ -65,6 +65,7 @@ const IconButton = React.createClass({
     tooltipStyles: React.PropTypes.object,
     tooltipPosition: PropTypes.cornersAndCenter,
     touch: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getInitialState() {
diff --git a/src/ink-bar.jsx b/src/ink-bar.jsx
index 631be92d65bee8..5854512b922615 100644
--- a/src/ink-bar.jsx
+++ b/src/ink-bar.jsx
@@ -25,6 +25,7 @@ const InkBar = React.createClass({
     color: React.PropTypes.string,
     left: React.PropTypes.string.isRequired,
     width: React.PropTypes.string.isRequired,
+    style: React.PropTypes.object,
   },
 
   getInitialState () {
diff --git a/src/left-nav.jsx b/src/left-nav.jsx
index a00ce427ba1daa..aaa634ffdcfcd9 100644
--- a/src/left-nav.jsx
+++ b/src/left-nav.jsx
@@ -51,6 +51,7 @@ const LeftNav = React.createClass({
     menuItemClassName: React.PropTypes.string,
     menuItemClassNameSubheader: React.PropTypes.string,
     menuItemClassNameLink: React.PropTypes.string,
+    style: React.PropTypes.object,
   },
 
   windowListeners: {
diff --git a/src/linear-progress.jsx b/src/linear-progress.jsx
index d538851219dfbc..8d146e22695ce0 100644
--- a/src/linear-progress.jsx
+++ b/src/linear-progress.jsx
@@ -14,6 +14,7 @@ const LinearProgress = React.createClass({
     value: React.PropTypes.number,
     min:  React.PropTypes.number,
     max:  React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   contextTypes: {
diff --git a/src/lists/list-divider.jsx b/src/lists/list-divider.jsx
index 7fe281c39f19ad..3cd43421c77293 100644
--- a/src/lists/list-divider.jsx
+++ b/src/lists/list-divider.jsx
@@ -13,6 +13,7 @@ const ListDivider = React.createClass({
 
   propTypes: {
     inset: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/lists/list-item.jsx b/src/lists/list-item.jsx
index 589d9bc29072f3..862fdbd7e4f237 100644
--- a/src/lists/list-item.jsx
+++ b/src/lists/list-item.jsx
@@ -46,6 +46,7 @@ const ListItem = React.createClass({
     rightIconButton: React.PropTypes.element,
     rightToggle: React.PropTypes.element,
     primaryText: React.PropTypes.node,
+    style: React.PropTypes.object,
     secondaryText: React.PropTypes.node,
     secondaryTextLines: React.PropTypes.oneOf([1, 2]),
   },
diff --git a/src/lists/list.jsx b/src/lists/list.jsx
index 77dbd102c83060..d7928b6b28c813 100644
--- a/src/lists/list.jsx
+++ b/src/lists/list.jsx
@@ -17,6 +17,7 @@ const List = React.createClass({
 
   propTypes: {
     insetSubheader: React.PropTypes.bool,
+    style: React.PropTypes.object,
     subheader: React.PropTypes.node,
     subheaderStyle: React.PropTypes.object,
     zDepth: PropTypes.zDepth,
diff --git a/src/lists/nested-list.jsx b/src/lists/nested-list.jsx
index 74a6afb0af2919..2f3daf8a040a71 100644
--- a/src/lists/nested-list.jsx
+++ b/src/lists/nested-list.jsx
@@ -8,6 +8,7 @@ const NestedList = React.createClass({
   propTypes: {
     nestedLevel: React.PropTypes.number,
     open: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/menu/link-menu-item.jsx b/src/menu/link-menu-item.jsx
index 2a30c7ce086916..d21615b66e50f7 100644
--- a/src/menu/link-menu-item.jsx
+++ b/src/menu/link-menu-item.jsx
@@ -19,6 +19,7 @@ const LinkMenuItem = React.createClass({
     active: React.PropTypes.bool,
     disabled: React.PropTypes.bool,
     className: React.PropTypes.string,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/menu/menu-item.jsx b/src/menu/menu-item.jsx
index 9b678f76db1426..9431b067bd913f 100644
--- a/src/menu/menu-item.jsx
+++ b/src/menu/menu-item.jsx
@@ -35,6 +35,7 @@ const MenuItem = React.createClass({
     onTouchTap: React.PropTypes.func,
     onToggle: React.PropTypes.func,
     selected: React.PropTypes.bool,
+    style: React.PropTypes.object,
     active: React.PropTypes.bool,
   },
 
diff --git a/src/menu/menu.jsx b/src/menu/menu.jsx
index 9c27d8f42c925d..02ec883102719f 100644
--- a/src/menu/menu.jsx
+++ b/src/menu/menu.jsx
@@ -33,6 +33,7 @@ const NestedMenuItem = React.createClass({
     active: React.PropTypes.bool,
     onItemTap: React.PropTypes.func,
     menuItemStyle: React.PropTypes.object,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
@@ -222,6 +223,7 @@ const Menu = React.createClass({
     onRequestClose: React.PropTypes.func,
     menuItems: React.PropTypes.array.isRequired,
     selectedIndex: React.PropTypes.number,
+    style: React.PropTypes.object,
     hideable: React.PropTypes.bool,
     visible: React.PropTypes.bool,
     zDepth: React.PropTypes.number,
diff --git a/src/menu/subheader-menu-item.jsx b/src/menu/subheader-menu-item.jsx
index 487599a952f6ed..d21c778cdfe99f 100644
--- a/src/menu/subheader-menu-item.jsx
+++ b/src/menu/subheader-menu-item.jsx
@@ -17,6 +17,7 @@ const SubheaderMenuItem = React.createClass({
       text: React.PropTypes.string.isRequired,
       firstChild: React.PropTypes.bool,
       className: React.PropTypes.string,
+      style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/menus/icon-menu.jsx b/src/menus/icon-menu.jsx
index f1a0fdcdc6fca7..1955b2035ac369 100644
--- a/src/menus/icon-menu.jsx
+++ b/src/menus/icon-menu.jsx
@@ -30,6 +30,7 @@ const IconMenu = React.createClass({
     onMouseUp: React.PropTypes.func,
     onTouchTap: React.PropTypes.func,
     menuStyle: React.PropTypes.object,
+    style: React.PropTypes.object,
     touchTapCloseDelay: React.PropTypes.number,
   },
 
diff --git a/src/menus/menu-divider.jsx b/src/menus/menu-divider.jsx
index d1e6dbaa41bacb..091c28dc9fdcfe 100644
--- a/src/menus/menu-divider.jsx
+++ b/src/menus/menu-divider.jsx
@@ -12,6 +12,10 @@ const MenuDivider = React.createClass({
     muiTheme: React.PropTypes.object,
   },
 
+  propTypes: {
+    style: React.PropTypes.object,
+  },
+
   //for passing default theme context to children
   childContextTypes: {
     muiTheme: React.PropTypes.object,
diff --git a/src/menus/menu-item.jsx b/src/menus/menu-item.jsx
index c505c734621d74..5c0a0c1060f5b1 100644
--- a/src/menus/menu-item.jsx
+++ b/src/menus/menu-item.jsx
@@ -29,6 +29,7 @@ const MenuItem = React.createClass({
     leftIcon: React.PropTypes.element,
     rightIcon: React.PropTypes.element,
     secondaryText: React.PropTypes.node,
+    style: React.PropTypes.object,
     value: React.PropTypes.string,
   },
 
diff --git a/src/menus/menu.jsx b/src/menus/menu.jsx
index 5981e178b36a19..320603e5592bd2 100644
--- a/src/menus/menu.jsx
+++ b/src/menus/menu.jsx
@@ -32,6 +32,7 @@ const Menu = React.createClass({
     onItemTouchTap: React.PropTypes.func,
     onKeyDown: React.PropTypes.func,
     openDirection: PropTypes.corners,
+    style: React.PropTypes.object,
     selectedMenuItemStyle: React.PropTypes.object,
     width: PropTypes.stringOrNumber,
     zDepth: PropTypes.zDepth,
diff --git a/src/overlay.jsx b/src/overlay.jsx
index 0ad2b12d3a2f9e..5e8b5e53fd7154 100644
--- a/src/overlay.jsx
+++ b/src/overlay.jsx
@@ -45,6 +45,7 @@ const Overlay = React.createClass({
     autoLockScrolling: React.PropTypes.bool,
     show: React.PropTypes.bool,
     transitionEnabled: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/paper.jsx b/src/paper.jsx
index 2c361bfafbf766..0d565f81bd900e 100644
--- a/src/paper.jsx
+++ b/src/paper.jsx
@@ -43,6 +43,7 @@ const Paper = React.createClass({
     rounded: React.PropTypes.bool,
     transitionEnabled: React.PropTypes.bool,
     zDepth: PropTypes.zDepth,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/radio-button-group.jsx b/src/radio-button-group.jsx
index 9dd174744c126b..f2ce99ac5ec20e 100644
--- a/src/radio-button-group.jsx
+++ b/src/radio-button-group.jsx
@@ -29,6 +29,7 @@ const RadioButtonGroup = React.createClass({
     defaultSelected: React.PropTypes.string,
     labelPosition: React.PropTypes.oneOf(['left', 'right']),
     onChange: React.PropTypes.func,
+    style: React.PropTypes.object,
   },
 
   _hasCheckAttribute(radioButton) {
diff --git a/src/raised-button.jsx b/src/raised-button.jsx
index b8558217cdb05f..eac352f1605d29 100644
--- a/src/raised-button.jsx
+++ b/src/raised-button.jsx
@@ -58,6 +58,7 @@ const RaisedButton = React.createClass({
     disabledBackgroundColor: React.PropTypes.string,
     disabledLabelColor: React.PropTypes.string,
     fullWidth: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps: function() {
diff --git a/src/ripples/circle-ripple.jsx b/src/ripples/circle-ripple.jsx
index a20ba528553f92..1cea7476211ba7 100644
--- a/src/ripples/circle-ripple.jsx
+++ b/src/ripples/circle-ripple.jsx
@@ -14,6 +14,7 @@ const CircleRipple = React.createClass({
   propTypes: {
     color: React.PropTypes.string,
     opacity: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/ripples/focus-ripple.jsx b/src/ripples/focus-ripple.jsx
index 70eab51c580555..cdd04ae19d72cf 100644
--- a/src/ripples/focus-ripple.jsx
+++ b/src/ripples/focus-ripple.jsx
@@ -19,6 +19,7 @@ const FocusRipple = React.createClass({
     innerStyle: React.PropTypes.object,
     opacity: React.PropTypes.number,
     show: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/ripples/touch-ripple.jsx b/src/ripples/touch-ripple.jsx
index 9dfc9932937bc8..d9584cbbd6e5fb 100644
--- a/src/ripples/touch-ripple.jsx
+++ b/src/ripples/touch-ripple.jsx
@@ -16,6 +16,7 @@ const TouchRipple = React.createClass({
     centerRipple: React.PropTypes.bool,
     color: React.PropTypes.string,
     opacity: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   getInitialState() {
diff --git a/src/select-field.jsx b/src/select-field.jsx
index 20f6e0d53c868f..cf70780f85e78e 100644
--- a/src/select-field.jsx
+++ b/src/select-field.jsx
@@ -50,6 +50,7 @@ const SelectField = React.createClass({
     menuItems: React.PropTypes.array.isRequired,
     menuItemStyle: React.PropTypes.object,
     selectedIndex: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/slider.jsx b/src/slider.jsx
index e84e55a39960f6..23cff13ea92171 100644
--- a/src/slider.jsx
+++ b/src/slider.jsx
@@ -65,6 +65,7 @@ const Slider = React.createClass({
     onDragStop: React.PropTypes.func,
     onFocus: React.PropTypes.func,
     value: valueInRangePropType,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/snackbar.jsx b/src/snackbar.jsx
index f4507d46b295de..129e4b381bb2d7 100644
--- a/src/snackbar.jsx
+++ b/src/snackbar.jsx
@@ -62,6 +62,7 @@ const Snackbar = React.createClass({
     onShow: React.PropTypes.func,
     onDismiss: React.PropTypes.func,
     openOnMount: React.PropTypes.bool,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/svg-icon.jsx b/src/svg-icon.jsx
index a34e99b93e21c3..3ca31d9c46bbc7 100644
--- a/src/svg-icon.jsx
+++ b/src/svg-icon.jsx
@@ -18,6 +18,7 @@ const SvgIcon = React.createClass({
     onMouseEnter: React.PropTypes.func,
     onMouseLeave: React.PropTypes.func,
     viewBox: React.PropTypes.string,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/tabs/tab.jsx b/src/tabs/tab.jsx
index 81ffde47dadbbd..3182b6e8de4326 100644
--- a/src/tabs/tab.jsx
+++ b/src/tabs/tab.jsx
@@ -18,6 +18,7 @@ const Tab = React.createClass({
     selected: React.PropTypes.bool,
     width: React.PropTypes.string,
     value: React.PropTypes.string,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/tabs/tabs.jsx b/src/tabs/tabs.jsx
index 5230b8a9447b9b..ebeccc556e6642 100644
--- a/src/tabs/tabs.jsx
+++ b/src/tabs/tabs.jsx
@@ -21,6 +21,7 @@ const Tabs = React.createClass({
     inkBarStyle: React.PropTypes.object,
     tabItemContainerStyle: React.PropTypes.object,
     tabTemplate: React.PropTypes.func,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/text-field.jsx b/src/text-field.jsx
index 905af109159eac..076bd537104ef0 100644
--- a/src/text-field.jsx
+++ b/src/text-field.jsx
@@ -55,6 +55,7 @@ const TextField = React.createClass({
     underlineStyle: React.PropTypes.object,
     underlineFocusStyle: React.PropTypes.object,
     underlineDisabledStyle: React.PropTypes.object,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/toolbar/toolbar-group.jsx b/src/toolbar/toolbar-group.jsx
index a43a4e198b2872..d15f87df8259a9 100644
--- a/src/toolbar/toolbar-group.jsx
+++ b/src/toolbar/toolbar-group.jsx
@@ -15,6 +15,7 @@ const ToolbarGroup = React.createClass({
   propTypes: {
     className: React.PropTypes.string,
     float: React.PropTypes.string,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
@@ -38,7 +39,7 @@ const ToolbarGroup = React.createClass({
     return {
       muiTheme: this.context.muiTheme ? this.context.muiTheme : ThemeManager.getMuiTheme(DefaultRawTheme),
     };
-  }, 
+  },
 
   //to update theme inside state whenever a new theme is passed down
   //from the parent / owner using context
diff --git a/src/toolbar/toolbar-separator.jsx b/src/toolbar/toolbar-separator.jsx
index 8f4ef4b1c7605a..e66a574ea3e09f 100644
--- a/src/toolbar/toolbar-separator.jsx
+++ b/src/toolbar/toolbar-separator.jsx
@@ -11,6 +11,10 @@ const ToolbarSeparator = React.createClass({
     muiTheme: React.PropTypes.object,
   },
 
+  propTypes: {
+    style: React.PropTypes.object,
+  },
+  
   //for passing default theme context to children
   childContextTypes: {
     muiTheme: React.PropTypes.object,
diff --git a/src/toolbar/toolbar-title.jsx b/src/toolbar/toolbar-title.jsx
index 4b120c133bcfbe..507abd4f2a4099 100644
--- a/src/toolbar/toolbar-title.jsx
+++ b/src/toolbar/toolbar-title.jsx
@@ -13,6 +13,7 @@ const ToolbarTitle = React.createClass({
 
   propTypes: {
     text: React.PropTypes.string,
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
diff --git a/src/tooltip.jsx b/src/tooltip.jsx
index f378784b2339d8..f44d3d1c83178e 100644
--- a/src/tooltip.jsx
+++ b/src/tooltip.jsx
@@ -21,6 +21,7 @@ const Tooltip = React.createClass({
     touch: React.PropTypes.bool,
     verticalPosition: React.PropTypes.oneOf(['top', 'bottom']),
     horizontalPosition: React.PropTypes.oneOf(['left', 'right', 'center']),
+    style: React.PropTypes.object,
   },
 
   //for passing default theme context to children
@@ -43,11 +44,11 @@ const Tooltip = React.createClass({
   //from the parent / owner using context
   componentWillReceiveProps (nextProps, nextContext) {
     this._setTooltipPosition();
-    
+
     let newMuiTheme = nextContext.muiTheme ? nextContext.muiTheme : this.state.muiTheme;
     this.setState({muiTheme: newMuiTheme});
   },
-  
+
   componentDidUpdate() {
     this._setRippleSize();
   },
diff --git a/src/transition-groups/scale-in-child.jsx b/src/transition-groups/scale-in-child.jsx
index c2769a2a87aa57..57ddb91cd6f82e 100644
--- a/src/transition-groups/scale-in-child.jsx
+++ b/src/transition-groups/scale-in-child.jsx
@@ -44,6 +44,7 @@ const ScaleInChild = React.createClass({
     enterDelay: React.PropTypes.number,
     maxScale: React.PropTypes.number,
     minScale: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps: function() {
diff --git a/src/transition-groups/scale-in.jsx b/src/transition-groups/scale-in.jsx
index 0745ab2d62795d..185e8f8df463d4 100644
--- a/src/transition-groups/scale-in.jsx
+++ b/src/transition-groups/scale-in.jsx
@@ -44,6 +44,7 @@ const ScaleIn = React.createClass({
     enterDelay: React.PropTypes.number,
     maxScale: React.PropTypes.number,
     minScale: React.PropTypes.number,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {
diff --git a/src/transition-groups/slide-in-child.jsx b/src/transition-groups/slide-in-child.jsx
index 2c9f053575ec63..a9e412fe2ed85c 100644
--- a/src/transition-groups/slide-in-child.jsx
+++ b/src/transition-groups/slide-in-child.jsx
@@ -44,6 +44,7 @@ const SlideInChild = React.createClass({
     //This callback is needed bacause
     //the direction could change when leaving the dom
     getLeaveDirection: React.PropTypes.func.isRequired,
+    style: React.PropTypes.object,
   },
 
   getDefaultProps: function() {
diff --git a/src/transition-groups/slide-in.jsx b/src/transition-groups/slide-in.jsx
index 13821987c441c6..6d76892de0cc2b 100644
--- a/src/transition-groups/slide-in.jsx
+++ b/src/transition-groups/slide-in.jsx
@@ -42,6 +42,7 @@ const SlideIn = React.createClass({
     enterDelay: React.PropTypes.number,
     childStyle: React.PropTypes.object,
     direction: React.PropTypes.oneOf(['left', 'right', 'up', 'down']),
+    style: React.PropTypes.object,
   },
 
   getDefaultProps() {