color-elements 0.0.2 → 0.0.3

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 (484) 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 +11 -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/debug.html +447 -0
  12. package/index.js +5 -1
  13. package/package.json +2 -1
  14. package/src/channel-picker/README.md +103 -0
  15. package/src/channel-picker/channel-picker.css +31 -0
  16. package/src/channel-picker/channel-picker.js +168 -0
  17. package/src/channel-picker/channel-picker.webp +0 -0
  18. package/src/channel-slider/README.md +50 -8
  19. package/src/channel-slider/channel-slider.css +47 -5
  20. package/src/channel-slider/channel-slider.js +74 -39
  21. package/src/channel-slider/channel-slider.webp +0 -0
  22. package/src/color-chart/README.md +129 -0
  23. package/src/color-chart/color-chart-global.css +97 -0
  24. package/src/color-chart/color-chart.css +112 -0
  25. package/src/color-chart/color-chart.js +441 -0
  26. package/src/color-chart/color-chart.webp +0 -0
  27. package/src/color-inline/README.md +42 -1
  28. package/src/color-inline/color-inline.css +11 -4
  29. package/src/color-inline/color-inline.js +56 -50
  30. package/src/color-inline/color-inline.webp +0 -0
  31. package/src/color-picker/README.md +107 -5
  32. package/src/color-picker/color-picker.css +21 -6
  33. package/src/color-picker/color-picker.js +147 -60
  34. package/src/color-picker/color-picker.webp +0 -0
  35. package/src/color-scale/README.md +75 -0
  36. package/src/color-scale/color-scale.css +40 -0
  37. package/src/color-scale/color-scale.js +164 -0
  38. package/src/color-scale/color-scale.webp +0 -0
  39. package/src/color-slider/README.md +31 -4
  40. package/src/color-slider/color-slider.css +17 -7
  41. package/src/color-slider/color-slider.js +80 -38
  42. package/src/color-slider/color-slider.webp +0 -0
  43. package/src/color-swatch/README.md +265 -6
  44. package/src/color-swatch/color-swatch.css +162 -27
  45. package/src/color-swatch/color-swatch.js +191 -217
  46. package/src/color-swatch/color-swatch.webp +0 -0
  47. package/src/common/color-element.js +86 -0
  48. package/src/common/dom.js +1 -1
  49. package/src/common/util.js +12 -99
  50. package/src/gamut-badge/README.md +145 -0
  51. package/src/gamut-badge/gamut-badge.css +78 -0
  52. package/src/gamut-badge/gamut-badge.js +121 -0
  53. package/src/gamut-badge/gamut-badge.webp +0 -0
  54. package/src/index.js.njk +1 -1
  55. package/src/space-picker/README.md +121 -0
  56. package/src/space-picker/space-picker.css +23 -0
  57. package/src/space-picker/space-picker.js +213 -0
  58. package/src/space-picker/space-picker.webp +0 -0
  59. package/_data/components.json +0 -8
  60. package/lib/README.md +0 -4
  61. package/lib/colorjs.io/LICENSE +0 -21
  62. package/lib/colorjs.io/README.json +0 -3
  63. package/lib/colorjs.io/README.md +0 -257
  64. package/lib/colorjs.io/colorjs.io/LICENSE +0 -21
  65. package/lib/colorjs.io/colorjs.io/README.json +0 -3
  66. package/lib/colorjs.io/colorjs.io/README.md +0 -257
  67. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs +0 -5437
  68. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs.map +0 -1
  69. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  70. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  71. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  72. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  73. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs +0 -2
  74. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  75. package/lib/colorjs.io/colorjs.io/dist/color.cjs +0 -5759
  76. package/lib/colorjs.io/colorjs.io/dist/color.cjs.map +0 -1
  77. package/lib/colorjs.io/colorjs.io/dist/color.global.js +0 -5760
  78. package/lib/colorjs.io/colorjs.io/dist/color.global.js.map +0 -1
  79. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js +0 -7400
  80. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js.map +0 -1
  81. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js +0 -2
  82. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  83. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js +0 -2
  84. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js.map +0 -1
  85. package/lib/colorjs.io/colorjs.io/dist/color.js +0 -5755
  86. package/lib/colorjs.io/colorjs.io/dist/color.js.map +0 -1
  87. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs +0 -7399
  88. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs.map +0 -1
  89. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js +0 -7395
  90. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js.map +0 -1
  91. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs +0 -2
  92. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  93. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js +0 -2
  94. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js.map +0 -1
  95. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs +0 -2
  96. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs.map +0 -1
  97. package/lib/colorjs.io/colorjs.io/dist/color.min.js +0 -2
  98. package/lib/colorjs.io/colorjs.io/dist/color.min.js.map +0 -1
  99. package/lib/colorjs.io/colorjs.io/package.json +0 -113
  100. package/lib/colorjs.io/colorjs.io/src/CATs.js +0 -131
  101. package/lib/colorjs.io/colorjs.io/src/adapt.js +0 -62
  102. package/lib/colorjs.io/colorjs.io/src/angles.js +0 -44
  103. package/lib/colorjs.io/colorjs.io/src/chromaticity.js +0 -33
  104. package/lib/colorjs.io/colorjs.io/src/clone.js +0 -7
  105. package/lib/colorjs.io/colorjs.io/src/color.js +0 -201
  106. package/lib/colorjs.io/colorjs.io/src/contrast/APCA.js +0 -102
  107. package/lib/colorjs.io/colorjs.io/src/contrast/Lstar.js +0 -17
  108. package/lib/colorjs.io/colorjs.io/src/contrast/Michelson.js +0 -22
  109. package/lib/colorjs.io/colorjs.io/src/contrast/WCAG21.js +0 -20
  110. package/lib/colorjs.io/colorjs.io/src/contrast/Weber.js +0 -27
  111. package/lib/colorjs.io/colorjs.io/src/contrast/deltaPhi.js +0 -25
  112. package/lib/colorjs.io/colorjs.io/src/contrast/index.js +0 -6
  113. package/lib/colorjs.io/colorjs.io/src/contrast.js +0 -28
  114. package/lib/colorjs.io/colorjs.io/src/defaults.js +0 -12
  115. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  116. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE76.js +0 -7
  117. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  118. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  119. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  120. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  121. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  122. package/lib/colorjs.io/colorjs.io/src/deltaE/index.js +0 -27
  123. package/lib/colorjs.io/colorjs.io/src/deltaE.js +0 -19
  124. package/lib/colorjs.io/colorjs.io/src/display.js +0 -83
  125. package/lib/colorjs.io/colorjs.io/src/distance.js +0 -21
  126. package/lib/colorjs.io/colorjs.io/src/equals.js +0 -10
  127. package/lib/colorjs.io/colorjs.io/src/get.js +0 -11
  128. package/lib/colorjs.io/colorjs.io/src/getAll.js +0 -20
  129. package/lib/colorjs.io/colorjs.io/src/getColor.js +0 -36
  130. package/lib/colorjs.io/colorjs.io/src/hooks.js +0 -37
  131. package/lib/colorjs.io/colorjs.io/src/inGamut.js +0 -25
  132. package/lib/colorjs.io/colorjs.io/src/index-fn.js +0 -28
  133. package/lib/colorjs.io/colorjs.io/src/index.js +0 -38
  134. package/lib/colorjs.io/colorjs.io/src/interpolation.js +0 -222
  135. package/lib/colorjs.io/colorjs.io/src/keywords.js +0 -158
  136. package/lib/colorjs.io/colorjs.io/src/luminance.js +0 -27
  137. package/lib/colorjs.io/colorjs.io/src/multiply-matrices.js +0 -44
  138. package/lib/colorjs.io/colorjs.io/src/parse.js +0 -198
  139. package/lib/colorjs.io/colorjs.io/src/rgbspace.js +0 -64
  140. package/lib/colorjs.io/colorjs.io/src/serialize.js +0 -86
  141. package/lib/colorjs.io/colorjs.io/src/set.js +0 -33
  142. package/lib/colorjs.io/colorjs.io/src/setAll.js +0 -12
  143. package/lib/colorjs.io/colorjs.io/src/space-accessors.js +0 -86
  144. package/lib/colorjs.io/colorjs.io/src/space.js +0 -440
  145. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  146. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb.js +0 -11
  147. package/lib/colorjs.io/colorjs.io/src/spaces/acescc.js +0 -76
  148. package/lib/colorjs.io/colorjs.io/src/spaces/acescg.js +0 -54
  149. package/lib/colorjs.io/colorjs.io/src/spaces/cam16.js +0 -362
  150. package/lib/colorjs.io/colorjs.io/src/spaces/hct.js +0 -157
  151. package/lib/colorjs.io/colorjs.io/src/spaces/hpluv.js +0 -130
  152. package/lib/colorjs.io/colorjs.io/src/spaces/hsl.js +0 -91
  153. package/lib/colorjs.io/colorjs.io/src/spaces/hsluv.js +0 -162
  154. package/lib/colorjs.io/colorjs.io/src/spaces/hsv.js +0 -65
  155. package/lib/colorjs.io/colorjs.io/src/spaces/hwb.js +0 -58
  156. package/lib/colorjs.io/colorjs.io/src/spaces/ictcp.js +0 -133
  157. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  158. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn.js +0 -29
  159. package/lib/colorjs.io/colorjs.io/src/spaces/index.js +0 -8
  160. package/lib/colorjs.io/colorjs.io/src/spaces/jzazbz.js +0 -118
  161. package/lib/colorjs.io/colorjs.io/src/spaces/jzczhz.js +0 -53
  162. package/lib/colorjs.io/colorjs.io/src/spaces/lab-d65.js +0 -74
  163. package/lib/colorjs.io/colorjs.io/src/spaces/lab.js +0 -74
  164. package/lib/colorjs.io/colorjs.io/src/spaces/lch.js +0 -67
  165. package/lib/colorjs.io/colorjs.io/src/spaces/lchuv.js +0 -68
  166. package/lib/colorjs.io/colorjs.io/src/spaces/luv.js +0 -85
  167. package/lib/colorjs.io/colorjs.io/src/spaces/oklab.js +0 -74
  168. package/lib/colorjs.io/colorjs.io/src/spaces/oklch.js +0 -68
  169. package/lib/colorjs.io/colorjs.io/src/spaces/p3-linear.js +0 -22
  170. package/lib/colorjs.io/colorjs.io/src/spaces/p3.js +0 -13
  171. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  172. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto.js +0 -19
  173. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  174. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020.js +0 -31
  175. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  176. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  177. package/lib/colorjs.io/colorjs.io/src/spaces/srgb-linear.js +0 -30
  178. package/lib/colorjs.io/colorjs.io/src/spaces/srgb.js +0 -127
  179. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  180. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d50.js +0 -12
  181. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d65.js +0 -18
  182. package/lib/colorjs.io/colorjs.io/src/to.js +0 -26
  183. package/lib/colorjs.io/colorjs.io/src/toGamut.js +0 -310
  184. package/lib/colorjs.io/colorjs.io/src/util.js +0 -254
  185. package/lib/colorjs.io/colorjs.io/src/variations.js +0 -14
  186. package/lib/colorjs.io/colorjs.io/types/index.d.cts +0 -4
  187. package/lib/colorjs.io/colorjs.io/types/index.d.ts +0 -42
  188. package/lib/colorjs.io/colorjs.io/types/src/CATs.d.ts +0 -13
  189. package/lib/colorjs.io/colorjs.io/types/src/adapt.d.ts +0 -12
  190. package/lib/colorjs.io/colorjs.io/types/src/angles.d.ts +0 -7
  191. package/lib/colorjs.io/colorjs.io/types/src/chromaticity.d.ts +0 -7
  192. package/lib/colorjs.io/colorjs.io/types/src/clone.d.ts +0 -3
  193. package/lib/colorjs.io/colorjs.io/types/src/color.d.ts +0 -160
  194. package/lib/colorjs.io/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  195. package/lib/colorjs.io/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  196. package/lib/colorjs.io/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  197. package/lib/colorjs.io/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  198. package/lib/colorjs.io/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  199. package/lib/colorjs.io/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  200. package/lib/colorjs.io/colorjs.io/types/src/contrast/index.d.ts +0 -11
  201. package/lib/colorjs.io/colorjs.io/types/src/contrast.d.ts +0 -12
  202. package/lib/colorjs.io/colorjs.io/types/src/defaults.d.ts +0 -2
  203. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  204. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  205. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  206. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  207. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  208. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  209. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  210. package/lib/colorjs.io/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  211. package/lib/colorjs.io/colorjs.io/types/src/deltaE.d.ts +0 -12
  212. package/lib/colorjs.io/colorjs.io/types/src/display.d.ts +0 -17
  213. package/lib/colorjs.io/colorjs.io/types/src/distance.d.ts +0 -8
  214. package/lib/colorjs.io/colorjs.io/types/src/equals.d.ts +0 -3
  215. package/lib/colorjs.io/colorjs.io/types/src/get.d.ts +0 -4
  216. package/lib/colorjs.io/colorjs.io/types/src/getAll.d.ts +0 -7
  217. package/lib/colorjs.io/colorjs.io/types/src/getColor.d.ts +0 -4
  218. package/lib/colorjs.io/colorjs.io/types/src/hooks.d.ts +0 -52
  219. package/lib/colorjs.io/colorjs.io/types/src/inGamut.d.ts +0 -8
  220. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.cts +0 -1
  221. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.ts +0 -63
  222. package/lib/colorjs.io/colorjs.io/types/src/index.d.ts +0 -125
  223. package/lib/colorjs.io/colorjs.io/types/src/interpolation.d.ts +0 -77
  224. package/lib/colorjs.io/colorjs.io/types/src/keywords.d.ts +0 -2
  225. package/lib/colorjs.io/colorjs.io/types/src/luminance.d.ts +0 -10
  226. package/lib/colorjs.io/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  227. package/lib/colorjs.io/colorjs.io/types/src/parse.d.ts +0 -16
  228. package/lib/colorjs.io/colorjs.io/types/src/rgbspace.d.ts +0 -10
  229. package/lib/colorjs.io/colorjs.io/types/src/serialize.d.ts +0 -13
  230. package/lib/colorjs.io/colorjs.io/types/src/set.d.ts +0 -18
  231. package/lib/colorjs.io/colorjs.io/types/src/setAll.d.ts +0 -14
  232. package/lib/colorjs.io/colorjs.io/types/src/space-accessors.d.ts +0 -1
  233. package/lib/colorjs.io/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  234. package/lib/colorjs.io/colorjs.io/types/src/space.d.ts +0 -143
  235. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  236. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  237. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  238. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  239. package/lib/colorjs.io/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  240. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  241. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  242. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  243. package/lib/colorjs.io/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  244. package/lib/colorjs.io/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  245. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  246. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  247. package/lib/colorjs.io/colorjs.io/types/src/spaces/index.d.ts +0 -4
  248. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  249. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  250. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  251. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  252. package/lib/colorjs.io/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  253. package/lib/colorjs.io/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  254. package/lib/colorjs.io/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  255. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  256. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  257. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  258. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  259. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  260. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  261. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  262. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  263. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  264. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  265. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  266. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  267. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  268. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  269. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  270. package/lib/colorjs.io/colorjs.io/types/src/to.d.ts +0 -14
  271. package/lib/colorjs.io/colorjs.io/types/src/toGamut.d.ts +0 -45
  272. package/lib/colorjs.io/colorjs.io/types/src/util.d.ts +0 -58
  273. package/lib/colorjs.io/colorjs.io/types/src/variations.d.ts +0 -5
  274. package/lib/colorjs.io/dist/color-fn.cjs +0 -5437
  275. package/lib/colorjs.io/dist/color-fn.cjs.map +0 -1
  276. package/lib/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  277. package/lib/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  278. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  279. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  280. package/lib/colorjs.io/dist/color-fn.min.cjs +0 -2
  281. package/lib/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  282. package/lib/colorjs.io/dist/color.cjs +0 -5759
  283. package/lib/colorjs.io/dist/color.cjs.map +0 -1
  284. package/lib/colorjs.io/dist/color.global.js +0 -5760
  285. package/lib/colorjs.io/dist/color.global.js.map +0 -1
  286. package/lib/colorjs.io/dist/color.global.legacy.js +0 -7400
  287. package/lib/colorjs.io/dist/color.global.legacy.js.map +0 -1
  288. package/lib/colorjs.io/dist/color.global.legacy.min.js +0 -2
  289. package/lib/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  290. package/lib/colorjs.io/dist/color.global.min.js +0 -2
  291. package/lib/colorjs.io/dist/color.global.min.js.map +0 -1
  292. package/lib/colorjs.io/dist/color.js +0 -5755
  293. package/lib/colorjs.io/dist/color.js.map +0 -1
  294. package/lib/colorjs.io/dist/color.legacy.cjs +0 -7399
  295. package/lib/colorjs.io/dist/color.legacy.cjs.map +0 -1
  296. package/lib/colorjs.io/dist/color.legacy.js +0 -7395
  297. package/lib/colorjs.io/dist/color.legacy.js.map +0 -1
  298. package/lib/colorjs.io/dist/color.legacy.min.cjs +0 -2
  299. package/lib/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  300. package/lib/colorjs.io/dist/color.legacy.min.js +0 -2
  301. package/lib/colorjs.io/dist/color.legacy.min.js.map +0 -1
  302. package/lib/colorjs.io/dist/color.min.cjs +0 -2
  303. package/lib/colorjs.io/dist/color.min.cjs.map +0 -1
  304. package/lib/colorjs.io/dist/color.min.js +0 -2
  305. package/lib/colorjs.io/dist/color.min.js.map +0 -1
  306. package/lib/colorjs.io/package.json +0 -113
  307. package/lib/colorjs.io/src/CATs.js +0 -131
  308. package/lib/colorjs.io/src/adapt.js +0 -62
  309. package/lib/colorjs.io/src/angles.js +0 -44
  310. package/lib/colorjs.io/src/chromaticity.js +0 -33
  311. package/lib/colorjs.io/src/clone.js +0 -7
  312. package/lib/colorjs.io/src/color.js +0 -201
  313. package/lib/colorjs.io/src/contrast/APCA.js +0 -102
  314. package/lib/colorjs.io/src/contrast/Lstar.js +0 -17
  315. package/lib/colorjs.io/src/contrast/Michelson.js +0 -22
  316. package/lib/colorjs.io/src/contrast/WCAG21.js +0 -20
  317. package/lib/colorjs.io/src/contrast/Weber.js +0 -27
  318. package/lib/colorjs.io/src/contrast/deltaPhi.js +0 -25
  319. package/lib/colorjs.io/src/contrast/index.js +0 -6
  320. package/lib/colorjs.io/src/contrast.js +0 -28
  321. package/lib/colorjs.io/src/defaults.js +0 -12
  322. package/lib/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  323. package/lib/colorjs.io/src/deltaE/deltaE76.js +0 -7
  324. package/lib/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  325. package/lib/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  326. package/lib/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  327. package/lib/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  328. package/lib/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  329. package/lib/colorjs.io/src/deltaE/index.js +0 -27
  330. package/lib/colorjs.io/src/deltaE.js +0 -19
  331. package/lib/colorjs.io/src/display.js +0 -83
  332. package/lib/colorjs.io/src/distance.js +0 -21
  333. package/lib/colorjs.io/src/equals.js +0 -10
  334. package/lib/colorjs.io/src/get.js +0 -11
  335. package/lib/colorjs.io/src/getAll.js +0 -20
  336. package/lib/colorjs.io/src/getColor.js +0 -36
  337. package/lib/colorjs.io/src/hooks.js +0 -37
  338. package/lib/colorjs.io/src/inGamut.js +0 -25
  339. package/lib/colorjs.io/src/index-fn.js +0 -28
  340. package/lib/colorjs.io/src/index.js +0 -38
  341. package/lib/colorjs.io/src/interpolation.js +0 -222
  342. package/lib/colorjs.io/src/keywords.js +0 -158
  343. package/lib/colorjs.io/src/luminance.js +0 -27
  344. package/lib/colorjs.io/src/multiply-matrices.js +0 -44
  345. package/lib/colorjs.io/src/parse.js +0 -198
  346. package/lib/colorjs.io/src/rgbspace.js +0 -64
  347. package/lib/colorjs.io/src/serialize.js +0 -86
  348. package/lib/colorjs.io/src/set.js +0 -33
  349. package/lib/colorjs.io/src/setAll.js +0 -12
  350. package/lib/colorjs.io/src/space-accessors.js +0 -86
  351. package/lib/colorjs.io/src/space.js +0 -440
  352. package/lib/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  353. package/lib/colorjs.io/src/spaces/a98rgb.js +0 -11
  354. package/lib/colorjs.io/src/spaces/acescc.js +0 -76
  355. package/lib/colorjs.io/src/spaces/acescg.js +0 -54
  356. package/lib/colorjs.io/src/spaces/cam16.js +0 -362
  357. package/lib/colorjs.io/src/spaces/hct.js +0 -157
  358. package/lib/colorjs.io/src/spaces/hpluv.js +0 -130
  359. package/lib/colorjs.io/src/spaces/hsl.js +0 -91
  360. package/lib/colorjs.io/src/spaces/hsluv.js +0 -162
  361. package/lib/colorjs.io/src/spaces/hsv.js +0 -65
  362. package/lib/colorjs.io/src/spaces/hwb.js +0 -58
  363. package/lib/colorjs.io/src/spaces/ictcp.js +0 -133
  364. package/lib/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  365. package/lib/colorjs.io/src/spaces/index-fn.js +0 -29
  366. package/lib/colorjs.io/src/spaces/index.js +0 -8
  367. package/lib/colorjs.io/src/spaces/jzazbz.js +0 -118
  368. package/lib/colorjs.io/src/spaces/jzczhz.js +0 -53
  369. package/lib/colorjs.io/src/spaces/lab-d65.js +0 -74
  370. package/lib/colorjs.io/src/spaces/lab.js +0 -74
  371. package/lib/colorjs.io/src/spaces/lch.js +0 -67
  372. package/lib/colorjs.io/src/spaces/lchuv.js +0 -68
  373. package/lib/colorjs.io/src/spaces/luv.js +0 -85
  374. package/lib/colorjs.io/src/spaces/oklab.js +0 -74
  375. package/lib/colorjs.io/src/spaces/oklch.js +0 -68
  376. package/lib/colorjs.io/src/spaces/p3-linear.js +0 -22
  377. package/lib/colorjs.io/src/spaces/p3.js +0 -13
  378. package/lib/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  379. package/lib/colorjs.io/src/spaces/prophoto.js +0 -19
  380. package/lib/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  381. package/lib/colorjs.io/src/spaces/rec2020.js +0 -31
  382. package/lib/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  383. package/lib/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  384. package/lib/colorjs.io/src/spaces/srgb-linear.js +0 -30
  385. package/lib/colorjs.io/src/spaces/srgb.js +0 -127
  386. package/lib/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  387. package/lib/colorjs.io/src/spaces/xyz-d50.js +0 -12
  388. package/lib/colorjs.io/src/spaces/xyz-d65.js +0 -18
  389. package/lib/colorjs.io/src/to.js +0 -26
  390. package/lib/colorjs.io/src/toGamut.js +0 -310
  391. package/lib/colorjs.io/src/util.js +0 -254
  392. package/lib/colorjs.io/src/variations.js +0 -14
  393. package/lib/colorjs.io/types/index.d.cts +0 -4
  394. package/lib/colorjs.io/types/index.d.ts +0 -42
  395. package/lib/colorjs.io/types/src/CATs.d.ts +0 -13
  396. package/lib/colorjs.io/types/src/adapt.d.ts +0 -12
  397. package/lib/colorjs.io/types/src/angles.d.ts +0 -7
  398. package/lib/colorjs.io/types/src/chromaticity.d.ts +0 -7
  399. package/lib/colorjs.io/types/src/clone.d.ts +0 -3
  400. package/lib/colorjs.io/types/src/color.d.ts +0 -160
  401. package/lib/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  402. package/lib/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  403. package/lib/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  404. package/lib/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  405. package/lib/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  406. package/lib/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  407. package/lib/colorjs.io/types/src/contrast/index.d.ts +0 -11
  408. package/lib/colorjs.io/types/src/contrast.d.ts +0 -12
  409. package/lib/colorjs.io/types/src/defaults.d.ts +0 -2
  410. package/lib/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  411. package/lib/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  412. package/lib/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  413. package/lib/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  414. package/lib/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  415. package/lib/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  416. package/lib/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  417. package/lib/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  418. package/lib/colorjs.io/types/src/deltaE.d.ts +0 -12
  419. package/lib/colorjs.io/types/src/display.d.ts +0 -17
  420. package/lib/colorjs.io/types/src/distance.d.ts +0 -8
  421. package/lib/colorjs.io/types/src/equals.d.ts +0 -3
  422. package/lib/colorjs.io/types/src/get.d.ts +0 -4
  423. package/lib/colorjs.io/types/src/getAll.d.ts +0 -7
  424. package/lib/colorjs.io/types/src/getColor.d.ts +0 -4
  425. package/lib/colorjs.io/types/src/hooks.d.ts +0 -52
  426. package/lib/colorjs.io/types/src/inGamut.d.ts +0 -8
  427. package/lib/colorjs.io/types/src/index-fn.d.cts +0 -1
  428. package/lib/colorjs.io/types/src/index-fn.d.ts +0 -63
  429. package/lib/colorjs.io/types/src/index.d.ts +0 -125
  430. package/lib/colorjs.io/types/src/interpolation.d.ts +0 -77
  431. package/lib/colorjs.io/types/src/keywords.d.ts +0 -2
  432. package/lib/colorjs.io/types/src/luminance.d.ts +0 -10
  433. package/lib/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  434. package/lib/colorjs.io/types/src/parse.d.ts +0 -16
  435. package/lib/colorjs.io/types/src/rgbspace.d.ts +0 -10
  436. package/lib/colorjs.io/types/src/serialize.d.ts +0 -13
  437. package/lib/colorjs.io/types/src/set.d.ts +0 -18
  438. package/lib/colorjs.io/types/src/setAll.d.ts +0 -14
  439. package/lib/colorjs.io/types/src/space-accessors.d.ts +0 -1
  440. package/lib/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  441. package/lib/colorjs.io/types/src/space.d.ts +0 -143
  442. package/lib/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  443. package/lib/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  444. package/lib/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  445. package/lib/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  446. package/lib/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  447. package/lib/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  448. package/lib/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  449. package/lib/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  450. package/lib/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  451. package/lib/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  452. package/lib/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  453. package/lib/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  454. package/lib/colorjs.io/types/src/spaces/index.d.ts +0 -4
  455. package/lib/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  456. package/lib/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  457. package/lib/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  458. package/lib/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  459. package/lib/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  460. package/lib/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  461. package/lib/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  462. package/lib/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  463. package/lib/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  464. package/lib/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  465. package/lib/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  466. package/lib/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  467. package/lib/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  468. package/lib/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  469. package/lib/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  470. package/lib/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  471. package/lib/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  472. package/lib/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  473. package/lib/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  474. package/lib/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  475. package/lib/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  476. package/lib/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  477. package/lib/colorjs.io/types/src/to.d.ts +0 -14
  478. package/lib/colorjs.io/types/src/toGamut.d.ts +0 -45
  479. package/lib/colorjs.io/types/src/util.d.ts +0 -58
  480. package/lib/colorjs.io/types/src/variations.d.ts +0 -5
  481. package/src/color-gamut/README.md +0 -75
  482. package/src/color-gamut/color-gamut.css +0 -32
  483. package/src/color-gamut/color-gamut.js +0 -172
  484. 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
- }