UNPKG

@flexis/ui

Version:

Styleless React Components

31 lines (25 loc) 3.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int")); var color = require('color'); function parsePercents(percents) { return (0, _parseInt2.default)(percents, 10) / 100; } function toString(color) { return color.valpha < 1 ? color.rgb().string() : color.hex(); } module.exports = { textColor: function textColor(backgroundColor, black, white) { return color(backgroundColor).luminosity() > .5 ? black : white; }, darken: function darken(targetColor, percents) { return toString(color(targetColor).darken(parsePercents(percents))); }, lighten: function lighten(targetColor, percents) { return toString(color(targetColor).lighten(parsePercents(percents))); }, opacity: function opacity(targetColor, percents) { return toString(color(targetColor).alpha(parsePercents(percents))); } }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbG9ycy5qcyJdLCJuYW1lcyI6WyJjb2xvciIsInJlcXVpcmUiLCJwYXJzZVBlcmNlbnRzIiwicGVyY2VudHMiLCJ0b1N0cmluZyIsInZhbHBoYSIsInJnYiIsInN0cmluZyIsImhleCIsIm1vZHVsZSIsImV4cG9ydHMiLCJ0ZXh0Q29sb3IiLCJiYWNrZ3JvdW5kQ29sb3IiLCJibGFjayIsIndoaXRlIiwibHVtaW5vc2l0eSIsImRhcmtlbiIsInRhcmdldENvbG9yIiwibGlnaHRlbiIsIm9wYWNpdHkiLCJhbHBoYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBTUEsS0FBSyxHQUFHQyxPQUFPLENBQUMsT0FBRCxDQUFyQjs7QUFFQSxTQUFTQyxhQUFULENBQXVCQyxRQUF2QixFQUFpQztBQUNoQyxTQUFPLHdCQUFTQSxRQUFULEVBQW1CLEVBQW5CLElBQXlCLEdBQWhDO0FBQ0E7O0FBRUQsU0FBU0MsUUFBVCxDQUFrQkosS0FBbEIsRUFBeUI7QUFDeEIsU0FBT0EsS0FBSyxDQUFDSyxNQUFOLEdBQWUsQ0FBZixHQUNKTCxLQUFLLENBQUNNLEdBQU4sR0FBWUMsTUFBWixFQURJLEdBRUpQLEtBQUssQ0FBQ1EsR0FBTixFQUZIO0FBR0E7O0FBRURDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQjtBQUVoQkMsRUFBQUEsU0FGZ0IscUJBRU5DLGVBRk0sRUFFV0MsS0FGWCxFQUVrQkMsS0FGbEIsRUFFeUI7QUFDeEMsV0FBT2QsS0FBSyxDQUFDWSxlQUFELENBQUwsQ0FBdUJHLFVBQXZCLEtBQXNDLEVBQXRDLEdBQ0pGLEtBREksR0FFSkMsS0FGSDtBQUdBLEdBTmU7QUFRaEJFLEVBQUFBLE1BUmdCLGtCQVFUQyxXQVJTLEVBUUlkLFFBUkosRUFRYztBQUM3QixXQUFPQyxRQUFRLENBQ2RKLEtBQUssQ0FBQ2lCLFdBQUQsQ0FBTCxDQUFtQkQsTUFBbkIsQ0FBMEJkLGFBQWEsQ0FBQ0MsUUFBRCxDQUF2QyxDQURjLENBQWY7QUFHQSxHQVplO0FBY2hCZSxFQUFBQSxPQWRnQixtQkFjUkQsV0FkUSxFQWNLZCxRQWRMLEVBY2U7QUFDOUIsV0FBT0MsUUFBUSxDQUNkSixLQUFLLENBQUNpQixXQUFELENBQUwsQ0FBbUJDLE9BQW5CLENBQTJCaEIsYUFBYSxDQUFDQyxRQUFELENBQXhDLENBRGMsQ0FBZjtBQUdBLEdBbEJlO0FBb0JoQmdCLEVBQUFBLE9BcEJnQixtQkFvQlJGLFdBcEJRLEVBb0JLZCxRQXBCTCxFQW9CZTtBQUM5QixXQUFPQyxRQUFRLENBQ2RKLEtBQUssQ0FBQ2lCLFdBQUQsQ0FBTCxDQUFtQkcsS0FBbkIsQ0FBeUJsQixhQUFhLENBQUNDLFFBQUQsQ0FBdEMsQ0FEYyxDQUFmO0FBR0E7QUF4QmUsQ0FBakIiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb2xvciA9IHJlcXVpcmUoJ2NvbG9yJyk7XG5cbmZ1bmN0aW9uIHBhcnNlUGVyY2VudHMocGVyY2VudHMpIHtcblx0cmV0dXJuIHBhcnNlSW50KHBlcmNlbnRzLCAxMCkgLyAxMDA7XG59XG5cbmZ1bmN0aW9uIHRvU3RyaW5nKGNvbG9yKSB7XG5cdHJldHVybiBjb2xvci52YWxwaGEgPCAxXG5cdFx0PyBjb2xvci5yZ2IoKS5zdHJpbmcoKVxuXHRcdDogY29sb3IuaGV4KCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuXG5cdHRleHRDb2xvcihiYWNrZ3JvdW5kQ29sb3IsIGJsYWNrLCB3aGl0ZSkge1xuXHRcdHJldHVybiBjb2xvcihiYWNrZ3JvdW5kQ29sb3IpLmx1bWlub3NpdHkoKSA+IC41XG5cdFx0XHQ/IGJsYWNrXG5cdFx0XHQ6IHdoaXRlO1xuXHR9LFxuXG5cdGRhcmtlbih0YXJnZXRDb2xvciwgcGVyY2VudHMpIHtcblx0XHRyZXR1cm4gdG9TdHJpbmcoXG5cdFx0XHRjb2xvcih0YXJnZXRDb2xvcikuZGFya2VuKHBhcnNlUGVyY2VudHMocGVyY2VudHMpKVxuXHRcdCk7XG5cdH0sXG5cblx0bGlnaHRlbih0YXJnZXRDb2xvciwgcGVyY2VudHMpIHtcblx0XHRyZXR1cm4gdG9TdHJpbmcoXG5cdFx0XHRjb2xvcih0YXJnZXRDb2xvcikubGlnaHRlbihwYXJzZVBlcmNlbnRzKHBlcmNlbnRzKSlcblx0XHQpO1xuXHR9LFxuXG5cdG9wYWNpdHkodGFyZ2V0Q29sb3IsIHBlcmNlbnRzKSB7XG5cdFx0cmV0dXJuIHRvU3RyaW5nKFxuXHRcdFx0Y29sb3IodGFyZ2V0Q29sb3IpLmFscGhhKHBhcnNlUGVyY2VudHMocGVyY2VudHMpKVxuXHRcdCk7XG5cdH1cbn07XG4iXX0=