UNPKG

@atlaskit/tokens

Version:

Design tokens are the single source of truth to name and store design decisions.

24 lines (22 loc) 913 B
import { argbFromRgb } from './argb-from-rgb'; import { delinearized } from './delinearized'; /** * Color science utilities. * * Utility methods for color science constants and color space * conversions that aren't HCT or CAM16. */ var XYZ_TO_SRGB = [[3.2413774792388685, -1.5376652402851851, -0.49885366846268053], [-0.9691452513005321, 1.8758853451067872, 0.04156585616912061], [0.05562093689691305, -0.20395524564742123, 1.0571799111220335]]; /** * Converts a color from ARGB to XYZ. */ export function argbFromXyz(x, y, z) { var matrix = XYZ_TO_SRGB; var linearR = matrix[0][0] * x + matrix[0][1] * y + matrix[0][2] * z; var linearG = matrix[1][0] * x + matrix[1][1] * y + matrix[1][2] * z; var linearB = matrix[2][0] * x + matrix[2][1] * y + matrix[2][2] * z; var r = delinearized(linearR); var g = delinearized(linearG); var b = delinearized(linearB); return argbFromRgb(r, g, b); }