Completely updated React, fixed #11, (hopefully)

This commit is contained in:
2018-03-04 19:11:49 -05:00
parent 6e0afd6e2a
commit 34e5f5139a
13674 changed files with 333464 additions and 473223 deletions

View File

@@ -1,7 +1,7 @@
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
import _extends from 'babel-runtime/helpers/extends';
import React from 'react';
import PropTypes from 'prop-types';
import warning from 'warning';
import createBroadcast from 'brcast';
import themeListener, { CHANNEL } from './themeListener';
import exactProp from '../utils/exactProp';
@@ -12,7 +12,6 @@ import exactProp from '../utils/exactProp';
* This component should preferably be used at **the root of your component tree**.
*/
class MuiThemeProvider extends React.Component {
constructor(props, context) {
super(props, context);
@@ -26,12 +25,20 @@ class MuiThemeProvider extends React.Component {
}
getChildContext() {
const { sheetsManager, disableStylesGeneration } = this.props;
const muiThemeProviderOptions = this.context.muiThemeProviderOptions || {};
if (sheetsManager !== undefined) {
muiThemeProviderOptions.sheetsManager = sheetsManager;
}
if (disableStylesGeneration !== undefined) {
muiThemeProviderOptions.disableStylesGeneration = disableStylesGeneration;
}
return {
[CHANNEL]: this.broadcast,
muiThemeProviderOptions: {
sheetsManager: this.props.sheetsManager,
disableStylesGeneration: this.props.disableStylesGeneration
}
muiThemeProviderOptions
};
}
@@ -63,6 +70,7 @@ class MuiThemeProvider extends React.Component {
mergeOuterLocalTheme(localTheme) {
// To support composition of theme.
if (typeof localTheme === 'function') {
process.env.NODE_ENV !== "production" ? warning(this.outerTheme, ['Material-UI: you are providing a theme function property ' + 'to the MuiThemeProvider component:', '<MuiThemeProvider theme={outerTheme => outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\n')) : void 0;
return localTheme(this.outerTheme);
}
@@ -78,11 +86,7 @@ class MuiThemeProvider extends React.Component {
}
}
MuiThemeProvider.defaultProps = {
disableStylesGeneration: false,
sheetsManager: null
};
MuiThemeProvider.propTypes = {
MuiThemeProvider.propTypes = process.env.NODE_ENV !== "production" ? {
/**
* You can only provide a single element with react@15, a node with react@16.
*/
@@ -106,22 +110,16 @@ MuiThemeProvider.propTypes = {
* A theme object.
*/
theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired
};
} : {};
MuiThemeProvider.propTypes = process.env.NODE_ENV !== "production" ? exactProp(MuiThemeProvider.propTypes, 'MuiThemeProvider') : {};
MuiThemeProvider.childContextTypes = _extends({}, themeListener.contextTypes, {
muiThemeProviderOptions: PropTypes.object
});
MuiThemeProvider.contextTypes = themeListener.contextTypes;
MuiThemeProvider.contextTypes = _extends({}, themeListener.contextTypes, {
muiThemeProviderOptions: PropTypes.object
});
// Add a wrapper component to generate some helper messages in the development
// environment.
// eslint-disable-next-line import/no-mutable-exports
let MuiThemeProviderWrapper = MuiThemeProvider;
if (process.env.NODE_ENV !== 'production') {
MuiThemeProviderWrapper = props => React.createElement(MuiThemeProvider, props);
MuiThemeProviderWrapper.propTypes = exactProp(MuiThemeProvider.propTypes, 'MuiThemeProvider');
}
export default MuiThemeProviderWrapper;
export default MuiThemeProvider;