react-base16-styling
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -20,5 +20,5 @@ 'use strict'; | ||
var _from = require('babel-runtime/core-js/array/from'); | ||
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray'); | ||
var _from2 = _interopRequireDefault(_from); | ||
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); | ||
@@ -37,2 +37,14 @@ var _keys = require('babel-runtime/core-js/object/keys'); | ||
var _rgb2hex = require('pure-color/convert/rgb2hex'); | ||
var _rgb2hex2 = _interopRequireDefault(_rgb2hex); | ||
var _parse = require('pure-color/parse'); | ||
var _parse2 = _interopRequireDefault(_parse); | ||
var _lodash3 = require('lodash.flow'); | ||
var _lodash4 = _interopRequireDefault(_lodash3); | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
@@ -42,2 +54,5 @@ | ||
var rgb = require('color-space/rgb'); | ||
var yuv = require('color-space/yuv'); | ||
var truthy = function truthy(x) { | ||
@@ -49,13 +64,22 @@ return x; | ||
var BASE16_KEYS = (0, _keys2.default)(DEFAULT_BASE16); | ||
var GRAY_COLORS = (0, _from2.default)({ length: 8 }).map(function (_, idx) { | ||
return 'base0' + idx; | ||
}); | ||
var getReversedKey = function getReversedKey(key) { | ||
return GRAY_COLORS.indexOf(key) !== -1 ? 'base0' + (7 - key.match(/base0(\d)/)[1]) : key; | ||
// we need a correcting factor, so that a dark, but not black background color | ||
// converts to bright enough inversed color | ||
var flip = function flip(x) { | ||
return x < 0.25 ? 1 : x < 0.5 ? 0.9 - x : 1.1 - x; | ||
}; | ||
var reverseTheme = function reverseTheme(theme) { | ||
var invertColor = (0, _lodash4.default)(_parse2.default, rgb.yuv, function (_ref) { | ||
var _ref2 = (0, _slicedToArray3.default)(_ref, 3); | ||
var y = _ref2[0]; | ||
var u = _ref2[1]; | ||
var v = _ref2[2]; | ||
return [flip(y), u, v]; | ||
}, yuv.rgb, _rgb2hex2.default); | ||
var invertThemeColors = function invertThemeColors(theme) { | ||
return (0, _keys2.default)(theme).reduce(function (t, key) { | ||
return t[getReversedKey(key)] = theme[key], t; | ||
return (/^base/.test(key) ? (t[key] = invertColor(theme[key]), t) : t | ||
); | ||
}, {}); | ||
@@ -96,3 +120,3 @@ }; | ||
var themeOrStyling = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var isLightTheme = arguments[3]; | ||
var invertTheme = arguments[3]; | ||
var _options$defaultBase = options.defaultBase16; | ||
@@ -117,3 +141,3 @@ var defaultBase16 = _options$defaultBase === undefined ? DEFAULT_BASE16 : _options$defaultBase; | ||
var defaultStyling = getStylingFromBase16(isLightTheme ? reverseTheme(theme) : theme); | ||
var defaultStyling = getStylingFromBase16(invertTheme ? invertThemeColors(theme) : theme); | ||
@@ -120,0 +144,0 @@ return (0, _lodash2.default)(getStylingByKeys, 3).apply(undefined, [customStyling, defaultStyling].concat(args)); |
{ | ||
"name": "react-base16-styling", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "React styling with base16 color scheme support", | ||
@@ -39,8 +39,12 @@ "main": "lib/index.js", | ||
"eslint": "^2.7.0", | ||
"eslint-plugin-babel": "^3.1.0" | ||
"eslint-plugin-babel": "^3.1.0", | ||
"pre-commit": "^1.1.3" | ||
}, | ||
"dependencies": { | ||
"base16": "^1.0.0", | ||
"lodash.curry": "^4.0.1" | ||
} | ||
"lodash.curry": "^4.0.1", | ||
"lodash.flow": "^3.3.0", | ||
"pure-color": "^1.2.0" | ||
}, | ||
"pre-commit": "lint" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
10142
105
4
9
+ Addedlodash.flow@^3.3.0
+ Addedpure-color@^1.2.0
+ Addedlodash.flow@3.5.0(transitive)
+ Addedpure-color@1.3.0(transitive)