@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
@@ -1,5 +1,9 @@
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
+
4
+ const c0 = 180 / Math.PI;
5
+ const c1 = 25 ** 7;
6
+ const c2 = Math.PI / 180;
3
7
 
4
8
  /**
5
9
  * Convert CIELAB data to hue data.
@@ -17,12 +21,12 @@ const cieLabToHue = (a: number, b: number): number =>
17
21
  b < 0 ?
18
22
  270
19
23
  : 90
20
- : Math.atan(b / a) * 57.29577951 +
24
+ : Math.atan(b / a) * c0 +
21
25
  (a > 0 ?
22
26
  b > 0 ?
23
27
  0
24
28
  : 360
25
- : 180); // `180 / Math.PI`
29
+ : 180);
26
30
 
27
31
  /**
28
32
  * Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
@@ -36,23 +40,22 @@ const cieLabToHue = (a: number, b: number): number =>
36
40
  export default function deltaE00(
37
41
  color0: Lab,
38
42
  color1: Lab,
39
- weight: Lch = [1, 1, 1]
43
+ weight: Lchab = [1, 1, 1]
40
44
  ): number {
41
- // eslint-disable-next-line prefer-destructuring
42
45
  const l0 = color0[0];
43
- // eslint-disable-next-line prefer-destructuring
46
+
44
47
  const a0 = color0[1];
45
- // eslint-disable-next-line prefer-destructuring
48
+
46
49
  const b0 = color0[2];
47
- // eslint-disable-next-line prefer-destructuring
50
+
48
51
  const l1 = color1[0];
49
- // eslint-disable-next-line prefer-destructuring
52
+
50
53
  const a1 = color1[1];
51
- // eslint-disable-next-line prefer-destructuring
54
+
52
55
  const b1 = color1[2];
53
56
 
54
57
  const i0 = ((Math.hypot(a0, b0) + Math.hypot(a1, b1)) / 2) ** 7;
55
- const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 + 6103515625))); // `25 ** 7
58
+ const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 + c1)));
56
59
  const i2 = (1 + i1) * a0;
57
60
  const i3 = Math.hypot(i2, b0);
58
61
  const i4 = cieLabToHue(i2, b0);
@@ -80,17 +83,17 @@ export default function deltaE00(
80
83
  : i13 > 180 ? i13 - 360
81
84
  : i13 + 360) /
82
85
  2) *
83
- 0.01745329 // `Math.PI / 180`
86
+ c2
84
87
  )) /
85
88
  (weight[2] *
86
89
  (1 +
87
90
  0.015 *
88
91
  i8 *
89
92
  (1 -
90
- 0.17 * Math.cos((i11 - 30) * 0.01745329) + // `Math.PI / 180`
91
- 0.24 * Math.cos(2 * i11 * 0.01745329) + // `Math.PI / 180`
92
- 0.32 * Math.cos((3 * i11 + 6) * 0.01745329) - // `Math.PI / 180`
93
- 0.2 * Math.cos((4 * i11 - 63) * 0.01745329)))); // `Math.PI / 180`
93
+ 0.17 * Math.cos((i11 - 30) * c2) +
94
+ 0.24 * Math.cos(2 * i11 * c2) +
95
+ 0.32 * Math.cos((3 * i11 + 6) * c2) -
96
+ 0.2 * Math.cos((4 * i11 - 63) * c2))));
94
97
  const i15 = i8 ** 7;
95
98
  const i16 = ((l0 + l1) / 2 - 50) ** 2;
96
99
 
@@ -98,8 +101,8 @@ export default function deltaE00(
98
101
  ((l1 - l0) / (weight[0] * (1 + (0.015 * i16) / Math.sqrt(20 + i16)))) ** 2 +
99
102
  i12 ** 2 +
100
103
  i14 ** 2 +
101
- -Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) * 0.01745329) * // `Math.PI / 180`
102
- (2 * Math.sqrt(i15 / (i15 + 6103515625))) * // `25 ** 7
104
+ -Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) * c2) *
105
+ (2 * Math.sqrt(i15 / (i15 + c1))) *
103
106
  i12 *
104
107
  i14
105
108
  );
@@ -10,7 +10,6 @@ import type Luv from "../types/Luv.js";
10
10
  * @public
11
11
  */
12
12
  export default function deltaE76(color0: Lab, color1: Lab): number;
13
-
14
13
  /**
15
14
  * Calculates the ΔE* CIE (CIE 1976) between two CIELUV values. Based on the EasyRGB pseudocode.
16
15
  * @param color0 - The first color.
@@ -20,7 +19,6 @@ export default function deltaE76(color0: Lab, color1: Lab): number;
20
19
  * @public
21
20
  */
22
21
  export default function deltaE76(color0: Luv, color1: Luv): number;
23
-
24
22
  export default function deltaE76(color0: Lab | Luv, color1: Lab | Luv): number {
25
23
  return Math.hypot(
26
24
  color0[0] - color1[0],
@@ -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
  /**
5
5
  * Calculates the ΔE* 1994 between two CIELAB values. Based on the EasyRGB pseudocode.
@@ -13,19 +13,18 @@ import type Lch from "../types/Lch.js";
13
13
  export default function deltaE94(
14
14
  color0: Lab,
15
15
  color1: Lab,
16
- weight: Lch = [1, 1, 1]
16
+ weight: Lchab = [1, 1, 1]
17
17
  ): number {
18
- // eslint-disable-next-line prefer-destructuring
19
18
  const l0 = color0[0];
20
- // eslint-disable-next-line prefer-destructuring
19
+
21
20
  const a0 = color0[1];
22
- // eslint-disable-next-line prefer-destructuring
21
+
23
22
  const b0 = color0[2];
24
- // eslint-disable-next-line prefer-destructuring
23
+
25
24
  const l1 = color1[0];
26
- // eslint-disable-next-line prefer-destructuring
25
+
27
26
  const a1 = color1[1];
28
- // eslint-disable-next-line prefer-destructuring
27
+
29
28
  const b1 = color1[2];
30
29
 
31
30
  const i0 = Math.hypot(a0, b0);
@@ -10,7 +10,6 @@ import type Luv from "../types/Luv.js";
10
10
  * @public
11
11
  */
12
12
  export default function deltaH(color0: Lab, color1: Lab): number;
13
-
14
13
  /**
15
14
  * Calculates the ΔH* between two CIELUV values. Based on the EasyRGB pseudocode.
16
15
  * @param color0 - The first color.
@@ -20,15 +19,13 @@ export default function deltaH(color0: Lab, color1: Lab): number;
20
19
  * @public
21
20
  */
22
21
  export default function deltaH(color0: Luv, color1: Luv): number;
23
-
24
22
  export default function deltaH(color0: Lab | Luv, color1: Lab | Luv): number {
25
- // eslint-disable-next-line prefer-destructuring
26
23
  const a0 = color0[1];
27
- // eslint-disable-next-line prefer-destructuring
24
+
28
25
  const b0 = color0[2];
29
- // eslint-disable-next-line prefer-destructuring
26
+
30
27
  const a1 = color1[1];
31
- // eslint-disable-next-line prefer-destructuring
28
+
32
29
  const b1 = color1[2];
33
30
 
34
31
  return Math.sqrt(
package/src/index.ts CHANGED
@@ -1,3 +1,38 @@
1
+ // Convert
2
+ export { default as adobeToXyz } from "./convert/adobeToXyz.js";
3
+ export { default as cmykToCmy } from "./convert/cmykToCmy.js";
4
+ export { default as cmyToCmyk } from "./convert/cmyToCmyk.js";
5
+ export { default as cmyToRgb } from "./convert/cmyToRgb.js";
6
+ export { default as hexToRgb } from "./convert/hexToRgb.js";
7
+ export { default as hslToRgb } from "./convert/hslToRgb.js";
8
+ export { default as hsvToRgb } from "./convert/hsvToRgb.js";
9
+ export { default as hunterToXyz } from "./convert/hunterToXyz.js";
10
+ export { default as labToLch } from "./convert/labToLch.js";
11
+ export { default as labToXyz } from "./convert/labToXyz.js";
12
+ export { default as lchToLab } from "./convert/lchToLab.js";
13
+ export { default as luvToXyz } from "./convert/luvToXyz.js";
14
+ export { default as rgbToCmy } from "./convert/rgbToCmy.js";
15
+ export { default as rgbToHex } from "./convert/rgbToHex.js";
16
+ export { default as rgbToHsi } from "./convert/rgbToHsi.js";
17
+ export { default as rgbToHsl } from "./convert/rgbToHsl.js";
18
+ export { default as rgbToHsv } from "./convert/rgbToHsv.js";
19
+ export { default as rgbToXyz } from "./convert/rgbToXyz.js";
20
+ export { default as xyzToAdobe } from "./convert/xyzToAdobe.js";
21
+ export { default as xyzToHunter } from "./convert/xyzToHunter.js";
22
+ export { default as xyzToLab } from "./convert/xyzToLab.js";
23
+ export { default as xyzToLuv } from "./convert/xyzToLuv.js";
24
+ export { default as xyzToRgb } from "./convert/xyzToRgb.js";
25
+ export { default as xyzToYxy } from "./convert/xyzToYxy.js";
26
+ export { default as yxyToXyz } from "./convert/yxyToXyz.js";
27
+
28
+ // Delta
29
+ export { default as deltaC } from "./delta/deltaC.js";
30
+ export { default as deltaCmc } from "./delta/deltaCmc.js";
31
+ export { default as deltaE00 } from "./delta/deltaE00.js";
32
+ export { default as deltaE76 } from "./delta/deltaE76.js";
33
+ export { default as deltaE94 } from "./delta/deltaE94.js";
34
+ export { default as deltaH } from "./delta/deltaH.js";
35
+
1
36
  // Names
2
37
  export { default as bang } from "./names/bang.js";
3
38
  export { default as cne } from "./names/cne.js";
@@ -11,53 +46,34 @@ export { default as tcapi } from "./names/tcapi.js";
11
46
  export { default as x11 } from "./names/x11.js";
12
47
  export { default as xkcd } from "./names/xkcd.js";
13
48
 
49
+ // Palette
50
+ export { default as analogous } from "./palette/analogous.js";
51
+ export { default as analogousLch } from "./palette/analogousLch.js";
52
+ export { default as complement } from "./palette/complement.js";
53
+ export { default as complementLch } from "./palette/complementLch.js";
54
+ export { default as splitComplement } from "./palette/splitComplement.js";
55
+ export { default as splitComplementLch } from "./palette/splitComplementLch.js";
56
+
14
57
  // Types
15
58
  export type { default as Adobe } from "./types/Adobe.js";
16
59
  export type { default as Cmy } from "./types/Cmy.js";
17
60
  export type { default as Cmyk } from "./types/Cmyk.js";
18
61
  export type { Color } from "./types/Color.js";
62
+ export type { default as Hsi } from "./types/Hsi.js";
19
63
  export type { default as Hsl } from "./types/Hsl.js";
20
64
  export type { default as Hsv } from "./types/Hsv.js";
21
65
  export type { default as Hunter } from "./types/Hunter.js";
22
66
  export type { default as Lab } from "./types/Lab.js";
23
- export type { default as Lch } from "./types/Lch.js";
67
+ export type { default as Lchab } from "./types/Lchab.js";
68
+ export type { default as Lchuv } from "./types/Lchuv.js";
24
69
  export type { default as Luv } from "./types/Luv.js";
25
70
  export type { default as Rgb } from "./types/Rgb.js";
26
71
  export type { default as Xyz } from "./types/Xyz.js";
27
72
  export type { default as Yxy } from "./types/Yxy.js";
28
73
 
29
74
  // Utility
30
- export { default as adobeToXyz } from "./utility/adobeToXyz.js";
31
- export { default as cmykToCmy } from "./utility/cmykToCmy.js";
32
- export { default as cmyToCmyk } from "./utility/cmyToCmyk.js";
33
- export { default as cmyToRgb } from "./utility/cmyToRgb.js";
34
75
  export { default as contrast } from "./utility/contrast.js";
35
- export { default as deltaC } from "./utility/deltaC.js";
36
- export { default as deltaCmc } from "./utility/deltaCmc.js";
37
- export { default as deltaE00 } from "./utility/deltaE00.js";
38
- export { default as deltaE76 } from "./utility/deltaE76.js";
39
- export { default as deltaE94 } from "./utility/deltaE94.js";
40
- export { default as deltaH } from "./utility/deltaH.js";
41
76
  export { default as getReference } from "./utility/getReference.js";
42
- export { default as hexToRgb } from "./utility/hexToRgb.js";
43
- export { default as hslToRgb } from "./utility/hslToRgb.js";
44
- export { default as hsvToRgb } from "./utility/hsvToRgb.js";
45
- export { default as hunterToXyz } from "./utility/hunterToXyz.js";
46
- export { default as labToLch } from "./utility/labToLch.js";
47
- export { default as labToXyz } from "./utility/labToXyz.js";
48
- export { default as lchToLab } from "./utility/lchToLab.js";
49
- export { default as luvToXyz } from "./utility/luvToXyz.js";
77
+ export { default as isWebSafe } from "./utility/isWebSafe.js";
50
78
  export { default as relativeLuminance } from "./utility/relativeLuminance.js";
51
- export { default as rgbToCmy } from "./utility/rgbToCmy.js";
52
- export { default as rgbToHex } from "./utility/rgbToHex.js";
53
- export { default as rgbToHsl } from "./utility/rgbToHsl.js";
54
- export { default as rgbToHsv } from "./utility/rgbToHsv.js";
55
- export { default as rgbToXyz } from "./utility/rgbToXyz.js";
56
79
  export { default as StandardIlluminant } from "./utility/StandardIlluminant.js";
57
- export { default as xyzToAdobe } from "./utility/xyzToAdobe.js";
58
- export { default as xyzToHunter } from "./utility/xyzToHunter.js";
59
- export { default as xyzToLab } from "./utility/xyzToLab.js";
60
- export { default as xyzToLuv } from "./utility/xyzToLuv.js";
61
- export { default as xyzToRgb } from "./utility/xyzToRgb.js";
62
- export { default as xyzToYxy } from "./utility/xyzToYxy.js";
63
- export { default as yxyToXyz } from "./utility/yxyToXyz.js";