polished
Version:
A lightweight toolset for writing styles in Javascript.
23 lines (20 loc) • 935 B
Flow
// @flow
import parseToRgb from './parseToRgb'
import rgbToHsl from '../internalHelpers/_rgbToHsl'
import type { HslColor, HslaColor } from '../types/color'
/**
* Returns an HslColor or HslaColor object. This utility function is only useful
* if want to extract a color component. With the color util `toColorString` you
* can convert a HslColor or HslaColor object back to a string.
*
* @example
* // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1
* const color1 = parseToHsl('rgb(255, 0, 0)');
* // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2
* const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');
*/
export default function parseToHsl(color: string): HslColor | HslaColor {
// Note: At a later stage we can optimize this function as right now a hsl
// color would be parsed converted to rgb values and converted back to hsl.
return rgbToHsl(parseToRgb(color))
}