@kcuf/mere-color
Version:
Mere color utils for generating, manipulation, a11y purposes.
32 lines (31 loc) • 1.32 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseColorHsl;
var _matchHsl = _interopRequireDefault(require("./match-hsl"));
var _matchHslLegacy = _interopRequireDefault(require("./match-hsl-legacy"));
var _parseNumberHue = _interopRequireDefault(require("./parse-number-hue"));
var _parseNumberSaturation = _interopRequireDefault(require("./parse-number-saturation"));
var _parseNumberLightness = _interopRequireDefault(require("./parse-number-lightness"));
var _parseNumberAlpha = _interopRequireDefault(require("./parse-number-alpha"));
/**
* Parse `hsla?(...)` color string into an `Hsl` object.
*
* https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl
*/
function parseColorHsl(color) {
var matchModern = (0, _matchHsl.default)(color);
var matchLegacy = matchModern ? null : (0, _matchHslLegacy.default)(color);
var match = matchModern || matchLegacy;
if (!match) {
return null;
}
return {
h: (0, _parseNumberHue.default)(match[0] || '0', match[1]),
s: (0, _parseNumberSaturation.default)(match[2] || '0'),
l: (0, _parseNumberLightness.default)(match[3] || '0'),
a: (0, _parseNumberAlpha.default)(match[4], match[5])
};
}