UNPKG

@kcuf/mere-color

Version:

Mere color utils for generating, manipulation, a11y purposes.

32 lines (31 loc) 1.32 kB
"use strict"; 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]) }; }