UNPKG

@chayns/colors

Version:

JavaScript utility functions for the calculation of colors for chayns

51 lines (50 loc) 972 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = rgb1ToHsl; var _is = require("../../utils/is"); function rgb1ToHsl(rgb) { if (!(0, _is.isRgb1)(rgb)) { return null; } var r = rgb.r, g = rgb.g, b = rgb.b; var max = Math.max(r, g, b); var min = Math.min(r, g, b); var h = 0; if (max === min) { h = 0; } else if (max === r) { h = 60 * ((g - b) / (max - min)); } else if (max === g) { h = 60 * (2 + (b - r) / (max - min)); } else if (max === b) { h = 60 * (4 + (r - g) / (max - min)); } if (h < 0) { h += 360; } var s; if (max === 0 || min === 1) { s = 0; } else { s = (max - min) / (1 - Math.abs(max + min - 1)); } var l = (max + min) / 2; if ('a' in rgb && (0, _is.isNumber)(rgb.a)) { return { h: h, s: s, l: l, a: rgb.a }; } return { h: h, s: s, l: l }; } //# sourceMappingURL=rgb1ToHsl.js.map