material-ui
Version:
React Components that Implement Google's Material Design.
79 lines (57 loc) • 2.42 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (muiTheme) {
var isClient = typeof navigator !== 'undefined';
var userAgent = muiTheme.userAgent;
if (userAgent === undefined && isClient) {
userAgent = navigator.userAgent;
}
if (userAgent === undefined && !hasWarnedAboutUserAgent) {
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(false, 'Material-UI: userAgent should be supplied in the muiTheme context\n for server-side rendering.') : void 0;
hasWarnedAboutUserAgent = true;
}
var prefixAll = (0, _createPrefixer2.default)(_autoprefixerStatic2.default);
if (userAgent === false) {
// Disabled autoprefixer
return null;
} else if (userAgent === 'all' || userAgent === undefined) {
// Prefix for all user agent
return function (style) {
var isFlex = ['flex', 'inline-flex'].indexOf(style.display) !== -1;
var stylePrefixed = prefixAll(style);
if (isFlex) {
var display = stylePrefixed.display;
if (isClient) {
// We can't apply this join with react-dom:
// #https://github.com/facebook/react/issues/6467
stylePrefixed.display = display[display.length - 1];
} else {
stylePrefixed.display = display.join('; display: ');
}
}
return stylePrefixed;
};
} else {
var Prefixer = (0, _createPrefixer4.default)(_autoprefixerDynamic2.default, prefixAll);
var prefixer = new Prefixer({
userAgent: userAgent
});
return function (style) {
return prefixer.prefix(style);
};
}
};
var _createPrefixer = require('inline-style-prefixer/static/createPrefixer');
var _createPrefixer2 = _interopRequireDefault(_createPrefixer);
var _createPrefixer3 = require('inline-style-prefixer/dynamic/createPrefixer');
var _createPrefixer4 = _interopRequireDefault(_createPrefixer3);
var _autoprefixerDynamic = require('./autoprefixerDynamic');
var _autoprefixerDynamic2 = _interopRequireDefault(_autoprefixerDynamic);
var _autoprefixerStatic = require('./autoprefixerStatic');
var _autoprefixerStatic2 = _interopRequireDefault(_autoprefixerStatic);
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var hasWarnedAboutUserAgent = false;
;