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,53 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import Jzazbz from "./jzazbz.js";
3
- import {constrain as constrainAngle} from "../angles.js";
4
-
5
- export default new ColorSpace({
6
- id: "jzczhz",
7
- name: "JzCzHz",
8
- coords: {
9
- jz: {
10
- refRange: [0, 1],
11
- name: "Jz",
12
- },
13
- cz: {
14
- refRange: [0, 1],
15
- name: "Chroma",
16
- },
17
- hz: {
18
- refRange: [0, 360],
19
- type: "angle",
20
- name: "Hue",
21
- },
22
- },
23
-
24
- base: Jzazbz,
25
- fromBase (jzazbz) {
26
- // Convert to polar form
27
- let [Jz, az, bz] = jzazbz;
28
- let hue;
29
- const ε = 0.0002; // chromatic components much smaller than a,b
30
-
31
- if (Math.abs(az) < ε && Math.abs(bz) < ε) {
32
- hue = NaN;
33
- }
34
- else {
35
- hue = Math.atan2(bz, az) * 180 / Math.PI;
36
- }
37
-
38
- return [
39
- Jz, // Jz is still Jz
40
- Math.sqrt(az ** 2 + bz ** 2), // Chroma
41
- constrainAngle(hue), // Hue, in degrees [0 to 360)
42
- ];
43
- },
44
- toBase (jzczhz) {
45
- // Convert from polar form
46
- // debugger;
47
- return [
48
- jzczhz[0], // Jz is still Jz
49
- jzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az
50
- jzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz
51
- ];
52
- },
53
- });
@@ -1,74 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import {WHITES} from "../adapt.js";
3
- import xyz_d65 from "./xyz-d65.js";
4
-
5
- // κ * ε = 2^3 = 8
6
- const ε = 216 / 24389; // 6^3/29^3 == (24/116)^3
7
- const ε3 = 24 / 116;
8
- const κ = 24389 / 27; // 29^3/3^3
9
-
10
- let white = WHITES.D65;
11
-
12
- export default new ColorSpace({
13
- id: "lab-d65",
14
- name: "Lab D65",
15
- coords: {
16
- l: {
17
- refRange: [0, 100],
18
- name: "Lightness",
19
- },
20
- a: {
21
- refRange: [-125, 125],
22
- },
23
- b: {
24
- refRange: [-125, 125],
25
- },
26
- },
27
-
28
- // Assuming XYZ is relative to D65, convert to CIE Lab
29
- // from CIE standard, which now defines these as a rational fraction
30
- white,
31
-
32
- base: xyz_d65,
33
- // Convert D65-adapted XYZ to Lab
34
- // CIE 15.3:2004 section 8.2.1.1
35
- fromBase (XYZ) {
36
- // compute xyz, which is XYZ scaled relative to reference white
37
- let xyz = XYZ.map((value, i) => value / white[i]);
38
-
39
- // now compute f
40
- let f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);
41
-
42
- return [
43
- (116 * f[1]) - 16, // L
44
- 500 * (f[0] - f[1]), // a
45
- 200 * (f[1] - f[2]), // b
46
- ];
47
- },
48
- // Convert Lab to D65-adapted XYZ
49
- // Same result as CIE 15.3:2004 Appendix D although the derivation is different
50
- // http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
51
- toBase (Lab) {
52
- // compute f, starting with the luminance-related term
53
- let f = [];
54
- f[1] = (Lab[0] + 16) / 116;
55
- f[0] = Lab[1] / 500 + f[1];
56
- f[2] = f[1] - Lab[2] / 200;
57
-
58
- // compute xyz
59
- let xyz = [
60
- f[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,
61
- Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,
62
- f[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,
63
- ];
64
-
65
- // Compute XYZ by scaling xyz by reference white
66
- return xyz.map((value, i) => value * white[i]);
67
- },
68
-
69
- formats: {
70
- "lab-d65": {
71
- coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
72
- },
73
- },
74
- });
@@ -1,74 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import {WHITES} from "../adapt.js";
3
- import xyz_d50 from "./xyz-d50.js";
4
-
5
- // κ * ε = 2^3 = 8
6
- const ε = 216 / 24389; // 6^3/29^3 == (24/116)^3
7
- const ε3 = 24 / 116;
8
- const κ = 24389 / 27; // 29^3/3^3
9
-
10
- let white = WHITES.D50;
11
-
12
- export default new ColorSpace({
13
- id: "lab",
14
- name: "Lab",
15
- coords: {
16
- l: {
17
- refRange: [0, 100],
18
- name: "Lightness",
19
- },
20
- a: {
21
- refRange: [-125, 125],
22
- },
23
- b: {
24
- refRange: [-125, 125],
25
- },
26
- },
27
-
28
- // Assuming XYZ is relative to D50, convert to CIE Lab
29
- // from CIE standard, which now defines these as a rational fraction
30
- white,
31
-
32
- base: xyz_d50,
33
- // Convert D50-adapted XYX to Lab
34
- // CIE 15.3:2004 section 8.2.1.1
35
- fromBase (XYZ) {
36
- // compute xyz, which is XYZ scaled relative to reference white
37
- let xyz = XYZ.map((value, i) => value / white[i]);
38
-
39
- // now compute f
40
- let f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);
41
-
42
- return [
43
- (116 * f[1]) - 16, // L
44
- 500 * (f[0] - f[1]), // a
45
- 200 * (f[1] - f[2]), // b
46
- ];
47
- },
48
- // Convert Lab to D50-adapted XYZ
49
- // Same result as CIE 15.3:2004 Appendix D although the derivation is different
50
- // http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
51
- toBase (Lab) {
52
- // compute f, starting with the luminance-related term
53
- let f = [];
54
- f[1] = (Lab[0] + 16) / 116;
55
- f[0] = Lab[1] / 500 + f[1];
56
- f[2] = f[1] - Lab[2] / 200;
57
-
58
- // compute xyz
59
- let xyz = [
60
- f[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,
61
- Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,
62
- f[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,
63
- ];
64
-
65
- // Compute XYZ by scaling xyz by reference white
66
- return xyz.map((value, i) => value * white[i]);
67
- },
68
-
69
- formats: {
70
- "lab": {
71
- coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
72
- },
73
- },
74
- });
@@ -1,67 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import Lab from "./lab.js";
3
- import {constrain as constrainAngle} from "../angles.js";
4
-
5
- export default new ColorSpace({
6
- id: "lch",
7
- name: "LCH",
8
- coords: {
9
- l: {
10
- refRange: [0, 100],
11
- name: "Lightness",
12
- },
13
- c: {
14
- refRange: [0, 150],
15
- name: "Chroma",
16
- },
17
- h: {
18
- refRange: [0, 360],
19
- type: "angle",
20
- name: "Hue",
21
- },
22
- },
23
-
24
- base: Lab,
25
- fromBase (Lab) {
26
- // Convert to polar form
27
- let [L, a, b] = Lab;
28
- let hue;
29
- const ε = 0.02;
30
-
31
- if (Math.abs(a) < ε && Math.abs(b) < ε) {
32
- hue = NaN;
33
- }
34
- else {
35
- hue = Math.atan2(b, a) * 180 / Math.PI;
36
- }
37
-
38
- return [
39
- L, // L is still L
40
- Math.sqrt(a ** 2 + b ** 2), // Chroma
41
- constrainAngle(hue), // Hue, in degrees [0 to 360)
42
- ];
43
- },
44
- toBase (LCH) {
45
- // Convert from polar form
46
- let [Lightness, Chroma, Hue] = LCH;
47
- // Clamp any negative Chroma
48
- if (Chroma < 0) {
49
- Chroma = 0;
50
- }
51
- // Deal with NaN Hue
52
- if (isNaN(Hue)) {
53
- Hue = 0;
54
- }
55
- return [
56
- Lightness, // L is still L
57
- Chroma * Math.cos(Hue * Math.PI / 180), // a
58
- Chroma * Math.sin(Hue * Math.PI / 180), // b
59
- ];
60
- },
61
-
62
- formats: {
63
- "lch": {
64
- coords: ["<number> | <percentage>", "<number> | <percentage>", "<number> | <angle>"],
65
- },
66
- },
67
- });
@@ -1,68 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import Luv from "./luv.js";
3
- import {constrain as constrainAngle} from "../angles.js";
4
-
5
- export default new ColorSpace({
6
- id: "lchuv",
7
- name: "LChuv",
8
- coords: {
9
- l: {
10
- refRange: [0, 100],
11
- name: "Lightness",
12
- },
13
- c: {
14
- refRange: [0, 220],
15
- name: "Chroma",
16
- },
17
- h: {
18
- refRange: [0, 360],
19
- type: "angle",
20
- name: "Hue",
21
- },
22
- },
23
-
24
- base: Luv,
25
- fromBase (Luv) {
26
- // Convert to polar form
27
- let [L, u, v] = Luv;
28
- let hue;
29
- const ε = 0.02;
30
-
31
- if (Math.abs(u) < ε && Math.abs(v) < ε) {
32
- hue = NaN;
33
- }
34
- else {
35
- hue = Math.atan2(v, u) * 180 / Math.PI;
36
- }
37
-
38
- return [
39
- L, // L is still L
40
- Math.sqrt(u ** 2 + v ** 2), // Chroma
41
- constrainAngle(hue), // Hue, in degrees [0 to 360)
42
- ];
43
- },
44
- toBase (LCH) {
45
- // Convert from polar form
46
- let [Lightness, Chroma, Hue] = LCH;
47
- // Clamp any negative Chroma
48
- if (Chroma < 0) {
49
- Chroma = 0;
50
- }
51
- // Deal with NaN Hue
52
- if (isNaN(Hue)) {
53
- Hue = 0;
54
- }
55
- return [
56
- Lightness, // L is still L
57
- Chroma * Math.cos(Hue * Math.PI / 180), // u
58
- Chroma * Math.sin(Hue * Math.PI / 180), // v
59
- ];
60
- },
61
-
62
- formats: {
63
- color: {
64
- id: "--lchuv",
65
- coords: ["<number> | <percentage>", "<number> | <percentage>", "<number> | <angle>"],
66
- },
67
- },
68
- });
@@ -1,85 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import {WHITES} from "../adapt.js";
3
- import xyz_d65 from "./xyz-d65.js";
4
- import {uv} from "../chromaticity.js";
5
- import {isNone, skipNone} from "../util.js";
6
-
7
- let white = WHITES.D65;
8
-
9
- const ε = 216 / 24389; // 6^3/29^3 == (24/116)^3
10
- const κ = 24389 / 27; // 29^3/3^3
11
- const [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});
12
-
13
- export default new ColorSpace({
14
- id: "luv",
15
- name: "Luv",
16
- coords: {
17
- l: {
18
- refRange: [0, 100],
19
- name: "Lightness",
20
- },
21
- // Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/
22
- u: {
23
- refRange: [-215, 215],
24
- },
25
- v: {
26
- refRange: [-215, 215],
27
- },
28
- },
29
-
30
- white: white,
31
- base: xyz_d65,
32
-
33
- // Convert D65-adapted XYZ to Luv
34
- // https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation
35
- fromBase (XYZ) {
36
- let xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];
37
- let y = xyz[1];
38
-
39
- let [up, vp] = uv({space: xyz_d65, coords: xyz});
40
-
41
- // Protect against XYZ of [0, 0, 0]
42
- if (!Number.isFinite(up) || !Number.isFinite(vp)) {
43
- return [0, 0, 0];
44
- }
45
-
46
- let L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;
47
- return [
48
- L,
49
- 13 * L * (up - U_PRIME_WHITE),
50
- 13 * L * (vp - V_PRIME_WHITE),
51
- ];
52
- },
53
-
54
- // Convert Luv to D65-adapted XYZ
55
- // https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation
56
- toBase (Luv) {
57
- let [L, u, v] = Luv;
58
-
59
- // Protect against division by zero and NaN Lightness
60
- if (L === 0 || isNone(L)) {
61
- return [0, 0, 0];
62
- }
63
-
64
- u = skipNone(u);
65
- v = skipNone(v);
66
-
67
- let up = (u / (13 * L)) + U_PRIME_WHITE;
68
- let vp = (v / (13 * L)) + V_PRIME_WHITE;
69
-
70
- let y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);
71
-
72
- return [
73
- y * ((9 * up) / (4 * vp)),
74
- y,
75
- y * ((12 - 3 * up - 20 * vp) / (4 * vp)),
76
- ];
77
- },
78
-
79
- formats: {
80
- color: {
81
- id: "--luv",
82
- coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
83
- },
84
- },
85
- });
@@ -1,74 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import {multiplyMatrices} from "../util.js";
3
- import XYZ_D65 from "./xyz-d65.js";
4
-
5
- // Recalculated for consistent reference white
6
- // see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484
7
- const XYZtoLMS_M = [
8
- [ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],
9
- [ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],
10
- [ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],
11
- ];
12
- // inverse of XYZtoLMS_M
13
- const LMStoXYZ_M = [
14
- [ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],
15
- [ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],
16
- [ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],
17
- ];
18
- const LMStoLab_M = [
19
- [ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],
20
- [ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],
21
- [ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],
22
- ];
23
- // LMStoIab_M inverted
24
- const LabtoLMS_M = [
25
- [ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],
26
- [ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],
27
- [ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],
28
- ];
29
-
30
- export default new ColorSpace({
31
- id: "oklab",
32
- name: "Oklab",
33
- coords: {
34
- l: {
35
- refRange: [0, 1],
36
- name: "Lightness",
37
- },
38
- a: {
39
- refRange: [-0.4, 0.4],
40
- },
41
- b: {
42
- refRange: [-0.4, 0.4],
43
- },
44
- },
45
-
46
- // Note that XYZ is relative to D65
47
- white: "D65",
48
- base: XYZ_D65,
49
- fromBase (XYZ) {
50
- // move to LMS cone domain
51
- let LMS = multiplyMatrices(XYZtoLMS_M, XYZ);
52
-
53
- // non-linearity
54
- let LMSg = LMS.map(val => Math.cbrt(val));
55
-
56
- return multiplyMatrices(LMStoLab_M, LMSg);
57
-
58
- },
59
- toBase (OKLab) {
60
- // move to LMS cone domain
61
- let LMSg = multiplyMatrices(LabtoLMS_M, OKLab);
62
-
63
- // restore linearity
64
- let LMS = LMSg.map(val => val ** 3);
65
-
66
- return multiplyMatrices(LMStoXYZ_M, LMS);
67
- },
68
-
69
- formats: {
70
- "oklab": {
71
- coords: ["<percentage> | <number>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
72
- },
73
- },
74
- });
@@ -1,68 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import OKLab from "./oklab.js";
3
- import {constrain as constrainAngle} from "../angles.js";
4
-
5
- export default new ColorSpace({
6
- id: "oklch",
7
- name: "Oklch",
8
- coords: {
9
- l: {
10
- refRange: [0, 1],
11
- name: "Lightness",
12
- },
13
- c: {
14
- refRange: [0, 0.4],
15
- name: "Chroma",
16
- },
17
- h: {
18
- refRange: [0, 360],
19
- type: "angle",
20
- name: "Hue",
21
- },
22
- },
23
- white: "D65",
24
-
25
- base: OKLab,
26
- fromBase (oklab) {
27
- // Convert to polar form
28
- let [L, a, b] = oklab;
29
- let h;
30
- const ε = 0.0002; // chromatic components much smaller than a,b
31
-
32
- if (Math.abs(a) < ε && Math.abs(b) < ε) {
33
- h = NaN;
34
- }
35
- else {
36
- h = Math.atan2(b, a) * 180 / Math.PI;
37
- }
38
-
39
- return [
40
- L, // OKLab L is still L
41
- Math.sqrt(a ** 2 + b ** 2), // Chroma
42
- constrainAngle(h), // Hue, in degrees [0 to 360)
43
- ];
44
- },
45
- // Convert from polar form
46
- toBase (oklch) {
47
- let [L, C, h] = oklch;
48
- let a, b;
49
-
50
- // check for NaN hue
51
- if (isNaN(h)) {
52
- a = 0;
53
- b = 0;
54
- }
55
- else {
56
- a = C * Math.cos(h * Math.PI / 180);
57
- b = C * Math.sin(h * Math.PI / 180);
58
- }
59
-
60
- return [ L, a, b ];
61
- },
62
-
63
- formats: {
64
- "oklch": {
65
- coords: ["<percentage> | <number>", "<number> | <percentage>[0,1]", "<number> | <angle>"],
66
- },
67
- },
68
- });
@@ -1,22 +0,0 @@
1
- import RGBColorSpace from "../rgbspace.js";
2
-
3
- const toXYZ_M = [
4
- [0.4865709486482162, 0.26566769316909306, 0.1982172852343625],
5
- [0.2289745640697488, 0.6917385218365064, 0.079286914093745],
6
- [0.0000000000000000, 0.04511338185890264, 1.043944368900976],
7
- ];
8
-
9
- const fromXYZ_M = [
10
- [ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],
11
- [-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],
12
- [ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],
13
- ];
14
-
15
- export default new RGBColorSpace({
16
- id: "p3-linear",
17
- cssId: "--display-p3-linear",
18
- name: "Linear P3",
19
- white: "D65",
20
- toXYZ_M,
21
- fromXYZ_M,
22
- });
@@ -1,13 +0,0 @@
1
- import RGBColorSpace from "../rgbspace.js";
2
- import P3Linear from "./p3-linear.js";
3
- import sRGB from "./srgb.js";
4
-
5
- export default new RGBColorSpace({
6
- id: "p3",
7
- cssId: "display-p3",
8
- name: "P3",
9
- base: P3Linear,
10
- // Gamma encoding/decoding is the same as sRGB
11
- fromBase: sRGB.fromBase,
12
- toBase: sRGB.toBase,
13
- });
@@ -1,28 +0,0 @@
1
- import RGBColorSpace from "../rgbspace.js";
2
- import XYZ_D50 from "./xyz-d50.js";
3
-
4
- // convert an array of prophoto-rgb values to CIE XYZ
5
- // using D50 (so no chromatic adaptation needed afterwards)
6
- // matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy
7
- // see https://github.com/w3c/csswg-drafts/issues/7675
8
- const toXYZ_M = [
9
- [ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],
10
- [ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],
11
- [ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],
12
- ];
13
-
14
- const fromXYZ_M = [
15
- [ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],
16
- [ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],
17
- [ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],
18
- ];
19
-
20
- export default new RGBColorSpace({
21
- id: "prophoto-linear",
22
- cssId: "--prophoto-rgb-linear",
23
- name: "Linear ProPhoto",
24
- white: "D50",
25
- base: XYZ_D50,
26
- toXYZ_M,
27
- fromXYZ_M,
28
- });
@@ -1,19 +0,0 @@
1
- import RGBColorSpace from "../rgbspace.js";
2
- import ProPhotoLinear from "./prophoto-linear.js";
3
-
4
- const Et = 1 / 512;
5
- const Et2 = 16 / 512;
6
-
7
- export default new RGBColorSpace({
8
- id: "prophoto",
9
- cssId: "prophoto-rgb",
10
- name: "ProPhoto",
11
- base: ProPhotoLinear,
12
- toBase (RGB) {
13
- // Transfer curve is gamma 1.8 with a small linear portion
14
- return RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);
15
- },
16
- fromBase (RGB) {
17
- return RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);
18
- },
19
- });
@@ -1,27 +0,0 @@
1
- import RGBColorSpace from "../rgbspace.js";
2
-
3
- // convert an array of linear-light rec2020 values to CIE XYZ
4
- // using D65 (no chromatic adaptation)
5
- // http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
6
- // 0 is actually calculated as 4.994106574466076e-17
7
- const toXYZ_M = [
8
- [ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],
9
- [ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],
10
- [ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],
11
- ];
12
-
13
- // from ITU-R BT.2124-0 Annex 2 p.3
14
- const fromXYZ_M = [
15
- [ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],
16
- [ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],
17
- [ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],
18
- ];
19
-
20
- export default new RGBColorSpace({
21
- id: "rec2020-linear",
22
- cssId: "--rec2020-linear",
23
- name: "Linear REC.2020",
24
- white: "D65",
25
- toXYZ_M,
26
- fromXYZ_M,
27
- });