Security upgrades
This commit is contained in:
143
node_modules/@material-ui/styles/withStyles/withStyles.js
generated
vendored
Normal file
143
node_modules/@material-ui/styles/withStyles/withStyles.js
generated
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
|
||||
var _propTypes = _interopRequireDefault(require("prop-types"));
|
||||
|
||||
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
||||
|
||||
var _utils = require("@material-ui/utils");
|
||||
|
||||
var _makeStyles = _interopRequireDefault(require("../makeStyles"));
|
||||
|
||||
var _getThemeProps = _interopRequireDefault(require("../getThemeProps"));
|
||||
|
||||
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
||||
|
||||
// Link a style sheet with a component.
|
||||
// It does not modify the component passed to it;
|
||||
// instead, it returns a new component, with a `classes` property.
|
||||
var withStyles = function withStyles(stylesOrCreator) {
|
||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
return function (Component) {
|
||||
var defaultTheme = options.defaultTheme,
|
||||
_options$withTheme = options.withTheme,
|
||||
withTheme = _options$withTheme === void 0 ? false : _options$withTheme,
|
||||
name = options.name,
|
||||
stylesOptions = (0, _objectWithoutProperties2.default)(options, ["defaultTheme", "withTheme", "name"]);
|
||||
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
if (Component === undefined) {
|
||||
throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\n'));
|
||||
}
|
||||
}
|
||||
|
||||
var classNamePrefix = name;
|
||||
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
if (!name) {
|
||||
// Provide a better DX outside production.
|
||||
var displayName = (0, _utils.getDisplayName)(Component);
|
||||
|
||||
if (displayName !== undefined) {
|
||||
classNamePrefix = displayName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var useStyles = (0, _makeStyles.default)(stylesOrCreator, (0, _extends2.default)({
|
||||
defaultTheme: defaultTheme,
|
||||
Component: Component,
|
||||
name: name || Component.displayName,
|
||||
classNamePrefix: classNamePrefix
|
||||
}, stylesOptions));
|
||||
|
||||
var WithStyles = _react.default.forwardRef(function WithStyles(props, ref) {
|
||||
var classesProp = props.classes,
|
||||
innerRef = props.innerRef,
|
||||
other = (0, _objectWithoutProperties2.default)(props, ["classes", "innerRef"]); // The wrapper receives only user supplied props, which could be a subset of
|
||||
// the actual props Component might receive due to merging with defaultProps.
|
||||
// So copying it here would give us the same result in the wrapper as well.
|
||||
|
||||
var classes = useStyles((0, _extends2.default)((0, _extends2.default)({}, Component.defaultProps), props));
|
||||
var theme;
|
||||
var more = other;
|
||||
|
||||
if (typeof name === 'string' || withTheme) {
|
||||
// name and withTheme are invariant in the outer scope
|
||||
// eslint-disable-next-line react-hooks/rules-of-hooks
|
||||
theme = (0, _useTheme.default)() || defaultTheme;
|
||||
|
||||
if (name) {
|
||||
more = (0, _getThemeProps.default)({
|
||||
theme: theme,
|
||||
name: name,
|
||||
props: other
|
||||
});
|
||||
} // Provide the theme to the wrapped component.
|
||||
// So we don't have to use the `withTheme()` Higher-order Component.
|
||||
|
||||
|
||||
if (withTheme && !more.theme) {
|
||||
more.theme = theme;
|
||||
}
|
||||
}
|
||||
|
||||
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
||||
ref: innerRef || ref,
|
||||
classes: classes
|
||||
}, more));
|
||||
});
|
||||
|
||||
process.env.NODE_ENV !== "production" ? WithStyles.propTypes = {
|
||||
/**
|
||||
* Override or extend the styles applied to the component.
|
||||
*/
|
||||
classes: _propTypes.default.object,
|
||||
|
||||
/**
|
||||
* Use that prop to pass a ref to the decorated component.
|
||||
* @deprecated
|
||||
*/
|
||||
innerRef: (0, _utils.chainPropTypes)(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]), function (props) {
|
||||
if (props.innerRef == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return null; // return new Error(
|
||||
// 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +
|
||||
// 'Refs are now automatically forwarded to the inner component.',
|
||||
// );
|
||||
})
|
||||
} : void 0;
|
||||
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
WithStyles.displayName = "WithStyles(".concat((0, _utils.getDisplayName)(Component), ")");
|
||||
}
|
||||
|
||||
(0, _hoistNonReactStatics.default)(WithStyles, Component);
|
||||
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
// Exposed for test purposes.
|
||||
WithStyles.Naked = Component;
|
||||
WithStyles.options = options;
|
||||
WithStyles.useStyles = useStyles;
|
||||
}
|
||||
|
||||
return WithStyles;
|
||||
};
|
||||
};
|
||||
|
||||
var _default = withStyles;
|
||||
exports.default = _default;
|
||||
Reference in New Issue
Block a user