@kcuf/mere-color
Version:
Mere color utils for generating, manipulation, a11y purposes.
28 lines (27 loc) • 933 B
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = normalizeColorHex;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
/**
* #ff8866 → #f86
* #ff886699 → #f869
*/
function normalizeColorHex(value) {
var _value$split = value.split(''),
_value$split2 = (0, _slicedToArray2.default)(_value$split, 9),
r1 = _value$split2[1],
r2 = _value$split2[2],
g1 = _value$split2[3],
g2 = _value$split2[4],
b1 = _value$split2[5],
b2 = _value$split2[6],
a1 = _value$split2[7],
a2 = _value$split2[8];
if (value.length < 7 || r1 !== r2 || g1 !== g2 || b1 !== b2 || a1 !== a2) {
return value;
}
return value.length === 7 ? "#".concat(r1).concat(g1).concat(b1) : "#".concat(r1).concat(g1).concat(b1).concat(a1);
}