diff --git a/.flowconfig b/.flowconfig
index e70a67cb871677..3a6ede3ea11ebc 100644
--- a/.flowconfig
+++ b/.flowconfig
@@ -1,6 +1,6 @@
[ignore]
-.*/node_modules/fbjs/*
+.*/node_modules/fbjs/lib/partitionObjectByKey*
.*/node_modules/jss/lib/.*\.js\.flow
.*/node_modules/react-swipeable-views/src/.*
.*/scripts/*
diff --git a/docs/src/components/AppRouter.js b/docs/src/components/AppRouter.js
index b7fc85dce02dd4..46cffd2c808f4d 100644
--- a/docs/src/components/AppRouter.js
+++ b/docs/src/components/AppRouter.js
@@ -106,21 +106,21 @@ export default function AppRouter() {
diff --git a/docs/src/pages/style/color/Color.js b/docs/src/pages/style/Color.js
similarity index 100%
rename from docs/src/pages/style/color/Color.js
rename to docs/src/pages/style/Color.js
diff --git a/docs/src/pages/style/icons/Icons.js b/docs/src/pages/style/Icons.js
similarity index 100%
rename from docs/src/pages/style/icons/Icons.js
rename to docs/src/pages/style/Icons.js
diff --git a/docs/src/pages/style/icons/SvgPaths.js b/docs/src/pages/style/SvgPaths.js
similarity index 100%
rename from docs/src/pages/style/icons/SvgPaths.js
rename to docs/src/pages/style/SvgPaths.js
diff --git a/docs/src/pages/style/typography/TextTypes.js b/docs/src/pages/style/TextTypes.js
similarity index 100%
rename from docs/src/pages/style/typography/TextTypes.js
rename to docs/src/pages/style/TextTypes.js
diff --git a/docs/src/pages/style/color/color.md b/docs/src/pages/style/color.md
similarity index 95%
rename from docs/src/pages/style/color/color.md
rename to docs/src/pages/style/color.md
index 63a9f0a0ca997c..fc0b25751a5513 100644
--- a/docs/src/pages/style/color/color.md
+++ b/docs/src/pages/style/color.md
@@ -15,7 +15,7 @@ const primary = red[500]; // #F44336
const accent = purple['A200']; // #E040FB
```
-{{demo='pages/style/color/Color.js'}}
+{{demo='pages/style/Color.js'}}
## Color schemes
diff --git a/docs/src/pages/style/icons/icons.md b/docs/src/pages/style/icons.md
similarity index 96%
rename from docs/src/pages/style/icons/icons.md
rename to docs/src/pages/style/icons.md
index 36934d6d3a06f3..60224764595191 100644
--- a/docs/src/pages/style/icons/icons.md
+++ b/docs/src/pages/style/icons.md
@@ -26,7 +26,7 @@ for example `star`.
By default, an Icon will inherit the current text color.
Optionally, you can set the icon color using one of the theme color properties: `accent`, `action`, `contrast`, `disabled`, `error`, & `primary`.
-{{demo='pages/style/icons/Icons.js'}}
+{{demo='pages/style/Icons.js'}}
### SVG Icons
@@ -36,7 +36,7 @@ and allows the icon to be styled and respond to mouse events.
The resulting icon can be used as is,
or included as a child for other Material-UI components that use icons.
-{{demo='pages/style/icons/SvgPaths.js'}}
+{{demo='pages/style/SvgPaths.js'}}
We also provide a separate package,
[material-ui-icons](https://www.npmjs.com/package/material-ui-icons),
diff --git a/docs/src/pages/style/typography/typography.md b/docs/src/pages/style/typography.md
similarity index 95%
rename from docs/src/pages/style/typography/typography.md
rename to docs/src/pages/style/typography.md
index 14e59d9e897314..0e1d20d968e06f 100644
--- a/docs/src/pages/style/typography/typography.md
+++ b/docs/src/pages/style/typography.md
@@ -30,4 +30,4 @@ For more info checkout the [typeface](https://www.npmjs.com/package/typeface-rob
## Styles
-{{demo='pages/style/typography/TextTypes.js'}}
+{{demo='pages/style/TextTypes.js'}}
diff --git a/package.json b/package.json
index bfbf2f0d5e8c36..1dabadcb6a9234 100644
--- a/package.json
+++ b/package.json
@@ -57,7 +57,7 @@
"keycode": "^2.1.8",
"lodash": "^4.17.4",
"object-assign": "^4.1.1",
- "react-event-listener": "^0.4.3",
+ "react-event-listener": "^0.4.4",
"react-transition-group": "^1.1.1",
"recompose": "^0.22.0",
"warning": "^3.0.0"
diff --git a/src/Checkbox/Checkbox.js b/src/Checkbox/Checkbox.js
index 31f64944b6d800..aaef9cb59d375d 100644
--- a/src/Checkbox/Checkbox.js
+++ b/src/Checkbox/Checkbox.js
@@ -1,6 +1,6 @@
// @flow weak
-import { PropTypes } from 'react';
+import React, { PropTypes } from 'react';
import { createStyleSheet } from 'jss-theme-reactor';
import { createSwitch } from '../internal/SwitchBase';
import withSwitchLabel from '../internal/withSwitchLabel';
@@ -33,64 +33,63 @@ export { LabelCheckbox };
* [Checkboxes](https://material.io/guidelines/components/selection-controls.html#selection-controls-checkbox)
* allow the user to select multiple options from a set.
*/
-export class CheckboxDocs {
- render() {}
- static propTypes = {
- /**
- * If `true`, the component is checked.
- */
- checked: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
- /**
- * The CSS class name of the root element when checked.
- */
- checkedClassName: PropTypes.string,
- /**
- * The icon to display when the component is checked.
- */
- checkedIcon: PropTypes.node,
- /**
- * The CSS class name of the root element.
- */
- className: PropTypes.string,
- /**
- * @ignore
- */
- defaultChecked: PropTypes.bool,
- /**
- * If `true`, the switch will be disabled.
- */
- disabled: PropTypes.bool,
- /**
- * The CSS class name of the root element when disabled.
- */
- disabledClassName: PropTypes.string,
- /**
- * The icon to display when the component is unchecked.
- * If a string is provided, it will be used as a font ligature.
- */
- icon: PropTypes.node,
- /*
- * @ignore
- */
- name: PropTypes.string,
- /**
- * Callback fired when the state is changed.
- *
- * @param {object} event `change` event
- * @param {boolean} checked The `checked` value of the switch
- */
- onChange: PropTypes.func,
- /**
- * If `false`, the ripple effect will be disabled.
- */
- ripple: PropTypes.bool,
- /**
- * @ignore
- */
- tabIndex: PropTypes.string,
- /**
- * The value of the component.
- */
- value: PropTypes.string,
- };
-}
+export const CheckboxDocs = () => ;
+
+CheckboxDocs.propTypes = {
+ /**
+ * If `true`, the component is checked.
+ */
+ checked: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
+ /**
+ * The CSS class name of the root element when checked.
+ */
+ checkedClassName: PropTypes.string,
+ /**
+ * The icon to display when the component is checked.
+ */
+ checkedIcon: PropTypes.node,
+ /**
+ * The CSS class name of the root element.
+ */
+ className: PropTypes.string,
+ /**
+ * @ignore
+ */
+ defaultChecked: PropTypes.bool,
+ /**
+ * If `true`, the switch will be disabled.
+ */
+ disabled: PropTypes.bool,
+ /**
+ * The CSS class name of the root element when disabled.
+ */
+ disabledClassName: PropTypes.string,
+ /**
+ * The icon to display when the component is unchecked.
+ * If a string is provided, it will be used as a font ligature.
+ */
+ icon: PropTypes.node,
+ /*
+ * @ignore
+ */
+ name: PropTypes.string,
+ /**
+ * Callback fired when the state is changed.
+ *
+ * @param {object} event `change` event
+ * @param {boolean} checked The `checked` value of the switch
+ */
+ onChange: PropTypes.func,
+ /**
+ * If `false`, the ripple effect will be disabled.
+ */
+ ripple: PropTypes.bool,
+ /**
+ * @ignore
+ */
+ tabIndex: PropTypes.string,
+ /**
+ * The value of the component.
+ */
+ value: PropTypes.string,
+};
diff --git a/src/Radio/Radio.js b/src/Radio/Radio.js
index ea96ad40667ac2..a5063af144e801 100644
--- a/src/Radio/Radio.js
+++ b/src/Radio/Radio.js
@@ -40,63 +40,62 @@ export { LabelRadio };
* [Radio buttons](https://www.google.com/design/spec/components/selection-controls.html#selection-controls-radio-button)
* are switches used for selection from multiple options.
*/
-export class RadioDocs {
- render() {}
- static propTypes = {
- /**
- * If `true`, the component appears selected.
- */
- checked: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
- /**
- * The CSS class name of the root element when selected.
- */
- checkedClassName: PropTypes.string,
- /**
- * The icon to display when selected.
- */
- checkedIcon: PropTypes.node,
- /**
- * The CSS class name of the root element.
- */
- className: PropTypes.string,
- /**
- * @ignore
- */
- defaultChecked: PropTypes.bool,
- /**
- * If `true`, the component disabled.
- */
- disabled: PropTypes.bool,
- /**
- * The CSS class name of the root element when disabled.
- */
- disabledClassName: PropTypes.string,
- /**
- * The icon to display when the component is unselected.
- */
- icon: PropTypes.node,
- /*
- * @ignore
- */
- name: PropTypes.string,
- /**
- * Callback fired when the state is changed.
- *
- * @param {object} event `change` event
- * @param {boolean} checked The `checked` value of the switch
- */
- onChange: PropTypes.func,
- /**
- * If `false`, the ripple effect will be disabled.
- */
- ripple: PropTypes.bool,
- /**
- * @ignore
- */
- tabIndex: PropTypes.string,
- /**
- * The value of the component.
- */
- value: PropTypes.string,
- };
-}
+export const RadioDocs = () => ;
+
+RadioDocs.propTypes = {
+ /**
+ * If `true`, the component appears selected.
+ */
+ checked: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
+ /**
+ * The CSS class name of the root element when selected.
+ */
+ checkedClassName: PropTypes.string,
+ /**
+ * The icon to display when selected.
+ */
+ checkedIcon: PropTypes.node,
+ /**
+ * The CSS class name of the root element.
+ */
+ className: PropTypes.string,
+ /**
+ * @ignore
+ */
+ defaultChecked: PropTypes.bool,
+ /**
+ * If `true`, the component disabled.
+ */
+ disabled: PropTypes.bool,
+ /**
+ * The CSS class name of the root element when disabled.
+ */
+ disabledClassName: PropTypes.string,
+ /**
+ * The icon to display when the component is unselected.
+ */
+ icon: PropTypes.node,
+ /*
+ * @ignore
+ */
+ name: PropTypes.string,
+ /**
+ * Callback fired when the state is changed.
+ *
+ * @param {object} event `change` event
+ * @param {boolean} checked The `checked` value of the switch
+ */
+ onChange: PropTypes.func,
+ /**
+ * If `false`, the ripple effect will be disabled.
+ */
+ ripple: PropTypes.bool,
+ /**
+ * @ignore
+ */
+ tabIndex: PropTypes.string,
+ /**
+ * The value of the component.
+ */
+ value: PropTypes.string,
+};
diff --git a/src/Switch/Switch.js b/src/Switch/Switch.js
index 319da1f905b445..676dce2dc52043 100644
--- a/src/Switch/Switch.js
+++ b/src/Switch/Switch.js
@@ -142,5 +142,4 @@ Switch.contextTypes = {
styleManager: customPropTypes.muiRequired,
};
-
export default Switch;
diff --git a/yarn.lock b/yarn.lock
index 8496e208a773bc..edb5394b2412b3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4653,13 +4653,6 @@ react-addons-perf@^15.4.2:
fbjs "^0.8.4"
object-assign "^4.1.0"
-react-addons-shallow-compare@^15.4.2:
- version "15.4.2"
- resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.4.2.tgz#027ffd9720e3a1e0b328dcd8fc62e214a0d174a5"
- dependencies:
- fbjs "^0.8.4"
- object-assign "^4.1.0"
-
react-addons-test-utils@^15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.4.2.tgz#93bcaa718fcae7360d42e8fb1c09756cc36302a2"
@@ -4687,12 +4680,12 @@ react-dom@^15.4.2:
loose-envify "^1.1.0"
object-assign "^4.1.0"
-react-event-listener@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.4.3.tgz#a0aaa447555fbaa5c398a06b6ad47935bba961a8"
+react-event-listener@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.4.4.tgz#af6552f06b5a4fa3f6df900bef0a7bba47cab39d"
dependencies:
babel-runtime "^6.20.0"
- react-addons-shallow-compare "^15.4.2"
+ fbjs "^0.8.4"
warning "^3.0.0"
react-transition-group@^1.1.1: