@lakuna/color 1.1.2 → 1.2.1

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 (379) 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/convert/cmyToRgb.d.ts.map +1 -0
  12. package/dist/convert/cmyToRgb.js.map +1 -0
  13. package/dist/{utility → convert}/cmykToCmy.d.ts +1 -1
  14. package/dist/convert/cmykToCmy.d.ts.map +1 -0
  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/convert/hsvToRgb.d.ts.map +1 -0
  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/convert/rgbToCmy.d.ts.map +1 -0
  50. package/dist/convert/rgbToCmy.js.map +1 -0
  51. package/dist/{utility → convert}/rgbToHex.d.ts +1 -1
  52. package/dist/{utility → convert}/rgbToHex.d.ts.map +1 -1
  53. package/dist/{utility → convert}/rgbToHex.js +3 -1
  54. package/dist/convert/rgbToHex.js.map +1 -0
  55. package/dist/convert/rgbToHsi.d.ts +10 -0
  56. package/dist/convert/rgbToHsi.d.ts.map +1 -0
  57. package/dist/convert/rgbToHsi.js +36 -0
  58. package/dist/convert/rgbToHsi.js.map +1 -0
  59. package/dist/{utility → convert}/rgbToHsl.d.ts +1 -1
  60. package/dist/convert/rgbToHsl.d.ts.map +1 -0
  61. package/dist/convert/rgbToHsl.js +37 -0
  62. package/dist/convert/rgbToHsl.js.map +1 -0
  63. package/dist/{utility → convert}/rgbToHsv.d.ts +1 -1
  64. package/dist/convert/rgbToHsv.d.ts.map +1 -0
  65. package/dist/{utility → convert}/rgbToHsv.js +11 -11
  66. package/dist/convert/rgbToHsv.js.map +1 -0
  67. package/dist/{utility → convert}/rgbToXyz.d.ts +1 -1
  68. package/dist/convert/rgbToXyz.d.ts.map +1 -0
  69. package/dist/{utility → convert}/rgbToXyz.js +9 -3
  70. package/dist/convert/rgbToXyz.js.map +1 -0
  71. package/dist/{utility → convert}/xyzToAdobe.d.ts +1 -1
  72. package/dist/convert/xyzToAdobe.d.ts.map +1 -0
  73. package/dist/{utility → convert}/xyzToAdobe.js +5 -3
  74. package/dist/convert/xyzToAdobe.js.map +1 -0
  75. package/dist/{utility → convert}/xyzToHunter.d.ts +2 -2
  76. package/dist/convert/xyzToHunter.d.ts.map +1 -0
  77. package/dist/{utility → convert}/xyzToHunter.js +7 -8
  78. package/dist/convert/xyzToHunter.js.map +1 -0
  79. package/dist/{utility → convert}/xyzToLab.d.ts +1 -1
  80. package/dist/convert/xyzToLab.d.ts.map +1 -0
  81. package/dist/{utility → convert}/xyzToLab.js +9 -5
  82. package/dist/convert/xyzToLab.js.map +1 -0
  83. package/dist/{utility → convert}/xyzToLuv.d.ts +1 -1
  84. package/dist/convert/xyzToLuv.d.ts.map +1 -0
  85. package/dist/{utility → convert}/xyzToLuv.js +5 -7
  86. package/dist/convert/xyzToLuv.js.map +1 -0
  87. package/dist/{utility → convert}/xyzToRgb.d.ts +1 -1
  88. package/dist/convert/xyzToRgb.d.ts.map +1 -0
  89. package/dist/{utility → convert}/xyzToRgb.js +8 -3
  90. package/dist/convert/xyzToRgb.js.map +1 -0
  91. package/dist/{utility → convert}/xyzToYxy.d.ts +1 -1
  92. package/dist/convert/xyzToYxy.d.ts.map +1 -0
  93. package/dist/{utility → convert}/xyzToYxy.js +0 -3
  94. package/dist/convert/xyzToYxy.js.map +1 -0
  95. package/dist/{utility → convert}/yxyToXyz.d.ts +1 -1
  96. package/dist/convert/yxyToXyz.d.ts.map +1 -0
  97. package/dist/{utility → convert}/yxyToXyz.js +0 -3
  98. package/dist/convert/yxyToXyz.js.map +1 -0
  99. package/dist/{utility → delta}/deltaC.d.ts +2 -2
  100. package/dist/delta/deltaC.d.ts.map +1 -0
  101. package/dist/{utility → delta}/deltaC.js.map +1 -1
  102. package/dist/{utility → delta}/deltaCmc.d.ts +2 -2
  103. package/dist/delta/deltaCmc.d.ts.map +1 -0
  104. package/dist/{utility → delta}/deltaCmc.js +5 -8
  105. package/dist/delta/deltaCmc.js.map +1 -0
  106. package/dist/{utility → delta}/deltaE00.d.ts +2 -2
  107. package/dist/delta/deltaE00.d.ts.map +1 -0
  108. package/dist/{utility → delta}/deltaE00.js +13 -17
  109. package/dist/delta/deltaE00.js.map +1 -0
  110. package/dist/{utility → delta}/deltaE76.d.ts +2 -2
  111. package/dist/delta/deltaE76.d.ts.map +1 -0
  112. package/dist/{utility → delta}/deltaE76.js.map +1 -1
  113. package/dist/{utility → delta}/deltaE94.d.ts +2 -2
  114. package/dist/delta/deltaE94.d.ts.map +1 -0
  115. package/dist/{utility → delta}/deltaE94.js +0 -6
  116. package/dist/delta/deltaE94.js.map +1 -0
  117. package/dist/{utility → delta}/deltaH.d.ts +2 -2
  118. package/dist/delta/deltaH.d.ts.map +1 -0
  119. package/dist/{utility → delta}/deltaH.js +0 -4
  120. package/dist/delta/deltaH.js.map +1 -0
  121. package/dist/index.d.ts +41 -31
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +41 -30
  124. package/dist/index.js.map +1 -1
  125. package/dist/names/bang.d.ts +2 -2
  126. package/dist/names/bang.d.ts.map +1 -1
  127. package/dist/names/bang.js +471 -471
  128. package/dist/names/bang.js.map +1 -1
  129. package/dist/names/cne.d.ts +1 -1
  130. package/dist/names/cne.d.ts.map +1 -1
  131. package/dist/names/cne.js +843 -843
  132. package/dist/names/cne.js.map +1 -1
  133. package/dist/names/crayola.d.ts +1 -1
  134. package/dist/names/crayola.d.ts.map +1 -1
  135. package/dist/names/crayola.js +110 -110
  136. package/dist/names/crayola.js.map +1 -1
  137. package/dist/names/getName.d.ts +2 -2
  138. package/dist/names/getName.d.ts.map +1 -1
  139. package/dist/names/getName.js +3 -3
  140. package/dist/names/getName.js.map +1 -1
  141. package/dist/names/hollasch.d.ts +1 -1
  142. package/dist/names/hollasch.d.ts.map +1 -1
  143. package/dist/names/hollasch.js +179 -179
  144. package/dist/names/hollasch.js.map +1 -1
  145. package/dist/names/nbs.d.ts +1 -1
  146. package/dist/names/nbs.d.ts.map +1 -1
  147. package/dist/names/nbs.js +266 -266
  148. package/dist/names/nbs.js.map +1 -1
  149. package/dist/names/ntc.d.ts +1 -1
  150. package/dist/names/ntc.d.ts.map +1 -1
  151. package/dist/names/ntc.js +1519 -1519
  152. package/dist/names/ntc.js.map +1 -1
  153. package/dist/names/resene.d.ts +1 -1
  154. package/dist/names/resene.d.ts.map +1 -1
  155. package/dist/names/resene.js +1331 -1331
  156. package/dist/names/resene.js.map +1 -1
  157. package/dist/names/tcapi.d.ts +1 -1
  158. package/dist/names/tcapi.d.ts.map +1 -1
  159. package/dist/names/tcapi.js +1840 -1840
  160. package/dist/names/tcapi.js.map +1 -1
  161. package/dist/names/x11.d.ts +1 -1
  162. package/dist/names/x11.d.ts.map +1 -1
  163. package/dist/names/x11.js +445 -445
  164. package/dist/names/x11.js.map +1 -1
  165. package/dist/names/xkcd.d.ts +1 -1
  166. package/dist/names/xkcd.d.ts.map +1 -1
  167. package/dist/names/xkcd.js +897 -897
  168. package/dist/names/xkcd.js.map +1 -1
  169. package/dist/palette/analogous.d.ts +28 -0
  170. package/dist/palette/analogous.d.ts.map +1 -0
  171. package/dist/palette/analogous.js +15 -0
  172. package/dist/palette/analogous.js.map +1 -0
  173. package/dist/palette/analogousLch.d.ts +19 -0
  174. package/dist/palette/analogousLch.d.ts.map +1 -0
  175. package/dist/palette/analogousLch.js +15 -0
  176. package/dist/palette/analogousLch.js.map +1 -0
  177. package/dist/palette/complement.d.ts +28 -0
  178. package/dist/palette/complement.d.ts.map +1 -0
  179. package/dist/palette/complement.js +15 -0
  180. package/dist/palette/complement.js.map +1 -0
  181. package/dist/palette/complementLch.d.ts +19 -0
  182. package/dist/palette/complementLch.d.ts.map +1 -0
  183. package/dist/palette/complementLch.js +15 -0
  184. package/dist/palette/complementLch.js.map +1 -0
  185. package/dist/palette/splitComplement.d.ts +28 -0
  186. package/dist/palette/splitComplement.d.ts.map +1 -0
  187. package/dist/palette/splitComplement.js +15 -0
  188. package/dist/palette/splitComplement.js.map +1 -0
  189. package/dist/palette/splitComplementLch.d.ts +19 -0
  190. package/dist/palette/splitComplementLch.d.ts.map +1 -0
  191. package/dist/palette/splitComplementLch.js +15 -0
  192. package/dist/palette/splitComplementLch.js.map +1 -0
  193. package/dist/types/Adobe.d.ts.map +1 -1
  194. package/dist/types/Cmy.d.ts.map +1 -1
  195. package/dist/types/Cmyk.d.ts.map +1 -1
  196. package/dist/types/Hsi.d.ts +15 -0
  197. package/dist/types/Hsi.d.ts.map +1 -0
  198. package/dist/types/Hsi.js +2 -0
  199. package/dist/types/Hsi.js.map +1 -0
  200. package/dist/types/Hsl.d.ts +1 -1
  201. package/dist/types/Hsl.d.ts.map +1 -1
  202. package/dist/types/Hsv.d.ts +1 -1
  203. package/dist/types/Hsv.d.ts.map +1 -1
  204. package/dist/types/Hunter.d.ts.map +1 -1
  205. package/dist/types/Lab.d.ts +2 -2
  206. package/dist/types/Lab.d.ts.map +1 -1
  207. package/dist/types/Lchab.d.ts +15 -0
  208. package/dist/types/Lchab.d.ts.map +1 -0
  209. package/dist/types/Lchab.js +2 -0
  210. package/dist/types/Lchab.js.map +1 -0
  211. package/dist/types/Lchuv.d.ts +15 -0
  212. package/dist/types/Lchuv.d.ts.map +1 -0
  213. package/dist/types/Lchuv.js +2 -0
  214. package/dist/types/Lchuv.js.map +1 -0
  215. package/dist/types/Luv.d.ts +1 -1
  216. package/dist/types/Luv.d.ts.map +1 -1
  217. package/dist/types/Rgb.d.ts.map +1 -1
  218. package/dist/types/Xyz.d.ts.map +1 -1
  219. package/dist/types/Yxy.d.ts.map +1 -1
  220. package/dist/utility/StandardIlluminant.d.ts.map +1 -1
  221. package/dist/utility/StandardIlluminant.js.map +1 -1
  222. package/dist/utility/contrast.d.ts +1 -1
  223. package/dist/utility/contrast.d.ts.map +1 -1
  224. package/dist/utility/contrast.js.map +1 -1
  225. package/dist/utility/getReference.d.ts +2 -2
  226. package/dist/utility/getReference.d.ts.map +1 -1
  227. package/dist/utility/getReference.js +39 -39
  228. package/dist/utility/getReference.js.map +1 -1
  229. package/dist/utility/isWebSafe.d.ts +10 -0
  230. package/dist/utility/isWebSafe.d.ts.map +1 -0
  231. package/dist/utility/isWebSafe.js +11 -0
  232. package/dist/utility/isWebSafe.js.map +1 -0
  233. package/dist/utility/relativeLuminance.d.ts +1 -1
  234. package/dist/utility/relativeLuminance.d.ts.map +1 -1
  235. package/dist/utility/relativeLuminance.js.map +1 -1
  236. package/package.json +34 -36
  237. package/src/{utility → convert}/adobeToXyz.ts +10 -4
  238. package/src/{utility → convert}/cmyToCmyk.ts +5 -4
  239. package/src/{utility → convert}/cmyToRgb.ts +3 -1
  240. package/src/{utility → convert}/cmykToCmy.ts +3 -2
  241. package/src/{utility → convert}/hexToRgb.ts +1 -1
  242. package/src/{utility → convert}/hslToRgb.ts +11 -7
  243. package/src/{utility → convert}/hsvToRgb.ts +4 -3
  244. package/src/{utility → convert}/hunterToXyz.ts +13 -10
  245. package/src/convert/labToLch.ts +40 -0
  246. package/src/{utility → convert}/labToXyz.ts +13 -8
  247. package/src/convert/lchToLab.ts +34 -0
  248. package/src/{utility → convert}/luvToXyz.ts +11 -9
  249. package/src/{utility → convert}/rgbToCmy.ts +3 -1
  250. package/src/{utility → convert}/rgbToHex.ts +6 -2
  251. package/src/convert/rgbToHsi.ts +45 -0
  252. package/src/convert/rgbToHsl.ts +46 -0
  253. package/src/{utility → convert}/rgbToHsv.ts +16 -13
  254. package/src/{utility → convert}/rgbToXyz.ts +13 -4
  255. package/src/convert/xyzToAdobe.ts +25 -0
  256. package/src/{utility → convert}/xyzToHunter.ts +14 -11
  257. package/src/{utility → convert}/xyzToLab.ts +14 -8
  258. package/src/{utility → convert}/xyzToLuv.ts +13 -11
  259. package/src/{utility → convert}/xyzToRgb.ts +12 -4
  260. package/src/{utility → convert}/xyzToYxy.ts +5 -4
  261. package/src/{utility → convert}/yxyToXyz.ts +5 -4
  262. package/src/{utility → delta}/deltaC.ts +12 -5
  263. package/src/{utility → delta}/deltaCmc.ts +14 -12
  264. package/src/{utility → delta}/deltaE00.ts +23 -20
  265. package/src/{utility → delta}/deltaE76.ts +12 -5
  266. package/src/{utility → delta}/deltaE94.ts +9 -10
  267. package/src/{utility → delta}/deltaH.ts +15 -9
  268. package/src/index.ts +47 -31
  269. package/src/names/bang.ts +476 -472
  270. package/src/names/cne.ts +848 -844
  271. package/src/names/crayola.ts +115 -111
  272. package/src/names/getName.ts +7 -6
  273. package/src/names/hollasch.ts +184 -180
  274. package/src/names/nbs.ts +271 -267
  275. package/src/names/ntc.ts +1524 -1520
  276. package/src/names/resene.ts +1336 -1332
  277. package/src/names/tcapi.ts +1845 -1841
  278. package/src/names/x11.ts +450 -446
  279. package/src/names/xkcd.ts +902 -898
  280. package/src/palette/analogous.ts +61 -0
  281. package/src/palette/analogousLch.ts +49 -0
  282. package/src/palette/complement.ts +65 -0
  283. package/src/palette/complementLch.ts +50 -0
  284. package/src/palette/splitComplement.ts +61 -0
  285. package/src/palette/splitComplementLch.ts +48 -0
  286. package/src/types/Adobe.ts +3 -0
  287. package/src/types/Cmy.ts +3 -0
  288. package/src/types/Cmyk.ts +4 -0
  289. package/src/types/Hsi.ts +20 -0
  290. package/src/types/Hsl.ts +4 -1
  291. package/src/types/Hsv.ts +4 -1
  292. package/src/types/Hunter.ts +3 -0
  293. package/src/types/Lab.ts +5 -2
  294. package/src/types/Lchab.ts +20 -0
  295. package/src/types/Lchuv.ts +20 -0
  296. package/src/types/Luv.ts +4 -1
  297. package/src/types/Rgb.ts +3 -0
  298. package/src/types/Xyz.ts +3 -0
  299. package/src/types/Yxy.ts +3 -0
  300. package/src/utility/StandardIlluminant.ts +40 -40
  301. package/src/utility/contrast.ts +5 -1
  302. package/src/utility/getReference.ts +42 -41
  303. package/src/utility/isWebSafe.ts +14 -0
  304. package/src/utility/relativeLuminance.ts +2 -2
  305. package/dist/types/Lch.d.ts +0 -16
  306. package/dist/types/Lch.d.ts.map +0 -1
  307. package/dist/types/Lch.js +0 -2
  308. package/dist/types/Lch.js.map +0 -1
  309. package/dist/utility/adobeToXyz.d.ts.map +0 -1
  310. package/dist/utility/adobeToXyz.js.map +0 -1
  311. package/dist/utility/cmyToCmyk.d.ts.map +0 -1
  312. package/dist/utility/cmyToCmyk.js.map +0 -1
  313. package/dist/utility/cmyToRgb.d.ts.map +0 -1
  314. package/dist/utility/cmyToRgb.js.map +0 -1
  315. package/dist/utility/cmykToCmy.d.ts.map +0 -1
  316. package/dist/utility/cmykToCmy.js.map +0 -1
  317. package/dist/utility/deltaC.d.ts.map +0 -1
  318. package/dist/utility/deltaCmc.d.ts.map +0 -1
  319. package/dist/utility/deltaCmc.js.map +0 -1
  320. package/dist/utility/deltaE00.d.ts.map +0 -1
  321. package/dist/utility/deltaE00.js.map +0 -1
  322. package/dist/utility/deltaE76.d.ts.map +0 -1
  323. package/dist/utility/deltaE94.d.ts.map +0 -1
  324. package/dist/utility/deltaE94.js.map +0 -1
  325. package/dist/utility/deltaH.d.ts.map +0 -1
  326. package/dist/utility/deltaH.js.map +0 -1
  327. package/dist/utility/hexToRgb.d.ts.map +0 -1
  328. package/dist/utility/hslToRgb.d.ts.map +0 -1
  329. package/dist/utility/hslToRgb.js.map +0 -1
  330. package/dist/utility/hsvToRgb.d.ts.map +0 -1
  331. package/dist/utility/hsvToRgb.js.map +0 -1
  332. package/dist/utility/hunterToXyz.d.ts.map +0 -1
  333. package/dist/utility/hunterToXyz.js.map +0 -1
  334. package/dist/utility/labToLch.d.ts +0 -11
  335. package/dist/utility/labToLch.d.ts.map +0 -1
  336. package/dist/utility/labToLch.js +0 -19
  337. package/dist/utility/labToLch.js.map +0 -1
  338. package/dist/utility/labToXyz.d.ts.map +0 -1
  339. package/dist/utility/labToXyz.js.map +0 -1
  340. package/dist/utility/lchToLab.d.ts +0 -11
  341. package/dist/utility/lchToLab.d.ts.map +0 -1
  342. package/dist/utility/lchToLab.js +0 -14
  343. package/dist/utility/lchToLab.js.map +0 -1
  344. package/dist/utility/luvToXyz.d.ts.map +0 -1
  345. package/dist/utility/luvToXyz.js.map +0 -1
  346. package/dist/utility/rgbToCmy.d.ts.map +0 -1
  347. package/dist/utility/rgbToCmy.js.map +0 -1
  348. package/dist/utility/rgbToHex.js.map +0 -1
  349. package/dist/utility/rgbToHsl.d.ts.map +0 -1
  350. package/dist/utility/rgbToHsl.js +0 -31
  351. package/dist/utility/rgbToHsl.js.map +0 -1
  352. package/dist/utility/rgbToHsv.d.ts.map +0 -1
  353. package/dist/utility/rgbToHsv.js.map +0 -1
  354. package/dist/utility/rgbToXyz.d.ts.map +0 -1
  355. package/dist/utility/rgbToXyz.js.map +0 -1
  356. package/dist/utility/xyzToAdobe.d.ts.map +0 -1
  357. package/dist/utility/xyzToAdobe.js.map +0 -1
  358. package/dist/utility/xyzToHunter.d.ts.map +0 -1
  359. package/dist/utility/xyzToHunter.js.map +0 -1
  360. package/dist/utility/xyzToLab.d.ts.map +0 -1
  361. package/dist/utility/xyzToLab.js.map +0 -1
  362. package/dist/utility/xyzToLuv.d.ts.map +0 -1
  363. package/dist/utility/xyzToLuv.js.map +0 -1
  364. package/dist/utility/xyzToRgb.d.ts.map +0 -1
  365. package/dist/utility/xyzToRgb.js.map +0 -1
  366. package/dist/utility/xyzToYxy.d.ts.map +0 -1
  367. package/dist/utility/xyzToYxy.js.map +0 -1
  368. package/dist/utility/yxyToXyz.d.ts.map +0 -1
  369. package/dist/utility/yxyToXyz.js.map +0 -1
  370. package/src/types/Lch.ts +0 -18
  371. package/src/utility/labToLch.ts +0 -24
  372. package/src/utility/lchToLab.ts +0 -18
  373. package/src/utility/rgbToHsl.ts +0 -38
  374. package/src/utility/xyzToAdobe.ts +0 -20
  375. /package/dist/{utility → convert}/cmyToRgb.js +0 -0
  376. /package/dist/{utility → convert}/hexToRgb.js +0 -0
  377. /package/dist/{utility → convert}/rgbToCmy.js +0 -0
  378. /package/dist/{utility → delta}/deltaC.js +0 -0
  379. /package/dist/{utility → delta}/deltaE76.js +0 -0
@@ -1,5 +1,8 @@
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 = Math.PI / 180;
3
6
 
4
7
  /**
5
8
  * Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
@@ -11,19 +14,18 @@ import type Lch from "../types/Lch.js";
11
14
  * @public
12
15
  */
13
16
  export default function deltaCmc(
14
- color0: Lab,
15
- color1: Lab,
16
- weight: Lch = [1, 1, 1]
17
+ color0: Readonly<Lab>,
18
+ color1: Readonly<Lab>,
19
+ weight: Readonly<Lchab> = [1, 1, 1]
17
20
  ): number {
18
- // eslint-disable-next-line prefer-destructuring
19
21
  const l0 = color0[0];
20
- // eslint-disable-next-line prefer-destructuring
22
+
21
23
  const a0 = color0[1];
22
- // eslint-disable-next-line prefer-destructuring
24
+
23
25
  const b0 = color0[2];
24
- // eslint-disable-next-line prefer-destructuring
26
+
25
27
  const a1 = color1[1];
26
- // eslint-disable-next-line prefer-destructuring
28
+
27
29
  const b1 = color1[2];
28
30
 
29
31
  const i0 = Math.hypot(a0, b0);
@@ -38,7 +40,7 @@ export default function deltaCmc(
38
40
  b0 < 0 ?
39
41
  270
40
42
  : 90
41
- : Math.atan(b0 / a0) * 57.29577951 + // `180 / Math.PI`
43
+ : Math.atan(b0 / a0) * c0 +
42
44
  (a0 > 0 ?
43
45
  b0 > 0 ?
44
46
  0
@@ -54,8 +56,8 @@ export default function deltaCmc(
54
56
  Math.sqrt((a1 - a0) ** 2 + (b1 - b0) ** 2 - i5 ** 2) /
55
57
  ((i2 *
56
58
  (i3 < 164 || i3 > 345 ?
57
- 0.36 + Math.abs(0.4 * Math.cos((35 + i3) * 0.01745329)) // `Math.PI / 180`
58
- : 0.56 + Math.abs(0.2 * Math.cos((168 + i3) * 0.01745329))) + // `Math.PI / 180`
59
+ 0.36 + Math.abs(0.4 * Math.cos((35 + i3) * c1))
60
+ : 0.56 + Math.abs(0.2 * Math.cos((168 + i3) * c1))) +
59
61
  1 -
60
62
  i2) *
61
63
  i4)
@@ -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.
@@ -34,25 +38,24 @@ const cieLabToHue = (a: number, b: number): number =>
34
38
  * @public
35
39
  */
36
40
  export default function deltaE00(
37
- color0: Lab,
38
- color1: Lab,
39
- weight: Lch = [1, 1, 1]
41
+ color0: Readonly<Lab>,
42
+ color1: Readonly<Lab>,
43
+ weight: Readonly<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
  );
@@ -9,8 +9,10 @@ import type Luv from "../types/Luv.js";
9
9
  * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
10
  * @public
11
11
  */
12
- export default function deltaE76(color0: Lab, color1: Lab): number;
13
-
12
+ export default function deltaE76(
13
+ color0: Readonly<Lab>,
14
+ color1: Readonly<Lab>
15
+ ): number;
14
16
  /**
15
17
  * Calculates the ΔE* CIE (CIE 1976) between two CIELUV values. Based on the EasyRGB pseudocode.
16
18
  * @param color0 - The first color.
@@ -19,9 +21,14 @@ export default function deltaE76(color0: Lab, color1: Lab): number;
19
21
  * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
20
22
  * @public
21
23
  */
22
- export default function deltaE76(color0: Luv, color1: Luv): number;
23
-
24
- export default function deltaE76(color0: Lab | Luv, color1: Lab | Luv): number {
24
+ export default function deltaE76(
25
+ color0: Readonly<Luv>,
26
+ color1: Readonly<Luv>
27
+ ): number;
28
+ export default function deltaE76(
29
+ color0: Readonly<Lab | Luv>,
30
+ color1: Readonly<Lab | Luv>
31
+ ): number {
25
32
  return Math.hypot(
26
33
  color0[0] - color1[0],
27
34
  color0[1] - color1[1],
@@ -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.
@@ -11,21 +11,20 @@ import type Lch from "../types/Lch.js";
11
11
  * @public
12
12
  */
13
13
  export default function deltaE94(
14
- color0: Lab,
15
- color1: Lab,
16
- weight: Lch = [1, 1, 1]
14
+ color0: Readonly<Lab>,
15
+ color1: Readonly<Lab>,
16
+ weight: Readonly<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);
@@ -9,8 +9,10 @@ import type Luv from "../types/Luv.js";
9
9
  * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
10
10
  * @public
11
11
  */
12
- export default function deltaH(color0: Lab, color1: Lab): number;
13
-
12
+ export default function deltaH(
13
+ color0: Readonly<Lab>,
14
+ color1: Readonly<Lab>
15
+ ): number;
14
16
  /**
15
17
  * Calculates the ΔH* between two CIELUV values. Based on the EasyRGB pseudocode.
16
18
  * @param color0 - The first color.
@@ -19,16 +21,20 @@ export default function deltaH(color0: Lab, color1: Lab): number;
19
21
  * @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
20
22
  * @public
21
23
  */
22
- export default function deltaH(color0: Luv, color1: Luv): number;
23
-
24
- export default function deltaH(color0: Lab | Luv, color1: Lab | Luv): number {
25
- // eslint-disable-next-line prefer-destructuring
24
+ export default function deltaH(
25
+ color0: Readonly<Luv>,
26
+ color1: Readonly<Luv>
27
+ ): number;
28
+ export default function deltaH(
29
+ color0: Readonly<Lab | Luv>,
30
+ color1: Readonly<Lab | Luv>
31
+ ): number {
26
32
  const a0 = color0[1];
27
- // eslint-disable-next-line prefer-destructuring
33
+
28
34
  const b0 = color0[2];
29
- // eslint-disable-next-line prefer-destructuring
35
+
30
36
  const a1 = color1[1];
31
- // eslint-disable-next-line prefer-destructuring
37
+
32
38
  const b1 = color1[2];
33
39
 
34
40
  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";