@lakuna/color 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/index.d.ts +57 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +46 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/names/bang.d.ts +9 -0
  8. package/dist/names/bang.d.ts.map +1 -0
  9. package/dist/names/bang.js +481 -0
  10. package/dist/names/bang.js.map +1 -0
  11. package/dist/names/cne.d.ts +9 -0
  12. package/dist/names/cne.d.ts.map +1 -0
  13. package/dist/names/cne.js +875 -0
  14. package/dist/names/cne.js.map +1 -0
  15. package/dist/names/crayola.d.ts +9 -0
  16. package/dist/names/crayola.d.ts.map +1 -0
  17. package/dist/names/crayola.js +130 -0
  18. package/dist/names/crayola.js.map +1 -0
  19. package/dist/names/getName.d.ts +20 -0
  20. package/dist/names/getName.d.ts.map +1 -0
  21. package/dist/names/getName.js +34 -0
  22. package/dist/names/getName.js.map +1 -0
  23. package/dist/names/hollasch.d.ts +9 -0
  24. package/dist/names/hollasch.d.ts.map +1 -0
  25. package/dist/names/hollasch.js +201 -0
  26. package/dist/names/hollasch.js.map +1 -0
  27. package/dist/names/nbs.d.ts +9 -0
  28. package/dist/names/nbs.d.ts.map +1 -0
  29. package/dist/names/nbs.js +277 -0
  30. package/dist/names/nbs.js.map +1 -0
  31. package/dist/names/ntc.d.ts +9 -0
  32. package/dist/names/ntc.d.ts.map +1 -0
  33. package/dist/names/ntc.js +1576 -0
  34. package/dist/names/ntc.js.map +1 -0
  35. package/dist/names/resene.d.ts +9 -0
  36. package/dist/names/resene.d.ts.map +1 -0
  37. package/dist/names/resene.js +1388 -0
  38. package/dist/names/resene.js.map +1 -0
  39. package/dist/names/x11.d.ts +9 -0
  40. package/dist/names/x11.d.ts.map +1 -0
  41. package/dist/names/x11.js +465 -0
  42. package/dist/names/x11.js.map +1 -0
  43. package/dist/names/xkcd.d.ts +9 -0
  44. package/dist/names/xkcd.d.ts.map +1 -0
  45. package/dist/names/xkcd.js +932 -0
  46. package/dist/names/xkcd.js.map +1 -0
  47. package/dist/types/Adobe.d.ts +15 -0
  48. package/dist/types/Adobe.d.ts.map +1 -0
  49. package/dist/types/Adobe.js +2 -0
  50. package/dist/types/Adobe.js.map +1 -0
  51. package/dist/types/Cmy.d.ts +15 -0
  52. package/dist/types/Cmy.d.ts.map +1 -0
  53. package/dist/types/Cmy.js +2 -0
  54. package/dist/types/Cmy.js.map +1 -0
  55. package/dist/types/Cmyk.d.ts +17 -0
  56. package/dist/types/Cmyk.d.ts.map +1 -0
  57. package/dist/types/Cmyk.js +2 -0
  58. package/dist/types/Cmyk.js.map +1 -0
  59. package/dist/types/Color.d.ts +6 -0
  60. package/dist/types/Color.d.ts.map +1 -0
  61. package/dist/types/Color.js +2 -0
  62. package/dist/types/Color.js.map +1 -0
  63. package/dist/types/Hsl.d.ts +15 -0
  64. package/dist/types/Hsl.d.ts.map +1 -0
  65. package/dist/types/Hsl.js +2 -0
  66. package/dist/types/Hsl.js.map +1 -0
  67. package/dist/types/Hsv.d.ts +15 -0
  68. package/dist/types/Hsv.d.ts.map +1 -0
  69. package/dist/types/Hsv.js +2 -0
  70. package/dist/types/Hsv.js.map +1 -0
  71. package/dist/types/Hunter.d.ts +15 -0
  72. package/dist/types/Hunter.d.ts.map +1 -0
  73. package/dist/types/Hunter.js +2 -0
  74. package/dist/types/Hunter.js.map +1 -0
  75. package/dist/types/Lab.d.ts +15 -0
  76. package/dist/types/Lab.d.ts.map +1 -0
  77. package/dist/types/Lab.js +2 -0
  78. package/dist/types/Lab.js.map +1 -0
  79. package/dist/types/Lch.d.ts +16 -0
  80. package/dist/types/Lch.d.ts.map +1 -0
  81. package/dist/types/Lch.js +2 -0
  82. package/dist/types/Lch.js.map +1 -0
  83. package/dist/types/Luv.d.ts +15 -0
  84. package/dist/types/Luv.d.ts.map +1 -0
  85. package/dist/types/Luv.js +2 -0
  86. package/dist/types/Luv.js.map +1 -0
  87. package/dist/types/Rgb.d.ts +15 -0
  88. package/dist/types/Rgb.d.ts.map +1 -0
  89. package/dist/types/Rgb.js +2 -0
  90. package/dist/types/Rgb.js.map +1 -0
  91. package/dist/types/Xyz.d.ts +15 -0
  92. package/dist/types/Xyz.d.ts.map +1 -0
  93. package/dist/types/Xyz.js +2 -0
  94. package/dist/types/Xyz.js.map +1 -0
  95. package/dist/types/Yxy.d.ts +15 -0
  96. package/dist/types/Yxy.d.ts.map +1 -0
  97. package/dist/types/Yxy.js +2 -0
  98. package/dist/types/Yxy.js.map +1 -0
  99. package/dist/utility/StandardIlluminant.d.ts +89 -0
  100. package/dist/utility/StandardIlluminant.d.ts.map +1 -0
  101. package/dist/utility/StandardIlluminant.js +90 -0
  102. package/dist/utility/StandardIlluminant.js.map +1 -0
  103. package/dist/utility/adobeToXyz.d.ts +10 -0
  104. package/dist/utility/adobeToXyz.d.ts.map +1 -0
  105. package/dist/utility/adobeToXyz.js +17 -0
  106. package/dist/utility/adobeToXyz.js.map +1 -0
  107. package/dist/utility/cmyToCmyk.d.ts +10 -0
  108. package/dist/utility/cmyToCmyk.d.ts.map +1 -0
  109. package/dist/utility/cmyToCmyk.js +19 -0
  110. package/dist/utility/cmyToCmyk.js.map +1 -0
  111. package/dist/utility/cmyToRgb.d.ts +10 -0
  112. package/dist/utility/cmyToRgb.d.ts.map +1 -0
  113. package/dist/utility/cmyToRgb.js +10 -0
  114. package/dist/utility/cmyToRgb.js.map +1 -0
  115. package/dist/utility/cmykToCmy.d.ts +10 -0
  116. package/dist/utility/cmykToCmy.d.ts.map +1 -0
  117. package/dist/utility/cmykToCmy.js +16 -0
  118. package/dist/utility/cmykToCmy.js.map +1 -0
  119. package/dist/utility/contrast.d.ts +12 -0
  120. package/dist/utility/contrast.d.ts.map +1 -0
  121. package/dist/utility/contrast.js +17 -0
  122. package/dist/utility/contrast.js.map +1 -0
  123. package/dist/utility/deltaC.d.ts +21 -0
  124. package/dist/utility/deltaC.d.ts.map +1 -0
  125. package/dist/utility/deltaC.js +4 -0
  126. package/dist/utility/deltaC.js.map +1 -0
  127. package/dist/utility/deltaCmc.d.ts +13 -0
  128. package/dist/utility/deltaCmc.d.ts.map +1 -0
  129. package/dist/utility/deltaCmc.js +46 -0
  130. package/dist/utility/deltaCmc.js.map +1 -0
  131. package/dist/utility/deltaE00.d.ts +13 -0
  132. package/dist/utility/deltaE00.d.ts.map +1 -0
  133. package/dist/utility/deltaE00.js +90 -0
  134. package/dist/utility/deltaE00.js.map +1 -0
  135. package/dist/utility/deltaE76.d.ts +21 -0
  136. package/dist/utility/deltaE76.d.ts.map +1 -0
  137. package/dist/utility/deltaE76.js +4 -0
  138. package/dist/utility/deltaE76.js.map +1 -0
  139. package/dist/utility/deltaE94.d.ts +13 -0
  140. package/dist/utility/deltaE94.d.ts.map +1 -0
  141. package/dist/utility/deltaE94.js +29 -0
  142. package/dist/utility/deltaE94.js.map +1 -0
  143. package/dist/utility/deltaH.d.ts +21 -0
  144. package/dist/utility/deltaH.d.ts.map +1 -0
  145. package/dist/utility/deltaH.js +14 -0
  146. package/dist/utility/deltaH.js.map +1 -0
  147. package/dist/utility/getReference.d.ts +9 -0
  148. package/dist/utility/getReference.d.ts.map +1 -0
  149. package/dist/utility/getReference.js +92 -0
  150. package/dist/utility/getReference.js.map +1 -0
  151. package/dist/utility/hexToRgb.d.ts +9 -0
  152. package/dist/utility/hexToRgb.d.ts.map +1 -0
  153. package/dist/utility/hexToRgb.js +10 -0
  154. package/dist/utility/hexToRgb.js.map +1 -0
  155. package/dist/utility/hslToRgb.d.ts +10 -0
  156. package/dist/utility/hslToRgb.d.ts.map +1 -0
  157. package/dist/utility/hslToRgb.js +46 -0
  158. package/dist/utility/hslToRgb.js.map +1 -0
  159. package/dist/utility/hsvToRgb.d.ts +10 -0
  160. package/dist/utility/hsvToRgb.d.ts.map +1 -0
  161. package/dist/utility/hsvToRgb.js +34 -0
  162. package/dist/utility/hsvToRgb.js.map +1 -0
  163. package/dist/utility/hunterToXyz.d.ts +11 -0
  164. package/dist/utility/hunterToXyz.d.ts.map +1 -0
  165. package/dist/utility/hunterToXyz.js +26 -0
  166. package/dist/utility/hunterToXyz.js.map +1 -0
  167. package/dist/utility/labToLch.d.ts +11 -0
  168. package/dist/utility/labToLch.d.ts.map +1 -0
  169. package/dist/utility/labToLch.js +19 -0
  170. package/dist/utility/labToLch.js.map +1 -0
  171. package/dist/utility/labToXyz.d.ts +11 -0
  172. package/dist/utility/labToXyz.d.ts.map +1 -0
  173. package/dist/utility/labToXyz.js +23 -0
  174. package/dist/utility/labToXyz.js.map +1 -0
  175. package/dist/utility/lchToLab.d.ts +11 -0
  176. package/dist/utility/lchToLab.d.ts.map +1 -0
  177. package/dist/utility/lchToLab.js +14 -0
  178. package/dist/utility/lchToLab.js.map +1 -0
  179. package/dist/utility/luvToXyz.d.ts +11 -0
  180. package/dist/utility/luvToXyz.d.ts.map +1 -0
  181. package/dist/utility/luvToXyz.js +28 -0
  182. package/dist/utility/luvToXyz.js.map +1 -0
  183. package/dist/utility/relativeLuminance.d.ts +10 -0
  184. package/dist/utility/relativeLuminance.d.ts.map +1 -0
  185. package/dist/utility/relativeLuminance.js +20 -0
  186. package/dist/utility/relativeLuminance.js.map +1 -0
  187. package/dist/utility/rgbToCmy.d.ts +10 -0
  188. package/dist/utility/rgbToCmy.d.ts.map +1 -0
  189. package/dist/utility/rgbToCmy.js +10 -0
  190. package/dist/utility/rgbToCmy.js.map +1 -0
  191. package/dist/utility/rgbToHsl.d.ts +10 -0
  192. package/dist/utility/rgbToHsl.d.ts.map +1 -0
  193. package/dist/utility/rgbToHsl.js +32 -0
  194. package/dist/utility/rgbToHsl.js.map +1 -0
  195. package/dist/utility/rgbToHsv.d.ts +10 -0
  196. package/dist/utility/rgbToHsv.d.ts.map +1 -0
  197. package/dist/utility/rgbToHsv.js +29 -0
  198. package/dist/utility/rgbToHsv.js.map +1 -0
  199. package/dist/utility/rgbToXyz.d.ts +10 -0
  200. package/dist/utility/rgbToXyz.d.ts.map +1 -0
  201. package/dist/utility/rgbToXyz.js +20 -0
  202. package/dist/utility/rgbToXyz.js.map +1 -0
  203. package/dist/utility/xyzToAdobe.d.ts +10 -0
  204. package/dist/utility/xyzToAdobe.d.ts.map +1 -0
  205. package/dist/utility/xyzToAdobe.js +17 -0
  206. package/dist/utility/xyzToAdobe.js.map +1 -0
  207. package/dist/utility/xyzToHunter.d.ts +11 -0
  208. package/dist/utility/xyzToHunter.d.ts.map +1 -0
  209. package/dist/utility/xyzToHunter.js +25 -0
  210. package/dist/utility/xyzToHunter.js.map +1 -0
  211. package/dist/utility/xyzToLab.d.ts +11 -0
  212. package/dist/utility/xyzToLab.d.ts.map +1 -0
  213. package/dist/utility/xyzToLab.js +21 -0
  214. package/dist/utility/xyzToLab.js.map +1 -0
  215. package/dist/utility/xyzToLuv.d.ts +11 -0
  216. package/dist/utility/xyzToLuv.d.ts.map +1 -0
  217. package/dist/utility/xyzToLuv.js +30 -0
  218. package/dist/utility/xyzToLuv.js.map +1 -0
  219. package/dist/utility/xyzToRgb.d.ts +10 -0
  220. package/dist/utility/xyzToRgb.d.ts.map +1 -0
  221. package/dist/utility/xyzToRgb.js +20 -0
  222. package/dist/utility/xyzToRgb.js.map +1 -0
  223. package/dist/utility/xyzToYxy.d.ts +10 -0
  224. package/dist/utility/xyzToYxy.d.ts.map +1 -0
  225. package/dist/utility/xyzToYxy.js +16 -0
  226. package/dist/utility/xyzToYxy.js.map +1 -0
  227. package/dist/utility/yxyToXyz.d.ts +10 -0
  228. package/dist/utility/yxyToXyz.d.ts.map +1 -0
  229. package/dist/utility/yxyToXyz.js +16 -0
  230. package/dist/utility/yxyToXyz.js.map +1 -0
  231. package/package.json +59 -0
  232. package/src/index.ts +61 -0
  233. package/src/names/bang.ts +483 -0
  234. package/src/names/cne.ts +877 -0
  235. package/src/names/crayola.ts +132 -0
  236. package/src/names/getName.ts +51 -0
  237. package/src/names/hollasch.ts +203 -0
  238. package/src/names/nbs.ts +279 -0
  239. package/src/names/ntc.ts +1578 -0
  240. package/src/names/resene.ts +1390 -0
  241. package/src/names/x11.ts +467 -0
  242. package/src/names/xkcd.ts +934 -0
  243. package/src/types/Adobe.ts +17 -0
  244. package/src/types/Cmy.ts +17 -0
  245. package/src/types/Cmyk.ts +20 -0
  246. package/src/types/Color.ts +5 -0
  247. package/src/types/Hsl.ts +17 -0
  248. package/src/types/Hsv.ts +17 -0
  249. package/src/types/Hunter.ts +17 -0
  250. package/src/types/Lab.ts +17 -0
  251. package/src/types/Lch.ts +18 -0
  252. package/src/types/Luv.ts +17 -0
  253. package/src/types/Rgb.ts +17 -0
  254. package/src/types/Xyz.ts +17 -0
  255. package/src/types/Yxy.ts +17 -0
  256. package/src/utility/StandardIlluminant.ts +128 -0
  257. package/src/utility/adobeToXyz.ts +20 -0
  258. package/src/utility/cmyToCmyk.ts +23 -0
  259. package/src/utility/cmyToRgb.ts +12 -0
  260. package/src/utility/cmykToCmy.ts +19 -0
  261. package/src/utility/contrast.ts +19 -0
  262. package/src/utility/deltaC.ts +26 -0
  263. package/src/utility/deltaCmc.ts +59 -0
  264. package/src/utility/deltaE00.ts +105 -0
  265. package/src/utility/deltaE76.ts +30 -0
  266. package/src/utility/deltaE94.ts +41 -0
  267. package/src/utility/deltaH.ts +39 -0
  268. package/src/utility/getReference.ts +95 -0
  269. package/src/utility/hexToRgb.ts +11 -0
  270. package/src/utility/hslToRgb.ts +53 -0
  271. package/src/utility/hsvToRgb.ts +44 -0
  272. package/src/utility/hunterToXyz.ts +33 -0
  273. package/src/utility/labToLch.ts +24 -0
  274. package/src/utility/labToXyz.ts +29 -0
  275. package/src/utility/lchToLab.ts +18 -0
  276. package/src/utility/luvToXyz.ts +35 -0
  277. package/src/utility/relativeLuminance.ts +25 -0
  278. package/src/utility/rgbToCmy.ts +12 -0
  279. package/src/utility/rgbToHsl.ts +38 -0
  280. package/src/utility/rgbToHsv.ts +35 -0
  281. package/src/utility/rgbToXyz.ts +23 -0
  282. package/src/utility/xyzToAdobe.ts +20 -0
  283. package/src/utility/xyzToHunter.ts +32 -0
  284. package/src/utility/xyzToLab.ts +27 -0
  285. package/src/utility/xyzToLuv.ts +38 -0
  286. package/src/utility/xyzToRgb.ts +23 -0
  287. package/src/utility/xyzToYxy.ts +19 -0
  288. package/src/utility/yxyToXyz.ts +19 -0
@@ -0,0 +1,90 @@
1
+ /**
2
+ * A theoretical source of visible light with a published spectral power distribution that is used to provide a basis for comparing colors recorded under different lighting.
3
+ * @see {@link https://en.wikipedia.org/wiki/Standard_illuminant | Standard illuminant}
4
+ * @public
5
+ */
6
+ var StandardIlluminant;
7
+ (function (StandardIlluminant) {
8
+ /** The CIE A standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent average incandescent/tungsten light. */
9
+ StandardIlluminant[StandardIlluminant["A_2"] = 0] = "A_2";
10
+ /** The CIE A standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent average incandescent/tungsten light. */
11
+ StandardIlluminant[StandardIlluminant["A_10"] = 1] = "A_10";
12
+ /** The CIE B standard illuminant with the standard (CIE 1931; 2°) observer. Formerly used to represent average direct sunlight at noon. */
13
+ StandardIlluminant[StandardIlluminant["B_2"] = 2] = "B_2";
14
+ /** The CIE B standard illuminant with the supplementary (CIE 1964; 10°) observer. Formerly used to represent average direct sunlight at noon. */
15
+ StandardIlluminant[StandardIlluminant["B_10"] = 3] = "B_10";
16
+ /** The CIE C standard illuminant with the standard (CIE 1931; 2°) observer. Formerly used to represent average daylight. */
17
+ StandardIlluminant[StandardIlluminant["C_2"] = 4] = "C_2";
18
+ /** The CIE C standard illuminant with the supplementary (CIE 1964; 10°) observer. Formerly used to represent average daylight. */
19
+ StandardIlluminant[StandardIlluminant["C_10"] = 5] = "C_10";
20
+ /** The CIE D50 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent ICC profile PCS. Typically used in the printing industry. */
21
+ StandardIlluminant[StandardIlluminant["D50_2"] = 6] = "D50_2";
22
+ /** The CIE D50 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent ICC profile PCS. Typically used in the printing industry. */
23
+ StandardIlluminant[StandardIlluminant["D50_10"] = 7] = "D50_10";
24
+ /** The CIE D55 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent mid-morning daylight. */
25
+ StandardIlluminant[StandardIlluminant["D55_2"] = 8] = "D55_2";
26
+ /** The CIE D55 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent mid-morning daylight. */
27
+ StandardIlluminant[StandardIlluminant["D55_10"] = 9] = "D55_10";
28
+ /** The CIE D65 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent daylight. The CIE standard, and the standard for nearly all display colorspaces and working spaces including sRGB and Adobe RGB. */
29
+ StandardIlluminant[StandardIlluminant["D65_2"] = 10] = "D65_2";
30
+ /** The CIE D65 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent daylight. The CIE standard, and the standard for nearly all display colorspaces and working spaces including sRGB and Adobe RGB. */
31
+ StandardIlluminant[StandardIlluminant["D65_10"] = 11] = "D65_10";
32
+ /** The CIE D75 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent North sky daylight. */
33
+ StandardIlluminant[StandardIlluminant["D75_2"] = 12] = "D75_2";
34
+ /** The CIE D75 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent North sky daylight. */
35
+ StandardIlluminant[StandardIlluminant["D75_10"] = 13] = "D75_10";
36
+ /** The CIE E standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent equal energy lighting. */
37
+ StandardIlluminant[StandardIlluminant["E_2"] = 14] = "E_2";
38
+ /** The CIE E standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent equal energy lighting. */
39
+ StandardIlluminant[StandardIlluminant["E_10"] = 15] = "E_10";
40
+ /** The CIE F1 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent daylight flourescent lamps. */
41
+ StandardIlluminant[StandardIlluminant["F1_2"] = 16] = "F1_2";
42
+ /** The CIE F1 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent daylight flourescent lamps. */
43
+ StandardIlluminant[StandardIlluminant["F1_10"] = 17] = "F1_10";
44
+ /** The CIE F2 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent cool flourescent lamps. */
45
+ StandardIlluminant[StandardIlluminant["F2_2"] = 18] = "F2_2";
46
+ /** The CIE F2 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent cool flourescent lamps. */
47
+ StandardIlluminant[StandardIlluminant["F2_10"] = 19] = "F2_10";
48
+ /** The CIE F3 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent white flourescent lamps. */
49
+ StandardIlluminant[StandardIlluminant["F3_2"] = 20] = "F3_2";
50
+ /** The CIE F3 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent white flourescent lamps. */
51
+ StandardIlluminant[StandardIlluminant["F3_10"] = 21] = "F3_10";
52
+ /** The CIE F4 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent warm white flourescent lamps. */
53
+ StandardIlluminant[StandardIlluminant["F4_2"] = 22] = "F4_2";
54
+ /** The CIE F4 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent warm white flourescent lamps. */
55
+ StandardIlluminant[StandardIlluminant["F4_10"] = 23] = "F4_10";
56
+ /** The CIE F5 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent daylight flourescent lamps. */
57
+ StandardIlluminant[StandardIlluminant["F5_2"] = 24] = "F5_2";
58
+ /** The CIE F5 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent daylight flourescent lamps. */
59
+ StandardIlluminant[StandardIlluminant["F5_10"] = 25] = "F5_10";
60
+ /** The CIE F6 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent lite white flourescent lamps. */
61
+ StandardIlluminant[StandardIlluminant["F6_2"] = 26] = "F6_2";
62
+ /** The CIE F6 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent lite white flourescent lamps. */
63
+ StandardIlluminant[StandardIlluminant["F6_10"] = 27] = "F6_10";
64
+ /** The CIE F7 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent daylight flourescent lamps (D65 simulator). */
65
+ StandardIlluminant[StandardIlluminant["F7_2"] = 28] = "F7_2";
66
+ /** The CIE F7 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent daylight flourescent lamps (D65 simulator). */
67
+ StandardIlluminant[StandardIlluminant["F7_10"] = 29] = "F7_10";
68
+ /** The CIE F8 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent Sylvania F40 flourescent lamps (D50 simulator). */
69
+ StandardIlluminant[StandardIlluminant["F8_2"] = 30] = "F8_2";
70
+ /** The CIE F8 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent Sylvania F40 flourescent lamps (D50 simulator). */
71
+ StandardIlluminant[StandardIlluminant["F8_10"] = 31] = "F8_10";
72
+ /** The CIE F9 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent cool white flourescent lamps. */
73
+ StandardIlluminant[StandardIlluminant["F9_2"] = 32] = "F9_2";
74
+ /** The CIE F9 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent cool white flourescent lamps. */
75
+ StandardIlluminant[StandardIlluminant["F9_10"] = 33] = "F9_10";
76
+ /** The CIE F10 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent Ultralume 50 and Philips TL85 flourescent lamps. */
77
+ StandardIlluminant[StandardIlluminant["F10_2"] = 34] = "F10_2";
78
+ /** The CIE F10 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent Ultralume 50 and Philips TL85 flourescent lamps. */
79
+ StandardIlluminant[StandardIlluminant["F10_10"] = 35] = "F10_10";
80
+ /** The CIE F11 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent Ultralume 40 and Philips TL84 flourescent lamps. */
81
+ StandardIlluminant[StandardIlluminant["F11_2"] = 36] = "F11_2";
82
+ /** The CIE F11 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent Ultralume 40 and Philips TL84 flourescent lamps. */
83
+ StandardIlluminant[StandardIlluminant["F11_10"] = 37] = "F11_10";
84
+ /** The CIE F12 standard illuminant with the standard (CIE 1931; 2°) observer. Used to represent Ultralume 30 and Philips TL83 flourescent lamps. */
85
+ StandardIlluminant[StandardIlluminant["F12_2"] = 38] = "F12_2";
86
+ /** The CIE F12 standard illuminant with the supplementary (CIE 1964; 10°) observer. Used to represent Ultralume 30 and Philips TL83 flourescent lamps. */
87
+ StandardIlluminant[StandardIlluminant["F12_10"] = 39] = "F12_10";
88
+ })(StandardIlluminant || (StandardIlluminant = {}));
89
+ export default StandardIlluminant;
90
+ //# sourceMappingURL=StandardIlluminant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StandardIlluminant.js","sourceRoot":"","sources":["../../src/utility/StandardIlluminant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,IAAK,kBAwHJ;AAxHD,WAAK,kBAAkB;IACtB,sIAAsI;IACtI,yDAAG,CAAA;IAEH,4IAA4I;IAC5I,2DAAI,CAAA;IAEJ,2IAA2I;IAC3I,yDAAG,CAAA;IAEH,iJAAiJ;IACjJ,2DAAI,CAAA;IAEJ,4HAA4H;IAC5H,yDAAG,CAAA;IAEH,kIAAkI;IAClI,2DAAI,CAAA;IAEJ,6JAA6J;IAC7J,6DAAK,CAAA;IAEL,mKAAmK;IACnK,+DAAM,CAAA;IAEN,yHAAyH;IACzH,6DAAK,CAAA;IAEL,+HAA+H;IAC/H,+DAAM,CAAA;IAEN,oOAAoO;IACpO,8DAAK,CAAA;IAEL,0OAA0O;IAC1O,gEAAM,CAAA;IAEN,uHAAuH;IACvH,8DAAK,CAAA;IAEL,6HAA6H;IAC7H,gEAAM,CAAA;IAEN,wHAAwH;IACxH,0DAAG,CAAA;IAEH,8HAA8H;IAC9H,4DAAI,CAAA;IAEJ,8HAA8H;IAC9H,4DAAI,CAAA;IAEJ,oIAAoI;IACpI,8DAAK,CAAA;IAEL,0HAA0H;IAC1H,4DAAI,CAAA;IAEJ,gIAAgI;IAChI,8DAAK,CAAA;IAEL,2HAA2H;IAC3H,4DAAI,CAAA;IAEJ,iIAAiI;IACjI,8DAAK,CAAA;IAEL,gIAAgI;IAChI,4DAAI,CAAA;IAEJ,sIAAsI;IACtI,8DAAK,CAAA;IAEL,8HAA8H;IAC9H,4DAAI,CAAA;IAEJ,oIAAoI;IACpI,8DAAK,CAAA;IAEL,gIAAgI;IAChI,4DAAI,CAAA;IAEJ,sIAAsI;IACtI,8DAAK,CAAA;IAEL,8IAA8I;IAC9I,4DAAI,CAAA;IAEJ,oJAAoJ;IACpJ,8DAAK,CAAA;IAEL,kJAAkJ;IAClJ,4DAAI,CAAA;IAEJ,wJAAwJ;IACxJ,8DAAK,CAAA;IAEL,gIAAgI;IAChI,4DAAI,CAAA;IAEJ,sIAAsI;IACtI,8DAAK,CAAA;IAEL,oJAAoJ;IACpJ,8DAAK,CAAA;IAEL,0JAA0J;IAC1J,gEAAM,CAAA;IAEN,oJAAoJ;IACpJ,8DAAK,CAAA;IAEL,0JAA0J;IAC1J,gEAAM,CAAA;IAEN,oJAAoJ;IACpJ,8DAAK,CAAA;IAEL,0JAA0J;IAC1J,gEAAM,CAAA;AACP,CAAC,EAxHI,kBAAkB,KAAlB,kBAAkB,QAwHtB;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type Adobe from "../types/Adobe.js";
2
+ import type Xyz from "../types/Xyz.js";
3
+ /**
4
+ * Convert the given Adobe RGB color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
5
+ * @param color - The Adobe RGB color.
6
+ * @returns A CIEXYZ color.
7
+ * @public
8
+ */
9
+ export default function adobeToXyz(color: Adobe): Xyz;
10
+ //# sourceMappingURL=adobeToXyz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adobeToXyz.d.ts","sourceRoot":"","sources":["../../src/utility/adobeToXyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAUpD"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Convert the given Adobe RGB color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
3
+ * @param color - The Adobe RGB color.
4
+ * @returns A CIEXYZ color.
5
+ * @public
6
+ */
7
+ export default function adobeToXyz(color) {
8
+ const i0 = color[0] ** 2.19921875 * 0.00050991; // `(x / 0xff) ** 2.19921875 * 100`
9
+ const i1 = color[1] ** 2.19921875 * 0.00050991; // `(x / 0xff) ** 2.19921875 * 100`
10
+ const i2 = color[2] ** 2.19921875 * 0.00050991; // `(x / 0xff) ** 2.19921875 * 100`
11
+ return [
12
+ i0 * 0.57667 + i1 * 0.18555 + i2 * 0.18819,
13
+ i0 * 0.29738 + i1 * 0.62735 + i2 * 0.07527,
14
+ i0 * 0.02703 + i1 * 0.07069 + i2 * 0.9911
15
+ ];
16
+ }
17
+ //# sourceMappingURL=adobeToXyz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adobeToXyz.js","sourceRoot":"","sources":["../../src/utility/adobeToXyz.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAY;IAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,mCAAmC;IACnF,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,mCAAmC;IACnF,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,mCAAmC;IAEnF,OAAO;QACN,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO;QAC1C,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO;QAC1C,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM;KACzC,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type Cmy from "../types/Cmy.js";
2
+ import type Cmyk from "../types/Cmyk.js";
3
+ /**
4
+ * Convert the given CMY color to a CMYK color. Based on the EasyRGB pseudo-code.
5
+ * @param color - The CMY color.
6
+ * @returns A CMYK color.
7
+ * @public
8
+ */
9
+ export default function cmyToCmyk(color: Cmy): Cmyk;
10
+ //# sourceMappingURL=cmyToCmyk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmyToCmyk.d.ts","sourceRoot":"","sources":["../../src/utility/cmyToCmyk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAalD"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Convert the given CMY color to a CMYK color. Based on the EasyRGB pseudo-code.
3
+ * @param color - The CMY color.
4
+ * @returns A CMYK color.
5
+ * @public
6
+ */
7
+ export default function cmyToCmyk(color) {
8
+ // eslint-disable-next-line prefer-destructuring
9
+ const c = color[0];
10
+ // eslint-disable-next-line prefer-destructuring
11
+ const m = color[1];
12
+ // eslint-disable-next-line prefer-destructuring
13
+ const y = color[2];
14
+ const k = Math.min(c, m, y, 1);
15
+ return k === 1
16
+ ? [0, 0, 0, 1]
17
+ : [(c - k) / (1 - k), (m - k) / (1 - k), (y - k) / (1 - k), k];
18
+ }
19
+ //# sourceMappingURL=cmyToCmyk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmyToCmyk.js","sourceRoot":"","sources":["../../src/utility/cmyToCmyk.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAU;IAC3C,gDAAgD;IAChD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,gDAAgD;IAChD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,gDAAgD;IAChD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAC;QACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type Cmy from "../types/Cmy.js";
2
+ import type Rgb from "../types/Rgb.js";
3
+ /**
4
+ * Convert the given CMY color to an sRGB color. Based on the EasyRGB pseudo-code.
5
+ * @param color - The CMY color.
6
+ * @returns An sRGB color.
7
+ * @public
8
+ */
9
+ export default function cmyToRgb(color: Cmy): Rgb;
10
+ //# sourceMappingURL=cmyToRgb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmyToRgb.d.ts","sourceRoot":"","sources":["../../src/utility/cmyToRgb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAEhD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Convert the given CMY color to an sRGB color. Based on the EasyRGB pseudo-code.
3
+ * @param color - The CMY color.
4
+ * @returns An sRGB color.
5
+ * @public
6
+ */
7
+ export default function cmyToRgb(color) {
8
+ return [(1 - color[0]) * 0xff, (1 - color[1]) * 0xff, (1 - color[2]) * 0xff];
9
+ }
10
+ //# sourceMappingURL=cmyToRgb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmyToRgb.js","sourceRoot":"","sources":["../../src/utility/cmyToRgb.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type Cmy from "../types/Cmy.js";
2
+ import type Cmyk from "../types/Cmyk.js";
3
+ /**
4
+ * Convert the given CMYK color to a CMY color. Based on the EasyRGB pseudo-code.
5
+ * @param color - The CMYK color
6
+ * @returns A CMY color.
7
+ * @public
8
+ */
9
+ export default function cmykToCmy(color: Cmyk): Cmy;
10
+ //# sourceMappingURL=cmykToCmy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmykToCmy.d.ts","sourceRoot":"","sources":["../../src/utility/cmykToCmy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,IAAI,GAAG,GAAG,CASlD"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Convert the given CMYK color to a CMY color. Based on the EasyRGB pseudo-code.
3
+ * @param color - The CMYK color
4
+ * @returns A CMY color.
5
+ * @public
6
+ */
7
+ export default function cmykToCmy(color) {
8
+ // eslint-disable-next-line prefer-destructuring
9
+ const k = color[3];
10
+ return [
11
+ color[0] * (1 - k) + k,
12
+ color[1] * (1 - k) + k,
13
+ color[2] * (1 - k) + k
14
+ ];
15
+ }
16
+ //# sourceMappingURL=cmykToCmy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmykToCmy.js","sourceRoot":"","sources":["../../src/utility/cmykToCmy.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAW;IAC5C,gDAAgD;IAChD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,OAAO;QACN,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QACtB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QACtB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;KACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type Rgb from "../types/Rgb.js";
2
+ /**
3
+ * Calculate the contrast ratio between two sRGB colors. This is useful for ensuring that Web Content Accessibility Guidelines (WCAG) are met. For everything to meet WCAG 2.2 at level AAA, this value should be at least 7.
4
+ * @param color0 - The first sRGB color.
5
+ * @param color1 - The second sRGB color.
6
+ * @returns The contrast ratio between the colors (a value `v` such that the contrast ratio between the colors is `v` to one).
7
+ * @see {@link https://www.w3.org/WAI/GL/wiki/Contrast_ratio | Contrast ratio}
8
+ * @see {@link https://www.w3.org/WAI/standards-guidelines/wcag/ | WCAG 2 Overview}
9
+ * @public
10
+ */
11
+ export default function contrast(color0: Rgb, color1: Rgb): number;
12
+ //# sourceMappingURL=contrast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../../src/utility/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAMjE"}
@@ -0,0 +1,17 @@
1
+ import relativeLuminance from "./relativeLuminance.js";
2
+ /**
3
+ * Calculate the contrast ratio between two sRGB colors. This is useful for ensuring that Web Content Accessibility Guidelines (WCAG) are met. For everything to meet WCAG 2.2 at level AAA, this value should be at least 7.
4
+ * @param color0 - The first sRGB color.
5
+ * @param color1 - The second sRGB color.
6
+ * @returns The contrast ratio between the colors (a value `v` such that the contrast ratio between the colors is `v` to one).
7
+ * @see {@link https://www.w3.org/WAI/GL/wiki/Contrast_ratio | Contrast ratio}
8
+ * @see {@link https://www.w3.org/WAI/standards-guidelines/wcag/ | WCAG 2 Overview}
9
+ * @public
10
+ */
11
+ export default function contrast(color0, color1) {
12
+ // Intermediate values.
13
+ const i0 = relativeLuminance(color0);
14
+ const i1 = relativeLuminance(color1);
15
+ return i0 > i1 ? (i0 + 0.05) / (i1 + 0.05) : (i1 + 0.05) / (i0 + 0.05);
16
+ }
17
+ //# sourceMappingURL=contrast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contrast.js","sourceRoot":"","sources":["../../src/utility/contrast.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAW,EAAE,MAAW;IACxD,uBAAuB;IACvB,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type Lab from "../types/Lab.js";
2
+ import type Luv from "../types/Luv.js";
3
+ /**
4
+ * Calculates the ΔC* between two CIELAB values. Based on the EasyRGB pseudocode.
5
+ * @param color0 - The first color.
6
+ * @param color1 - The second color.
7
+ * @returns The difference between the colors.
8
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
9
+ * @public
10
+ */
11
+ export default function deltaC(color0: Lab, color1: Lab): number;
12
+ /**
13
+ * Calculates the ΔC* between two CIELUV values. Based on the EasyRGB pseudocode.
14
+ * @param color0 - The first color.
15
+ * @param color1 - The second color.
16
+ * @returns The difference between the colors.
17
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
18
+ * @public
19
+ */
20
+ export default function deltaC(color0: Luv, color1: Luv): number;
21
+ //# sourceMappingURL=deltaC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaC.d.ts","sourceRoot":"","sources":["../../src/utility/deltaC.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ export default function deltaC(color0, color1) {
2
+ return Math.hypot(color1[1], color1[2]) - Math.hypot(color0[1], color0[2]);
3
+ }
4
+ //# sourceMappingURL=deltaC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaC.js","sourceRoot":"","sources":["../../src/utility/deltaC.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAiB,EAAE,MAAiB;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type Lab from "../types/Lab.js";
2
+ import type Lch from "../types/Lch.js";
3
+ /**
4
+ * Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
5
+ * @param color0 - The first color.
6
+ * @param color1 - The second color.
7
+ * @param weight - The CIELCH weights. Defaults to all ones.
8
+ * @returns The difference between the colors.
9
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
+ * @public
11
+ */
12
+ export default function deltaCmc(color0: Lab, color1: Lab, weight?: Lch): number;
13
+ //# sourceMappingURL=deltaCmc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaCmc.d.ts","sourceRoot":"","sources":["../../src/utility/deltaCmc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,GAAe,GACrB,MAAM,CA0CR"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
3
+ * @param color0 - The first color.
4
+ * @param color1 - The second color.
5
+ * @param weight - The CIELCH weights. Defaults to all ones.
6
+ * @returns The difference between the colors.
7
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
8
+ * @public
9
+ */
10
+ export default function deltaCmc(color0, color1, weight = [1, 1, 1]) {
11
+ // eslint-disable-next-line prefer-destructuring
12
+ const l0 = color0[0];
13
+ // eslint-disable-next-line prefer-destructuring
14
+ const a0 = color0[1];
15
+ // eslint-disable-next-line prefer-destructuring
16
+ const b0 = color0[2];
17
+ // eslint-disable-next-line prefer-destructuring
18
+ const a1 = color1[1];
19
+ // eslint-disable-next-line prefer-destructuring
20
+ const b1 = color1[2];
21
+ const i0 = Math.hypot(a0, b0);
22
+ const i1 = i0 ** 4;
23
+ const i2 = Math.sqrt(i1 / (i1 + 1900));
24
+ const i3 = b0 === 0
25
+ ? a0 < 0
26
+ ? 180
27
+ : 0
28
+ : a0 === 0
29
+ ? b0 < 0
30
+ ? 270
31
+ : 90
32
+ : Math.atan(b0 / a0) * 57.29577951 + // `180 / Math.PI`
33
+ (a0 > 0 ? (b0 > 0 ? 0 : 360) : 180);
34
+ const i4 = (0.0638 * i0) / (1 + 0.0131 * i0) + 0.638;
35
+ const i5 = Math.hypot(a1, b1) - i0;
36
+ return Math.hypot((color1[0] - l0) /
37
+ (weight[0] * (l0 < 16 ? 0.511 : (0.040975 * l0) / (1 + 0.01765 * l0))), i5 / (weight[1] * i4), Math.sqrt((a1 - a0) ** 2 + (b1 - b0) ** 2 - i5 ** 2) /
38
+ ((i2 *
39
+ (i3 < 164 || i3 > 345
40
+ ? 0.36 + Math.abs(0.4 * Math.cos((35 + i3) * 0.01745329)) // `Math.PI / 180`
41
+ : 0.56 + Math.abs(0.2 * Math.cos((168 + i3) * 0.01745329))) + // `Math.PI / 180`
42
+ 1 -
43
+ i2) *
44
+ i4));
45
+ }
46
+ //# sourceMappingURL=deltaCmc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaCmc.js","sourceRoot":"","sources":["../../src/utility/deltaCmc.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAW,EACX,MAAW,EACX,SAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,GACP,EAAE,KAAK,CAAC;QACP,CAAC,CAAC,EAAE,GAAG,CAAC;YACP,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,EAAE,KAAK,CAAC;YACT,CAAC,CAAC,EAAE,GAAG,CAAC;gBACP,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,EAAE;YACL,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,WAAW,GAAG,kBAAkB;gBACtD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IAEnC,OAAO,IAAI,CAAC,KAAK,CAChB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACf,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,EACvE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EACrB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE;YACH,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG;gBACpB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB;gBAC5E,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,kBAAkB;YACjF,CAAC;YACD,EAAE,CAAC;YACH,EAAE,CAAC,CACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type Lab from "../types/Lab.js";
2
+ import type Lch from "../types/Lch.js";
3
+ /**
4
+ * Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
5
+ * @param color0 - The first color.
6
+ * @param color1 - The second color.
7
+ * @param weight - The CIELCH weights. Defaults to all ones.
8
+ * @returns The difference between the colors.
9
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
+ * @public
11
+ */
12
+ export default function deltaE00(color0: Lab, color1: Lab, weight?: Lch): number;
13
+ //# sourceMappingURL=deltaE00.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE00.d.ts","sourceRoot":"","sources":["../../src/utility/deltaE00.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAoBvC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,GAAe,GACrB,MAAM,CAsER"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Convert CIELAB data to hue data.
3
+ * @param a - An input CIELAB value.
4
+ * @param b - An input CIELAB value.
5
+ * @returns A CIELCh hue (h°) value.
6
+ * @internal
7
+ */
8
+ const cieLabToHue = (a, b) => b === 0
9
+ ? a < 0
10
+ ? 180
11
+ : 0
12
+ : a === 0
13
+ ? b < 0
14
+ ? 270
15
+ : 90
16
+ : Math.atan(b / a) * 57.29577951 + (a > 0 ? (b > 0 ? 0 : 360) : 180); // `180 / Math.PI`
17
+ /**
18
+ * Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
19
+ * @param color0 - The first color.
20
+ * @param color1 - The second color.
21
+ * @param weight - The CIELCH weights. Defaults to all ones.
22
+ * @returns The difference between the colors.
23
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
24
+ * @public
25
+ */
26
+ export default function deltaE00(color0, color1, weight = [1, 1, 1]) {
27
+ // eslint-disable-next-line prefer-destructuring
28
+ const l0 = color0[0];
29
+ // eslint-disable-next-line prefer-destructuring
30
+ const a0 = color0[1];
31
+ // eslint-disable-next-line prefer-destructuring
32
+ const b0 = color0[2];
33
+ // eslint-disable-next-line prefer-destructuring
34
+ const l1 = color1[0];
35
+ // eslint-disable-next-line prefer-destructuring
36
+ const a1 = color1[1];
37
+ // eslint-disable-next-line prefer-destructuring
38
+ const b1 = color1[2];
39
+ const i0 = ((Math.hypot(a0, b0) + Math.hypot(a1, b1)) / 2) ** 7;
40
+ const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 + 6103515625))); // `25 ** 7
41
+ const i2 = (1 + i1) * a0;
42
+ const i3 = Math.hypot(i2, b0);
43
+ const i4 = cieLabToHue(i2, b0);
44
+ const i5 = (1 + i1) * a1;
45
+ const i6 = Math.hypot(i5, b1);
46
+ const i7 = cieLabToHue(i5, b1);
47
+ const i8 = (i3 + i6) / 2;
48
+ const i9 = i3 * i6;
49
+ const i10 = i4 + i7;
50
+ const i11 = i9 === 0
51
+ ? i10
52
+ : Math.abs(i4 - i7) > 180
53
+ ? i10 < 360
54
+ ? (i10 + 360) / 2
55
+ : (i10 - 360) / 2
56
+ : i10 / 2;
57
+ const i12 = (i6 - i3) / (weight[1] * (1 + 0.045 * i8));
58
+ const i13 = i7 - i4;
59
+ const i14 = (2 *
60
+ Math.sqrt(i9) *
61
+ Math.sin(((i9 === 0
62
+ ? 0
63
+ : Math.abs(i13) <= 180
64
+ ? i13
65
+ : i13 > 180
66
+ ? i13 - 360
67
+ : i13 + 360) /
68
+ 2) *
69
+ 0.01745329 // `Math.PI / 180`
70
+ )) /
71
+ (weight[2] *
72
+ (1 +
73
+ 0.015 *
74
+ i8 *
75
+ (1 -
76
+ 0.17 * Math.cos((i11 - 30) * 0.01745329) + // `Math.PI / 180`
77
+ 0.24 * Math.cos(2 * i11 * 0.01745329) + // `Math.PI / 180`
78
+ 0.32 * Math.cos((3 * i11 + 6) * 0.01745329) - // `Math.PI / 180`
79
+ 0.2 * Math.cos((4 * i11 - 63) * 0.01745329)))); // `Math.PI / 180`
80
+ const i15 = i8 ** 7;
81
+ const i16 = ((l0 + l1) / 2 - 50) ** 2;
82
+ return Math.sqrt(((l1 - l0) / (weight[0] * (1 + (0.015 * i16) / Math.sqrt(20 + i16)))) ** 2 +
83
+ i12 ** 2 +
84
+ i14 ** 2 +
85
+ -Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) * 0.01745329) * // `Math.PI / 180`
86
+ (2 * Math.sqrt(i15 / (i15 + 6103515625))) * // `25 ** 7
87
+ i12 *
88
+ i14);
89
+ }
90
+ //# sourceMappingURL=deltaE00.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE00.js","sourceRoot":"","sources":["../../src/utility/deltaE00.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CACpD,CAAC,KAAK,CAAC;IACN,CAAC,CAAC,CAAC,GAAG,CAAC;QACN,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC,KAAK,CAAC;QACR,CAAC,CAAC,CAAC,GAAG,CAAC;YACN,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,EAAE;QACL,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB;AAE3F;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAW,EACX,MAAW,EACX,SAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;IACrE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,GAAG,GACR,EAAE,KAAK,CAAC;QACP,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG;YACxB,CAAC,CAAC,GAAG,GAAG,GAAG;gBACV,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAClB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,GAAG,GACR,CAAC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CACP,CAAC,CAAC,EAAE,KAAK,CAAC;YACT,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG;gBACrB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,GAAG,GAAG,GAAG;oBACV,CAAC,CAAC,GAAG,GAAG,GAAG;oBACX,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;YACd,CAAC,CAAC;YACF,UAAU,CAAC,kBAAkB;SAC9B,CAAC;QACH,CAAC,MAAM,CAAC,CAAC,CAAC;YACT,CAAC,CAAC;gBACD,KAAK;oBACJ,EAAE;oBACF,CAAC,CAAC;wBACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,kBAAkB;wBAC7D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,kBAAkB;wBAC1D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,kBAAkB;wBAChE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;IACvE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;IACpB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,CAAC,IAAI,CACf,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,GAAG,IAAI,CAAC;QACR,GAAG,IAAI,CAAC;QACR,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,kBAAkB;YAC3F,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW;YACvD,GAAG;YACH,GAAG,CACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type Lab from "../types/Lab.js";
2
+ import type Luv from "../types/Luv.js";
3
+ /**
4
+ * Calculates the ΔE* CIE (CIE 1976) between two CIELAB values. Based on the EasyRGB pseudocode.
5
+ * @param color0 - The first color.
6
+ * @param color1 - The second color.
7
+ * @returns The difference between the colors.
8
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
9
+ * @public
10
+ */
11
+ export default function deltaE76(color0: Lab, color1: Lab): number;
12
+ /**
13
+ * Calculates the ΔE* CIE (CIE 1976) between two CIELUV values. Based on the EasyRGB pseudocode.
14
+ * @param color0 - The first color.
15
+ * @param color1 - The second color.
16
+ * @returns The difference between the colors.
17
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
18
+ * @public
19
+ */
20
+ export default function deltaE76(color0: Luv, color1: Luv): number;
21
+ //# sourceMappingURL=deltaE76.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE76.d.ts","sourceRoot":"","sources":["../../src/utility/deltaE76.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ export default function deltaE76(color0, color1) {
2
+ return Math.hypot(color0[0] - color1[0], color0[1] - color1[1], color0[2] - color1[2]);
3
+ }
4
+ //# sourceMappingURL=deltaE76.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE76.js","sourceRoot":"","sources":["../../src/utility/deltaE76.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAiB,EAAE,MAAiB;IACpE,OAAO,IAAI,CAAC,KAAK,CAChB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type Lab from "../types/Lab.js";
2
+ import type Lch from "../types/Lch.js";
3
+ /**
4
+ * Calculates the ΔE* 1994 between two CIELAB values. Based on the EasyRGB pseudocode.
5
+ * @param color0 - The first color.
6
+ * @param color1 - The second color.
7
+ * @param weight - The CIELCH weights. Defaults to all ones.
8
+ * @returns The difference between the colors.
9
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
+ * @public
11
+ */
12
+ export default function deltaE94(color0: Lab, color1: Lab, weight?: Lch): number;
13
+ //# sourceMappingURL=deltaE94.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE94.d.ts","sourceRoot":"","sources":["../../src/utility/deltaE94.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,GAAe,GACrB,MAAM,CAwBR"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Calculates the ΔE* 1994 between two CIELAB values. Based on the EasyRGB pseudocode.
3
+ * @param color0 - The first color.
4
+ * @param color1 - The second color.
5
+ * @param weight - The CIELCH weights. Defaults to all ones.
6
+ * @returns The difference between the colors.
7
+ * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
8
+ * @public
9
+ */
10
+ export default function deltaE94(color0, color1, weight = [1, 1, 1]) {
11
+ // eslint-disable-next-line prefer-destructuring
12
+ const l0 = color0[0];
13
+ // eslint-disable-next-line prefer-destructuring
14
+ const a0 = color0[1];
15
+ // eslint-disable-next-line prefer-destructuring
16
+ const b0 = color0[2];
17
+ // eslint-disable-next-line prefer-destructuring
18
+ const l1 = color1[0];
19
+ // eslint-disable-next-line prefer-destructuring
20
+ const a1 = color1[1];
21
+ // eslint-disable-next-line prefer-destructuring
22
+ const b1 = color1[2];
23
+ const i0 = Math.hypot(a0, b0);
24
+ const i1 = l1 - l0;
25
+ const i2 = Math.hypot(a1, b1) - i0;
26
+ const i3 = Math.hypot(l0 - l1, a0 - a1, b0 - b1) ** 2 - i1 ** 2 - i2 ** 2;
27
+ return Math.hypot(i1 / weight[0], i2 / (weight[1] * (1 + 0.045 * i0)), (i3 > 0 ? Math.sqrt(i3) : 0) / (weight[2] * (1 + 0.015 * i0)));
28
+ }
29
+ //# sourceMappingURL=deltaE94.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE94.js","sourceRoot":"","sources":["../../src/utility/deltaE94.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAW,EACX,MAAW,EACX,SAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE1E,OAAO,IAAI,CAAC,KAAK,CAChB,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EACd,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,EACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAC7D,CAAC;AACH,CAAC"}