Files
goTorrent/torrent-project/node_modules/material-ui/styles/getStylesCreator.js

57 lines
1.7 KiB
JavaScript

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
var _deepmerge = require('deepmerge');
var _deepmerge2 = _interopRequireDefault(_deepmerge);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// < 1kb payload overhead when lodash/merge is > 3kb.
function getStylesCreator(stylesOrCreator) {
function create(theme, name) {
var styles = typeof stylesOrCreator === 'function' ? stylesOrCreator(theme) : stylesOrCreator;
if (!theme.overrides || !name || !theme.overrides[name]) {
return styles;
}
var overrides = theme.overrides[name];
var stylesWithOverrides = (0, _extends3.default)({}, styles);
(0, _keys2.default)(overrides).forEach(function (key) {
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(stylesWithOverrides[key], ['Material-UI: you are trying to override a style that does not exist.',
// $FlowFixMe - flow isn't smart enough
'Fix the `' + key + '` key of `theme.overrides.' + name + '`.'].join('\n')) : void 0;
stylesWithOverrides[key] = (0, _deepmerge2.default)(stylesWithOverrides[key], overrides[key]);
});
return stylesWithOverrides;
}
return {
create: create,
options: {
index: undefined
},
themingEnabled: typeof stylesOrCreator === 'function'
};
}
exports.default = getStylesCreator;