UNPKG

2.42 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7exports.default = function (muiTheme) {
8 var isClient = typeof navigator !== 'undefined';
9 var userAgent = muiTheme.userAgent;
10
11 if (userAgent === undefined && isClient) {
12 userAgent = navigator.userAgent;
13 }
14
15 if (userAgent === undefined && !hasWarnedAboutUserAgent) {
16 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;
17
18 hasWarnedAboutUserAgent = true;
19 }
20
21 var prefixAll = (0, _createPrefixer2.default)(_autoprefixerStatic2.default);
22
23 if (userAgent === false) {
24 // Disabled autoprefixer
25 return null;
26 } else if (userAgent === 'all' || userAgent === undefined) {
27 // Prefix for all user agent
28 return function (style) {
29 var isFlex = ['flex', 'inline-flex'].indexOf(style.display) !== -1;
30 var stylePrefixed = prefixAll(style);
31
32 if (isFlex) {
33 var display = stylePrefixed.display;
34 if (isClient) {
35 // We can't apply this join with react-dom:
36 // #https://github.com/facebook/react/issues/6467
37 stylePrefixed.display = display[display.length - 1];
38 } else {
39 stylePrefixed.display = display.join('; display: ');
40 }
41 }
42
43 return stylePrefixed;
44 };
45 } else {
46 var Prefixer = (0, _createPrefixer4.default)(_autoprefixerDynamic2.default, prefixAll);
47 var prefixer = new Prefixer({
48 userAgent: userAgent
49 });
50
51 return function (style) {
52 return prefixer.prefix(style);
53 };
54 }
55};
56
57var _createPrefixer = require('inline-style-prefixer/static/createPrefixer');
58
59var _createPrefixer2 = _interopRequireDefault(_createPrefixer);
60
61var _createPrefixer3 = require('inline-style-prefixer/dynamic/createPrefixer');
62
63var _createPrefixer4 = _interopRequireDefault(_createPrefixer3);
64
65var _autoprefixerDynamic = require('./autoprefixerDynamic');
66
67var _autoprefixerDynamic2 = _interopRequireDefault(_autoprefixerDynamic);
68
69var _autoprefixerStatic = require('./autoprefixerStatic');
70
71var _autoprefixerStatic2 = _interopRequireDefault(_autoprefixerStatic);
72
73var _warning = require('warning');
74
75var _warning2 = _interopRequireDefault(_warning);
76
77function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
78
79var hasWarnedAboutUserAgent = false;
\No newline at end of file