Initial Commit
This commit is contained in:
33
node_modules/color-rgba/index.js
generated
vendored
Normal file
33
node_modules/color-rgba/index.js
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
/** @module color-rgba */
|
||||
import parse from 'color-parse'
|
||||
import rgb from 'color-space/rgb.js'
|
||||
import hsl from 'color-space/hsl.js'
|
||||
|
||||
export default function rgba(color) {
|
||||
// template literals
|
||||
if (Array.isArray(color) && color.raw) color = String.raw(...arguments)
|
||||
if (color instanceof Number) color = +color
|
||||
|
||||
var values, i, l
|
||||
|
||||
//attempt to parse non-array arguments
|
||||
var parsed = parse(color)
|
||||
|
||||
if (!parsed.space) return []
|
||||
|
||||
const min = parsed.space[0] === 'h' ? hsl.min : rgb.min
|
||||
const max = parsed.space[0] === 'h' ? hsl.max : rgb.max
|
||||
|
||||
values = Array(3)
|
||||
values[0] = Math.min(Math.max(parsed.values[0], min[0]), max[0])
|
||||
values[1] = Math.min(Math.max(parsed.values[1], min[1]), max[1])
|
||||
values[2] = Math.min(Math.max(parsed.values[2], min[2]), max[2])
|
||||
|
||||
if (parsed.space[0] === 'h') {
|
||||
values = hsl.rgb(values)
|
||||
}
|
||||
|
||||
values.push(Math.min(Math.max(parsed.alpha, 0), 1))
|
||||
|
||||
return values
|
||||
}
|
||||
Reference in New Issue
Block a user