color-elements 0.0.2 → 0.0.4

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 (483) hide show
  1. package/README.md +30 -15
  2. package/_build/copy-config.json +1 -1
  3. package/_build/eleventy.js +7 -2
  4. package/_build/filters-extra.js +1 -1
  5. package/_includes/component.njk +9 -1
  6. package/_includes/partials/_nav-links.njk +12 -4
  7. package/_redirects +8 -1
  8. package/assets/css/style.css +78 -1
  9. package/assets/js/index.js +6 -6
  10. package/data/components.json +12 -0
  11. package/index.js +5 -1
  12. package/package.json +9 -3
  13. package/src/channel-picker/README.md +103 -0
  14. package/src/channel-picker/channel-picker.css +31 -0
  15. package/src/channel-picker/channel-picker.js +168 -0
  16. package/src/channel-picker/channel-picker.webp +0 -0
  17. package/src/channel-slider/README.md +50 -8
  18. package/src/channel-slider/channel-slider.css +47 -5
  19. package/src/channel-slider/channel-slider.js +74 -39
  20. package/src/channel-slider/channel-slider.webp +0 -0
  21. package/src/color-chart/README.md +129 -0
  22. package/src/color-chart/color-chart-global.css +101 -0
  23. package/src/color-chart/color-chart.css +112 -0
  24. package/src/color-chart/color-chart.js +439 -0
  25. package/src/color-chart/color-chart.webp +0 -0
  26. package/src/color-inline/README.md +42 -1
  27. package/src/color-inline/color-inline.css +11 -4
  28. package/src/color-inline/color-inline.js +56 -50
  29. package/src/color-inline/color-inline.webp +0 -0
  30. package/src/color-picker/README.md +107 -5
  31. package/src/color-picker/color-picker.css +21 -6
  32. package/src/color-picker/color-picker.js +147 -60
  33. package/src/color-picker/color-picker.webp +0 -0
  34. package/src/color-scale/README.md +75 -0
  35. package/src/color-scale/color-scale.css +35 -0
  36. package/src/color-scale/color-scale.js +164 -0
  37. package/src/color-scale/color-scale.webp +0 -0
  38. package/src/color-slider/README.md +31 -4
  39. package/src/color-slider/color-slider.css +17 -7
  40. package/src/color-slider/color-slider.js +80 -38
  41. package/src/color-slider/color-slider.webp +0 -0
  42. package/src/color-swatch/README.md +265 -6
  43. package/src/color-swatch/color-swatch.css +171 -27
  44. package/src/color-swatch/color-swatch.js +193 -217
  45. package/src/color-swatch/color-swatch.webp +0 -0
  46. package/src/common/color-element.js +140 -0
  47. package/src/common/dom.js +1 -1
  48. package/src/common/util.js +62 -84
  49. package/src/gamut-badge/README.md +145 -0
  50. package/src/gamut-badge/gamut-badge.css +78 -0
  51. package/src/gamut-badge/gamut-badge.js +121 -0
  52. package/src/gamut-badge/gamut-badge.webp +0 -0
  53. package/src/index.js.njk +1 -1
  54. package/src/space-picker/README.md +121 -0
  55. package/src/space-picker/space-picker.css +23 -0
  56. package/src/space-picker/space-picker.js +213 -0
  57. package/src/space-picker/space-picker.webp +0 -0
  58. package/_data/components.json +0 -8
  59. package/lib/README.md +0 -4
  60. package/lib/colorjs.io/LICENSE +0 -21
  61. package/lib/colorjs.io/README.json +0 -3
  62. package/lib/colorjs.io/README.md +0 -257
  63. package/lib/colorjs.io/colorjs.io/LICENSE +0 -21
  64. package/lib/colorjs.io/colorjs.io/README.json +0 -3
  65. package/lib/colorjs.io/colorjs.io/README.md +0 -257
  66. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs +0 -5437
  67. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs.map +0 -1
  68. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  69. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  70. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  71. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  72. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs +0 -2
  73. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  74. package/lib/colorjs.io/colorjs.io/dist/color.cjs +0 -5759
  75. package/lib/colorjs.io/colorjs.io/dist/color.cjs.map +0 -1
  76. package/lib/colorjs.io/colorjs.io/dist/color.global.js +0 -5760
  77. package/lib/colorjs.io/colorjs.io/dist/color.global.js.map +0 -1
  78. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js +0 -7400
  79. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js.map +0 -1
  80. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js +0 -2
  81. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  82. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js +0 -2
  83. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js.map +0 -1
  84. package/lib/colorjs.io/colorjs.io/dist/color.js +0 -5755
  85. package/lib/colorjs.io/colorjs.io/dist/color.js.map +0 -1
  86. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs +0 -7399
  87. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs.map +0 -1
  88. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js +0 -7395
  89. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js.map +0 -1
  90. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs +0 -2
  91. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  92. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js +0 -2
  93. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js.map +0 -1
  94. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs +0 -2
  95. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs.map +0 -1
  96. package/lib/colorjs.io/colorjs.io/dist/color.min.js +0 -2
  97. package/lib/colorjs.io/colorjs.io/dist/color.min.js.map +0 -1
  98. package/lib/colorjs.io/colorjs.io/package.json +0 -113
  99. package/lib/colorjs.io/colorjs.io/src/CATs.js +0 -131
  100. package/lib/colorjs.io/colorjs.io/src/adapt.js +0 -62
  101. package/lib/colorjs.io/colorjs.io/src/angles.js +0 -44
  102. package/lib/colorjs.io/colorjs.io/src/chromaticity.js +0 -33
  103. package/lib/colorjs.io/colorjs.io/src/clone.js +0 -7
  104. package/lib/colorjs.io/colorjs.io/src/color.js +0 -201
  105. package/lib/colorjs.io/colorjs.io/src/contrast/APCA.js +0 -102
  106. package/lib/colorjs.io/colorjs.io/src/contrast/Lstar.js +0 -17
  107. package/lib/colorjs.io/colorjs.io/src/contrast/Michelson.js +0 -22
  108. package/lib/colorjs.io/colorjs.io/src/contrast/WCAG21.js +0 -20
  109. package/lib/colorjs.io/colorjs.io/src/contrast/Weber.js +0 -27
  110. package/lib/colorjs.io/colorjs.io/src/contrast/deltaPhi.js +0 -25
  111. package/lib/colorjs.io/colorjs.io/src/contrast/index.js +0 -6
  112. package/lib/colorjs.io/colorjs.io/src/contrast.js +0 -28
  113. package/lib/colorjs.io/colorjs.io/src/defaults.js +0 -12
  114. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  115. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE76.js +0 -7
  116. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  117. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  118. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  119. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  120. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  121. package/lib/colorjs.io/colorjs.io/src/deltaE/index.js +0 -27
  122. package/lib/colorjs.io/colorjs.io/src/deltaE.js +0 -19
  123. package/lib/colorjs.io/colorjs.io/src/display.js +0 -83
  124. package/lib/colorjs.io/colorjs.io/src/distance.js +0 -21
  125. package/lib/colorjs.io/colorjs.io/src/equals.js +0 -10
  126. package/lib/colorjs.io/colorjs.io/src/get.js +0 -11
  127. package/lib/colorjs.io/colorjs.io/src/getAll.js +0 -20
  128. package/lib/colorjs.io/colorjs.io/src/getColor.js +0 -36
  129. package/lib/colorjs.io/colorjs.io/src/hooks.js +0 -37
  130. package/lib/colorjs.io/colorjs.io/src/inGamut.js +0 -25
  131. package/lib/colorjs.io/colorjs.io/src/index-fn.js +0 -28
  132. package/lib/colorjs.io/colorjs.io/src/index.js +0 -38
  133. package/lib/colorjs.io/colorjs.io/src/interpolation.js +0 -222
  134. package/lib/colorjs.io/colorjs.io/src/keywords.js +0 -158
  135. package/lib/colorjs.io/colorjs.io/src/luminance.js +0 -27
  136. package/lib/colorjs.io/colorjs.io/src/multiply-matrices.js +0 -44
  137. package/lib/colorjs.io/colorjs.io/src/parse.js +0 -198
  138. package/lib/colorjs.io/colorjs.io/src/rgbspace.js +0 -64
  139. package/lib/colorjs.io/colorjs.io/src/serialize.js +0 -86
  140. package/lib/colorjs.io/colorjs.io/src/set.js +0 -33
  141. package/lib/colorjs.io/colorjs.io/src/setAll.js +0 -12
  142. package/lib/colorjs.io/colorjs.io/src/space-accessors.js +0 -86
  143. package/lib/colorjs.io/colorjs.io/src/space.js +0 -440
  144. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  145. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb.js +0 -11
  146. package/lib/colorjs.io/colorjs.io/src/spaces/acescc.js +0 -76
  147. package/lib/colorjs.io/colorjs.io/src/spaces/acescg.js +0 -54
  148. package/lib/colorjs.io/colorjs.io/src/spaces/cam16.js +0 -362
  149. package/lib/colorjs.io/colorjs.io/src/spaces/hct.js +0 -157
  150. package/lib/colorjs.io/colorjs.io/src/spaces/hpluv.js +0 -130
  151. package/lib/colorjs.io/colorjs.io/src/spaces/hsl.js +0 -91
  152. package/lib/colorjs.io/colorjs.io/src/spaces/hsluv.js +0 -162
  153. package/lib/colorjs.io/colorjs.io/src/spaces/hsv.js +0 -65
  154. package/lib/colorjs.io/colorjs.io/src/spaces/hwb.js +0 -58
  155. package/lib/colorjs.io/colorjs.io/src/spaces/ictcp.js +0 -133
  156. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  157. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn.js +0 -29
  158. package/lib/colorjs.io/colorjs.io/src/spaces/index.js +0 -8
  159. package/lib/colorjs.io/colorjs.io/src/spaces/jzazbz.js +0 -118
  160. package/lib/colorjs.io/colorjs.io/src/spaces/jzczhz.js +0 -53
  161. package/lib/colorjs.io/colorjs.io/src/spaces/lab-d65.js +0 -74
  162. package/lib/colorjs.io/colorjs.io/src/spaces/lab.js +0 -74
  163. package/lib/colorjs.io/colorjs.io/src/spaces/lch.js +0 -67
  164. package/lib/colorjs.io/colorjs.io/src/spaces/lchuv.js +0 -68
  165. package/lib/colorjs.io/colorjs.io/src/spaces/luv.js +0 -85
  166. package/lib/colorjs.io/colorjs.io/src/spaces/oklab.js +0 -74
  167. package/lib/colorjs.io/colorjs.io/src/spaces/oklch.js +0 -68
  168. package/lib/colorjs.io/colorjs.io/src/spaces/p3-linear.js +0 -22
  169. package/lib/colorjs.io/colorjs.io/src/spaces/p3.js +0 -13
  170. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  171. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto.js +0 -19
  172. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  173. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020.js +0 -31
  174. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  175. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  176. package/lib/colorjs.io/colorjs.io/src/spaces/srgb-linear.js +0 -30
  177. package/lib/colorjs.io/colorjs.io/src/spaces/srgb.js +0 -127
  178. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  179. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d50.js +0 -12
  180. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d65.js +0 -18
  181. package/lib/colorjs.io/colorjs.io/src/to.js +0 -26
  182. package/lib/colorjs.io/colorjs.io/src/toGamut.js +0 -310
  183. package/lib/colorjs.io/colorjs.io/src/util.js +0 -254
  184. package/lib/colorjs.io/colorjs.io/src/variations.js +0 -14
  185. package/lib/colorjs.io/colorjs.io/types/index.d.cts +0 -4
  186. package/lib/colorjs.io/colorjs.io/types/index.d.ts +0 -42
  187. package/lib/colorjs.io/colorjs.io/types/src/CATs.d.ts +0 -13
  188. package/lib/colorjs.io/colorjs.io/types/src/adapt.d.ts +0 -12
  189. package/lib/colorjs.io/colorjs.io/types/src/angles.d.ts +0 -7
  190. package/lib/colorjs.io/colorjs.io/types/src/chromaticity.d.ts +0 -7
  191. package/lib/colorjs.io/colorjs.io/types/src/clone.d.ts +0 -3
  192. package/lib/colorjs.io/colorjs.io/types/src/color.d.ts +0 -160
  193. package/lib/colorjs.io/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  194. package/lib/colorjs.io/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  195. package/lib/colorjs.io/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  196. package/lib/colorjs.io/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  197. package/lib/colorjs.io/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  198. package/lib/colorjs.io/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  199. package/lib/colorjs.io/colorjs.io/types/src/contrast/index.d.ts +0 -11
  200. package/lib/colorjs.io/colorjs.io/types/src/contrast.d.ts +0 -12
  201. package/lib/colorjs.io/colorjs.io/types/src/defaults.d.ts +0 -2
  202. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  203. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  204. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  205. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  206. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  207. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  208. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  209. package/lib/colorjs.io/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  210. package/lib/colorjs.io/colorjs.io/types/src/deltaE.d.ts +0 -12
  211. package/lib/colorjs.io/colorjs.io/types/src/display.d.ts +0 -17
  212. package/lib/colorjs.io/colorjs.io/types/src/distance.d.ts +0 -8
  213. package/lib/colorjs.io/colorjs.io/types/src/equals.d.ts +0 -3
  214. package/lib/colorjs.io/colorjs.io/types/src/get.d.ts +0 -4
  215. package/lib/colorjs.io/colorjs.io/types/src/getAll.d.ts +0 -7
  216. package/lib/colorjs.io/colorjs.io/types/src/getColor.d.ts +0 -4
  217. package/lib/colorjs.io/colorjs.io/types/src/hooks.d.ts +0 -52
  218. package/lib/colorjs.io/colorjs.io/types/src/inGamut.d.ts +0 -8
  219. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.cts +0 -1
  220. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.ts +0 -63
  221. package/lib/colorjs.io/colorjs.io/types/src/index.d.ts +0 -125
  222. package/lib/colorjs.io/colorjs.io/types/src/interpolation.d.ts +0 -77
  223. package/lib/colorjs.io/colorjs.io/types/src/keywords.d.ts +0 -2
  224. package/lib/colorjs.io/colorjs.io/types/src/luminance.d.ts +0 -10
  225. package/lib/colorjs.io/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  226. package/lib/colorjs.io/colorjs.io/types/src/parse.d.ts +0 -16
  227. package/lib/colorjs.io/colorjs.io/types/src/rgbspace.d.ts +0 -10
  228. package/lib/colorjs.io/colorjs.io/types/src/serialize.d.ts +0 -13
  229. package/lib/colorjs.io/colorjs.io/types/src/set.d.ts +0 -18
  230. package/lib/colorjs.io/colorjs.io/types/src/setAll.d.ts +0 -14
  231. package/lib/colorjs.io/colorjs.io/types/src/space-accessors.d.ts +0 -1
  232. package/lib/colorjs.io/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  233. package/lib/colorjs.io/colorjs.io/types/src/space.d.ts +0 -143
  234. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  235. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  236. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  237. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  238. package/lib/colorjs.io/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  239. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  240. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  241. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  242. package/lib/colorjs.io/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  243. package/lib/colorjs.io/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  244. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  245. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  246. package/lib/colorjs.io/colorjs.io/types/src/spaces/index.d.ts +0 -4
  247. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  248. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  249. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  250. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  251. package/lib/colorjs.io/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  252. package/lib/colorjs.io/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  253. package/lib/colorjs.io/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  254. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  255. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  256. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  257. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  258. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  259. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  260. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  261. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  262. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  263. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  264. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  265. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  266. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  267. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  268. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  269. package/lib/colorjs.io/colorjs.io/types/src/to.d.ts +0 -14
  270. package/lib/colorjs.io/colorjs.io/types/src/toGamut.d.ts +0 -45
  271. package/lib/colorjs.io/colorjs.io/types/src/util.d.ts +0 -58
  272. package/lib/colorjs.io/colorjs.io/types/src/variations.d.ts +0 -5
  273. package/lib/colorjs.io/dist/color-fn.cjs +0 -5437
  274. package/lib/colorjs.io/dist/color-fn.cjs.map +0 -1
  275. package/lib/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  276. package/lib/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  277. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  278. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  279. package/lib/colorjs.io/dist/color-fn.min.cjs +0 -2
  280. package/lib/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  281. package/lib/colorjs.io/dist/color.cjs +0 -5759
  282. package/lib/colorjs.io/dist/color.cjs.map +0 -1
  283. package/lib/colorjs.io/dist/color.global.js +0 -5760
  284. package/lib/colorjs.io/dist/color.global.js.map +0 -1
  285. package/lib/colorjs.io/dist/color.global.legacy.js +0 -7400
  286. package/lib/colorjs.io/dist/color.global.legacy.js.map +0 -1
  287. package/lib/colorjs.io/dist/color.global.legacy.min.js +0 -2
  288. package/lib/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  289. package/lib/colorjs.io/dist/color.global.min.js +0 -2
  290. package/lib/colorjs.io/dist/color.global.min.js.map +0 -1
  291. package/lib/colorjs.io/dist/color.js +0 -5755
  292. package/lib/colorjs.io/dist/color.js.map +0 -1
  293. package/lib/colorjs.io/dist/color.legacy.cjs +0 -7399
  294. package/lib/colorjs.io/dist/color.legacy.cjs.map +0 -1
  295. package/lib/colorjs.io/dist/color.legacy.js +0 -7395
  296. package/lib/colorjs.io/dist/color.legacy.js.map +0 -1
  297. package/lib/colorjs.io/dist/color.legacy.min.cjs +0 -2
  298. package/lib/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  299. package/lib/colorjs.io/dist/color.legacy.min.js +0 -2
  300. package/lib/colorjs.io/dist/color.legacy.min.js.map +0 -1
  301. package/lib/colorjs.io/dist/color.min.cjs +0 -2
  302. package/lib/colorjs.io/dist/color.min.cjs.map +0 -1
  303. package/lib/colorjs.io/dist/color.min.js +0 -2
  304. package/lib/colorjs.io/dist/color.min.js.map +0 -1
  305. package/lib/colorjs.io/package.json +0 -113
  306. package/lib/colorjs.io/src/CATs.js +0 -131
  307. package/lib/colorjs.io/src/adapt.js +0 -62
  308. package/lib/colorjs.io/src/angles.js +0 -44
  309. package/lib/colorjs.io/src/chromaticity.js +0 -33
  310. package/lib/colorjs.io/src/clone.js +0 -7
  311. package/lib/colorjs.io/src/color.js +0 -201
  312. package/lib/colorjs.io/src/contrast/APCA.js +0 -102
  313. package/lib/colorjs.io/src/contrast/Lstar.js +0 -17
  314. package/lib/colorjs.io/src/contrast/Michelson.js +0 -22
  315. package/lib/colorjs.io/src/contrast/WCAG21.js +0 -20
  316. package/lib/colorjs.io/src/contrast/Weber.js +0 -27
  317. package/lib/colorjs.io/src/contrast/deltaPhi.js +0 -25
  318. package/lib/colorjs.io/src/contrast/index.js +0 -6
  319. package/lib/colorjs.io/src/contrast.js +0 -28
  320. package/lib/colorjs.io/src/defaults.js +0 -12
  321. package/lib/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  322. package/lib/colorjs.io/src/deltaE/deltaE76.js +0 -7
  323. package/lib/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  324. package/lib/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  325. package/lib/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  326. package/lib/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  327. package/lib/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  328. package/lib/colorjs.io/src/deltaE/index.js +0 -27
  329. package/lib/colorjs.io/src/deltaE.js +0 -19
  330. package/lib/colorjs.io/src/display.js +0 -83
  331. package/lib/colorjs.io/src/distance.js +0 -21
  332. package/lib/colorjs.io/src/equals.js +0 -10
  333. package/lib/colorjs.io/src/get.js +0 -11
  334. package/lib/colorjs.io/src/getAll.js +0 -20
  335. package/lib/colorjs.io/src/getColor.js +0 -36
  336. package/lib/colorjs.io/src/hooks.js +0 -37
  337. package/lib/colorjs.io/src/inGamut.js +0 -25
  338. package/lib/colorjs.io/src/index-fn.js +0 -28
  339. package/lib/colorjs.io/src/index.js +0 -38
  340. package/lib/colorjs.io/src/interpolation.js +0 -222
  341. package/lib/colorjs.io/src/keywords.js +0 -158
  342. package/lib/colorjs.io/src/luminance.js +0 -27
  343. package/lib/colorjs.io/src/multiply-matrices.js +0 -44
  344. package/lib/colorjs.io/src/parse.js +0 -198
  345. package/lib/colorjs.io/src/rgbspace.js +0 -64
  346. package/lib/colorjs.io/src/serialize.js +0 -86
  347. package/lib/colorjs.io/src/set.js +0 -33
  348. package/lib/colorjs.io/src/setAll.js +0 -12
  349. package/lib/colorjs.io/src/space-accessors.js +0 -86
  350. package/lib/colorjs.io/src/space.js +0 -440
  351. package/lib/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  352. package/lib/colorjs.io/src/spaces/a98rgb.js +0 -11
  353. package/lib/colorjs.io/src/spaces/acescc.js +0 -76
  354. package/lib/colorjs.io/src/spaces/acescg.js +0 -54
  355. package/lib/colorjs.io/src/spaces/cam16.js +0 -362
  356. package/lib/colorjs.io/src/spaces/hct.js +0 -157
  357. package/lib/colorjs.io/src/spaces/hpluv.js +0 -130
  358. package/lib/colorjs.io/src/spaces/hsl.js +0 -91
  359. package/lib/colorjs.io/src/spaces/hsluv.js +0 -162
  360. package/lib/colorjs.io/src/spaces/hsv.js +0 -65
  361. package/lib/colorjs.io/src/spaces/hwb.js +0 -58
  362. package/lib/colorjs.io/src/spaces/ictcp.js +0 -133
  363. package/lib/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  364. package/lib/colorjs.io/src/spaces/index-fn.js +0 -29
  365. package/lib/colorjs.io/src/spaces/index.js +0 -8
  366. package/lib/colorjs.io/src/spaces/jzazbz.js +0 -118
  367. package/lib/colorjs.io/src/spaces/jzczhz.js +0 -53
  368. package/lib/colorjs.io/src/spaces/lab-d65.js +0 -74
  369. package/lib/colorjs.io/src/spaces/lab.js +0 -74
  370. package/lib/colorjs.io/src/spaces/lch.js +0 -67
  371. package/lib/colorjs.io/src/spaces/lchuv.js +0 -68
  372. package/lib/colorjs.io/src/spaces/luv.js +0 -85
  373. package/lib/colorjs.io/src/spaces/oklab.js +0 -74
  374. package/lib/colorjs.io/src/spaces/oklch.js +0 -68
  375. package/lib/colorjs.io/src/spaces/p3-linear.js +0 -22
  376. package/lib/colorjs.io/src/spaces/p3.js +0 -13
  377. package/lib/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  378. package/lib/colorjs.io/src/spaces/prophoto.js +0 -19
  379. package/lib/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  380. package/lib/colorjs.io/src/spaces/rec2020.js +0 -31
  381. package/lib/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  382. package/lib/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  383. package/lib/colorjs.io/src/spaces/srgb-linear.js +0 -30
  384. package/lib/colorjs.io/src/spaces/srgb.js +0 -127
  385. package/lib/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  386. package/lib/colorjs.io/src/spaces/xyz-d50.js +0 -12
  387. package/lib/colorjs.io/src/spaces/xyz-d65.js +0 -18
  388. package/lib/colorjs.io/src/to.js +0 -26
  389. package/lib/colorjs.io/src/toGamut.js +0 -310
  390. package/lib/colorjs.io/src/util.js +0 -254
  391. package/lib/colorjs.io/src/variations.js +0 -14
  392. package/lib/colorjs.io/types/index.d.cts +0 -4
  393. package/lib/colorjs.io/types/index.d.ts +0 -42
  394. package/lib/colorjs.io/types/src/CATs.d.ts +0 -13
  395. package/lib/colorjs.io/types/src/adapt.d.ts +0 -12
  396. package/lib/colorjs.io/types/src/angles.d.ts +0 -7
  397. package/lib/colorjs.io/types/src/chromaticity.d.ts +0 -7
  398. package/lib/colorjs.io/types/src/clone.d.ts +0 -3
  399. package/lib/colorjs.io/types/src/color.d.ts +0 -160
  400. package/lib/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  401. package/lib/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  402. package/lib/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  403. package/lib/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  404. package/lib/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  405. package/lib/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  406. package/lib/colorjs.io/types/src/contrast/index.d.ts +0 -11
  407. package/lib/colorjs.io/types/src/contrast.d.ts +0 -12
  408. package/lib/colorjs.io/types/src/defaults.d.ts +0 -2
  409. package/lib/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  410. package/lib/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  411. package/lib/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  412. package/lib/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  413. package/lib/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  414. package/lib/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  415. package/lib/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  416. package/lib/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  417. package/lib/colorjs.io/types/src/deltaE.d.ts +0 -12
  418. package/lib/colorjs.io/types/src/display.d.ts +0 -17
  419. package/lib/colorjs.io/types/src/distance.d.ts +0 -8
  420. package/lib/colorjs.io/types/src/equals.d.ts +0 -3
  421. package/lib/colorjs.io/types/src/get.d.ts +0 -4
  422. package/lib/colorjs.io/types/src/getAll.d.ts +0 -7
  423. package/lib/colorjs.io/types/src/getColor.d.ts +0 -4
  424. package/lib/colorjs.io/types/src/hooks.d.ts +0 -52
  425. package/lib/colorjs.io/types/src/inGamut.d.ts +0 -8
  426. package/lib/colorjs.io/types/src/index-fn.d.cts +0 -1
  427. package/lib/colorjs.io/types/src/index-fn.d.ts +0 -63
  428. package/lib/colorjs.io/types/src/index.d.ts +0 -125
  429. package/lib/colorjs.io/types/src/interpolation.d.ts +0 -77
  430. package/lib/colorjs.io/types/src/keywords.d.ts +0 -2
  431. package/lib/colorjs.io/types/src/luminance.d.ts +0 -10
  432. package/lib/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  433. package/lib/colorjs.io/types/src/parse.d.ts +0 -16
  434. package/lib/colorjs.io/types/src/rgbspace.d.ts +0 -10
  435. package/lib/colorjs.io/types/src/serialize.d.ts +0 -13
  436. package/lib/colorjs.io/types/src/set.d.ts +0 -18
  437. package/lib/colorjs.io/types/src/setAll.d.ts +0 -14
  438. package/lib/colorjs.io/types/src/space-accessors.d.ts +0 -1
  439. package/lib/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  440. package/lib/colorjs.io/types/src/space.d.ts +0 -143
  441. package/lib/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  442. package/lib/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  443. package/lib/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  444. package/lib/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  445. package/lib/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  446. package/lib/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  447. package/lib/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  448. package/lib/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  449. package/lib/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  450. package/lib/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  451. package/lib/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  452. package/lib/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  453. package/lib/colorjs.io/types/src/spaces/index.d.ts +0 -4
  454. package/lib/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  455. package/lib/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  456. package/lib/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  457. package/lib/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  458. package/lib/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  459. package/lib/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  460. package/lib/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  461. package/lib/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  462. package/lib/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  463. package/lib/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  464. package/lib/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  465. package/lib/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  466. package/lib/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  467. package/lib/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  468. package/lib/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  469. package/lib/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  470. package/lib/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  471. package/lib/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  472. package/lib/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  473. package/lib/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  474. package/lib/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  475. package/lib/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  476. package/lib/colorjs.io/types/src/to.d.ts +0 -14
  477. package/lib/colorjs.io/types/src/toGamut.d.ts +0 -45
  478. package/lib/colorjs.io/types/src/util.d.ts +0 -58
  479. package/lib/colorjs.io/types/src/variations.d.ts +0 -5
  480. package/src/color-gamut/README.md +0 -75
  481. package/src/color-gamut/color-gamut.css +0 -32
  482. package/src/color-gamut/color-gamut.js +0 -172
  483. package/src/common/color.js +0 -12
@@ -1,113 +0,0 @@
1
- {
2
- "name": "colorjs.io",
3
- "version": "0.5.0",
4
- "description": "Let’s get serious about color",
5
- "files": [
6
- "dist/",
7
- "src/",
8
- "types/src/",
9
- "types/index.d.ts",
10
- "types/index.d.cts"
11
- ],
12
- "exports": {
13
- ".": {
14
- "import": {
15
- "types": "./types/index.d.ts",
16
- "default": "./dist/color.js"
17
- },
18
- "require": {
19
- "types": "./types/index.d.cts",
20
- "default": "./dist/color.cjs"
21
- }
22
- },
23
- "./fn": {
24
- "import": {
25
- "types": "./types/src/index-fn.d.ts",
26
- "default": "./src/index-fn.js"
27
- },
28
- "require": {
29
- "types": "./types/src/index-fn.d.cts",
30
- "default": "./dist/color-fn.cjs"
31
- }
32
- },
33
- "./dist/*": "./dist/*"
34
- },
35
- "typesVersions": {
36
- "*": {
37
- "fn": [
38
- "./types/src/index-fn.d.ts"
39
- ]
40
- }
41
- },
42
- "type": "module",
43
- "main": "./dist/color.cjs",
44
- "module": "./dist/color.js",
45
- "types": "./types",
46
- "directories": {
47
- "test": "tests"
48
- },
49
- "scripts": {
50
- "test": "npx htest ./test",
51
- "dtslint": "dtslint --expectOnly types",
52
- "eslint": "eslint . --ext .js --ext .ts --ext .cjs",
53
- "lint": "run-s build:space-accessors \"eslint -- --fix\" dtslint",
54
- "lint:ci": "run-s build:space-accessors \"eslint -- --max-warnings 0\" dtslint",
55
- "build:css": "npx postcss \"**/*.postcss\" --base . --dir . --ext .css --config postcss.config.cjs",
56
- "build:html": "npx @11ty/eleventy --config=.eleventy.cjs",
57
- "build:js": "rollup -c",
58
- "build:js:legacy": "rollup -c rollup.legacy.config.js",
59
- "build:space-accessors": "node ./scripts/generate-space-accessor-types.js",
60
- "build": "run-s build:html build:css build:js build:js:legacy build:space-accessors",
61
- "watch:css": "npx postcss \"**/*.postcss\" --base . --dir . --ext .css --config postcss.config.cjs --watch",
62
- "watch:html": "npx @11ty/eleventy --config=.eleventy.cjs --watch",
63
- "watch:js": "rollup -c --watch",
64
- "watch": "run-p watch:*",
65
- "prepack": "npm run build",
66
- "release": "release-it"
67
- },
68
- "repository": {
69
- "type": "git",
70
- "url": "git+https://github.com/LeaVerou/color.js.git"
71
- },
72
- "keywords": [
73
- "color"
74
- ],
75
- "contributors": [
76
- "Lea Verou",
77
- "Chris Lilley"
78
- ],
79
- "license": "MIT",
80
- "bugs": {
81
- "url": "https://github.com/LeaVerou/color.js/issues"
82
- },
83
- "homepage": "https://colorjs.io",
84
- "devDependencies": {
85
- "@11ty/eleventy": "^2.0",
86
- "@babel/core": "^7.24.0",
87
- "@babel/preset-env": "^7.24.0",
88
- "@definitelytyped/dtslint": "0.0.182",
89
- "@rollup/plugin-babel": "^6.0.4",
90
- "@rollup/plugin-commonjs": "^25.0.7",
91
- "@rollup/plugin-node-resolve": "^15.2.3",
92
- "@rollup/plugin-terser": "^0.4.4",
93
- "@stylistic/eslint-plugin": "latest",
94
- "@typescript-eslint/eslint-plugin": "latest",
95
- "@typescript-eslint/parser": "latest",
96
- "acorn": "latest",
97
- "core-js": "^3.36.0",
98
- "eslint": "latest",
99
- "htest.dev": "^0.0.9",
100
- "mathjs": "^12.4.0",
101
- "npm-run-all": "^4.1.5",
102
- "postcss": "latest",
103
- "postcss-cli": "latest",
104
- "postcss-nesting": "latest",
105
- "release-it": "^17.1.1",
106
- "rollup": "^4.12.0",
107
- "typescript": "^5.3.3"
108
- },
109
- "sideEffects": [
110
- "./src/index.js",
111
- "./src/spaces/index.js"
112
- ]
113
- }
@@ -1,131 +0,0 @@
1
- import hooks from "./hooks.js";
2
- import {multiplyMatrices} from "./util.js";
3
- import {WHITES} from "./adapt.js";
4
-
5
- export const CATs = {};
6
-
7
- hooks.add("chromatic-adaptation-start", env => {
8
- if (env.options.method) {
9
- env.M = adapt(env.W1, env.W2, env.options.method);
10
- }
11
- });
12
-
13
- hooks.add("chromatic-adaptation-end", env => {
14
- if (!env.M) {
15
- env.M = adapt(env.W1, env.W2, env.options.method);
16
- }
17
- });
18
-
19
- export function defineCAT ({id, toCone_M, fromCone_M}) {
20
- // Use id, toCone_M, fromCone_M like variables
21
- CATs[id] = arguments[0];
22
- }
23
-
24
- export function adapt (W1, W2, id = "Bradford") {
25
- // adapt from a source whitepoint or illuminant W1
26
- // to a destination whitepoint or illuminant W2,
27
- // using the given chromatic adaptation transform (CAT)
28
- // debugger;
29
- let method = CATs[id];
30
-
31
- let [ρs, γs, βs] = multiplyMatrices(method.toCone_M, W1);
32
- let [ρd, γd, βd] = multiplyMatrices(method.toCone_M, W2);
33
-
34
- // all practical illuminants have non-zero XYZ so no division by zero can occur below
35
- let scale = [
36
- [ρd / ρs, 0, 0 ],
37
- [0, γd / γs, 0 ],
38
- [0, 0, βd / βs],
39
- ];
40
- // console.log({scale});
41
-
42
- let scaled_cone_M = multiplyMatrices(scale, method.toCone_M);
43
- let adapt_M = multiplyMatrices(method.fromCone_M, scaled_cone_M);
44
- // console.log({scaled_cone_M, adapt_M});
45
- return adapt_M;
46
- }
47
-
48
- defineCAT({
49
- id: "von Kries",
50
- toCone_M: [
51
- [ 0.4002400, 0.7076000, -0.0808100 ],
52
- [ -0.2263000, 1.1653200, 0.0457000 ],
53
- [ 0.0000000, 0.0000000, 0.9182200 ],
54
- ],
55
- fromCone_M: [
56
- [ 1.8599363874558397, -1.1293816185800916, 0.21989740959619328 ],
57
- [ 0.3611914362417676, 0.6388124632850422, -0.000006370596838649899 ],
58
- [ 0, 0, 1.0890636230968613 ],
59
- ],
60
- });
61
-
62
- defineCAT({
63
- id: "Bradford",
64
- // Convert an array of XYZ values in the range 0.0 - 1.0
65
- // to cone fundamentals
66
- toCone_M: [
67
- [ 0.8951000, 0.2664000, -0.1614000 ],
68
- [ -0.7502000, 1.7135000, 0.0367000 ],
69
- [ 0.0389000, -0.0685000, 1.0296000 ],
70
- ],
71
- // and back
72
- fromCone_M: [
73
- [ 0.9869929054667121, -0.14705425642099013, 0.15996265166373122 ],
74
- [ 0.4323052697233945, 0.5183602715367774, 0.049291228212855594 ],
75
- [ -0.00852866457517732, 0.04004282165408486, 0.96848669578755 ],
76
- ],
77
- });
78
-
79
- defineCAT({
80
- id: "CAT02",
81
- // with complete chromatic adaptation to W2, so D = 1.0
82
- toCone_M: [
83
- [ 0.7328000, 0.4296000, -0.1624000 ],
84
- [ -0.7036000, 1.6975000, 0.0061000 ],
85
- [ 0.0030000, 0.0136000, 0.9834000 ],
86
- ],
87
- fromCone_M: [
88
- [ 1.0961238208355142, -0.27886900021828726, 0.18274517938277307 ],
89
- [ 0.4543690419753592, 0.4735331543074117, 0.07209780371722911 ],
90
- [ -0.009627608738429355, -0.00569803121611342, 1.0153256399545427 ],
91
- ],
92
- });
93
-
94
- defineCAT({
95
- id: "CAT16",
96
- toCone_M: [
97
- [ 0.401288, 0.650173, -0.051461 ],
98
- [ -0.250268, 1.204414, 0.045854 ],
99
- [ -0.002079, 0.048952, 0.953127 ],
100
- ],
101
- // the extra precision is needed to avoid roundtripping errors
102
- fromCone_M: [
103
- [ 1.862067855087233, -1.0112546305316845, 0.14918677544445172 ],
104
- [ 0.3875265432361372, 0.6214474419314753, -0.008973985167612521 ],
105
- [ -0.01584149884933386, -0.03412293802851557, 1.0499644368778496 ],
106
- ],
107
- });
108
-
109
- Object.assign(WHITES, {
110
- // whitepoint values from ASTM E308-01 with 10nm spacing, 1931 2 degree observer
111
- // all normalized to Y (luminance) = 1.00000
112
- // Illuminant A is a tungsten electric light, giving a very warm, orange light.
113
- A: [1.09850, 1.00000, 0.35585],
114
-
115
- // Illuminant C was an early approximation to daylight: illuminant A with a blue filter.
116
- C: [0.98074, 1.000000, 1.18232],
117
-
118
- // The daylight series of illuminants simulate natural daylight.
119
- // The color temperature (in degrees Kelvin/100) ranges from
120
- // cool, overcast daylight (D50) to bright, direct sunlight (D65).
121
- D55: [0.95682, 1.00000, 0.92149],
122
- D75: [0.94972, 1.00000, 1.22638],
123
-
124
- // Equal-energy illuminant, used in two-stage CAT16
125
- E: [1.00000, 1.00000, 1.00000],
126
-
127
- // The F series of illuminants represent fluorescent lights
128
- F2: [0.99186, 1.00000, 0.67393],
129
- F7: [0.95041, 1.00000, 1.08747],
130
- F11: [1.00962, 1.00000, 0.64350],
131
- });
@@ -1,62 +0,0 @@
1
- import hooks from "./hooks.js";
2
- import {multiplyMatrices} from "./util.js";
3
-
4
- export const WHITES = {
5
- // for compatibility, the four-digit chromaticity-derived ones everyone else uses
6
- D50: [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585],
7
- D65: [0.3127 / 0.3290, 1.00000, (1.0 - 0.3127 - 0.3290) / 0.3290],
8
- };
9
-
10
- export function getWhite (name) {
11
- if (Array.isArray(name)) {
12
- return name;
13
- }
14
-
15
- return WHITES[name];
16
- }
17
-
18
- // Adapt XYZ from white point W1 to W2
19
- export default function adapt (W1, W2, XYZ, options = {}) {
20
- W1 = getWhite(W1);
21
- W2 = getWhite(W2);
22
-
23
- if (!W1 || !W2) {
24
- throw new TypeError(`Missing white point to convert ${!W1 ? "from" : ""}${!W1 && !W2 ? "/" : ""}${!W2 ? "to" : ""}`);
25
- }
26
-
27
- if (W1 === W2) {
28
- // Same whitepoints, no conversion needed
29
- return XYZ;
30
- }
31
-
32
- let env = {W1, W2, XYZ, options};
33
-
34
- hooks.run("chromatic-adaptation-start", env);
35
-
36
- if (!env.M) {
37
- if (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {
38
- env.M = [
39
- [ 1.0479297925449969, 0.022946870601609652, -0.05019226628920524 ],
40
- [ 0.02962780877005599, 0.9904344267538799, -0.017073799063418826 ],
41
- [ -0.009243040646204504, 0.015055191490298152, 0.7518742814281371 ],
42
- ];
43
- }
44
- else if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {
45
-
46
- env.M = [
47
- [ 0.955473421488075, -0.02309845494876471, 0.06325924320057072 ],
48
- [ -0.0283697093338637, 1.0099953980813041, 0.021041441191917323 ],
49
- [ 0.012314014864481998, -0.020507649298898964, 1.330365926242124 ],
50
- ];
51
- }
52
- }
53
-
54
- hooks.run("chromatic-adaptation-end", env);
55
-
56
- if (env.M) {
57
- return multiplyMatrices(env.M, env.XYZ);
58
- }
59
- else {
60
- throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.");
61
- }
62
- }
@@ -1,44 +0,0 @@
1
- export function constrain (angle) {
2
- return ((angle % 360) + 360) % 360;
3
- }
4
-
5
- export function adjust (arc, angles) {
6
- if (arc === "raw") {
7
- return angles;
8
- }
9
-
10
- let [a1, a2] = angles.map(constrain);
11
-
12
- let angleDiff = a2 - a1;
13
-
14
- if (arc === "increasing") {
15
- if (angleDiff < 0) {
16
- a2 += 360;
17
- }
18
- }
19
- else if (arc === "decreasing") {
20
- if (angleDiff > 0) {
21
- a1 += 360;
22
- }
23
- }
24
- else if (arc === "longer") {
25
- if (-180 < angleDiff && angleDiff < 180) {
26
- if (angleDiff > 0) {
27
- a1 += 360;
28
- }
29
- else {
30
- a2 += 360;
31
- }
32
- }
33
- }
34
- else if (arc === "shorter") {
35
- if (angleDiff > 180) {
36
- a1 += 360;
37
- }
38
- else if (angleDiff < -180) {
39
- a2 += 360;
40
- }
41
- }
42
-
43
- return [a1, a2];
44
- }
@@ -1,33 +0,0 @@
1
- import xyz_d65 from "./spaces/xyz-d65.js";
2
- import getAll from "./getAll.js";
3
-
4
- // Chromaticity coordinates
5
- export function uv (color) {
6
- // Assumes getAll() calls getColor() on color
7
- let [X, Y, Z] = getAll(color, xyz_d65);
8
- let denom = X + 15 * Y + 3 * Z;
9
- return [4 * X / denom, 9 * Y / denom];
10
- }
11
-
12
- export function xy (color) {
13
- // Assumes getAll() calls getColor() on color
14
- let [X, Y, Z] = getAll(color, xyz_d65);
15
- let sum = X + Y + Z;
16
- return [X / sum, Y / sum];
17
- }
18
-
19
- export function register (Color) {
20
- // no setters, as lightness information is lost
21
- // when converting color to chromaticity
22
- Object.defineProperty(Color.prototype, "uv", {
23
- get () {
24
- return uv(this);
25
- },
26
- });
27
-
28
- Object.defineProperty(Color.prototype, "xy", {
29
- get () {
30
- return xy(this);
31
- },
32
- });
33
- }
@@ -1,7 +0,0 @@
1
- export default function clone (color) {
2
- return {
3
- space: color.space,
4
- coords: color.coords.slice(),
5
- alpha: color.alpha,
6
- };
7
- }
@@ -1,201 +0,0 @@
1
- import * as util from "./util.js";
2
- import hooks from "./hooks.js";
3
- import defaults from "./defaults.js";
4
- import ColorSpace from "./space.js";
5
- import {WHITES} from "./adapt.js";
6
- import {
7
- getColor,
8
- parse,
9
- to,
10
- serialize,
11
- inGamut,
12
- toGamut,
13
- distance,
14
- equals,
15
- get,
16
- getAll,
17
- set,
18
- setAll,
19
- display,
20
- } from "./index-fn.js";
21
-
22
-
23
- import "./spaces/xyz-d50.js";
24
- import "./spaces/srgb.js";
25
-
26
- /**
27
- * Class that represents a color
28
- */
29
- export default class Color {
30
- /**
31
- * Creates an instance of Color.
32
- * Signatures:
33
- * - `new Color(stringToParse)`
34
- * - `new Color(otherColor)`
35
- * - `new Color({space, coords, alpha})`
36
- * - `new Color(space, coords, alpha)`
37
- * - `new Color(spaceId, coords, alpha)`
38
- */
39
- constructor (...args) {
40
- let color;
41
-
42
- if (args.length === 1) {
43
- color = getColor(args[0]);
44
- }
45
-
46
- let space, coords, alpha;
47
-
48
- if (color) {
49
- space = color.space || color.spaceId;
50
- coords = color.coords;
51
- alpha = color.alpha;
52
- }
53
- else {
54
- // default signature new Color(ColorSpace, array [, alpha])
55
- [space, coords, alpha] = args;
56
- }
57
-
58
- Object.defineProperty(this, "space", {
59
- value: ColorSpace.get(space),
60
- writable: false,
61
- enumerable: true,
62
- configurable: true, // see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver
63
- });
64
-
65
- this.coords = coords ? coords.slice() : [0, 0, 0];
66
-
67
- // Clamp alpha to [0, 1]
68
- this.alpha = alpha > 1 || alpha === undefined ? 1 : (alpha < 0 ? 0 : alpha);
69
-
70
- // Convert "NaN" to NaN
71
- for (let i = 0; i < this.coords.length; i++) {
72
- if (this.coords[i] === "NaN") {
73
- this.coords[i] = NaN;
74
- }
75
- }
76
-
77
- // Define getters and setters for each coordinate
78
- for (let id in this.space.coords) {
79
- Object.defineProperty(this, id, {
80
- get: () => this.get(id),
81
- set: value => this.set(id, value),
82
- });
83
- }
84
- }
85
-
86
- get spaceId () {
87
- return this.space.id;
88
- }
89
-
90
- clone () {
91
- return new Color(this.space, this.coords, this.alpha);
92
- }
93
-
94
- toJSON () {
95
- return {
96
- spaceId: this.spaceId,
97
- coords: this.coords,
98
- alpha: this.alpha,
99
- };
100
- }
101
-
102
- display (...args) {
103
- let ret = display(this, ...args);
104
-
105
- // Convert color object to Color instance
106
- ret.color = new Color(ret.color);
107
-
108
- return ret;
109
- }
110
-
111
- /**
112
- * Get a color from the argument passed
113
- * Basically gets us the same result as new Color(color) but doesn't clone an existing color object
114
- */
115
- static get (color, ...args) {
116
- if (color instanceof Color) {
117
- return color;
118
- }
119
-
120
- return new Color(color, ...args);
121
- }
122
-
123
- static defineFunction (name, code, o = code) {
124
- let {instance = true, returns} = o;
125
-
126
- let func = function (...args) {
127
- let ret = code(...args);
128
-
129
- if (returns === "color") {
130
- ret = Color.get(ret);
131
- }
132
- else if (returns === "function<color>") {
133
- let f = ret;
134
- ret = function (...args) {
135
- let ret = f(...args);
136
- return Color.get(ret);
137
- };
138
- // Copy any function metadata
139
- Object.assign(ret, f);
140
- }
141
- else if (returns === "array<color>") {
142
- ret = ret.map(c => Color.get(c));
143
- }
144
-
145
- return ret;
146
- };
147
-
148
- if (!(name in Color)) {
149
- Color[name] = func;
150
- }
151
-
152
- if (instance) {
153
- Color.prototype[name] = function (...args) {
154
- return func(this, ...args);
155
- };
156
- }
157
- }
158
-
159
- static defineFunctions (o) {
160
- for (let name in o) {
161
- Color.defineFunction(name, o[name], o[name]);
162
- }
163
- }
164
-
165
- static extend (exports) {
166
- if (exports.register) {
167
- exports.register(Color);
168
- }
169
- else {
170
- // No register method, just add the module's functions
171
- for (let name in exports) {
172
- Color.defineFunction(name, exports[name]);
173
- }
174
- }
175
- }
176
- }
177
-
178
- Color.defineFunctions({
179
- get,
180
- getAll,
181
- set,
182
- setAll,
183
- to,
184
- equals,
185
- inGamut,
186
- toGamut,
187
- distance,
188
- toString: serialize,
189
- });
190
-
191
- Object.assign(Color, {
192
- util,
193
- hooks,
194
- WHITES,
195
- Space: ColorSpace,
196
- spaces: ColorSpace.registry,
197
- parse,
198
-
199
- // Global defaults one may want to configure
200
- defaults,
201
- });
@@ -1,102 +0,0 @@
1
- // APCA 0.0.98G
2
- // https://github.com/Myndex/apca-w3
3
- // see also https://github.com/w3c/silver/issues/643
4
-
5
- import getColor from "../getColor.js";
6
- import to from "../to.js";
7
-
8
- // exponents
9
- const normBG = 0.56;
10
- const normTXT = 0.57;
11
- const revTXT = 0.62;
12
- const revBG = 0.65;
13
-
14
- // clamps
15
- const blkThrs = 0.022;
16
- const blkClmp = 1.414;
17
- const loClip = 0.1;
18
- const deltaYmin = 0.0005;
19
-
20
- // scalers
21
- // see https://github.com/w3c/silver/issues/645
22
- const scaleBoW = 1.14;
23
- const loBoWoffset = 0.027;
24
- const scaleWoB = 1.14;
25
- const loWoBoffset = 0.027;
26
-
27
- function fclamp (Y) {
28
- if (Y >= blkThrs) {
29
- return Y;
30
- }
31
- return Y + (blkThrs - Y) ** blkClmp;
32
- }
33
-
34
- function linearize (val) {
35
- let sign = val < 0 ? -1 : 1;
36
- let abs = Math.abs(val);
37
- return sign * Math.pow(abs, 2.4);
38
- }
39
-
40
- // Not symmetric, requires a foreground (text) color, and a background color
41
- export default function contrastAPCA (background, foreground) {
42
- foreground = getColor(foreground);
43
- background = getColor(background);
44
-
45
- let S;
46
- let C;
47
- let Sapc;
48
-
49
- // Myndex as-published, assumes sRGB inputs
50
- let R, G, B;
51
-
52
- foreground = to(foreground, "srgb");
53
- // Should these be clamped to in-gamut values?
54
-
55
- // Calculates "screen luminance" with non-standard simple gamma EOTF
56
- // weights should be from CSS Color 4, not the ones here which are via Myndex and copied from Lindbloom
57
- [R, G, B] = foreground.coords;
58
- let lumTxt = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;
59
-
60
- background = to(background, "srgb");
61
- [R, G, B] = background.coords;
62
- let lumBg = linearize(R) * 0.2126729 + linearize(G) * 0.7151522 + linearize(B) * 0.0721750;
63
-
64
- // toe clamping of very dark values to account for flare
65
- let Ytxt = fclamp(lumTxt);
66
- let Ybg = fclamp(lumBg);
67
-
68
- // are we "Black on White" (dark on light), or light on dark?
69
- let BoW = Ybg > Ytxt;
70
-
71
- // why is this a delta, when Y is not perceptually uniform?
72
- // Answer: it is a noise gate, see
73
- // https://github.com/LeaVerou/color.js/issues/208
74
- if (Math.abs(Ybg - Ytxt) < deltaYmin) {
75
- C = 0;
76
- }
77
- else {
78
- if (BoW) {
79
- // dark text on light background
80
- S = Ybg ** normBG - Ytxt ** normTXT;
81
- C = S * scaleBoW;
82
- }
83
- else {
84
- // light text on dark background
85
- S = Ybg ** revBG - Ytxt ** revTXT;
86
- C = S * scaleWoB;
87
- }
88
- }
89
- if (Math.abs(C) < loClip) {
90
- Sapc = 0;
91
- }
92
- else if (C > 0) {
93
- // not clear whether Woffset is loBoWoffset or loWoBoffset
94
- // but they have the same value
95
- Sapc = C - loBoWoffset;
96
- }
97
- else {
98
- Sapc = C + loBoWoffset;
99
- }
100
-
101
- return Sapc * 100;
102
- }