UNPKG

@kcuf/mere-color

Version:

Mere color utils for generating, manipulation, a11y purposes.

31 lines (30 loc) 1.29 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parseColorRgb; var _matchRgb = _interopRequireDefault(require("./match-rgb")); var _matchRgbLegacy = _interopRequireDefault(require("./match-rgb-legacy")); var _parseNumberAlpha = _interopRequireDefault(require("./parse-number-alpha")); var _parseNumberRgbValue = _interopRequireDefault(require("./parse-number-rgb-value")); /** * Parse `rgba?(...)` color string into an `Rgb` object. * * https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/rgb */ function parseColorRgb(color) { var matchModern = (0, _matchRgb.default)(color); var matchLegacy = matchModern ? null : (0, _matchRgbLegacy.default)(color); var match = matchModern || matchLegacy; if (!match || matchLegacy && (match[1] !== match[3] || match[3] !== match[5])) { // legacy format does not allow mixing number and percentage values return null; } return { r: (0, _parseNumberRgbValue.default)(match[0], match[1]), g: (0, _parseNumberRgbValue.default)(match[2], match[3]), b: (0, _parseNumberRgbValue.default)(match[4], match[5]), a: (0, _parseNumberAlpha.default)(match[6], match[7]) }; }