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,91 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import sRGB from "./srgb.js";
3
-
4
- export default new ColorSpace({
5
- id: "hsl",
6
- name: "HSL",
7
- coords: {
8
- h: {
9
- refRange: [0, 360],
10
- type: "angle",
11
- name: "Hue",
12
- },
13
- s: {
14
- range: [0, 100],
15
- name: "Saturation",
16
- },
17
- l: {
18
- range: [0, 100],
19
- name: "Lightness",
20
- },
21
- },
22
-
23
- base: sRGB,
24
-
25
- // Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js
26
- fromBase: rgb => {
27
- let max = Math.max(...rgb);
28
- let min = Math.min(...rgb);
29
- let [r, g, b] = rgb;
30
- let [h, s, l] = [NaN, 0, (min + max) / 2];
31
- let d = max - min;
32
-
33
- if (d !== 0) {
34
- s = (l === 0 || l === 1) ? 0 : (max - l) / Math.min(l, 1 - l);
35
-
36
- switch (max) {
37
- case r: h = (g - b) / d + (g < b ? 6 : 0); break;
38
- case g: h = (b - r) / d + 2; break;
39
- case b: h = (r - g) / d + 4;
40
- }
41
-
42
- h = h * 60;
43
- }
44
-
45
- // Very out of gamut colors can produce negative saturation
46
- // If so, just rotate the hue by 180 and use a positive saturation
47
- // see https://github.com/w3c/csswg-drafts/issues/9222
48
- if (s < 0) {
49
- h += 180;
50
- s = Math.abs(s);
51
- }
52
-
53
- if (h >= 360) {
54
- h -= 360;
55
- }
56
-
57
- return [h, s * 100, l * 100];
58
- },
59
-
60
- // Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative
61
- toBase: hsl => {
62
- let [h, s, l] = hsl;
63
- h = h % 360;
64
-
65
- if (h < 0) {
66
- h += 360;
67
- }
68
-
69
- s /= 100;
70
- l /= 100;
71
-
72
- function f (n) {
73
- let k = (n + h / 30) % 12;
74
- let a = s * Math.min(l, 1 - l);
75
- return l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));
76
- }
77
-
78
- return [f(0), f(8), f(4)];
79
- },
80
-
81
- formats: {
82
- "hsl": {
83
- coords: ["<number> | <angle>", "<percentage>", "<percentage>"],
84
- },
85
- "hsla": {
86
- coords: ["<number> | <angle>", "<percentage>", "<percentage>"],
87
- commas: true,
88
- lastAlpha: true,
89
- },
90
- },
91
- });
@@ -1,162 +0,0 @@
1
- /*
2
- Adapted from: https://github.com/hsluv/hsluv-javascript/blob/14b49e6cf9a9137916096b8487a5372626b57ba4/src/hsluv.ts
3
-
4
- Copyright (c) 2012-2022 Alexei Boronine
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
23
- */
24
-
25
- import ColorSpace from "../space.js";
26
- import LCHuv from "./lchuv.js";
27
- import sRGB from "./srgb.js";
28
- import {fromXYZ_M} from "./srgb-linear.js";
29
- import {skipNone} from "../util.js";
30
-
31
- const ε = 216 / 24389; // 6^3/29^3 == (24/116)^3
32
- const κ = 24389 / 27; // 29^3/3^3
33
-
34
- const m_r0 = fromXYZ_M[0][0];
35
- const m_r1 = fromXYZ_M[0][1];
36
- const m_r2 = fromXYZ_M[0][2];
37
- const m_g0 = fromXYZ_M[1][0];
38
- const m_g1 = fromXYZ_M[1][1];
39
- const m_g2 = fromXYZ_M[1][2];
40
- const m_b0 = fromXYZ_M[2][0];
41
- const m_b1 = fromXYZ_M[2][1];
42
- const m_b2 = fromXYZ_M[2][2];
43
-
44
- function distanceFromOriginAngle (slope, intercept, angle) {
45
- const d = intercept / (Math.sin(angle) - slope * Math.cos(angle));
46
- return d < 0 ? Infinity : d;
47
- }
48
-
49
- export function calculateBoundingLines (l) {
50
- const sub1 = Math.pow(l + 16, 3) / 1560896;
51
- const sub2 = sub1 > ε ? sub1 : l / κ;
52
- const s1r = sub2 * (284517 * m_r0 - 94839 * m_r2);
53
- const s2r = sub2 * (838422 * m_r2 + 769860 * m_r1 + 731718 * m_r0);
54
- const s3r = sub2 * (632260 * m_r2 - 126452 * m_r1);
55
- const s1g = sub2 * (284517 * m_g0 - 94839 * m_g2);
56
- const s2g = sub2 * (838422 * m_g2 + 769860 * m_g1 + 731718 * m_g0);
57
- const s3g = sub2 * (632260 * m_g2 - 126452 * m_g1);
58
- const s1b = sub2 * (284517 * m_b0 - 94839 * m_b2);
59
- const s2b = sub2 * (838422 * m_b2 + 769860 * m_b1 + 731718 * m_b0);
60
- const s3b = sub2 * (632260 * m_b2 - 126452 * m_b1);
61
-
62
- return {
63
- r0s: s1r / s3r,
64
- r0i: s2r * l / s3r,
65
- r1s: s1r / (s3r + 126452),
66
- r1i: (s2r - 769860) * l / (s3r + 126452),
67
- g0s: s1g / s3g,
68
- g0i: s2g * l / s3g,
69
- g1s: s1g / (s3g + 126452),
70
- g1i: (s2g - 769860) * l / (s3g + 126452),
71
- b0s: s1b / s3b,
72
- b0i: s2b * l / s3b,
73
- b1s: s1b / (s3b + 126452),
74
- b1i: (s2b - 769860) * l / (s3b + 126452),
75
- };
76
- }
77
-
78
- function calcMaxChromaHsluv (lines, h) {
79
- const hueRad = h / 360 * Math.PI * 2;
80
- const r0 = distanceFromOriginAngle(lines.r0s, lines.r0i, hueRad);
81
- const r1 = distanceFromOriginAngle(lines.r1s, lines.r1i, hueRad);
82
- const g0 = distanceFromOriginAngle(lines.g0s, lines.g0i, hueRad);
83
- const g1 = distanceFromOriginAngle(lines.g1s, lines.g1i, hueRad);
84
- const b0 = distanceFromOriginAngle(lines.b0s, lines.b0i, hueRad);
85
- const b1 = distanceFromOriginAngle(lines.b1s, lines.b1i, hueRad);
86
-
87
- return Math.min(r0, r1, g0, g1, b0, b1);
88
- }
89
-
90
- export default new ColorSpace({
91
- id: "hsluv",
92
- name: "HSLuv",
93
- coords: {
94
- h: {
95
- refRange: [0, 360],
96
- type: "angle",
97
- name: "Hue",
98
- },
99
- s: {
100
- range: [0, 100],
101
- name: "Saturation",
102
- },
103
- l: {
104
- range: [0, 100],
105
- name: "Lightness",
106
- },
107
- },
108
-
109
- base: LCHuv,
110
- gamutSpace: sRGB,
111
-
112
- // Convert LCHuv to HSLuv
113
- fromBase (lch) {
114
- let [l, c, h] = [skipNone(lch[0]), skipNone(lch[1]), skipNone(lch[2])];
115
- let s;
116
-
117
- if (l > 99.9999999) {
118
- s = 0;
119
- l = 100;
120
- }
121
- else if (l < 0.00000001) {
122
- s = 0;
123
- l = 0;
124
- }
125
- else {
126
- let lines = calculateBoundingLines(l);
127
- let max = calcMaxChromaHsluv(lines, h);
128
- s = c / max * 100;
129
- }
130
-
131
- return [h, s, l];
132
- },
133
-
134
- // Convert HSLuv to LCHuv
135
- toBase (hsl) {
136
- let [h, s, l] = [skipNone(hsl[0]), skipNone(hsl[1]), skipNone(hsl[2])];
137
- let c;
138
-
139
- if (l > 99.9999999) {
140
- l = 100;
141
- c = 0;
142
- }
143
- else if (l < 0.00000001) {
144
- l = 0;
145
- c = 0;
146
- }
147
- else {
148
- let lines = calculateBoundingLines(l);
149
- let max = calcMaxChromaHsluv(lines, h);
150
- c = max / 100 * s;
151
- }
152
-
153
- return [l, c, h];
154
- },
155
-
156
- formats: {
157
- color: {
158
- id: "--hsluv",
159
- coords: ["<number> | <angle>", "<percentage> | <number>", "<percentage> | <number>"],
160
- },
161
- },
162
- });
@@ -1,65 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import HSL from "./hsl.js";
3
-
4
- // The Hue, Whiteness Blackness (HWB) colorspace
5
- // See https://drafts.csswg.org/css-color-4/#the-hwb-notation
6
- // Note that, like HSL, calculations are done directly on
7
- // gamma-corrected sRGB values rather than linearising them first.
8
-
9
- export default new ColorSpace({
10
- id: "hsv",
11
- name: "HSV",
12
- coords: {
13
- h: {
14
- refRange: [0, 360],
15
- type: "angle",
16
- name: "Hue",
17
- },
18
- s: {
19
- range: [0, 100],
20
- name: "Saturation",
21
- },
22
- v: {
23
- range: [0, 100],
24
- name: "Value",
25
- },
26
- },
27
-
28
- base: HSL,
29
- // https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion
30
- fromBase (hsl) {
31
- let [h, s, l] = hsl;
32
- s /= 100;
33
- l /= 100;
34
-
35
- let v = l + s * Math.min(l, 1 - l);
36
-
37
- return [
38
- h, // h is the same
39
- v === 0 ? 0 : 200 * (1 - l / v), // s
40
- 100 * v,
41
- ];
42
- },
43
- // https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion
44
- toBase (hsv) {
45
- let [h, s, v] = hsv;
46
-
47
- s /= 100;
48
- v /= 100;
49
-
50
- let l = v * (1 - s / 2);
51
-
52
- return [
53
- h, // h is the same
54
- (l === 0 || l === 1) ? 0 : ((v - l) / Math.min(l, 1 - l)) * 100,
55
- l * 100,
56
- ];
57
- },
58
-
59
- formats: {
60
- color: {
61
- id: "--hsv",
62
- coords: ["<number> | <angle>", "<percentage> | <number>", "<percentage> | <number>"],
63
- },
64
- },
65
- });
@@ -1,58 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import HSV from "./hsv.js";
3
-
4
- // The Hue, Whiteness Blackness (HWB) colorspace
5
- // See https://drafts.csswg.org/css-color-4/#the-hwb-notation
6
- // Note that, like HSL, calculations are done directly on
7
- // gamma-corrected sRGB values rather than linearising them first.
8
-
9
- export default new ColorSpace({
10
- id: "hwb",
11
- name: "HWB",
12
- coords: {
13
- h: {
14
- refRange: [0, 360],
15
- type: "angle",
16
- name: "Hue",
17
- },
18
- w: {
19
- range: [0, 100],
20
- name: "Whiteness",
21
- },
22
- b: {
23
- range: [0, 100],
24
- name: "Blackness",
25
- },
26
- },
27
-
28
- base: HSV,
29
- fromBase (hsv) {
30
- let [h, s, v] = hsv;
31
-
32
- return [h, v * (100 - s) / 100, 100 - v];
33
- },
34
- toBase (hwb) {
35
- let [h, w, b] = hwb;
36
-
37
- // Now convert percentages to [0..1]
38
- w /= 100;
39
- b /= 100;
40
-
41
- // Achromatic check (white plus black >= 1)
42
- let sum = w + b;
43
- if (sum >= 1) {
44
- let gray = w / sum;
45
- return [h, 0, gray * 100];
46
- }
47
-
48
- let v = (1 - b);
49
- let s = (v === 0) ? 0 : 1 - w / v;
50
- return [h, s * 100, v * 100];
51
- },
52
-
53
- formats: {
54
- "hwb": {
55
- coords: ["<number> | <angle>", "<percentage> | <number>", "<percentage> | <number>"],
56
- },
57
- },
58
- });
@@ -1,133 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import {multiplyMatrices} from "../util.js";
3
- import XYZ_Abs_D65 from "./xyz-abs-d65.js";
4
-
5
- const c1 = 3424 / 4096;
6
- const c2 = 2413 / 128;
7
- const c3 = 2392 / 128;
8
- const m1 = 2610 / 16384;
9
- const m2 = 2523 / 32;
10
- const im1 = 16384 / 2610;
11
- const im2 = 32 / 2523;
12
-
13
- // The matrix below includes the 4% crosstalk components
14
- // and is from the Dolby "What is ICtCp" paper"
15
- const XYZtoLMS_M = [
16
- [ 0.3592832590121217, 0.6976051147779502, -0.0358915932320290 ],
17
- [ -0.1920808463704993, 1.1004767970374321, 0.0753748658519118 ],
18
- [ 0.0070797844607479, 0.0748396662186362, 0.8433265453898765 ],
19
- ];
20
- // linear-light Rec.2020 to LMS, again with crosstalk
21
- // rational terms from Jan Fröhlich,
22
- // Encoding High Dynamic Range andWide Color Gamut Imagery, p.97
23
- // and ITU-R BT.2124-0 p.2
24
- /*
25
- const Rec2020toLMS_M = [
26
- [ 1688 / 4096, 2146 / 4096, 262 / 4096 ],
27
- [ 683 / 4096, 2951 / 4096, 462 / 4096 ],
28
- [ 99 / 4096, 309 / 4096, 3688 / 4096 ]
29
- ];
30
- */
31
- // this includes the Ebner LMS coefficients,
32
- // the rotation, and the scaling to [-0.5,0.5] range
33
- // rational terms from Fröhlich p.97
34
- // and ITU-R BT.2124-0 pp.2-3
35
- const LMStoIPT_M = [
36
- [ 2048 / 4096, 2048 / 4096, 0 ],
37
- [ 6610 / 4096, -13613 / 4096, 7003 / 4096 ],
38
- [ 17933 / 4096, -17390 / 4096, -543 / 4096 ],
39
- ];
40
-
41
- // inverted matrices, calculated from the above
42
- const IPTtoLMS_M = [
43
- [ 0.9999999999999998, 0.0086090370379328, 0.1110296250030260 ],
44
- [ 0.9999999999999998, -0.0086090370379328, -0.1110296250030259 ],
45
- [ 0.9999999999999998, 0.5600313357106791, -0.3206271749873188 ],
46
- ];
47
- /*
48
- const LMStoRec2020_M = [
49
- [ 3.4375568932814012112, -2.5072112125095058195, 0.069654319228104608382],
50
- [-0.79142868665644156125, 1.9838372198740089874, -0.19240853321756742626 ],
51
- [-0.025646662911506476363, -0.099240248643945566751, 1.1248869115554520431 ]
52
- ];
53
- */
54
- const LMStoXYZ_M = [
55
- [ 2.0701522183894223, -1.3263473389671563, 0.2066510476294053 ],
56
- [ 0.3647385209748072, 0.6805660249472273, -0.0453045459220347 ],
57
- [ -0.0497472075358123, -0.0492609666966131, 1.1880659249923042 ],
58
- ];
59
-
60
- // Only the PQ form of ICtCp is implemented here. There is also an HLG form.
61
- // from Dolby, "WHAT IS ICTCP?"
62
- // https://professional.dolby.com/siteassets/pdfs/ictcp_dolbywhitepaper_v071.pdf
63
- // and
64
- // Dolby, "Perceptual Color Volume
65
- // Measuring the Distinguishable Colors of HDR and WCG Displays"
66
- // https://professional.dolby.com/siteassets/pdfs/dolby-vision-measuring-perceptual-color-volume-v7.1.pdf
67
- export default new ColorSpace({
68
- id: "ictcp",
69
- name: "ICTCP",
70
- // From BT.2100-2 page 7:
71
- // During production, signal values are expected to exceed the
72
- // range E′ = [0.0 : 1.0]. This provides processing headroom and avoids
73
- // signal degradation during cascaded processing. Such values of E′,
74
- // below 0.0 or exceeding 1.0, should not be clipped during production
75
- // and exchange.
76
- // Values below 0.0 should not be clipped in reference displays (even
77
- // though they represent “negative” light) to allow the black level of
78
- // the signal (LB) to be properly set using test signals known as “PLUGE”
79
- coords: {
80
- i: {
81
- refRange: [0, 1], // Constant luminance,
82
- name: "I",
83
- },
84
- ct: {
85
- refRange: [-0.5, 0.5], // Full BT.2020 gamut in range [-0.5, 0.5]
86
- name: "CT",
87
- },
88
- cp: {
89
- refRange: [-0.5, 0.5],
90
- name: "CP",
91
- },
92
- },
93
-
94
- base: XYZ_Abs_D65,
95
- fromBase (XYZ) {
96
- // move to LMS cone domain
97
- let LMS = multiplyMatrices(XYZtoLMS_M, XYZ);
98
-
99
- return LMStoICtCp(LMS);
100
- },
101
- toBase (ICtCp) {
102
- let LMS = ICtCptoLMS(ICtCp);
103
-
104
- return multiplyMatrices(LMStoXYZ_M, LMS);
105
- },
106
- });
107
-
108
- function LMStoICtCp (LMS) {
109
- // apply the PQ EOTF
110
- // we can't ever be dividing by zero because of the "1 +" in the denominator
111
- let PQLMS = LMS.map (function (val) {
112
- let num = c1 + (c2 * ((val / 10000) ** m1));
113
- let denom = 1 + (c3 * ((val / 10000) ** m1));
114
-
115
- return (num / denom) ** m2;
116
- });
117
-
118
- // LMS to IPT, with rotation for Y'C'bC'r compatibility
119
- return multiplyMatrices(LMStoIPT_M, PQLMS);
120
- }
121
-
122
- function ICtCptoLMS (ICtCp) {
123
- let PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);
124
-
125
- // From BT.2124-0 Annex 2 Conversion 3
126
- let LMS = PQLMS.map (function (val) {
127
- let num = Math.max((val ** im2) - c1, 0);
128
- let denom = (c2 - (c3 * (val ** im2)));
129
- return 10000 * ((num / denom) ** im1);
130
- });
131
-
132
- return LMS;
133
- }
@@ -1,7 +0,0 @@
1
- export {default as Jzazbz} from "./jzazbz.js";
2
- export {default as JzCzHz} from "./jzczhz.js";
3
- export {default as ICTCP} from "./ictcp.js";
4
- export {default as REC_2100_PQ} from "./rec2100-pq.js";
5
- export {default as REC_2100_HLG} from "./rec2100-hlg.js";
6
- export {default as ACEScg} from "./acescg.js";
7
- export {default as ACEScc} from "./acescc.js";
@@ -1,29 +0,0 @@
1
- export {default as XYZ_D65} from "./xyz-d65.js";
2
- export {default as XYZ_D50} from "./xyz-d50.js";
3
- export {default as XYZ_ABS_D65} from "./xyz-abs-d65.js";
4
- export {default as Lab_D65} from "./lab-d65.js";
5
- export {default as Lab} from "./lab.js";
6
- export {default as LCH} from "./lch.js";
7
- export {default as sRGB_Linear} from "./srgb-linear.js";
8
- export {default as sRGB} from "./srgb.js";
9
- export {default as HSL} from "./hsl.js";
10
- export {default as HWB} from "./hwb.js";
11
- export {default as HSV} from "./hsv.js";
12
- export {default as P3_Linear} from "./p3-linear.js";
13
- export {default as P3} from "./p3.js";
14
- export {default as A98RGB_Linear} from "./a98rgb-linear.js";
15
- export {default as A98RGB} from "./a98rgb.js";
16
- export {default as ProPhoto_Linear} from "./prophoto-linear.js";
17
- export {default as ProPhoto} from "./prophoto.js";
18
- export {default as REC_2020_Linear} from "./rec2020-linear.js";
19
- export {default as REC_2020} from "./rec2020.js";
20
- export {default as OKLab} from "./oklab.js";
21
- export {default as OKLCH} from "./oklch.js";
22
- export {default as CAM16_JMh} from "./cam16.js";
23
- export {default as HCT} from "./hct.js";
24
- export {default as Luv} from "./luv.js";
25
- export {default as LCHuv} from "./lchuv.js";
26
- export {default as HSLuv} from "./hsluv.js";
27
- export {default as HPLuv} from "./hpluv.js";
28
-
29
- export * from "./index-fn-hdr.js";
@@ -1,8 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import * as spaces from "./index-fn.js";
3
-
4
- export * as spaces from "./index-fn.js";
5
-
6
- for (let key of Object.keys(spaces)) {
7
- ColorSpace.register(spaces[key]);
8
- }
@@ -1,118 +0,0 @@
1
- import ColorSpace from "../space.js";
2
- import {multiplyMatrices} from "../util.js";
3
- import XYZ_Abs_D65 from "./xyz-abs-d65.js";
4
-
5
- const b = 1.15;
6
- const g = 0.66;
7
- const n = 2610 / (2 ** 14);
8
- const ninv = (2 ** 14) / 2610;
9
- const c1 = 3424 / (2 ** 12);
10
- const c2 = 2413 / (2 ** 7);
11
- const c3 = 2392 / (2 ** 7);
12
- const p = 1.7 * 2523 / (2 ** 5);
13
- const pinv = (2 ** 5) / (1.7 * 2523);
14
- const d = -0.56;
15
- const d0 = 1.6295499532821566E-11;
16
-
17
- const XYZtoCone_M = [
18
- [ 0.41478972, 0.579999, 0.0146480 ],
19
- [ -0.2015100, 1.120649, 0.0531008 ],
20
- [ -0.0166008, 0.264800, 0.6684799 ],
21
- ];
22
- // XYZtoCone_M inverted
23
- const ConetoXYZ_M = [
24
- [ 1.9242264357876067, -1.0047923125953657, 0.037651404030618 ],
25
- [ 0.35031676209499907, 0.7264811939316552, -0.06538442294808501 ],
26
- [ -0.09098281098284752, -0.3127282905230739, 1.5227665613052603 ],
27
- ];
28
- const ConetoIab_M = [
29
- [ 0.5, 0.5, 0 ],
30
- [ 3.524000, -4.066708, 0.542708 ],
31
- [ 0.199076, 1.096799, -1.295875 ],
32
- ];
33
- // ConetoIab_M inverted
34
- const IabtoCone_M = [
35
- [ 1, 0.1386050432715393, 0.05804731615611886 ],
36
- [ 0.9999999999999999, -0.1386050432715393, -0.05804731615611886 ],
37
- [ 0.9999999999999998, -0.09601924202631895, -0.8118918960560388 ],
38
- ];
39
-
40
- export default new ColorSpace({
41
- id: "jzazbz",
42
- name: "Jzazbz",
43
- coords: {
44
- jz: {
45
- refRange: [0, 1],
46
- name: "Jz",
47
- },
48
- az: {
49
- refRange: [-0.5, 0.5],
50
- },
51
- bz: {
52
- refRange: [-0.5, 0.5],
53
- },
54
- },
55
-
56
- base: XYZ_Abs_D65,
57
- fromBase (XYZ) {
58
- // First make XYZ absolute, not relative to media white
59
- // Maximum luminance in PQ is 10,000 cd/m²
60
- // Relative XYZ has Y=1 for media white
61
- // BT.2048 says media white Y=203 at PQ 58
62
-
63
- let [ Xa, Ya, Za ] = XYZ;
64
-
65
- // modify X and Y
66
- let Xm = (b * Xa) - ((b - 1) * Za);
67
- let Ym = (g * Ya) - ((g - 1) * Xa);
68
-
69
- // move to LMS cone domain
70
- let LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);
71
-
72
- // PQ-encode LMS
73
- let PQLMS = LMS.map (function (val) {
74
- let num = c1 + (c2 * ((val / 10000) ** n));
75
- let denom = 1 + (c3 * ((val / 10000) ** n));
76
-
77
- return (num / denom) ** p;
78
- });
79
-
80
- // almost there, calculate Iz az bz
81
- let [ Iz, az, bz] = multiplyMatrices(ConetoIab_M, PQLMS);
82
- // console.log({Iz, az, bz});
83
-
84
- let Jz = ((1 + d) * Iz) / (1 + (d * Iz)) - d0;
85
- return [Jz, az, bz];
86
- },
87
- toBase (Jzazbz) {
88
- let [Jz, az, bz] = Jzazbz;
89
- let Iz = (Jz + d0) / (1 + d - d * (Jz + d0));
90
-
91
- // bring into LMS cone domain
92
- let PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);
93
-
94
- // convert from PQ-coded to linear-light
95
- let LMS = PQLMS.map(function (val) {
96
- let num = (c1 - (val ** pinv));
97
- let denom = (c3 * (val ** pinv)) - c2;
98
- let x = 10000 * ((num / denom) ** ninv);
99
-
100
- return (x); // luminance relative to diffuse white, [0, 70 or so].
101
- });
102
-
103
- // modified abs XYZ
104
- let [ Xm, Ym, Za ] = multiplyMatrices(ConetoXYZ_M, LMS);
105
-
106
- // restore standard D50 relative XYZ, relative to media white
107
- let Xa = (Xm + ((b - 1) * Za)) / b;
108
- let Ya = (Ym + ((g - 1) * Xa)) / g;
109
- return [ Xa, Ya, Za ];
110
- },
111
-
112
- formats: {
113
- // https://drafts.csswg.org/css-color-hdr/#Jzazbz
114
- "color": {
115
- coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
116
- },
117
- },
118
- });