This commit is contained in:
Yamozha
2021-04-02 02:24:13 +03:00
parent c23950b545
commit 7256d79e2c
31493 changed files with 3036630 additions and 0 deletions

View File

@ -0,0 +1,117 @@
'use strict';
var _assignStyle = require('../assignStyle');
var _assignStyle2 = _interopRequireDefault(_assignStyle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Assinging styles', function () {
it('should merge properties', function () {
expect((0, _assignStyle2.default)({ color: 'red' }, { fontSize: 12 }, { lineHeight: 1 })).toEqual({
color: 'red',
fontSize: 12,
lineHeight: 1
});
});
it('should overwrite properties from right to left', function () {
expect((0, _assignStyle2.default)({ fontSize: 12 }, { fontSize: 16 }, { fontSize: 11 })).toEqual({ fontSize: 11 });
});
it('should merge nested objects', function () {
expect((0, _assignStyle2.default)({
fontSize: 12,
ob2: { color: 'red' },
ob3: { color: 'red' }
}, {
fontSize: 16,
ob2: { fontSize: 12 }
}, {
fontSize: 11,
ob3: { color: 'blue' }
})).toEqual({
fontSize: 11,
ob2: {
color: 'red',
fontSize: 12
},
ob3: { color: 'blue' }
});
});
it('should not overwrite objects other than the first one', function () {
var ob1 = { color: 'red' };
var ob2 = { fontSize: 12 };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({
color: 'red',
fontSize: 12
});
newOb.foo = 'bar';
expect(ob1).toEqual({ color: 'red' });
expect(ob2).toEqual({ fontSize: 12 });
});
it('should use the first object as base', function () {
var ob1 = { color: 'red' };
var ob2 = { fontSize: 12 };
var newOb = (0, _assignStyle2.default)(ob1, ob2);
expect(newOb).toEqual({
color: 'red',
fontSize: 12
});
expect(ob1).toEqual(newOb);
newOb.foo = 'bar';
expect(ob1).toEqual({
color: 'red',
fontSize: 12,
foo: 'bar'
});
});
it('should overwrite previous values when both values are array', function () {
var ob1 = { fontSize: ['10px', '10rem'] };
var ob2 = { fontSize: ['10px', '20vw'] };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({ fontSize: ['10px', '20vw'] });
});
it('should overwrite previous values when only the last value is an array', function () {
var ob1 = { fontSize: 10 };
var ob2 = { fontSize: ['10px', '20vw'] };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({ fontSize: ['10px', '20vw'] });
});
it('should overwrite previous values when only the first value is an array', function () {
var ob1 = { fontSize: ['10px', '10rem'] };
var ob2 = { fontSize: 20 };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({ fontSize: 20 });
});
it('should not recursively call assignStyle for null values', function () {
var ob1 = { fontSize: 10 };
var ob2 = { margin: null };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({
fontSize: 10,
margin: null
});
});
});

View File

@ -0,0 +1,15 @@
'use strict';
var _camelCaseProperty = require('../camelCaseProperty');
var _camelCaseProperty2 = _interopRequireDefault(_camelCaseProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Camel casing properties', function () {
it('should camel case properties', function () {
expect((0, _camelCaseProperty2.default)('transition-delay')).toEqual('transitionDelay');
expect((0, _camelCaseProperty2.default)('-webkit-transition-delay')).toEqual('WebkitTransitionDelay');
expect((0, _camelCaseProperty2.default)('-ms-transition')).toEqual('msTransition');
});
});

View File

@ -0,0 +1,15 @@
'use strict';
var _cssifyDeclaration = require('../cssifyDeclaration');
var _cssifyDeclaration2 = _interopRequireDefault(_cssifyDeclaration);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Cssifying declarations', function () {
it('should return a valid css declaration', function () {
expect((0, _cssifyDeclaration2.default)('width', '300px')).toEqual('width:300px');
expect((0, _cssifyDeclaration2.default)('WebkitFlex', '1')).toEqual('-webkit-flex:1');
expect((0, _cssifyDeclaration2.default)('msTransitionDuration', '3s')).toEqual('-ms-transition-duration:3s');
});
});

View File

@ -0,0 +1,31 @@
'use strict';
var _cssifyObject = require('../cssifyObject');
var _cssifyObject2 = _interopRequireDefault(_cssifyObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Cssifying objects', function () {
it('should generate a valid CSS string', function () {
expect((0, _cssifyObject2.default)({ color: 'red' })).toEqual('color:red');
});
it('should convert properties to dash case', function () {
expect((0, _cssifyObject2.default)({ fontSize: '12px' })).toEqual('font-size:12px');
});
it('should separate declarations with semicolons', function () {
expect((0, _cssifyObject2.default)({
fontSize: '12px',
color: 'red'
})).toEqual('font-size:12px;color:red');
});
it('should convert vendor prefixes', function () {
expect((0, _cssifyObject2.default)({
WebkitJustifyContent: 'center',
msFlexAlign: 'center'
})).toEqual('-webkit-justify-content:center;-ms-flex-align:center');
});
});

View File

@ -0,0 +1,19 @@
'use strict';
var _isPrefixedProperty = require('../isPrefixedProperty');
var _isPrefixedProperty2 = _interopRequireDefault(_isPrefixedProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Checking for prefixed properties', function () {
it('should return true', function () {
expect((0, _isPrefixedProperty2.default)('WebkitTransition')).toEqual(true);
expect((0, _isPrefixedProperty2.default)('msTransitionDelay')).toEqual(true);
});
it('should return false', function () {
expect((0, _isPrefixedProperty2.default)('transition')).toEqual(false);
expect((0, _isPrefixedProperty2.default)('transitionDelay')).toEqual(false);
});
});

View File

@ -0,0 +1,19 @@
'use strict';
var _isPrefixedValue = require('../isPrefixedValue');
var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Checking for prefixed values', function () {
it('should return true', function () {
expect((0, _isPrefixedValue2.default)('-webkit-calc(100% - 20px)')).toEqual(true);
expect((0, _isPrefixedValue2.default)('-ms-transition')).toEqual(true);
});
it('should return false', function () {
expect((0, _isPrefixedValue2.default)('200px')).toEqual(false);
expect((0, _isPrefixedValue2.default)('calc(100% - 20px)')).toEqual(false);
});
});

View File

@ -0,0 +1,43 @@
'use strict';
var _isUnitlessProperty = require('../isUnitlessProperty');
var _isUnitlessProperty2 = _interopRequireDefault(_isUnitlessProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Checking for unitless CSS properties', function () {
it('should return true for unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('fontWeight')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('flex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('gridColumn')).toEqual(true);
});
it('should return true for hypenated unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('font-weight')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('grid-column')).toEqual(true);
});
it('should return true for prefixed unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('WebkitFlex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('msFlex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('WebkitColumnCount')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('msColumnCount')).toEqual(true);
});
it('should return true for hypenated prefixed unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('-webkit-flex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('-ms-flex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('-webkit-column-count')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('-ms-column-count')).toEqual(true);
});
it('should equal false for other properties', function () {
expect((0, _isUnitlessProperty2.default)('fontSize')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('font-size')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('-webkit-border-radius')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('-ms-border-radius')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('WebkitBorderRadius')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('msBorderRadius')).toEqual(false);
});
});

View File

@ -0,0 +1,21 @@
'use strict';
var _normalizeProperty = require('../normalizeProperty');
var _normalizeProperty2 = _interopRequireDefault(_normalizeProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Normalizing properties', function () {
it('should camel case hypenated properties', function () {
expect((0, _normalizeProperty2.default)('transition-delay')).toEqual('transitionDelay');
});
it('should unprefix properties', function () {
expect((0, _normalizeProperty2.default)('WebkitTransitionDelay')).toEqual('transitionDelay');
});
it('should unprefix and camel case properties', function () {
expect((0, _normalizeProperty2.default)('-webkit-transition-delay')).toEqual('transitionDelay');
});
});

View File

@ -0,0 +1,17 @@
'use strict';
var _resolveArrayValue = require('../resolveArrayValue');
var _resolveArrayValue2 = _interopRequireDefault(_resolveArrayValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Resolving array values', function () {
it('should return a concatenated css value', function () {
expect((0, _resolveArrayValue2.default)('width', ['300px', '100px'])).toEqual('300px;width:100px');
});
it('should hyphenate property names', function () {
expect((0, _resolveArrayValue2.default)('WebkitFlex', [1, 2, 3])).toEqual('1;-webkit-flex:2;-webkit-flex:3');
});
});

View File

@ -0,0 +1,19 @@
'use strict';
var _unprefixProperty = require('../unprefixProperty');
var _unprefixProperty2 = _interopRequireDefault(_unprefixProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Unprefixing properties', function () {
it('should unprefix the property', function () {
expect((0, _unprefixProperty2.default)('msFlex')).toEqual('flex');
expect((0, _unprefixProperty2.default)('WebkitFlex')).toEqual('flex');
});
it('should keep an unprefixed property', function () {
expect((0, _unprefixProperty2.default)('flex')).toEqual('flex');
expect((0, _unprefixProperty2.default)('padding')).toEqual('padding');
});
});

View File

@ -0,0 +1,20 @@
'use strict';
var _unprefixValue = require('../unprefixValue');
var _unprefixValue2 = _interopRequireDefault(_unprefixValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Unprefixing values', function () {
it('should unprefix the value', function () {
expect((0, _unprefixValue2.default)('-webkit-calc(100% - 20px)')).toEqual('calc(100% - 20px)');
expect((0, _unprefixValue2.default)('-ms-transition')).toEqual('transition');
});
it('should keep an unprefixed value', function () {
expect((0, _unprefixValue2.default)('300px')).toEqual('300px');
expect((0, _unprefixValue2.default)(300)).toEqual(300);
expect((0, _unprefixValue2.default)('calc(100% - 20px)')).toEqual('calc(100% - 20px)');
});
});

37
node_modules/css-in-js-utils/lib/assignStyle.js generated vendored Normal file
View File

@ -0,0 +1,37 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = assignStyle;
var _isobject = require('isobject');
var _isobject2 = _interopRequireDefault(_isobject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function assignStyle(base) {
for (var _len = arguments.length, extendingStyles = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
extendingStyles[_key - 1] = arguments[_key];
}
for (var i = 0, len = extendingStyles.length; i < len; ++i) {
var style = extendingStyles[i];
for (var property in style) {
var value = style[property];
var baseValue = base[property];
if ((0, _isobject2.default)(value)) {
base[property] = assignStyle({}, baseValue, value);
continue;
}
base[property] = value;
}
}
return base;
}
module.exports = exports['default'];

15
node_modules/css-in-js-utils/lib/camelCaseProperty.js generated vendored Normal file
View File

@ -0,0 +1,15 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = camelCaseProperty;
var dashRegex = /-([a-z])/g;
var msRegex = /^Ms/g;
function camelCaseProperty(property) {
return property.replace(dashRegex, function (match) {
return match[1].toUpperCase();
}).replace(msRegex, 'ms');
}
module.exports = exports['default'];

17
node_modules/css-in-js-utils/lib/cssifyDeclaration.js generated vendored Normal file
View File

@ -0,0 +1,17 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cssifyDeclaration;
var _hyphenateProperty = require('./hyphenateProperty');
var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function cssifyDeclaration(property, value) {
return (0, _hyphenateProperty2.default)(property) + ':' + value;
}
module.exports = exports['default'];

34
node_modules/css-in-js-utils/lib/cssifyObject.js generated vendored Normal file
View File

@ -0,0 +1,34 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cssifyObject;
var _cssifyDeclaration = require('./cssifyDeclaration');
var _cssifyDeclaration2 = _interopRequireDefault(_cssifyDeclaration);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function cssifyObject(style) {
var css = '';
for (var property in style) {
var value = style[property];
if (typeof value !== 'string' && typeof value !== 'number') {
continue;
}
// prevents the semicolon after
// the last rule declaration
if (css) {
css += ';';
}
css += (0, _cssifyDeclaration2.default)(property, value);
}
return css;
}
module.exports = exports['default'];

17
node_modules/css-in-js-utils/lib/hyphenateProperty.js generated vendored Normal file
View File

@ -0,0 +1,17 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = hyphenateProperty;
var _hyphenateStyleName = require('hyphenate-style-name');
var _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function hyphenateProperty(property) {
return (0, _hyphenateStyleName2.default)(property);
}
module.exports = exports['default'];

71
node_modules/css-in-js-utils/lib/index.js generated vendored Normal file
View File

@ -0,0 +1,71 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assignStyle = require('./assignStyle');
var _assignStyle2 = _interopRequireDefault(_assignStyle);
var _camelCaseProperty = require('./camelCaseProperty');
var _camelCaseProperty2 = _interopRequireDefault(_camelCaseProperty);
var _cssifyDeclaration = require('./cssifyDeclaration');
var _cssifyDeclaration2 = _interopRequireDefault(_cssifyDeclaration);
var _cssifyObject = require('./cssifyObject');
var _cssifyObject2 = _interopRequireDefault(_cssifyObject);
var _hyphenateProperty = require('./hyphenateProperty');
var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);
var _isPrefixedProperty = require('./isPrefixedProperty');
var _isPrefixedProperty2 = _interopRequireDefault(_isPrefixedProperty);
var _isPrefixedValue = require('./isPrefixedValue');
var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);
var _isUnitlessProperty = require('./isUnitlessProperty');
var _isUnitlessProperty2 = _interopRequireDefault(_isUnitlessProperty);
var _normalizeProperty = require('./normalizeProperty');
var _normalizeProperty2 = _interopRequireDefault(_normalizeProperty);
var _resolveArrayValue = require('./resolveArrayValue');
var _resolveArrayValue2 = _interopRequireDefault(_resolveArrayValue);
var _unprefixProperty = require('./unprefixProperty');
var _unprefixProperty2 = _interopRequireDefault(_unprefixProperty);
var _unprefixValue = require('./unprefixValue');
var _unprefixValue2 = _interopRequireDefault(_unprefixValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
assignStyle: _assignStyle2.default,
camelCaseProperty: _camelCaseProperty2.default,
cssifyDeclaration: _cssifyDeclaration2.default,
cssifyObject: _cssifyObject2.default,
hyphenateProperty: _hyphenateProperty2.default,
isPrefixedProperty: _isPrefixedProperty2.default,
isPrefixedValue: _isPrefixedValue2.default,
isUnitlessProperty: _isUnitlessProperty2.default,
normalizeProperty: _normalizeProperty2.default,
resolveArrayValue: _resolveArrayValue2.default,
unprefixProperty: _unprefixProperty2.default,
unprefixValue: _unprefixValue2.default
};
module.exports = exports['default'];

12
node_modules/css-in-js-utils/lib/isPrefixedProperty.js generated vendored Normal file
View File

@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isPrefixedProperty;
var regex = /^(Webkit|Moz|O|ms)/;
function isPrefixedProperty(property) {
return regex.test(property);
}
module.exports = exports["default"];

12
node_modules/css-in-js-utils/lib/isPrefixedValue.js generated vendored Normal file
View File

@ -0,0 +1,12 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isPrefixedValue;
var regex = /-webkit-|-moz-|-ms-/;
function isPrefixedValue(value) {
return typeof value === 'string' && regex.test(value);
}
module.exports = exports['default'];

64
node_modules/css-in-js-utils/lib/isUnitlessProperty.js generated vendored Normal file
View File

@ -0,0 +1,64 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isUnitlessProperty;
var _hyphenateProperty = require('./hyphenateProperty');
var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var unitlessProperties = {
borderImageOutset: true,
borderImageSlice: true,
borderImageWidth: true,
fontWeight: true,
lineHeight: true,
opacity: true,
orphans: true,
tabSize: true,
widows: true,
zIndex: true,
zoom: true,
// SVG-related properties
fillOpacity: true,
floodOpacity: true,
stopOpacity: true,
strokeDasharray: true,
strokeDashoffset: true,
strokeMiterlimit: true,
strokeOpacity: true,
strokeWidth: true
};
var prefixedUnitlessProperties = ['animationIterationCount', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridRow', 'gridColumn', 'order', 'lineClamp'];
var prefixes = ['Webkit', 'ms', 'Moz', 'O'];
function getPrefixedProperty(prefix, property) {
return prefix + property.charAt(0).toUpperCase() + property.slice(1);
}
// add all prefixed properties to the unitless properties
for (var i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) {
var property = prefixedUnitlessProperties[i];
unitlessProperties[property] = true;
for (var j = 0, jLen = prefixes.length; j < jLen; ++j) {
unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true;
}
}
// add all hypenated properties as well
for (var _property in unitlessProperties) {
unitlessProperties[(0, _hyphenateProperty2.default)(_property)] = true;
}
function isUnitlessProperty(property) {
return unitlessProperties.hasOwnProperty(property);
}
module.exports = exports['default'];

21
node_modules/css-in-js-utils/lib/normalizeProperty.js generated vendored Normal file
View File

@ -0,0 +1,21 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = normalizeProperty;
var _camelCaseProperty = require('./camelCaseProperty');
var _camelCaseProperty2 = _interopRequireDefault(_camelCaseProperty);
var _unprefixProperty = require('./unprefixProperty');
var _unprefixProperty2 = _interopRequireDefault(_unprefixProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function normalizeProperty(property) {
return (0, _unprefixProperty2.default)((0, _camelCaseProperty2.default)(property));
}
module.exports = exports['default'];

19
node_modules/css-in-js-utils/lib/resolveArrayValue.js generated vendored Normal file
View File

@ -0,0 +1,19 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = resolveArrayValue;
var _hyphenateProperty = require('./hyphenateProperty');
var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function resolveArrayValue(property, value) {
var hyphenatedProperty = (0, _hyphenateProperty2.default)(property);
return value.join(';' + hyphenatedProperty + ':');
}
module.exports = exports['default'];

13
node_modules/css-in-js-utils/lib/unprefixProperty.js generated vendored Normal file
View File

@ -0,0 +1,13 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = unprefixProperty;
var prefixRegex = /^(ms|Webkit|Moz|O)/;
function unprefixProperty(property) {
var propertyWithoutPrefix = property.replace(prefixRegex, '');
return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1);
}
module.exports = exports['default'];

16
node_modules/css-in-js-utils/lib/unprefixValue.js generated vendored Normal file
View File

@ -0,0 +1,16 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = unprefixValue;
var prefixRegex = /(-ms-|-webkit-|-moz-|-o-)/g;
function unprefixValue(value) {
if (typeof value === 'string') {
return value.replace(prefixRegex, '');
}
return value;
}
module.exports = exports['default'];