matomo / node_modules /chroma-js /src /api.coffee
Leon4gr45's picture
Upload folder using huggingface_hub (part 3)
e295aab verified
Raw History Blame Contribute Delete
1.49 kB
chroma = (x,y,z,m) ->
new Color x,y,z,m
# CommonJS module is defined
module.exports = chroma if module? and module.exports?
if typeof define == 'function' and define.amd
define [], () -> chroma
else
root = (exports ? this)
root.chroma = chroma
#
# static constructors
#
chroma.color = (x,y,z,m) ->
new Color x,y,z,m
chroma.hsl = (h,s,l,a) ->
new Color h,s,l,a,'hsl'
chroma.hsv = (h,s,v,a) ->
new Color h,s,v,a,'hsv'
chroma.rgb = (r,g,b,a) ->
new Color r,g,b,a,'rgb'
chroma.hex = (x) ->
new Color x
chroma.css = (x) ->
new Color x
chroma.lab = (l,a,b) ->
new Color l,a,b,'lab'
chroma.lch = (l,c,h) ->
new Color l,c,h, 'lch'
chroma.hsi = (h,s,i) ->
new Color h,s,i,'hsi'
chroma.gl = (r,g,b,a) ->
new Color r*255,g*255,b*255,a,'gl'
chroma.interpolate = (a,b,f,m) ->
if not a? or not b?
return '#000'
a = new Color a if type(a) == 'string'
b = new Color b if type(b) == 'string'
a.interpolate f,b,m
chroma.mix = chroma.interpolate
chroma.contrast = (a, b) ->
# WCAG contrast ratio
# see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
a = new Color a if type(a) == 'string'
b = new Color b if type(b) == 'string'
l1 = a.luminance()
l2 = b.luminance()
if l1 > l2 then (l1 + 0.05) / (l2 + 0.05) else (l2 + 0.05) / (l1 + 0.05)
chroma.luminance = (color) ->
chroma(color).luminance()
# exposing raw classes for testing purposes
chroma._Color = Color