@kcuf/mere-color
Version:
Mere color utils for generating, manipulation, a11y purposes.
32 lines (31 loc) • 1.22 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseColorHex;
var _matchHex = _interopRequireDefault(require("./match-hex"));
var _parseNumberHex = _interopRequireDefault(require("./parse-number-hex"));
var _parseNumberHexAlpha = _interopRequireDefault(require("./parse-number-hex-alpha"));
/**
* Parse any valid Hex3/4/6/8 string into an `RgbColor` object.
*
* https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color
*/
function parseColorHex(color) {
var match = (0, _matchHex.default)(color);
if (!match) {
return null;
}
return match.length < 6 ? {
r: (0, _parseNumberHex.default)(match.substring(0, 1)),
g: (0, _parseNumberHex.default)(match.substring(1, 2)),
b: (0, _parseNumberHex.default)(match.substring(2, 3)),
a: (0, _parseNumberHexAlpha.default)(match.substring(3, 4))
} : {
r: (0, _parseNumberHex.default)(match.substring(0, 2)),
g: (0, _parseNumberHex.default)(match.substring(2, 4)),
b: (0, _parseNumberHex.default)(match.substring(4, 6)),
a: (0, _parseNumberHexAlpha.default)(match.substring(6, 8))
};
}