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