@lakuna/color 1.1.2 → 1.2.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 (368) hide show
  1. package/LICENSE +1 -1
  2. package/dist/{utility → convert}/adobeToXyz.d.ts +1 -1
  3. package/dist/convert/adobeToXyz.d.ts.map +1 -0
  4. package/dist/{utility → convert}/adobeToXyz.js +5 -3
  5. package/dist/convert/adobeToXyz.js.map +1 -0
  6. package/dist/{utility → convert}/cmyToCmyk.d.ts +1 -1
  7. package/dist/convert/cmyToCmyk.d.ts.map +1 -0
  8. package/dist/{utility → convert}/cmyToCmyk.js +0 -3
  9. package/dist/convert/cmyToCmyk.js.map +1 -0
  10. package/dist/{utility → convert}/cmyToRgb.d.ts +1 -1
  11. package/dist/{utility → convert}/cmyToRgb.d.ts.map +1 -1
  12. package/dist/{utility → convert}/cmyToRgb.js.map +1 -1
  13. package/dist/{utility → convert}/cmykToCmy.d.ts +1 -1
  14. package/dist/{utility → convert}/cmykToCmy.d.ts.map +1 -1
  15. package/dist/{utility → convert}/cmykToCmy.js +0 -1
  16. package/dist/convert/cmykToCmy.js.map +1 -0
  17. package/dist/{utility → convert}/hexToRgb.d.ts +1 -1
  18. package/dist/convert/hexToRgb.d.ts.map +1 -0
  19. package/dist/{utility → convert}/hexToRgb.js.map +1 -1
  20. package/dist/{utility → convert}/hslToRgb.d.ts +1 -1
  21. package/dist/convert/hslToRgb.d.ts.map +1 -0
  22. package/dist/{utility → convert}/hslToRgb.js +5 -6
  23. package/dist/convert/hslToRgb.js.map +1 -0
  24. package/dist/{utility → convert}/hsvToRgb.d.ts +1 -1
  25. package/dist/{utility → convert}/hsvToRgb.d.ts.map +1 -1
  26. package/dist/{utility → convert}/hsvToRgb.js +0 -2
  27. package/dist/convert/hsvToRgb.js.map +1 -0
  28. package/dist/{utility → convert}/hunterToXyz.d.ts +1 -1
  29. package/dist/convert/hunterToXyz.d.ts.map +1 -0
  30. package/dist/{utility → convert}/hunterToXyz.js +6 -7
  31. package/dist/convert/hunterToXyz.js.map +1 -0
  32. package/dist/convert/labToLch.d.ts +19 -0
  33. package/dist/convert/labToLch.d.ts.map +1 -0
  34. package/dist/convert/labToLch.js +12 -0
  35. package/dist/convert/labToLch.js.map +1 -0
  36. package/dist/{utility → convert}/labToXyz.d.ts +1 -1
  37. package/dist/convert/labToXyz.d.ts.map +1 -0
  38. package/dist/{utility → convert}/labToXyz.js +8 -5
  39. package/dist/convert/labToXyz.js.map +1 -0
  40. package/dist/convert/lchToLab.d.ts +19 -0
  41. package/dist/convert/lchToLab.d.ts.map +1 -0
  42. package/dist/convert/lchToLab.js +7 -0
  43. package/dist/convert/lchToLab.js.map +1 -0
  44. package/dist/{utility → convert}/luvToXyz.d.ts +1 -1
  45. package/dist/convert/luvToXyz.d.ts.map +1 -0
  46. package/dist/{utility → convert}/luvToXyz.js +4 -6
  47. package/dist/convert/luvToXyz.js.map +1 -0
  48. package/dist/{utility → convert}/rgbToCmy.d.ts +1 -1
  49. package/dist/{utility → convert}/rgbToCmy.d.ts.map +1 -1
  50. package/dist/{utility → convert}/rgbToCmy.js.map +1 -1
  51. package/dist/{utility → convert}/rgbToHex.d.ts.map +1 -1
  52. package/dist/{utility → convert}/rgbToHex.js +3 -1
  53. package/dist/convert/rgbToHex.js.map +1 -0
  54. package/dist/convert/rgbToHsi.d.ts +10 -0
  55. package/dist/convert/rgbToHsi.d.ts.map +1 -0
  56. package/dist/convert/rgbToHsi.js +36 -0
  57. package/dist/convert/rgbToHsi.js.map +1 -0
  58. package/dist/{utility → convert}/rgbToHsl.d.ts +1 -1
  59. package/dist/convert/rgbToHsl.d.ts.map +1 -0
  60. package/dist/convert/rgbToHsl.js +37 -0
  61. package/dist/convert/rgbToHsl.js.map +1 -0
  62. package/dist/{utility → convert}/rgbToHsv.d.ts +1 -1
  63. package/dist/convert/rgbToHsv.d.ts.map +1 -0
  64. package/dist/{utility → convert}/rgbToHsv.js +11 -11
  65. package/dist/convert/rgbToHsv.js.map +1 -0
  66. package/dist/{utility → convert}/rgbToXyz.d.ts +1 -1
  67. package/dist/convert/rgbToXyz.d.ts.map +1 -0
  68. package/dist/{utility → convert}/rgbToXyz.js +9 -3
  69. package/dist/convert/rgbToXyz.js.map +1 -0
  70. package/dist/{utility → convert}/xyzToAdobe.d.ts +1 -1
  71. package/dist/convert/xyzToAdobe.d.ts.map +1 -0
  72. package/dist/{utility → convert}/xyzToAdobe.js +5 -3
  73. package/dist/convert/xyzToAdobe.js.map +1 -0
  74. package/dist/{utility → convert}/xyzToHunter.d.ts +2 -2
  75. package/dist/convert/xyzToHunter.d.ts.map +1 -0
  76. package/dist/{utility → convert}/xyzToHunter.js +7 -8
  77. package/dist/convert/xyzToHunter.js.map +1 -0
  78. package/dist/{utility → convert}/xyzToLab.d.ts +1 -1
  79. package/dist/convert/xyzToLab.d.ts.map +1 -0
  80. package/dist/{utility → convert}/xyzToLab.js +9 -5
  81. package/dist/convert/xyzToLab.js.map +1 -0
  82. package/dist/{utility → convert}/xyzToLuv.d.ts +1 -1
  83. package/dist/convert/xyzToLuv.d.ts.map +1 -0
  84. package/dist/{utility → convert}/xyzToLuv.js +5 -7
  85. package/dist/convert/xyzToLuv.js.map +1 -0
  86. package/dist/{utility → convert}/xyzToRgb.d.ts +1 -1
  87. package/dist/convert/xyzToRgb.d.ts.map +1 -0
  88. package/dist/{utility → convert}/xyzToRgb.js +8 -3
  89. package/dist/convert/xyzToRgb.js.map +1 -0
  90. package/dist/{utility → convert}/xyzToYxy.d.ts +1 -1
  91. package/dist/{utility → convert}/xyzToYxy.d.ts.map +1 -1
  92. package/dist/{utility → convert}/xyzToYxy.js +0 -3
  93. package/dist/convert/xyzToYxy.js.map +1 -0
  94. package/dist/{utility → convert}/yxyToXyz.d.ts +1 -1
  95. package/dist/{utility → convert}/yxyToXyz.d.ts.map +1 -1
  96. package/dist/{utility → convert}/yxyToXyz.js +0 -3
  97. package/dist/convert/yxyToXyz.js.map +1 -0
  98. package/dist/delta/deltaC.d.ts.map +1 -0
  99. package/dist/delta/deltaC.js.map +1 -0
  100. package/dist/{utility → delta}/deltaCmc.d.ts +2 -2
  101. package/dist/delta/deltaCmc.d.ts.map +1 -0
  102. package/dist/{utility → delta}/deltaCmc.js +5 -8
  103. package/dist/delta/deltaCmc.js.map +1 -0
  104. package/dist/{utility → delta}/deltaE00.d.ts +2 -2
  105. package/dist/delta/deltaE00.d.ts.map +1 -0
  106. package/dist/{utility → delta}/deltaE00.js +13 -17
  107. package/dist/delta/deltaE00.js.map +1 -0
  108. package/dist/delta/deltaE76.d.ts.map +1 -0
  109. package/dist/delta/deltaE76.js.map +1 -0
  110. package/dist/{utility → delta}/deltaE94.d.ts +2 -2
  111. package/dist/delta/deltaE94.d.ts.map +1 -0
  112. package/dist/{utility → delta}/deltaE94.js +0 -6
  113. package/dist/delta/deltaE94.js.map +1 -0
  114. package/dist/delta/deltaH.d.ts.map +1 -0
  115. package/dist/{utility → delta}/deltaH.js +0 -4
  116. package/dist/delta/deltaH.js.map +1 -0
  117. package/dist/index.d.ts +41 -31
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +41 -30
  120. package/dist/index.js.map +1 -1
  121. package/dist/names/bang.d.ts +2 -2
  122. package/dist/names/bang.d.ts.map +1 -1
  123. package/dist/names/bang.js +471 -471
  124. package/dist/names/bang.js.map +1 -1
  125. package/dist/names/cne.d.ts +1 -1
  126. package/dist/names/cne.d.ts.map +1 -1
  127. package/dist/names/cne.js +843 -843
  128. package/dist/names/cne.js.map +1 -1
  129. package/dist/names/crayola.d.ts +1 -1
  130. package/dist/names/crayola.d.ts.map +1 -1
  131. package/dist/names/crayola.js +110 -110
  132. package/dist/names/crayola.js.map +1 -1
  133. package/dist/names/getName.d.ts.map +1 -1
  134. package/dist/names/getName.js +3 -3
  135. package/dist/names/getName.js.map +1 -1
  136. package/dist/names/hollasch.d.ts +1 -1
  137. package/dist/names/hollasch.d.ts.map +1 -1
  138. package/dist/names/hollasch.js +179 -179
  139. package/dist/names/hollasch.js.map +1 -1
  140. package/dist/names/nbs.d.ts +1 -1
  141. package/dist/names/nbs.d.ts.map +1 -1
  142. package/dist/names/nbs.js +266 -266
  143. package/dist/names/nbs.js.map +1 -1
  144. package/dist/names/ntc.d.ts +1 -1
  145. package/dist/names/ntc.d.ts.map +1 -1
  146. package/dist/names/ntc.js +1519 -1519
  147. package/dist/names/ntc.js.map +1 -1
  148. package/dist/names/resene.d.ts +1 -1
  149. package/dist/names/resene.d.ts.map +1 -1
  150. package/dist/names/resene.js +1331 -1331
  151. package/dist/names/resene.js.map +1 -1
  152. package/dist/names/tcapi.d.ts +1 -1
  153. package/dist/names/tcapi.d.ts.map +1 -1
  154. package/dist/names/tcapi.js +1840 -1840
  155. package/dist/names/tcapi.js.map +1 -1
  156. package/dist/names/x11.d.ts +1 -1
  157. package/dist/names/x11.d.ts.map +1 -1
  158. package/dist/names/x11.js +445 -445
  159. package/dist/names/x11.js.map +1 -1
  160. package/dist/names/xkcd.d.ts +1 -1
  161. package/dist/names/xkcd.d.ts.map +1 -1
  162. package/dist/names/xkcd.js +897 -897
  163. package/dist/names/xkcd.js.map +1 -1
  164. package/dist/palette/analogous.d.ts +28 -0
  165. package/dist/palette/analogous.d.ts.map +1 -0
  166. package/dist/palette/analogous.js +15 -0
  167. package/dist/palette/analogous.js.map +1 -0
  168. package/dist/palette/analogousLch.d.ts +19 -0
  169. package/dist/palette/analogousLch.d.ts.map +1 -0
  170. package/dist/palette/analogousLch.js +15 -0
  171. package/dist/palette/analogousLch.js.map +1 -0
  172. package/dist/palette/complement.d.ts +28 -0
  173. package/dist/palette/complement.d.ts.map +1 -0
  174. package/dist/palette/complement.js +15 -0
  175. package/dist/palette/complement.js.map +1 -0
  176. package/dist/palette/complementLch.d.ts +19 -0
  177. package/dist/palette/complementLch.d.ts.map +1 -0
  178. package/dist/palette/complementLch.js +15 -0
  179. package/dist/palette/complementLch.js.map +1 -0
  180. package/dist/palette/splitComplement.d.ts +28 -0
  181. package/dist/palette/splitComplement.d.ts.map +1 -0
  182. package/dist/palette/splitComplement.js +15 -0
  183. package/dist/palette/splitComplement.js.map +1 -0
  184. package/dist/palette/splitComplementLch.d.ts +19 -0
  185. package/dist/palette/splitComplementLch.d.ts.map +1 -0
  186. package/dist/palette/splitComplementLch.js +15 -0
  187. package/dist/palette/splitComplementLch.js.map +1 -0
  188. package/dist/types/Adobe.d.ts.map +1 -1
  189. package/dist/types/Cmy.d.ts.map +1 -1
  190. package/dist/types/Cmyk.d.ts.map +1 -1
  191. package/dist/types/Hsi.d.ts +15 -0
  192. package/dist/types/Hsi.d.ts.map +1 -0
  193. package/dist/types/Hsi.js +2 -0
  194. package/dist/types/Hsi.js.map +1 -0
  195. package/dist/types/Hsl.d.ts +1 -1
  196. package/dist/types/Hsl.d.ts.map +1 -1
  197. package/dist/types/Hsv.d.ts +1 -1
  198. package/dist/types/Hsv.d.ts.map +1 -1
  199. package/dist/types/Hunter.d.ts.map +1 -1
  200. package/dist/types/Lab.d.ts +2 -2
  201. package/dist/types/Lab.d.ts.map +1 -1
  202. package/dist/types/Lchab.d.ts +15 -0
  203. package/dist/types/Lchab.d.ts.map +1 -0
  204. package/dist/types/Lchab.js +2 -0
  205. package/dist/types/Lchab.js.map +1 -0
  206. package/dist/types/Lchuv.d.ts +15 -0
  207. package/dist/types/Lchuv.d.ts.map +1 -0
  208. package/dist/types/Lchuv.js +2 -0
  209. package/dist/types/Lchuv.js.map +1 -0
  210. package/dist/types/Luv.d.ts +1 -1
  211. package/dist/types/Luv.d.ts.map +1 -1
  212. package/dist/types/Rgb.d.ts.map +1 -1
  213. package/dist/types/Xyz.d.ts.map +1 -1
  214. package/dist/types/Yxy.d.ts.map +1 -1
  215. package/dist/utility/StandardIlluminant.d.ts.map +1 -1
  216. package/dist/utility/StandardIlluminant.js.map +1 -1
  217. package/dist/utility/contrast.d.ts.map +1 -1
  218. package/dist/utility/contrast.js.map +1 -1
  219. package/dist/utility/getReference.d.ts +2 -2
  220. package/dist/utility/getReference.d.ts.map +1 -1
  221. package/dist/utility/getReference.js +39 -39
  222. package/dist/utility/getReference.js.map +1 -1
  223. package/dist/utility/isWebSafe.d.ts +10 -0
  224. package/dist/utility/isWebSafe.d.ts.map +1 -0
  225. package/dist/utility/isWebSafe.js +11 -0
  226. package/dist/utility/isWebSafe.js.map +1 -0
  227. package/dist/utility/relativeLuminance.js.map +1 -1
  228. package/package.json +15 -15
  229. package/src/{utility → convert}/adobeToXyz.ts +10 -4
  230. package/src/{utility → convert}/cmyToCmyk.ts +5 -4
  231. package/src/{utility → convert}/cmyToRgb.ts +1 -1
  232. package/src/{utility → convert}/cmykToCmy.ts +1 -2
  233. package/src/{utility → convert}/hexToRgb.ts +1 -1
  234. package/src/{utility → convert}/hslToRgb.ts +9 -7
  235. package/src/{utility → convert}/hsvToRgb.ts +2 -3
  236. package/src/{utility → convert}/hunterToXyz.ts +11 -8
  237. package/src/convert/labToLch.ts +36 -0
  238. package/src/{utility → convert}/labToXyz.ts +11 -6
  239. package/src/convert/lchToLab.ts +30 -0
  240. package/src/{utility → convert}/luvToXyz.ts +9 -7
  241. package/src/{utility → convert}/rgbToCmy.ts +1 -1
  242. package/src/{utility → convert}/rgbToHex.ts +5 -1
  243. package/src/convert/rgbToHsi.ts +43 -0
  244. package/src/convert/rgbToHsl.ts +44 -0
  245. package/src/{utility → convert}/rgbToHsv.ts +14 -13
  246. package/src/{utility → convert}/rgbToXyz.ts +11 -4
  247. package/src/{utility → convert}/xyzToAdobe.ts +9 -4
  248. package/src/{utility → convert}/xyzToHunter.ts +12 -9
  249. package/src/{utility → convert}/xyzToLab.ts +12 -6
  250. package/src/{utility → convert}/xyzToLuv.ts +11 -9
  251. package/src/{utility → convert}/xyzToRgb.ts +10 -4
  252. package/src/{utility → convert}/xyzToYxy.ts +3 -4
  253. package/src/{utility → convert}/yxyToXyz.ts +3 -4
  254. package/src/{utility → delta}/deltaC.ts +0 -2
  255. package/src/{utility → delta}/deltaCmc.ts +12 -10
  256. package/src/{utility → delta}/deltaE00.ts +21 -18
  257. package/src/{utility → delta}/deltaE76.ts +0 -2
  258. package/src/{utility → delta}/deltaE94.ts +7 -8
  259. package/src/{utility → delta}/deltaH.ts +3 -6
  260. package/src/index.ts +47 -31
  261. package/src/names/bang.ts +476 -472
  262. package/src/names/cne.ts +848 -844
  263. package/src/names/crayola.ts +115 -111
  264. package/src/names/getName.ts +4 -3
  265. package/src/names/hollasch.ts +184 -180
  266. package/src/names/nbs.ts +271 -267
  267. package/src/names/ntc.ts +1524 -1520
  268. package/src/names/resene.ts +1336 -1332
  269. package/src/names/tcapi.ts +1845 -1841
  270. package/src/names/x11.ts +450 -446
  271. package/src/names/xkcd.ts +902 -898
  272. package/src/palette/analogous.ts +61 -0
  273. package/src/palette/analogousLch.ts +49 -0
  274. package/src/palette/complement.ts +65 -0
  275. package/src/palette/complementLch.ts +50 -0
  276. package/src/palette/splitComplement.ts +61 -0
  277. package/src/palette/splitComplementLch.ts +48 -0
  278. package/src/types/Adobe.ts +3 -0
  279. package/src/types/Cmy.ts +3 -0
  280. package/src/types/Cmyk.ts +4 -0
  281. package/src/types/Hsi.ts +20 -0
  282. package/src/types/Hsl.ts +4 -1
  283. package/src/types/Hsv.ts +4 -1
  284. package/src/types/Hunter.ts +3 -0
  285. package/src/types/Lab.ts +5 -2
  286. package/src/types/Lchab.ts +20 -0
  287. package/src/types/Lchuv.ts +20 -0
  288. package/src/types/Luv.ts +4 -1
  289. package/src/types/Rgb.ts +3 -0
  290. package/src/types/Xyz.ts +3 -0
  291. package/src/types/Yxy.ts +3 -0
  292. package/src/utility/StandardIlluminant.ts +40 -40
  293. package/src/utility/contrast.ts +1 -0
  294. package/src/utility/getReference.ts +42 -41
  295. package/src/utility/isWebSafe.ts +14 -0
  296. package/src/utility/relativeLuminance.ts +1 -1
  297. package/dist/types/Lch.d.ts +0 -16
  298. package/dist/types/Lch.d.ts.map +0 -1
  299. package/dist/types/Lch.js +0 -2
  300. package/dist/types/Lch.js.map +0 -1
  301. package/dist/utility/adobeToXyz.d.ts.map +0 -1
  302. package/dist/utility/adobeToXyz.js.map +0 -1
  303. package/dist/utility/cmyToCmyk.d.ts.map +0 -1
  304. package/dist/utility/cmyToCmyk.js.map +0 -1
  305. package/dist/utility/cmykToCmy.js.map +0 -1
  306. package/dist/utility/deltaC.d.ts.map +0 -1
  307. package/dist/utility/deltaC.js.map +0 -1
  308. package/dist/utility/deltaCmc.d.ts.map +0 -1
  309. package/dist/utility/deltaCmc.js.map +0 -1
  310. package/dist/utility/deltaE00.d.ts.map +0 -1
  311. package/dist/utility/deltaE00.js.map +0 -1
  312. package/dist/utility/deltaE76.d.ts.map +0 -1
  313. package/dist/utility/deltaE76.js.map +0 -1
  314. package/dist/utility/deltaE94.d.ts.map +0 -1
  315. package/dist/utility/deltaE94.js.map +0 -1
  316. package/dist/utility/deltaH.d.ts.map +0 -1
  317. package/dist/utility/deltaH.js.map +0 -1
  318. package/dist/utility/hexToRgb.d.ts.map +0 -1
  319. package/dist/utility/hslToRgb.d.ts.map +0 -1
  320. package/dist/utility/hslToRgb.js.map +0 -1
  321. package/dist/utility/hsvToRgb.js.map +0 -1
  322. package/dist/utility/hunterToXyz.d.ts.map +0 -1
  323. package/dist/utility/hunterToXyz.js.map +0 -1
  324. package/dist/utility/labToLch.d.ts +0 -11
  325. package/dist/utility/labToLch.d.ts.map +0 -1
  326. package/dist/utility/labToLch.js +0 -19
  327. package/dist/utility/labToLch.js.map +0 -1
  328. package/dist/utility/labToXyz.d.ts.map +0 -1
  329. package/dist/utility/labToXyz.js.map +0 -1
  330. package/dist/utility/lchToLab.d.ts +0 -11
  331. package/dist/utility/lchToLab.d.ts.map +0 -1
  332. package/dist/utility/lchToLab.js +0 -14
  333. package/dist/utility/lchToLab.js.map +0 -1
  334. package/dist/utility/luvToXyz.d.ts.map +0 -1
  335. package/dist/utility/luvToXyz.js.map +0 -1
  336. package/dist/utility/rgbToHex.js.map +0 -1
  337. package/dist/utility/rgbToHsl.d.ts.map +0 -1
  338. package/dist/utility/rgbToHsl.js +0 -31
  339. package/dist/utility/rgbToHsl.js.map +0 -1
  340. package/dist/utility/rgbToHsv.d.ts.map +0 -1
  341. package/dist/utility/rgbToHsv.js.map +0 -1
  342. package/dist/utility/rgbToXyz.d.ts.map +0 -1
  343. package/dist/utility/rgbToXyz.js.map +0 -1
  344. package/dist/utility/xyzToAdobe.d.ts.map +0 -1
  345. package/dist/utility/xyzToAdobe.js.map +0 -1
  346. package/dist/utility/xyzToHunter.d.ts.map +0 -1
  347. package/dist/utility/xyzToHunter.js.map +0 -1
  348. package/dist/utility/xyzToLab.d.ts.map +0 -1
  349. package/dist/utility/xyzToLab.js.map +0 -1
  350. package/dist/utility/xyzToLuv.d.ts.map +0 -1
  351. package/dist/utility/xyzToLuv.js.map +0 -1
  352. package/dist/utility/xyzToRgb.d.ts.map +0 -1
  353. package/dist/utility/xyzToRgb.js.map +0 -1
  354. package/dist/utility/xyzToYxy.js.map +0 -1
  355. package/dist/utility/yxyToXyz.js.map +0 -1
  356. package/src/types/Lch.ts +0 -18
  357. package/src/utility/labToLch.ts +0 -24
  358. package/src/utility/lchToLab.ts +0 -18
  359. package/src/utility/rgbToHsl.ts +0 -38
  360. /package/dist/{utility → convert}/cmyToRgb.js +0 -0
  361. /package/dist/{utility → convert}/hexToRgb.js +0 -0
  362. /package/dist/{utility → convert}/rgbToCmy.js +0 -0
  363. /package/dist/{utility → convert}/rgbToHex.d.ts +0 -0
  364. /package/dist/{utility → delta}/deltaC.d.ts +0 -0
  365. /package/dist/{utility → delta}/deltaC.js +0 -0
  366. /package/dist/{utility → delta}/deltaE76.d.ts +0 -0
  367. /package/dist/{utility → delta}/deltaE76.js +0 -0
  368. /package/dist/{utility → delta}/deltaH.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToHsv.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToHsv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAKvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CA4B3E"}
@@ -1,3 +1,5 @@
1
+ const c0 = 1 / 3;
2
+ const c1 = 2 / 3;
1
3
  /**
2
4
  * Convert the given sRGB color to an HSV color. Based on the EasyRGB pseudo-code.
3
5
  * @param color - The sRGB color.
@@ -9,25 +11,23 @@ export default function rgbToHsv(color) {
9
11
  const i1 = color[1] / 0xff;
10
12
  const i2 = color[2] / 0xff;
11
13
  const v = Math.max(i0, i1, i2);
12
- const i3 = v - Math.min(i0, i1, i2);
13
- if (i3 === 0) {
14
+ const c = v - Math.min(i0, i1, i2);
15
+ if (c === 0) {
14
16
  return [0, 0, v];
15
17
  }
16
- const i4 = i3 / 2;
17
- const i5 = ((v - i0) / 6 + i4) / i3;
18
- const i6 = ((v - i1) / 6 + i4) / i3;
19
- const i7 = ((v - i2) / 6 + i4) / i3;
18
+ const i4 = c / 2;
19
+ const i5 = ((v - i0) / 6 + i4) / c;
20
+ const i6 = ((v - i1) / 6 + i4) / c;
21
+ const i7 = ((v - i2) / 6 + i4) / c;
20
22
  const i8 = i0 === v ? i7 - i6
21
- : i1 === v ?
22
- 0.33333333 + i5 - i7 // `1 / 3`
23
- : i2 === v ?
24
- 0.66666666 + i6 - i5 // `2 / 3`
23
+ : i1 === v ? c0 + i5 - i7
24
+ : i2 === v ? c1 + i6 - i5
25
25
  : 0;
26
26
  return [
27
27
  i8 < 0 ? i8 + 1
28
28
  : i8 > 1 ? i8 - 1
29
29
  : i8,
30
- i3 / v,
30
+ v === 0 ? 0 : c / v,
31
31
  v
32
32
  ];
33
33
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToHsv.js","sourceRoot":"","sources":["../../src/convert/rgbToHsv.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GACP,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;QAClB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;YACzB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;gBACzB,CAAC,CAAC,CAAC,CAAC;IAEL,OAAO;QACN,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;YACf,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;gBACjB,CAAC,CAAC,EAAE;QACJ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnB,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -6,5 +6,5 @@ import type Xyz from "../types/Xyz.js";
6
6
  * @returns A CIEXYZ color.
7
7
  * @public
8
8
  */
9
- export default function rgbToXyz(color: Rgb): Xyz;
9
+ export default function rgbToXyz(color: Rgb): [number, number, number] & Xyz;
10
10
  //# sourceMappingURL=rgbToXyz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToXyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AASvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAa3E"}
@@ -1,3 +1,9 @@
1
+ const c0 = 0.04045;
2
+ const c1 = 0.055;
3
+ const c2 = 1.055;
4
+ const c3 = 2.4;
5
+ const c4 = 12.92;
6
+ const c5 = 100;
1
7
  /**
2
8
  * Convert the given sRGB color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
3
9
  * @param color - The sRGB color.
@@ -8,9 +14,9 @@ export default function rgbToXyz(color) {
8
14
  const i0 = color[0] / 0xff;
9
15
  const i1 = color[1] / 0xff;
10
16
  const i2 = color[2] / 0xff;
11
- const i3 = (i0 > 0.04045 ? ((i0 + 0.055) / 1.055) ** 2.4 : i0 / 12.92) * 100;
12
- const i4 = (i1 > 0.04045 ? ((i1 + 0.055) / 1.055) ** 2.4 : i1 / 12.92) * 100;
13
- const i5 = (i2 > 0.04045 ? ((i2 + 0.055) / 1.055) ** 2.4 : i2 / 12.92) * 100;
17
+ const i3 = (i0 > c0 ? ((i0 + c1) / c2) ** c3 : i0 / c4) * c5;
18
+ const i4 = (i1 > c0 ? ((i1 + c1) / c2) ** c3 : i1 / c4) * c5;
19
+ const i5 = (i2 > c0 ? ((i2 + c1) / c2) ** c3 : i2 / c4) * c5;
14
20
  return [
15
21
  i3 * 0.4124 + i4 * 0.3576 + i5 * 0.1805,
16
22
  i3 * 0.2126 + i4 * 0.7152 + i5 * 0.0722,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToXyz.js","sourceRoot":"","sources":["../../src/convert/rgbToXyz.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,OAAO,CAAC;AACnB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,GAAG,CAAC;AACf,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,GAAG,CAAC;AAEf;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAE7D,OAAO;QACN,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM;QACvC,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM;QACvC,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM;KACvC,CAAC;AACH,CAAC"}
@@ -6,5 +6,5 @@ import type Xyz from "../types/Xyz.js";
6
6
  * @returns An Adobe RGB color.
7
7
  * @public
8
8
  */
9
- export default function xyzToAdobe(color: Xyz): Adobe;
9
+ export default function xyzToAdobe(color: Xyz): [number, number, number] & Adobe;
10
10
  //# sourceMappingURL=xyzToAdobe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToAdobe.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToAdobe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAKvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CACjC,KAAK,EAAE,GAAG,GACR,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAUlC"}
@@ -1,3 +1,5 @@
1
+ const gamma = 0x233 / 0x100; // https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
2
+ const c0 = 1 / gamma;
1
3
  /**
2
4
  * Convert the given CIEXYZ D65/2° standard illuminant color to an Adobe RGB color. Based on the EasyRGB pseudo-code.
3
5
  * @param color - The CIEXYZ color.
@@ -9,9 +11,9 @@ export default function xyzToAdobe(color) {
9
11
  const i1 = color[1] / 100;
10
12
  const i2 = color[2] / 100;
11
13
  return [
12
- (i0 * 2.04137 + i1 * -0.56495 + i2 * -0.34469) ** 0.45470693 * 0xff, // `1 / 2.19921875`
13
- (i0 * -0.96927 + i1 * 1.87601 + i2 * 0.04156) ** 0.45470693 * 0xff, // `1 / 2.19921875`
14
- (i0 * 0.01345 + i1 * -0.11839 + i2 * 1.01541) ** 0.45470693 * 0xff // `1 / 2.19921875`
14
+ (i0 * 2.04137 + i1 * -0.56495 + i2 * -0.34469) ** c0 * 0xff,
15
+ (i0 * -0.96927 + i1 * 1.87601 + i2 * 0.04156) ** c0 * 0xff,
16
+ (i0 * 0.01345 + i1 * -0.11839 + i2 * 1.01541) ** c0 * 0xff
15
17
  ];
16
18
  }
17
19
  //# sourceMappingURL=xyzToAdobe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToAdobe.js","sourceRoot":"","sources":["../../src/convert/xyzToAdobe.ts"],"names":[],"mappings":"AAGA,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,0DAA0D;AACvF,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAErB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CACjC,KAAU;IAEV,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAE1B,OAAO;QACN,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;QAC3D,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;QAC1D,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;KAC1D,CAAC;AACH,CAAC"}
@@ -3,9 +3,9 @@ import type Xyz from "../types/Xyz.js";
3
3
  /**
4
4
  * Convert the given CIEXYZ color to a Hunter Lab color. Based on the EasyRGB pseudo-code.
5
5
  * @param color - The CIEXYZ color.
6
- * @param ref - A standard illuminant that represents the white point.
6
+ * @param ref - A standard illuminant that represents the white point. This color space was originally used with standard illuminant C.
7
7
  * @returns A Hunter Lab color.
8
8
  * @public
9
9
  */
10
- export default function xyzToHunter(color: Xyz, ref?: Xyz): Hunter;
10
+ export default function xyzToHunter(color: Xyz, ref?: Xyz): [number, number, number] & Hunter;
11
11
  //# sourceMappingURL=xyzToHunter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToHunter.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToHunter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAQvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAClC,KAAK,EAAE,GAAG,EACV,GAAG,GAAE,GAA4C,GAC/C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAenC"}
@@ -1,25 +1,24 @@
1
- import StandardIlluminant from "./StandardIlluminant.js";
2
- import getReference from "./getReference.js";
1
+ import getReference from "../utility/getReference.js";
2
+ import StandardIlluminant from "../utility/StandardIlluminant.js";
3
+ const c0 = 175 / 198.04;
4
+ const c1 = 70 / 218.11;
3
5
  /**
4
6
  * Convert the given CIEXYZ color to a Hunter Lab color. Based on the EasyRGB pseudo-code.
5
7
  * @param color - The CIEXYZ color.
6
- * @param ref - A standard illuminant that represents the white point.
8
+ * @param ref - A standard illuminant that represents the white point. This color space was originally used with standard illuminant C.
7
9
  * @returns A Hunter Lab color.
8
10
  * @public
9
11
  */
10
12
  export default function xyzToHunter(color, ref = getReference(StandardIlluminant.D65_2)) {
11
- // eslint-disable-next-line prefer-destructuring
12
13
  const rx = ref[0];
13
- // eslint-disable-next-line prefer-destructuring
14
14
  const ry = ref[1];
15
- // eslint-disable-next-line prefer-destructuring
16
15
  const rz = ref[2];
17
16
  const i2 = color[1] / ry;
18
17
  const i3 = Math.sqrt(i2);
19
18
  return [
20
19
  100 * i3,
21
- 0.88365987 * (ry + rx) * ((color[0] / rx - i2) / i3), // `175 / 198.04`
22
- 0.32093898 * (ry + rz) * ((i2 - color[2] / rz) / i3) // `70 / 218.11`
20
+ c0 * (ry + rx) * ((color[0] / rx - i2) / i3),
21
+ c1 * (ry + rz) * ((i2 - color[2] / rz) / i3)
23
22
  ];
24
23
  }
25
24
  //# sourceMappingURL=xyzToHunter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToHunter.js","sourceRoot":"","sources":["../../src/convert/xyzToHunter.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;AACxB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAClC,KAAU,EACV,MAAW,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAEjD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzB,OAAO;QACN,GAAG,GAAG,EAAE;QACR,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAC5C,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;KAC5C,CAAC;AACH,CAAC"}
@@ -7,5 +7,5 @@ import type Xyz from "../types/Xyz.js";
7
7
  * @returns A CIELAB color.
8
8
  * @public
9
9
  */
10
- export default function xyzToLab(color: Xyz, ref?: Xyz): Lab;
10
+ export default function xyzToLab(color: Xyz, ref?: Xyz): [number, number, number] & Lab;
11
11
  //# sourceMappingURL=xyzToLab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToLab.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToLab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAUvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAK,EAAE,GAAG,EACV,GAAG,GAAE,GAA4C,GAC/C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAWhC"}
@@ -1,5 +1,9 @@
1
- import StandardIlluminant from "./StandardIlluminant.js";
2
- import getReference from "./getReference.js";
1
+ import getReference from "../utility/getReference.js";
2
+ import StandardIlluminant from "../utility/StandardIlluminant.js";
3
+ const c0 = 1 / 3;
4
+ const c1 = 16 / 116;
5
+ const c2 = 0.008856;
6
+ const c3 = 7.787;
3
7
  /**
4
8
  * Convert the given CIEXYZ color to a CIELAB color. Based on the EasyRGB pseudo-code.
5
9
  * @param color - The CIEXYZ color.
@@ -11,11 +15,11 @@ export default function xyzToLab(color, ref = getReference(StandardIlluminant.D6
11
15
  const i0 = color[0] / ref[0];
12
16
  const i1 = color[1] / ref[1];
13
17
  const i2 = color[2] / ref[2];
14
- const i3 = i1 > 0.008856 ? i1 ** 0.33333333 : 7.787 * i1 + 0.13793103; // `1 / 3`; `16 / 116`
18
+ const i3 = i1 > c2 ? i1 ** c0 : c3 * i1 + c1;
15
19
  return [
16
20
  116 * i3 - 16,
17
- 500 * ((i0 > 0.008856 ? i0 ** 0.33333333 : 7.787 * i0 + 0.13793103) - i3), // `1 / 3`; `16 / 116`
18
- 200 * (i3 - (i2 > 0.008856 ? i2 ** 0.33333333 : 7.787 * i2 + 0.13793103)) // `1 / 3`; `16 / 116`
21
+ 500 * ((i0 > c2 ? i0 ** c0 : c3 * i0 + c1) - i3),
22
+ 200 * (i3 - (i2 > c2 ? i2 ** c0 : c3 * i2 + c1))
19
23
  ];
20
24
  }
21
25
  //# sourceMappingURL=xyzToLab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToLab.js","sourceRoot":"","sources":["../../src/convert/xyzToLab.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AACpB,MAAM,EAAE,GAAG,QAAQ,CAAC;AACpB,MAAM,EAAE,GAAG,KAAK,CAAC;AAEjB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAU,EACV,MAAW,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAEjD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAE7C,OAAO;QACN,GAAG,GAAG,EAAE,GAAG,EAAE;QACb,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAChD,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KAChD,CAAC;AACH,CAAC"}
@@ -7,5 +7,5 @@ import type Xyz from "../types/Xyz.js";
7
7
  * @returns A CIELUV color.
8
8
  * @public
9
9
  */
10
- export default function xyzToLuv(color: Xyz, ref?: Xyz): Luv;
10
+ export default function xyzToLuv(color: Xyz, ref?: Xyz): [number, number, number] & Luv;
11
11
  //# sourceMappingURL=xyzToLuv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToLuv.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToLuv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAQvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAK,EAAE,GAAG,EACV,GAAG,GAAE,GAA4C,GAC/C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAoBhC"}
@@ -1,5 +1,7 @@
1
- import StandardIlluminant from "./StandardIlluminant.js";
2
- import getReference from "./getReference.js";
1
+ import getReference from "../utility/getReference.js";
2
+ import StandardIlluminant from "../utility/StandardIlluminant.js";
3
+ const c0 = 1 / 3;
4
+ const c1 = 16 / 116;
3
5
  /**
4
6
  * Convert the given CIEXYZ color to a CIELUV color. Based on the EasyRGB pseudo-code.
5
7
  * @param color - The CIEXYZ color.
@@ -8,18 +10,14 @@ import getReference from "./getReference.js";
8
10
  * @public
9
11
  */
10
12
  export default function xyzToLuv(color, ref = getReference(StandardIlluminant.D65_2)) {
11
- // eslint-disable-next-line prefer-destructuring
12
13
  const x = color[0];
13
- // eslint-disable-next-line prefer-destructuring
14
14
  const y = color[1];
15
- // eslint-disable-next-line prefer-destructuring
16
15
  const rx = ref[0];
17
- // eslint-disable-next-line prefer-destructuring
18
16
  const ry = ref[1];
19
17
  const i0 = x + 15 * y + 3 * color[2];
20
18
  const i1 = rx + 15 * ry + 3 * ref[2];
21
19
  const i2 = y / 100;
22
- const l = 116 * (i2 > 0.008856 ? i2 ** 0.33333333 : 7.787 * i2 + 0.13793103) - 16; // `1 / 3`; `16 / 116`
20
+ const l = 116 * (i2 > 0.008856 ? i2 ** c0 : 7.787 * i2 + c1) - 16;
23
21
  const i3 = 13 * l;
24
22
  return [
25
23
  l,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToLuv.js","sourceRoot":"","sources":["../../src/convert/xyzToLuv.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAU,EACV,MAAW,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAEjD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAElB,OAAO;QACN,CAAC;QACD,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACnC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;KACnC,CAAC;AACH,CAAC"}
@@ -6,5 +6,5 @@ import type Xyz from "../types/Xyz.js";
6
6
  * @returns An sRGB color.
7
7
  * @public
8
8
  */
9
- export default function xyzToRgb(color: Xyz): Rgb;
9
+ export default function xyzToRgb(color: Xyz): [number, number, number] & Rgb;
10
10
  //# sourceMappingURL=xyzToRgb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToRgb.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToRgb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAQvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAa3E"}
@@ -1,3 +1,8 @@
1
+ const c0 = 0.0031308;
2
+ const c1 = 1.055;
3
+ const c2 = 1 / 2.4;
4
+ const c3 = 0.055;
5
+ const c4 = 12.92;
1
6
  /**
2
7
  * Convert the given CIEXYZ D65/2° standard illuminant color to an sRGB color. Based on the EasyRGB pseudo-code.
3
8
  * @param color - The CIEXYZ color.
@@ -12,9 +17,9 @@ export default function xyzToRgb(color) {
12
17
  const i4 = i0 * -0.9689 + i1 * 1.8758 + i2 * 0.0415;
13
18
  const i5 = i0 * 0.0557 + i1 * -0.204 + i2 * 1.057;
14
19
  return [
15
- (i3 > 0.0031308 ? 1.055 * i3 ** 0.41666666 - 0.055 : i3 * 12.92) * 0xff, // `1 / 2.4`
16
- (i4 > 0.0031308 ? 1.055 * i4 ** 0.41666666 - 0.055 : i4 * 12.92) * 0xff, // `1 / 2.4`
17
- (i5 > 0.0031308 ? 1.055 * i5 ** 0.41666666 - 0.055 : i5 * 12.92) * 0xff // `1 / 2.4`
20
+ (i3 > c0 ? c1 * i3 ** c2 - c3 : i3 * c4) * 0xff,
21
+ (i4 > c0 ? c1 * i4 ** c2 - c3 : i4 * c4) * 0xff,
22
+ (i5 > c0 ? c1 * i5 ** c2 - c3 : i5 * c4) * 0xff
18
23
  ];
19
24
  }
20
25
  //# sourceMappingURL=xyzToRgb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToRgb.js","sourceRoot":"","sources":["../../src/convert/xyzToRgb.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,SAAS,CAAC;AACrB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AACnB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,KAAK,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC;IAElD,OAAO;QACN,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;QAC/C,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;QAC/C,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;KAC/C,CAAC;AACH,CAAC"}
@@ -6,5 +6,5 @@ import type Yxy from "../types/Yxy.js";
6
6
  * @returns The CIEXYZ color in yxy format.
7
7
  * @public
8
8
  */
9
- export default function xyzToYxy(color: Xyz): Yxy;
9
+ export default function xyzToYxy(color: Xyz): [number, number, number] & Yxy;
10
10
  //# sourceMappingURL=xyzToYxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xyzToYxy.d.ts","sourceRoot":"","sources":["../../src/utility/xyzToYxy.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,CAShD"}
1
+ {"version":3,"file":"xyzToYxy.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToYxy.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,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAQ3E"}
@@ -5,11 +5,8 @@
5
5
  * @public
6
6
  */
7
7
  export default function xyzToYxy(color) {
8
- // eslint-disable-next-line prefer-destructuring
9
8
  const X = color[0];
10
- // eslint-disable-next-line prefer-destructuring
11
9
  const Y = color[1];
12
- // eslint-disable-next-line prefer-destructuring
13
10
  const Z = color[2];
14
11
  return [Y, X / (X + Y + Z), Y / (X + Y + Z)];
15
12
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xyzToYxy.js","sourceRoot":"","sources":["../../src/convert/xyzToYxy.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -6,5 +6,5 @@ import type Yxy from "../types/Yxy.js";
6
6
  * @returns A CIEXYZ color.
7
7
  * @public
8
8
  */
9
- export default function yxyToXyz(color: Yxy): Xyz;
9
+ export default function yxyToXyz(color: Yxy): [number, number, number] & Xyz;
10
10
  //# sourceMappingURL=yxyToXyz.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yxyToXyz.d.ts","sourceRoot":"","sources":["../../src/utility/yxyToXyz.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,CAShD"}
1
+ {"version":3,"file":"yxyToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/yxyToXyz.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,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAQ3E"}
@@ -5,11 +5,8 @@
5
5
  * @public
6
6
  */
7
7
  export default function yxyToXyz(color) {
8
- // eslint-disable-next-line prefer-destructuring
9
8
  const Y = color[0];
10
- // eslint-disable-next-line prefer-destructuring
11
9
  const x = color[1];
12
- // eslint-disable-next-line prefer-destructuring
13
10
  const y = color[2];
14
11
  return [x * (Y / y), Y, (1 - x - y) * (Y / y)];
15
12
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yxyToXyz.js","sourceRoot":"","sources":["../../src/convert/yxyToXyz.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaC.d.ts","sourceRoot":"","sources":["../../src/delta/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;AACjE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaC.js","sourceRoot":"","sources":["../../src/delta/deltaC.ts"],"names":[],"mappings":"AAqBA,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"}
@@ -1,5 +1,5 @@
1
1
  import type Lab from "../types/Lab.js";
2
- import type Lch from "../types/Lch.js";
2
+ import type Lchab from "../types/Lchab.js";
3
3
  /**
4
4
  * Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
5
5
  * @param color0 - The first color.
@@ -9,5 +9,5 @@ import type Lch from "../types/Lch.js";
9
9
  * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
10
  * @public
11
11
  */
12
- export default function deltaCmc(color0: Lab, color1: Lab, weight?: Lch): number;
12
+ export default function deltaCmc(color0: Lab, color1: Lab, weight?: Lchab): number;
13
13
  //# sourceMappingURL=deltaCmc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaCmc.d.ts","sourceRoot":"","sources":["../../src/delta/deltaCmc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAK3C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,KAAiB,GACvB,MAAM,CA6CR"}
@@ -1,3 +1,5 @@
1
+ const c0 = 180 / Math.PI;
2
+ const c1 = Math.PI / 180;
1
3
  /**
2
4
  * Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
3
5
  * @param color0 - The first color.
@@ -8,15 +10,10 @@
8
10
  * @public
9
11
  */
10
12
  export default function deltaCmc(color0, color1, weight = [1, 1, 1]) {
11
- // eslint-disable-next-line prefer-destructuring
12
13
  const l0 = color0[0];
13
- // eslint-disable-next-line prefer-destructuring
14
14
  const a0 = color0[1];
15
- // eslint-disable-next-line prefer-destructuring
16
15
  const b0 = color0[2];
17
- // eslint-disable-next-line prefer-destructuring
18
16
  const a1 = color1[1];
19
- // eslint-disable-next-line prefer-destructuring
20
17
  const b1 = color1[2];
21
18
  const i0 = Math.hypot(a0, b0);
22
19
  const i1 = i0 ** 4;
@@ -29,7 +26,7 @@ export default function deltaCmc(color0, color1, weight = [1, 1, 1]) {
29
26
  b0 < 0 ?
30
27
  270
31
28
  : 90
32
- : Math.atan(b0 / a0) * 57.29577951 + // `180 / Math.PI`
29
+ : Math.atan(b0 / a0) * c0 +
33
30
  (a0 > 0 ?
34
31
  b0 > 0 ?
35
32
  0
@@ -41,8 +38,8 @@ export default function deltaCmc(color0, color1, weight = [1, 1, 1]) {
41
38
  (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) /
42
39
  ((i2 *
43
40
  (i3 < 164 || i3 > 345 ?
44
- 0.36 + Math.abs(0.4 * Math.cos((35 + i3) * 0.01745329)) // `Math.PI / 180`
45
- : 0.56 + Math.abs(0.2 * Math.cos((168 + i3) * 0.01745329))) + // `Math.PI / 180`
41
+ 0.36 + Math.abs(0.4 * Math.cos((35 + i3) * c1))
42
+ : 0.56 + Math.abs(0.2 * Math.cos((168 + i3) * c1))) +
46
43
  1 -
47
44
  i2) *
48
45
  i4));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaCmc.js","sourceRoot":"","sources":["../../src/delta/deltaCmc.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type Lab from "../types/Lab.js";
2
- import type Lch from "../types/Lch.js";
2
+ import type Lchab from "../types/Lchab.js";
3
3
  /**
4
4
  * Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
5
5
  * @param color0 - The first color.
@@ -9,5 +9,5 @@ import type Lch from "../types/Lch.js";
9
9
  * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
10
  * @public
11
11
  */
12
- export default function deltaE00(color0: Lab, color1: Lab, weight?: Lch): number;
12
+ export default function deltaE00(color0: Lab, color1: Lab, weight?: Lchab): number;
13
13
  //# sourceMappingURL=deltaE00.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE00.d.ts","sourceRoot":"","sources":["../../src/delta/deltaE00.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AA6B3C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,KAAiB,GACvB,MAAM,CAiER"}
@@ -1,3 +1,6 @@
1
+ const c0 = 180 / Math.PI;
2
+ const c1 = 25 ** 7;
3
+ const c2 = Math.PI / 180;
1
4
  /**
2
5
  * Convert CIELAB data to hue data.
3
6
  * @param a - An input CIELAB value.
@@ -13,12 +16,12 @@ const cieLabToHue = (a, b) => b === 0 ?
13
16
  b < 0 ?
14
17
  270
15
18
  : 90
16
- : Math.atan(b / a) * 57.29577951 +
19
+ : Math.atan(b / a) * c0 +
17
20
  (a > 0 ?
18
21
  b > 0 ?
19
22
  0
20
23
  : 360
21
- : 180); // `180 / Math.PI`
24
+ : 180);
22
25
  /**
23
26
  * Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
24
27
  * @param color0 - The first color.
@@ -29,20 +32,14 @@ const cieLabToHue = (a, b) => b === 0 ?
29
32
  * @public
30
33
  */
31
34
  export default function deltaE00(color0, color1, weight = [1, 1, 1]) {
32
- // eslint-disable-next-line prefer-destructuring
33
35
  const l0 = color0[0];
34
- // eslint-disable-next-line prefer-destructuring
35
36
  const a0 = color0[1];
36
- // eslint-disable-next-line prefer-destructuring
37
37
  const b0 = color0[2];
38
- // eslint-disable-next-line prefer-destructuring
39
38
  const l1 = color1[0];
40
- // eslint-disable-next-line prefer-destructuring
41
39
  const a1 = color1[1];
42
- // eslint-disable-next-line prefer-destructuring
43
40
  const b1 = color1[2];
44
41
  const i0 = ((Math.hypot(a0, b0) + Math.hypot(a1, b1)) / 2) ** 7;
45
- const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 + 6103515625))); // `25 ** 7
42
+ const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 + c1)));
46
43
  const i2 = (1 + i1) * a0;
47
44
  const i3 = Math.hypot(i2, b0);
48
45
  const i4 = cieLabToHue(i2, b0);
@@ -67,24 +64,23 @@ export default function deltaE00(color0, color1, weight = [1, 1, 1]) {
67
64
  : i13 > 180 ? i13 - 360
68
65
  : i13 + 360) /
69
66
  2) *
70
- 0.01745329 // `Math.PI / 180`
71
- )) /
67
+ c2)) /
72
68
  (weight[2] *
73
69
  (1 +
74
70
  0.015 *
75
71
  i8 *
76
72
  (1 -
77
- 0.17 * Math.cos((i11 - 30) * 0.01745329) + // `Math.PI / 180`
78
- 0.24 * Math.cos(2 * i11 * 0.01745329) + // `Math.PI / 180`
79
- 0.32 * Math.cos((3 * i11 + 6) * 0.01745329) - // `Math.PI / 180`
80
- 0.2 * Math.cos((4 * i11 - 63) * 0.01745329)))); // `Math.PI / 180`
73
+ 0.17 * Math.cos((i11 - 30) * c2) +
74
+ 0.24 * Math.cos(2 * i11 * c2) +
75
+ 0.32 * Math.cos((3 * i11 + 6) * c2) -
76
+ 0.2 * Math.cos((4 * i11 - 63) * c2))));
81
77
  const i15 = i8 ** 7;
82
78
  const i16 = ((l0 + l1) / 2 - 50) ** 2;
83
79
  return Math.sqrt(((l1 - l0) / (weight[0] * (1 + (0.015 * i16) / Math.sqrt(20 + i16)))) ** 2 +
84
80
  i12 ** 2 +
85
81
  i14 ** 2 +
86
- -Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) * 0.01745329) * // `Math.PI / 180`
87
- (2 * Math.sqrt(i15 / (i15 + 6103515625))) * // `25 ** 7
82
+ -Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) * c2) *
83
+ (2 * Math.sqrt(i15 / (i15 + c1))) *
88
84
  i12 *
89
85
  i14);
90
86
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE00.js","sourceRoot":"","sources":["../../src/delta/deltaE00.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE76.d.ts","sourceRoot":"","sources":["../../src/delta/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;AACnE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE76.js","sourceRoot":"","sources":["../../src/delta/deltaE76.ts"],"names":[],"mappings":"AAqBA,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"}
@@ -1,5 +1,5 @@
1
1
  import type Lab from "../types/Lab.js";
2
- import type Lch from "../types/Lch.js";
2
+ import type Lchab from "../types/Lchab.js";
3
3
  /**
4
4
  * Calculates the ΔE* 1994 between two CIELAB values. Based on the EasyRGB pseudocode.
5
5
  * @param color0 - The first color.
@@ -9,5 +9,5 @@ import type Lch from "../types/Lch.js";
9
9
  * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
10
  * @public
11
11
  */
12
- export default function deltaE94(color0: Lab, color1: Lab, weight?: Lch): number;
12
+ export default function deltaE94(color0: Lab, color1: Lab, weight?: Lchab): number;
13
13
  //# sourceMappingURL=deltaE94.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE94.d.ts","sourceRoot":"","sources":["../../src/delta/deltaE94.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,KAAiB,GACvB,MAAM,CAuBR"}
@@ -8,17 +8,11 @@
8
8
  * @public
9
9
  */
10
10
  export default function deltaE94(color0, color1, weight = [1, 1, 1]) {
11
- // eslint-disable-next-line prefer-destructuring
12
11
  const l0 = color0[0];
13
- // eslint-disable-next-line prefer-destructuring
14
12
  const a0 = color0[1];
15
- // eslint-disable-next-line prefer-destructuring
16
13
  const b0 = color0[2];
17
- // eslint-disable-next-line prefer-destructuring
18
14
  const l1 = color1[0];
19
- // eslint-disable-next-line prefer-destructuring
20
15
  const a1 = color1[1];
21
- // eslint-disable-next-line prefer-destructuring
22
16
  const b1 = color1[2];
23
17
  const i0 = Math.hypot(a0, b0);
24
18
  const i1 = l1 - l0;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaE94.js","sourceRoot":"","sources":["../../src/delta/deltaE94.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAW,EACX,MAAW,EACX,SAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,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"}