@lakuna/color 1.1.1 → 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
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Travis Martin
3
+ Copyright (c) 2026 Travis Martin
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -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 adobeToXyz(color: Adobe): Xyz;
9
+ export default function adobeToXyz(color: Adobe): [number, number, number] & Xyz;
10
10
  //# sourceMappingURL=adobeToXyz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adobeToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/adobeToXyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAMvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CACjC,KAAK,EAAE,KAAK,GACV,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAUhC"}
@@ -1,3 +1,5 @@
1
+ const gamma = 0x233 / 0x100; // https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
2
+ const f = 100 / 0xff ** gamma; // `(x / 0xff) ** gamma * 100)` is equivalent to `x ** gamma * f`.
1
3
  /**
2
4
  * Convert the given Adobe RGB color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
3
5
  * @param color - The Adobe RGB color.
@@ -5,9 +7,9 @@
5
7
  * @public
6
8
  */
7
9
  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`
10
+ const i0 = color[0] ** gamma * f;
11
+ const i1 = color[1] ** gamma * f;
12
+ const i2 = color[2] ** gamma * f;
11
13
  return [
12
14
  i0 * 0.57667 + i1 * 0.18555 + i2 * 0.18819,
13
15
  i0 * 0.29738 + i1 * 0.62735 + i2 * 0.07527,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adobeToXyz.js","sourceRoot":"","sources":["../../src/convert/adobeToXyz.ts"],"names":[],"mappings":"AAGA,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,0DAA0D;AAEvF,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,kEAAkE;AAEjG;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CACjC,KAAY;IAEZ,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEjC,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"}
@@ -6,5 +6,5 @@ import type Cmyk from "../types/Cmyk.js";
6
6
  * @returns A CMYK color.
7
7
  * @public
8
8
  */
9
- export default function cmyToCmyk(color: Cmy): Cmyk;
9
+ export default function cmyToCmyk(color: Cmy): [number, number, number, number] & Cmyk;
10
10
  //# sourceMappingURL=cmyToCmyk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmyToCmyk.d.ts","sourceRoot":"","sources":["../../src/convert/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,CAChC,KAAK,EAAE,GAAG,GACR,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAYzC"}
@@ -5,11 +5,8 @@
5
5
  * @public
6
6
  */
7
7
  export default function cmyToCmyk(color) {
8
- // eslint-disable-next-line prefer-destructuring
9
8
  const c = color[0];
10
- // eslint-disable-next-line prefer-destructuring
11
9
  const m = color[1];
12
- // eslint-disable-next-line prefer-destructuring
13
10
  const y = color[2];
14
11
  const k = Math.min(c, m, y, 1);
15
12
  return k === 1 ?
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmyToCmyk.js","sourceRoot":"","sources":["../../src/convert/cmyToCmyk.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAChC,KAAU;IAEV,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,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACb,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"}
@@ -6,5 +6,5 @@ import type Rgb from "../types/Rgb.js";
6
6
  * @returns An sRGB color.
7
7
  * @public
8
8
  */
9
- export default function cmyToRgb(color: Cmy): Rgb;
9
+ export default function cmyToRgb(color: Cmy): [number, number, number] & Rgb;
10
10
  //# sourceMappingURL=cmyToRgb.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"cmyToRgb.d.ts","sourceRoot":"","sources":["../../src/convert/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,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAE3E"}
@@ -1 +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"}
1
+ {"version":3,"file":"cmyToRgb.js","sourceRoot":"","sources":["../../src/convert/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"}
@@ -6,5 +6,5 @@ import type Cmyk from "../types/Cmyk.js";
6
6
  * @returns A CMY color.
7
7
  * @public
8
8
  */
9
- export default function cmykToCmy(color: Cmyk): Cmy;
9
+ export default function cmykToCmy(color: Cmyk): [number, number, number] & Cmy;
10
10
  //# sourceMappingURL=cmykToCmy.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"cmykToCmy.d.ts","sourceRoot":"","sources":["../../src/convert/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,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAQ7E"}
@@ -5,7 +5,6 @@
5
5
  * @public
6
6
  */
7
7
  export default function cmykToCmy(color) {
8
- // eslint-disable-next-line prefer-destructuring
9
8
  const k = color[3];
10
9
  return [
11
10
  color[0] * (1 - k) + k,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmykToCmy.js","sourceRoot":"","sources":["../../src/convert/cmykToCmy.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAW;IAC5C,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"}
@@ -5,5 +5,5 @@ import type Rgb from "../types/Rgb.js";
5
5
  * @returns An sRGB color.
6
6
  * @public
7
7
  */
8
- export default function hexToRgb(hex: number): Rgb;
8
+ export default function hexToRgb(hex: number): [number, number, number] & Rgb;
9
9
  //# sourceMappingURL=hexToRgb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexToRgb.d.ts","sourceRoot":"","sources":["../../src/convert/hexToRgb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"hexToRgb.js","sourceRoot":"","sources":["../../src/utility/hexToRgb.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAW;IAC3C,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"hexToRgb.js","sourceRoot":"","sources":["../../src/convert/hexToRgb.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAW;IAC3C,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;AAC5D,CAAC"}
@@ -6,5 +6,5 @@ import type Rgb from "../types/Rgb.js";
6
6
  * @returns An sRGB color.
7
7
  * @public
8
8
  */
9
- export default function hslToRgb(color: Hsl): Rgb;
9
+ export default function hslToRgb(color: Hsl): [number, number, number] & Rgb;
10
10
  //# sourceMappingURL=hslToRgb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hslToRgb.d.ts","sourceRoot":"","sources":["../../src/convert/hslToRgb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AA4BvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAqB3E"}
@@ -1,3 +1,5 @@
1
+ const c0 = 2 / 3;
2
+ const c1 = 1 / 3;
1
3
  /**
2
4
  * Converts the given hue data to RGB data.
3
5
  * @param v0 - The first piecewise value.
@@ -14,7 +16,7 @@ const hueToRgb = (v0, v1, h) => {
14
16
  const i2 = v1 - v0;
15
17
  return (i1 < 1 ? v0 + i2 * i1
16
18
  : 2 * i0 < 1 ? v1
17
- : 3 * i0 < 2 ? v0 + i2 * (2 / 3 - i0) * 6
19
+ : 3 * i0 < 2 ? v0 + i2 * (c0 - i0) * 6
18
20
  : v0);
19
21
  };
20
22
  /**
@@ -24,11 +26,8 @@ const hueToRgb = (v0, v1, h) => {
24
26
  * @public
25
27
  */
26
28
  export default function hslToRgb(color) {
27
- // eslint-disable-next-line prefer-destructuring
28
29
  const h = color[0];
29
- // eslint-disable-next-line prefer-destructuring
30
30
  const s = color[1];
31
- // eslint-disable-next-line prefer-destructuring
32
31
  const l = color[2];
33
32
  const i0 = l * 0xff;
34
33
  if (s === 0) {
@@ -37,9 +36,9 @@ export default function hslToRgb(color) {
37
36
  const i1 = l < 0.5 ? l * (1 + s) : l + s - s * l;
38
37
  const i2 = 2 * l - i1;
39
38
  return [
40
- 0xff * hueToRgb(i2, i1, h + 1 / 3),
39
+ 0xff * hueToRgb(i2, i1, h + c1),
41
40
  0xff * hueToRgb(i2, i1, h),
42
- 0xff * hueToRgb(i2, i1, h - 1 / 3)
41
+ 0xff * hueToRgb(i2, i1, h - c1)
43
42
  ];
44
43
  }
45
44
  //# sourceMappingURL=hslToRgb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hslToRgb.js","sourceRoot":"","sources":["../../src/convert/hslToRgb.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjB;;;;;;;GAOG;AACH,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,CAAS,EAAU,EAAE;IAC9D,MAAM,EAAE,GACP,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACb,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACf,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,OAAO,CACN,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;QACrB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACjB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;gBACtC,CAAC,CAAC,EAAE,CACJ,CAAC;AACH,CAAC,CAAC;AAEF;;;;;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,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAEpB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAEtB,OAAO;QACN,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;KAC/B,CAAC;AACH,CAAC"}
@@ -6,5 +6,5 @@ import type Rgb from "../types/Rgb.js";
6
6
  * @returns An sRGB color.
7
7
  * @public
8
8
  */
9
- export default function hsvToRgb(color: Hsv): Rgb;
9
+ export default function hsvToRgb(color: Hsv): [number, number, number] & Rgb;
10
10
  //# sourceMappingURL=hsvToRgb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hsvToRgb.d.ts","sourceRoot":"","sources":["../../src/utility/hsvToRgb.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,CAsChD"}
1
+ {"version":3,"file":"hsvToRgb.d.ts","sourceRoot":"","sources":["../../src/convert/hsvToRgb.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,CAqC3E"}
@@ -5,9 +5,7 @@
5
5
  * @public
6
6
  */
7
7
  export default function hsvToRgb(color) {
8
- // eslint-disable-next-line prefer-destructuring
9
8
  const s = color[1];
10
- // eslint-disable-next-line prefer-destructuring
11
9
  const v = color[2];
12
10
  const i0 = v * 0xff;
13
11
  if (s === 0) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hsvToRgb.js","sourceRoot":"","sources":["../../src/convert/hsvToRgb.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,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAEpB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACzC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAEnC,OAAO,CACN,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACvB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACd,CAAC;AACH,CAAC"}
@@ -7,5 +7,5 @@ import type Xyz from "../types/Xyz.js";
7
7
  * @returns A CIEXYZ color.
8
8
  * @public
9
9
  */
10
- export default function hunterToXyz(color: Hunter, ref?: Xyz): Xyz;
10
+ export default function hunterToXyz(color: Hunter, ref?: Xyz): [number, number, number] & Xyz;
11
11
  //# sourceMappingURL=hunterToXyz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hunterToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/hunterToXyz.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,MAAM,EACb,GAAG,GAAE,GAA4C,GAC/C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAgBhC"}
@@ -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 = 175 / 198.04;
4
+ const c1 = 70 / 218.11;
3
5
  /**
4
6
  * Convert the given Hunter Lab color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
5
7
  * @param color - The Hunter Lab color.
@@ -8,19 +10,16 @@ import getReference from "./getReference.js";
8
10
  * @public
9
11
  */
10
12
  export default function hunterToXyz(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 y = (color[0] / ry) ** 2 * 100;
18
17
  const i0 = y / ry;
19
18
  const i1 = Math.sqrt(i0);
20
19
  return [
21
- ((color[1] / (0.88365987 * (ry + rx))) * i1 + i0) * rx, // `175 / 198.04`
20
+ ((color[1] / (c0 * (ry + rx))) * i1 + i0) * rx,
22
21
  y,
23
- -((color[2] / (0.32093898 * (ry + rz))) * i1 - i0) * rz // `70 / 218.11`
22
+ -((color[2] / (c1 * (ry + rz))) * i1 - i0) * rz
24
23
  ];
25
24
  }
26
25
  //# sourceMappingURL=hunterToXyz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hunterToXyz.js","sourceRoot":"","sources":["../../src/convert/hunterToXyz.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,KAAa,EACb,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,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzB,OAAO;QACN,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;QAC9C,CAAC;QACD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;KAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type Lab from "../types/Lab.js";
2
+ import type Lchab from "../types/Lchab.js";
3
+ import type Lchuv from "../types/Lchuv.js";
4
+ import type Luv from "../types/Luv.js";
5
+ /**
6
+ * Convert the given CIELAB color to a CIELCh(ab) color. Based on the EasyRGB pseudo-code.
7
+ * @param color - The CIELAB color.
8
+ * @returns A CIELCh color.
9
+ * @public
10
+ */
11
+ export default function labToLch(color: Lab): [number, number, number] & Lchab;
12
+ /**
13
+ * Convert the given CIELUV color to a CIELCh(uv) color. Based on the EasyRGB pseudo-code.
14
+ * @param color - The CIELUV color.
15
+ * @returns A CIELCh color.
16
+ * @public
17
+ */
18
+ export default function labToLch(color: Luv): [number, number, number] & Lchuv;
19
+ //# sourceMappingURL=labToLch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labToLch.d.ts","sourceRoot":"","sources":["../../src/convert/labToLch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAIvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;AAC/E;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC"}
@@ -0,0 +1,12 @@
1
+ const c0 = 180 / Math.PI;
2
+ export default function labToLch(color) {
3
+ const a = color[1];
4
+ const b = color[2];
5
+ const i0 = Math.atan2(b, a);
6
+ return [
7
+ color[0],
8
+ Math.hypot(a, b),
9
+ i0 > 0 ? i0 * c0 : 360 - Math.abs(i0) * c0
10
+ ];
11
+ }
12
+ //# sourceMappingURL=labToLch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labToLch.js","sourceRoot":"","sources":["../../src/convert/labToLch.ts"],"names":[],"mappings":"AAKA,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAgBzB,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAgB;IAEhB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,OAAO;QACN,KAAK,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE;KAC1C,CAAC;AACH,CAAC"}
@@ -7,5 +7,5 @@ import type Xyz from "../types/Xyz.js";
7
7
  * @returns A CIEXYZ color.
8
8
  * @public
9
9
  */
10
- export default function labToXyz(color: Lab, ref?: Xyz): Xyz;
10
+ export default function labToXyz(color: Lab, ref?: Xyz): [number, number, number] & Xyz;
11
11
  //# sourceMappingURL=labToXyz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/labToXyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AASvC;;;;;;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,CAahC"}
@@ -1,5 +1,8 @@
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 = 0.008856;
4
+ const c1 = 16 / 116;
5
+ const c2 = 7.787;
3
6
  /**
4
7
  * Convert the given CIELAB color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
5
8
  * @param color - The CIELAB color.
@@ -15,9 +18,9 @@ export default function labToXyz(color, ref = getReference(StandardIlluminant.D6
15
18
  const i4 = i0 - color[2] / 200;
16
19
  const i5 = i4 ** 3;
17
20
  return [
18
- (i3 > 0.008856 ? i3 : (i2 - 0.13793103) / 7.787) * ref[0], // `16 / 116`
19
- (i1 > 0.008856 ? i1 : (i0 - 0.13793103) / 7.787) * ref[1], // `16 / 116`
20
- (i5 > 0.008856 ? i5 : (i4 - 0.13793103) / 7.787) * ref[2] // `16 / 116`
21
+ (i3 > c0 ? i3 : (i2 - c1) / c2) * ref[0],
22
+ (i1 > c0 ? i1 : (i0 - c1) / c2) * ref[1],
23
+ (i5 > c0 ? i5 : (i4 - c1) / c2) * ref[2]
21
24
  ];
22
25
  }
23
26
  //# sourceMappingURL=labToXyz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labToXyz.js","sourceRoot":"","sources":["../../src/convert/labToXyz.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,EAAE,GAAG,QAAQ,CAAC;AACpB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,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,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;IACjC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAEnB,OAAO;QACN,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KACxC,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type Lab from "../types/Lab.js";
2
+ import type Lchab from "../types/Lchab.js";
3
+ import type Lchuv from "../types/Lchuv.js";
4
+ import type Luv from "../types/Luv.js";
5
+ /**
6
+ * Convert the given CIELCh(ab) color to a CIELAB color. Based on the EasyRGB pseudo-code.
7
+ * @param color - The CIELCh color.
8
+ * @returns A CIELAB color.
9
+ * @public
10
+ */
11
+ export default function lchToLab(color: Lchab): [number, number, number] & Lab;
12
+ /**
13
+ * Convert the given CIELCh(uv) color to a CIELUV color. Based on the EasyRGB pseudo-code.
14
+ * @param color - The CIELCh color.
15
+ * @returns A CIELUV color.
16
+ * @public
17
+ */
18
+ export default function lchToLab(color: Lchuv): [number, number, number] & Luv;
19
+ //# sourceMappingURL=lchToLab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lchToLab.d.ts","sourceRoot":"","sources":["../../src/convert/lchToLab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAIvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;AAC/E;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC"}
@@ -0,0 +1,7 @@
1
+ const c0 = Math.PI / 180;
2
+ export default function lchToLab(color) {
3
+ const c = color[1];
4
+ const h = color[2];
5
+ return [color[0], Math.cos(h * c0) * c, Math.sin(h * c0) * c];
6
+ }
7
+ //# sourceMappingURL=lchToLab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lchToLab.js","sourceRoot":"","sources":["../../src/convert/lchToLab.ts"],"names":[],"mappings":"AAKA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAgBzB,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAY;IAEZ,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -7,5 +7,5 @@ import type Xyz from "../types/Xyz.js";
7
7
  * @returns A CIEXYZ color.
8
8
  * @public
9
9
  */
10
- export default function luvToXyz(color: Luv, ref?: Xyz): Xyz;
10
+ export default function luvToXyz(color: Luv, ref?: Xyz): [number, number, number] & Xyz;
11
11
  //# sourceMappingURL=luvToXyz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"luvToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/luvToXyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAOvC;;;;;;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,CAkBhC"}
@@ -1,5 +1,6 @@
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 = 16 / 116;
3
4
  /**
4
5
  * Convert the given CIELUV color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
5
6
  * @param color - The CIELUV color.
@@ -8,11 +9,8 @@ import getReference from "./getReference.js";
8
9
  * @public
9
10
  */
10
11
  export default function luvToXyz(color, ref = getReference(StandardIlluminant.D65_2)) {
11
- // eslint-disable-next-line prefer-destructuring
12
12
  const l = color[0];
13
- // eslint-disable-next-line prefer-destructuring
14
13
  const rx = ref[0];
15
- // eslint-disable-next-line prefer-destructuring
16
14
  const ry = ref[1];
17
15
  const i0 = (l + 16) / 116;
18
16
  const i1 = i0 ** 3;
@@ -20,7 +18,7 @@ export default function luvToXyz(color, ref = getReference(StandardIlluminant.D6
20
18
  const i3 = rx + 15 * ry + 3 * ref[2];
21
19
  const i4 = color[1] / i2 + (4 * rx) / i3;
22
20
  const i5 = color[2] / i2 + (9 * ry) / i3;
23
- const y = (i1 > 0.008856 ? i1 : (i0 - 0.13793103) / 7.787) * 100; // `16 / 166`
21
+ const y = (i1 > 0.008856 ? i1 : (i0 - c0) / 7.787) * 100; // `16 / 166`
24
22
  const i6 = 9 * y;
25
23
  const x = -(i6 * i4) / ((i4 - 4) * i5 - i4 * i5);
26
24
  return [x, y, (i6 - 15 * i5 * y - i5 * x) / (3 * i5)];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"luvToXyz.js","sourceRoot":"","sources":["../../src/convert/luvToXyz.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,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,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa;IACvE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAEjD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -6,5 +6,5 @@ import type Rgb from "../types/Rgb.js";
6
6
  * @returns A CMY color.
7
7
  * @public
8
8
  */
9
- export default function rgbToCmy(color: Rgb): Cmy;
9
+ export default function rgbToCmy(color: Rgb): [number, number, number] & Cmy;
10
10
  //# sourceMappingURL=rgbToCmy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rgbToCmy.d.ts","sourceRoot":"","sources":["../../src/utility/rgbToCmy.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"}
1
+ {"version":3,"file":"rgbToCmy.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToCmy.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,CAE3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"rgbToCmy.js","sourceRoot":"","sources":["../../src/utility/rgbToCmy.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"rgbToCmy.js","sourceRoot":"","sources":["../../src/convert/rgbToCmy.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rgbToHex.d.ts","sourceRoot":"","sources":["../../src/utility/rgbToHex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAEjD"}
1
+ {"version":3,"file":"rgbToHex.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToHex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAMjD"}
@@ -5,6 +5,8 @@
5
5
  * @public
6
6
  */
7
7
  export default function rgbToHex(rgb) {
8
- return rgb[0] * 0x10000 + rgb[1] * 0x100 + rgb[2];
8
+ return (Math.round(rgb[0] * 0x10000) +
9
+ Math.round(rgb[1] * 0x100) +
10
+ Math.round(rgb[2]));
9
11
  }
10
12
  //# sourceMappingURL=rgbToHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToHex.js","sourceRoot":"","sources":["../../src/convert/rgbToHex.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAQ;IACxC,OAAO,CACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type Hsi from "../types/Hsi.js";
2
+ import type Rgb from "../types/Rgb.js";
3
+ /**
4
+ * Convert the given sRGB color to an HSI color.
5
+ * @param color - The sRGB color.
6
+ * @returns An HSI color.
7
+ * @public
8
+ */
9
+ export default function rgbToHsi(color: Rgb): [number, number, number] & Hsi;
10
+ //# sourceMappingURL=rgbToHsi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToHsi.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToHsi.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,CA8B3E"}
@@ -0,0 +1,36 @@
1
+ const c0 = 1 / 3;
2
+ const c1 = 2 / 3;
3
+ /**
4
+ * Convert the given sRGB color to an HSI color.
5
+ * @param color - The sRGB color.
6
+ * @returns An HSI color.
7
+ * @public
8
+ */
9
+ export default function rgbToHsi(color) {
10
+ const i0 = color[0] / 0xff;
11
+ const i1 = color[1] / 0xff;
12
+ const i2 = color[2] / 0xff;
13
+ const i = (i0 + i1 + i2) / 3;
14
+ const v = Math.max(i0, i1, i2);
15
+ const m = Math.min(i0, i1, i2);
16
+ const c = v - m;
17
+ if (c === 0) {
18
+ return [0, 0, i];
19
+ }
20
+ const i4 = c / 2;
21
+ const i5 = ((v - i0) / 6 + i4) / c;
22
+ const i6 = ((v - i1) / 6 + i4) / c;
23
+ const i7 = ((v - i2) / 6 + i4) / c;
24
+ const i8 = i0 === v ? i7 - i6
25
+ : i1 === v ? c0 + i5 - i7
26
+ : i2 === v ? c1 + i6 - i5
27
+ : 0;
28
+ return [
29
+ i8 < 0 ? i8 + 1
30
+ : i8 > 1 ? i8 - 1
31
+ : i8,
32
+ i === 0 ? 0 : 1 - m / i,
33
+ i
34
+ ];
35
+ }
36
+ //# sourceMappingURL=rgbToHsi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToHsi.js","sourceRoot":"","sources":["../../src/convert/rgbToHsi.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,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhB,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,GAAG,CAAC;QACvB,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -6,5 +6,5 @@ import type Rgb from "../types/Rgb.js";
6
6
  * @returns An HSL color.
7
7
  * @public
8
8
  */
9
- export default function rgbToHsl(color: Rgb): Hsl;
9
+ export default function rgbToHsl(color: Rgb): [number, number, number] & Hsl;
10
10
  //# sourceMappingURL=rgbToHsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToHsl.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToHsl.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,CA+B3E"}
@@ -0,0 +1,37 @@
1
+ const c0 = 1 / 3;
2
+ const c1 = 2 / 3;
3
+ /**
4
+ * Convert the given sRGB color to an HSL color. Based on the EasyRGB pseudo-code.
5
+ * @param color - The sRGB color.
6
+ * @returns An HSL color.
7
+ * @public
8
+ */
9
+ export default function rgbToHsl(color) {
10
+ const i0 = color[0] / 0xff;
11
+ const i1 = color[1] / 0xff;
12
+ const i2 = color[2] / 0xff;
13
+ const i3 = Math.min(i0, i1, i2);
14
+ const i4 = Math.max(i0, i1, i2);
15
+ const i5 = i4 + i3;
16
+ const l = i5 / 2;
17
+ const i6 = i4 - i3;
18
+ if (i6 === 0) {
19
+ return [0, 0, l];
20
+ }
21
+ const i7 = i6 / 2;
22
+ const i8 = ((i4 - i0) / 6 + i7) / i6;
23
+ const i9 = ((i4 - i1) / 6 + i7) / i6;
24
+ const i10 = ((i4 - i2) / 6 + i7) / i6;
25
+ const i11 = i0 === i4 ? i10 - i9
26
+ : i1 === i4 ? c0 + i8 - i10
27
+ : i2 === i4 ? c1 + i9 - i8
28
+ : 0;
29
+ return [
30
+ i11 < 0 ? i11 + 1
31
+ : i11 > 1 ? i11 - 1
32
+ : i11,
33
+ l < 0.5 ? i6 / i5 : i6 / (2 - i4 - i3),
34
+ l
35
+ ];
36
+ }
37
+ //# sourceMappingURL=rgbToHsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbToHsl.js","sourceRoot":"","sources":["../../src/convert/rgbToHsl.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,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAEnB,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,GAAG,GACR,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE;QACpB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG;YAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;gBAC1B,CAAC,CAAC,CAAC,CAAC;IAEL,OAAO;QACN,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACnB,CAAC,CAAC,GAAG;QACL,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -6,5 +6,5 @@ import type Rgb from "../types/Rgb.js";
6
6
  * @returns An HSV color.
7
7
  * @public
8
8
  */
9
- export default function rgbToHsv(color: Rgb): Hsv;
9
+ export default function rgbToHsv(color: Rgb): [number, number, number] & Hsv;
10
10
  //# sourceMappingURL=rgbToHsv.d.ts.map