Skip to content
This repository was archived by the owner on Dec 5, 2018. It is now read-only.

Commit 7c40331

Browse files
committed
Check in the /lib directory so we can npm install it from git.
Test Plan: - `npm install` this directory in aphrodite - See that `npm run build` in aphrodite works Auditors: jlfwong
1 parent fd412dc commit 7c40331

18 files changed

+640
-1
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ Thumbs.db
1919
*.sw?
2020
*.vi
2121

22-
/lib
2322
/node_modules/
2423
npm-debug.log
2524
coverage

lib/Plugins.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
7+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8+
9+
var _pluginsCalc = require('./plugins/calc');
10+
11+
var _pluginsCalc2 = _interopRequireDefault(_pluginsCalc);
12+
13+
var _pluginsCursor = require('./plugins/cursor');
14+
15+
var _pluginsCursor2 = _interopRequireDefault(_pluginsCursor);
16+
17+
var _pluginsFlex = require('./plugins/flex');
18+
19+
var _pluginsFlex2 = _interopRequireDefault(_pluginsFlex);
20+
21+
var _pluginsSizing = require('./plugins/sizing');
22+
23+
var _pluginsSizing2 = _interopRequireDefault(_pluginsSizing);
24+
25+
var _pluginsGradient = require('./plugins/gradient');
26+
27+
var _pluginsGradient2 = _interopRequireDefault(_pluginsGradient);
28+
29+
var _pluginsTransition = require('./plugins/transition');
30+
31+
var _pluginsTransition2 = _interopRequireDefault(_pluginsTransition);
32+
33+
// special flexbox specifications
34+
35+
var _pluginsFlexboxIE = require('./plugins/flexboxIE');
36+
37+
var _pluginsFlexboxIE2 = _interopRequireDefault(_pluginsFlexboxIE);
38+
39+
var _pluginsFlexboxOld = require('./plugins/flexboxOld');
40+
41+
var _pluginsFlexboxOld2 = _interopRequireDefault(_pluginsFlexboxOld);
42+
43+
exports['default'] = [_pluginsCalc2['default'], _pluginsCursor2['default'], _pluginsSizing2['default'], _pluginsGradient2['default'], _pluginsTransition2['default'], _pluginsFlexboxIE2['default'], _pluginsFlexboxOld2['default'],
44+
// this must be run AFTER the flexbox specs
45+
_pluginsFlex2['default']];
46+
module.exports = exports['default'];

lib/Prefixer.js

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
7+
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
8+
9+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10+
11+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
12+
13+
var _utilsGetBrowserInformation = require('./utils/getBrowserInformation');
14+
15+
var _utilsGetBrowserInformation2 = _interopRequireDefault(_utilsGetBrowserInformation);
16+
17+
var _utilsCapitalizeString = require('./utils/capitalizeString');
18+
19+
var _utilsCapitalizeString2 = _interopRequireDefault(_utilsCapitalizeString);
20+
21+
var _utilsAssign = require('./utils/assign');
22+
23+
var _utilsAssign2 = _interopRequireDefault(_utilsAssign);
24+
25+
var _caniuseData = require('./caniuseData');
26+
27+
var _caniuseData2 = _interopRequireDefault(_caniuseData);
28+
29+
var _Plugins = require('./Plugins');
30+
31+
var _Plugins2 = _interopRequireDefault(_Plugins);
32+
33+
var prefixes = _caniuseData2['default'];
34+
var browserInfo = (0, _utilsGetBrowserInformation2['default'])();
35+
36+
var Prefixer = (function () {
37+
function Prefixer() {
38+
_classCallCheck(this, Prefixer);
39+
}
40+
41+
_createClass(Prefixer, null, [{
42+
key: 'prefixAll',
43+
44+
/**
45+
* Returns a prefixed version of the style object using all vendor prefixes
46+
* @param {Object} styles - Style object that gets prefixed properties added
47+
* @returns {Object} - Style object with prefixed properties and values
48+
*/
49+
value: function prefixAll(styles) {
50+
styles = (0, _utilsAssign2['default'])({}, styles);
51+
52+
Object.keys(styles).forEach(function (property) {
53+
var value = styles[property];
54+
if (value instanceof Object) {
55+
// recurse through nested style objects
56+
styles[property] = Prefixer.prefixAll(value);
57+
} else {
58+
var browsers = Object.keys(browserInfo.prefixes);
59+
browsers.forEach(function (browser) {
60+
var style = browserInfo.prefixes[browser];
61+
// add prefixes if needed
62+
if (prefixes[property] != null) {
63+
styles[style.inline + (0, _utilsCapitalizeString2['default'])(property)] = value;
64+
}
65+
});
66+
67+
// resolve plugins for each browser
68+
_Plugins2['default'].forEach(function (plugin) {
69+
var resolvedStyles = plugin({
70+
property: property,
71+
value: value,
72+
styles: styles,
73+
prefix: {},
74+
keepUnprefixed: true,
75+
requiresPrefix: prefixes
76+
});
77+
(0, _utilsAssign2['default'])(styles, resolvedStyles);
78+
});
79+
}
80+
});
81+
82+
return styles;
83+
}
84+
}]);
85+
86+
return Prefixer;
87+
})();
88+
89+
exports['default'] = Prefixer;
90+
module.exports = exports['default'];

lib/caniuseData.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/plugins/calc.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
exports['default'] = calc;
7+
8+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9+
10+
function calc(pluginInterface) {
11+
var property = pluginInterface.property;
12+
var value = pluginInterface.value;
13+
var prefix = pluginInterface.prefix;
14+
var keepUnprefixed = pluginInterface.keepUnprefixed;
15+
16+
if (typeof value === 'string' && value.indexOf('calc(') > -1) {
17+
var newValue = ['-webkit-', '-moz-'].map(function (prefix) {
18+
return value.replace(/calc\(/g, prefix + 'calc(');
19+
}).join(';' + property + ':');
20+
return _defineProperty({}, property, newValue + (keepUnprefixed ? ';' + property + ':' + value : ''));
21+
}
22+
}
23+
24+
module.exports = exports['default'];

lib/plugins/cursor.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
exports['default'] = cursor;
7+
var values = {
8+
'zoom-in': true,
9+
'zoom-out': true,
10+
grab: true,
11+
grabbing: true
12+
};
13+
14+
function cursor(pluginInterface) {
15+
var property = pluginInterface.property;
16+
var value = pluginInterface.value;
17+
var prefix = pluginInterface.prefix;
18+
var keepUnprefixed = pluginInterface.keepUnprefixed;
19+
20+
if (property === 'cursor' && values[value]) {
21+
var newValue = ['-webkit-', '-moz-'].map(function (prefix) {
22+
return prefix + value;
23+
}).join(';' + property + ':');
24+
return {
25+
cursor: newValue + (keepUnprefixed ? ';' + property + ':' + value : '')
26+
};
27+
}
28+
}
29+
30+
module.exports = exports['default'];

lib/plugins/flex.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
exports['default'] = flex;
7+
var values = { flex: true, 'inline-flex': true };
8+
9+
function flex(pluginInterface) {
10+
var property = pluginInterface.property;
11+
var value = pluginInterface.value;
12+
var prefix = pluginInterface.prefix;
13+
var keepUnprefixed = pluginInterface.keepUnprefixed;
14+
15+
if (property === 'display' && values[value]) {
16+
var newValue = ['-webkit-box', '-moz-box', '-ms-' + value + 'box', '-webkit-' + value].join(';' + property + ':');
17+
return {
18+
display: newValue + (keepUnprefixed ? ';' + property + ':' + value : '')
19+
};
20+
}
21+
}
22+
23+
module.exports = exports['default'];

lib/plugins/flexboxIE.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
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; };
8+
9+
exports['default'] = flexboxIE;
10+
11+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12+
13+
var alternativeValues = {
14+
'space-around': 'distribute',
15+
'space-between': 'justify',
16+
'flex-start': 'start',
17+
'flex-end': 'end',
18+
flex: '-ms-flexbox',
19+
'inline-flex': '-ms-inline-flexbox'
20+
};
21+
var alternativeProps = {
22+
alignContent: 'msFlexLinePack',
23+
alignSelf: 'msFlexItemAlign',
24+
alignItems: 'msFlexAlign',
25+
justifyContent: 'msFlexPack',
26+
order: 'msFlexOrder',
27+
flexGrow: 'msFlexPositive',
28+
flexShrink: 'msFlexNegative',
29+
flexBasis: 'msPreferredSize'
30+
};
31+
32+
var properties = Object.keys(alternativeProps).concat('display').reduce(function (result, prop) {
33+
return _extends({}, result, _defineProperty({}, prop, true));
34+
}, {});
35+
36+
function flexboxIE(pluginInterface) {
37+
var property = pluginInterface.property;
38+
var value = pluginInterface.value;
39+
var styles = pluginInterface.styles;
40+
var prefix = pluginInterface.prefix;
41+
var keepUnprefixed = pluginInterface.keepUnprefixed;
42+
43+
if (properties[property]) {
44+
if (!keepUnprefixed) {
45+
delete styles[property];
46+
}
47+
48+
if (alternativeProps[property]) {
49+
return _defineProperty({}, alternativeProps[property], alternativeValues[value] || value);
50+
}
51+
if (alternativeValues[value]) {
52+
return _defineProperty({}, property, alternativeValues[value] + (keepUnprefixed ? ';' + property + ':' + value : ''));
53+
}
54+
}
55+
}
56+
57+
module.exports = exports['default'];

lib/plugins/flexboxOld.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
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; };
8+
9+
exports['default'] = flexboxOld;
10+
11+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12+
13+
var alternativeValues = {
14+
'space-around': 'justify',
15+
'space-between': 'justify',
16+
'flex-start': 'start',
17+
'flex-end': 'end',
18+
'wrap-reverse': 'multiple',
19+
wrap: 'multiple',
20+
flex: 'box',
21+
'inline-flex': 'inline-box'
22+
};
23+
24+
var alternativeProps = {
25+
alignItems: 'WebkitBoxAlign',
26+
justifyContent: 'WebkitBoxPack',
27+
flexWrap: 'WebkitBoxLines'
28+
};
29+
30+
var properties = Object.keys(alternativeProps).concat(['alignContent', 'alignSelf', 'display', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection']).reduce(function (result, prop) {
31+
return _extends({}, result, _defineProperty({}, prop, true));
32+
}, {});
33+
34+
function flexboxOld(pluginInterface) {
35+
var property = pluginInterface.property;
36+
var value = pluginInterface.value;
37+
var styles = pluginInterface.styles;
38+
var prefix = pluginInterface.prefix;
39+
var keepUnprefixed = pluginInterface.keepUnprefixed;
40+
41+
if (properties[property]) {
42+
if (!keepUnprefixed) {
43+
delete styles[property];
44+
}
45+
if (property === 'flexDirection') {
46+
return {
47+
WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',
48+
WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'
49+
};
50+
}
51+
if (property === 'display' && alternativeValues[value]) {
52+
return {
53+
display: prefix.css + alternativeValues[value] + (keepUnprefixed ? ';' + property + ':' + value : '')
54+
};
55+
}
56+
if (alternativeProps[property]) {
57+
return _defineProperty({}, alternativeProps[property], alternativeValues[value] || value);
58+
}
59+
if (alternativeValues[value]) {
60+
return _defineProperty({}, property, alternativeValues[value] + (keepUnprefixed ? ';' + property + ':' + value : ''));
61+
}
62+
}
63+
}
64+
65+
module.exports = exports['default'];

lib/plugins/gradient.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', {
4+
value: true
5+
});
6+
exports['default'] = gradient;
7+
8+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9+
10+
var values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;
11+
12+
function gradient(pluginInterface) {
13+
var property = pluginInterface.property;
14+
var value = pluginInterface.value;
15+
var prefix = pluginInterface.prefix;
16+
var keepUnprefixed = pluginInterface.keepUnprefixed;
17+
18+
if (typeof value === 'string' && value.match(values) !== null) {
19+
var newValue = ['-webkit-', '-moz-'].map(function (prefix) {
20+
return prefix + value;
21+
}).join(';' + property + ':');
22+
return _defineProperty({}, property, newValue + (keepUnprefixed ? ';' + property + ':' + value : ''));
23+
}
24+
}
25+
26+
module.exports = exports['default'];

0 commit comments

Comments
 (0)