color-string
library for parsing and generating CSS color strings.
TypeScript-ready fork of Qix- version
Install
With npm:
$ npm install ts-color-string
Usage
Parsing
colorString.parse.get'#FFF' // {model: 'rgb', value: [255, 255, 255, 1]}colorString.parse.get'#FFFA' // {model: 'rgb', value: [255, 255, 255, 0.67]}colorString.parse.get'#FFFFFFAA' // {model: 'rgb', value: [255, 255, 255, 0.67]}colorString.parse.get'hsl(360, 100%, 50%)' // {model: 'hsl', value: [0, 100, 50, 1]}colorString.parse.get'hwb(60, 3%, 60%)' // {model: 'hwb', value: [60, 3, 60, 1]} colorString.parse.get.rgb'#FFF' // [255, 255, 255, 1]colorString.parse.get.rgb'blue' // [0, 0, 255, 1]colorString.parse.get.rgb'rgba(200, 60, 60, 0.3)' // [200, 60, 60, 0.3]colorString.parse.get.rgb'rgb(200, 200, 200)' // [200, 200, 200, 1] colorString.parse.get.hsl'hsl(360, 100%, 50%)' // [0, 100, 50, 1]colorString.parse.get.hsl'hsla(360, 60%, 50%, 0.4)' // [0, 60, 50, 0.4] colorString.parse.get.hwb'hwb(60, 3%, 60%)' // [60, 3, 60, 1]colorString.parse.get.hwb'hwb(60, 3%, 60%, 0.6)' // [60, 3, 60, 0.6] colorString.parse.get.rgb'invalid color string' // null
Generation
colorString.format.hex // "#FFFFFF"colorString.format.hex // "#0000FF66"colorString.format.hex, 04 // "#0000FF66"colorString.format.rgb // "rgb(255, 255, 255)"colorString.format.rgb // "rgba(0, 0, 255, 0.4)"colorString.format.rgb, 04 // "rgba(0, 0, 255, 0.4)"colorString.format.rgb.percent // "rgb(0%, 0%, 100%)"colorString.format.keyword // "yellow"colorString.format.hsl // "hsl(360, 100%, 100%)"colorString.format.hwb // "hwb(50, 3%, 15%)" // all functions also support swizzlingcolorString.format.rgb0, , 04 // "rgba(0, 0, 255, 0.4)"colorString.format.rgb, , 04 // "rgba(0, 0, 255, 0.4)"colorString.format.rgb, 0, // "rgba(0, 0, 255, 0.4)"