color-elements 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/README.md +30 -15
  2. package/_build/copy-config.json +1 -1
  3. package/_build/eleventy.js +7 -2
  4. package/_build/filters-extra.js +1 -1
  5. package/_includes/component.njk +9 -1
  6. package/_includes/partials/_nav-links.njk +12 -4
  7. package/_redirects +8 -1
  8. package/assets/css/style.css +78 -1
  9. package/assets/js/index.js +6 -6
  10. package/data/components.json +12 -0
  11. package/index.js +5 -1
  12. package/package.json +9 -3
  13. package/src/channel-picker/README.md +103 -0
  14. package/src/channel-picker/channel-picker.css +31 -0
  15. package/src/channel-picker/channel-picker.js +168 -0
  16. package/src/channel-picker/channel-picker.webp +0 -0
  17. package/src/channel-slider/README.md +50 -8
  18. package/src/channel-slider/channel-slider.css +47 -5
  19. package/src/channel-slider/channel-slider.js +74 -39
  20. package/src/channel-slider/channel-slider.webp +0 -0
  21. package/src/color-chart/README.md +129 -0
  22. package/src/color-chart/color-chart-global.css +101 -0
  23. package/src/color-chart/color-chart.css +112 -0
  24. package/src/color-chart/color-chart.js +439 -0
  25. package/src/color-chart/color-chart.webp +0 -0
  26. package/src/color-inline/README.md +42 -1
  27. package/src/color-inline/color-inline.css +11 -4
  28. package/src/color-inline/color-inline.js +56 -50
  29. package/src/color-inline/color-inline.webp +0 -0
  30. package/src/color-picker/README.md +107 -5
  31. package/src/color-picker/color-picker.css +21 -6
  32. package/src/color-picker/color-picker.js +147 -60
  33. package/src/color-picker/color-picker.webp +0 -0
  34. package/src/color-scale/README.md +75 -0
  35. package/src/color-scale/color-scale.css +35 -0
  36. package/src/color-scale/color-scale.js +164 -0
  37. package/src/color-scale/color-scale.webp +0 -0
  38. package/src/color-slider/README.md +31 -4
  39. package/src/color-slider/color-slider.css +17 -7
  40. package/src/color-slider/color-slider.js +80 -38
  41. package/src/color-slider/color-slider.webp +0 -0
  42. package/src/color-swatch/README.md +265 -6
  43. package/src/color-swatch/color-swatch.css +171 -27
  44. package/src/color-swatch/color-swatch.js +193 -217
  45. package/src/color-swatch/color-swatch.webp +0 -0
  46. package/src/common/color-element.js +140 -0
  47. package/src/common/dom.js +1 -1
  48. package/src/common/util.js +62 -84
  49. package/src/gamut-badge/README.md +145 -0
  50. package/src/gamut-badge/gamut-badge.css +78 -0
  51. package/src/gamut-badge/gamut-badge.js +121 -0
  52. package/src/gamut-badge/gamut-badge.webp +0 -0
  53. package/src/index.js.njk +1 -1
  54. package/src/space-picker/README.md +121 -0
  55. package/src/space-picker/space-picker.css +23 -0
  56. package/src/space-picker/space-picker.js +213 -0
  57. package/src/space-picker/space-picker.webp +0 -0
  58. package/_data/components.json +0 -8
  59. package/lib/README.md +0 -4
  60. package/lib/colorjs.io/LICENSE +0 -21
  61. package/lib/colorjs.io/README.json +0 -3
  62. package/lib/colorjs.io/README.md +0 -257
  63. package/lib/colorjs.io/colorjs.io/LICENSE +0 -21
  64. package/lib/colorjs.io/colorjs.io/README.json +0 -3
  65. package/lib/colorjs.io/colorjs.io/README.md +0 -257
  66. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs +0 -5437
  67. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs.map +0 -1
  68. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  69. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  70. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  71. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  72. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs +0 -2
  73. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  74. package/lib/colorjs.io/colorjs.io/dist/color.cjs +0 -5759
  75. package/lib/colorjs.io/colorjs.io/dist/color.cjs.map +0 -1
  76. package/lib/colorjs.io/colorjs.io/dist/color.global.js +0 -5760
  77. package/lib/colorjs.io/colorjs.io/dist/color.global.js.map +0 -1
  78. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js +0 -7400
  79. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js.map +0 -1
  80. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js +0 -2
  81. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  82. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js +0 -2
  83. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js.map +0 -1
  84. package/lib/colorjs.io/colorjs.io/dist/color.js +0 -5755
  85. package/lib/colorjs.io/colorjs.io/dist/color.js.map +0 -1
  86. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs +0 -7399
  87. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs.map +0 -1
  88. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js +0 -7395
  89. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js.map +0 -1
  90. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs +0 -2
  91. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  92. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js +0 -2
  93. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js.map +0 -1
  94. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs +0 -2
  95. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs.map +0 -1
  96. package/lib/colorjs.io/colorjs.io/dist/color.min.js +0 -2
  97. package/lib/colorjs.io/colorjs.io/dist/color.min.js.map +0 -1
  98. package/lib/colorjs.io/colorjs.io/package.json +0 -113
  99. package/lib/colorjs.io/colorjs.io/src/CATs.js +0 -131
  100. package/lib/colorjs.io/colorjs.io/src/adapt.js +0 -62
  101. package/lib/colorjs.io/colorjs.io/src/angles.js +0 -44
  102. package/lib/colorjs.io/colorjs.io/src/chromaticity.js +0 -33
  103. package/lib/colorjs.io/colorjs.io/src/clone.js +0 -7
  104. package/lib/colorjs.io/colorjs.io/src/color.js +0 -201
  105. package/lib/colorjs.io/colorjs.io/src/contrast/APCA.js +0 -102
  106. package/lib/colorjs.io/colorjs.io/src/contrast/Lstar.js +0 -17
  107. package/lib/colorjs.io/colorjs.io/src/contrast/Michelson.js +0 -22
  108. package/lib/colorjs.io/colorjs.io/src/contrast/WCAG21.js +0 -20
  109. package/lib/colorjs.io/colorjs.io/src/contrast/Weber.js +0 -27
  110. package/lib/colorjs.io/colorjs.io/src/contrast/deltaPhi.js +0 -25
  111. package/lib/colorjs.io/colorjs.io/src/contrast/index.js +0 -6
  112. package/lib/colorjs.io/colorjs.io/src/contrast.js +0 -28
  113. package/lib/colorjs.io/colorjs.io/src/defaults.js +0 -12
  114. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  115. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE76.js +0 -7
  116. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  117. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  118. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  119. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  120. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  121. package/lib/colorjs.io/colorjs.io/src/deltaE/index.js +0 -27
  122. package/lib/colorjs.io/colorjs.io/src/deltaE.js +0 -19
  123. package/lib/colorjs.io/colorjs.io/src/display.js +0 -83
  124. package/lib/colorjs.io/colorjs.io/src/distance.js +0 -21
  125. package/lib/colorjs.io/colorjs.io/src/equals.js +0 -10
  126. package/lib/colorjs.io/colorjs.io/src/get.js +0 -11
  127. package/lib/colorjs.io/colorjs.io/src/getAll.js +0 -20
  128. package/lib/colorjs.io/colorjs.io/src/getColor.js +0 -36
  129. package/lib/colorjs.io/colorjs.io/src/hooks.js +0 -37
  130. package/lib/colorjs.io/colorjs.io/src/inGamut.js +0 -25
  131. package/lib/colorjs.io/colorjs.io/src/index-fn.js +0 -28
  132. package/lib/colorjs.io/colorjs.io/src/index.js +0 -38
  133. package/lib/colorjs.io/colorjs.io/src/interpolation.js +0 -222
  134. package/lib/colorjs.io/colorjs.io/src/keywords.js +0 -158
  135. package/lib/colorjs.io/colorjs.io/src/luminance.js +0 -27
  136. package/lib/colorjs.io/colorjs.io/src/multiply-matrices.js +0 -44
  137. package/lib/colorjs.io/colorjs.io/src/parse.js +0 -198
  138. package/lib/colorjs.io/colorjs.io/src/rgbspace.js +0 -64
  139. package/lib/colorjs.io/colorjs.io/src/serialize.js +0 -86
  140. package/lib/colorjs.io/colorjs.io/src/set.js +0 -33
  141. package/lib/colorjs.io/colorjs.io/src/setAll.js +0 -12
  142. package/lib/colorjs.io/colorjs.io/src/space-accessors.js +0 -86
  143. package/lib/colorjs.io/colorjs.io/src/space.js +0 -440
  144. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  145. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb.js +0 -11
  146. package/lib/colorjs.io/colorjs.io/src/spaces/acescc.js +0 -76
  147. package/lib/colorjs.io/colorjs.io/src/spaces/acescg.js +0 -54
  148. package/lib/colorjs.io/colorjs.io/src/spaces/cam16.js +0 -362
  149. package/lib/colorjs.io/colorjs.io/src/spaces/hct.js +0 -157
  150. package/lib/colorjs.io/colorjs.io/src/spaces/hpluv.js +0 -130
  151. package/lib/colorjs.io/colorjs.io/src/spaces/hsl.js +0 -91
  152. package/lib/colorjs.io/colorjs.io/src/spaces/hsluv.js +0 -162
  153. package/lib/colorjs.io/colorjs.io/src/spaces/hsv.js +0 -65
  154. package/lib/colorjs.io/colorjs.io/src/spaces/hwb.js +0 -58
  155. package/lib/colorjs.io/colorjs.io/src/spaces/ictcp.js +0 -133
  156. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  157. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn.js +0 -29
  158. package/lib/colorjs.io/colorjs.io/src/spaces/index.js +0 -8
  159. package/lib/colorjs.io/colorjs.io/src/spaces/jzazbz.js +0 -118
  160. package/lib/colorjs.io/colorjs.io/src/spaces/jzczhz.js +0 -53
  161. package/lib/colorjs.io/colorjs.io/src/spaces/lab-d65.js +0 -74
  162. package/lib/colorjs.io/colorjs.io/src/spaces/lab.js +0 -74
  163. package/lib/colorjs.io/colorjs.io/src/spaces/lch.js +0 -67
  164. package/lib/colorjs.io/colorjs.io/src/spaces/lchuv.js +0 -68
  165. package/lib/colorjs.io/colorjs.io/src/spaces/luv.js +0 -85
  166. package/lib/colorjs.io/colorjs.io/src/spaces/oklab.js +0 -74
  167. package/lib/colorjs.io/colorjs.io/src/spaces/oklch.js +0 -68
  168. package/lib/colorjs.io/colorjs.io/src/spaces/p3-linear.js +0 -22
  169. package/lib/colorjs.io/colorjs.io/src/spaces/p3.js +0 -13
  170. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  171. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto.js +0 -19
  172. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  173. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020.js +0 -31
  174. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  175. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  176. package/lib/colorjs.io/colorjs.io/src/spaces/srgb-linear.js +0 -30
  177. package/lib/colorjs.io/colorjs.io/src/spaces/srgb.js +0 -127
  178. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  179. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d50.js +0 -12
  180. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d65.js +0 -18
  181. package/lib/colorjs.io/colorjs.io/src/to.js +0 -26
  182. package/lib/colorjs.io/colorjs.io/src/toGamut.js +0 -310
  183. package/lib/colorjs.io/colorjs.io/src/util.js +0 -254
  184. package/lib/colorjs.io/colorjs.io/src/variations.js +0 -14
  185. package/lib/colorjs.io/colorjs.io/types/index.d.cts +0 -4
  186. package/lib/colorjs.io/colorjs.io/types/index.d.ts +0 -42
  187. package/lib/colorjs.io/colorjs.io/types/src/CATs.d.ts +0 -13
  188. package/lib/colorjs.io/colorjs.io/types/src/adapt.d.ts +0 -12
  189. package/lib/colorjs.io/colorjs.io/types/src/angles.d.ts +0 -7
  190. package/lib/colorjs.io/colorjs.io/types/src/chromaticity.d.ts +0 -7
  191. package/lib/colorjs.io/colorjs.io/types/src/clone.d.ts +0 -3
  192. package/lib/colorjs.io/colorjs.io/types/src/color.d.ts +0 -160
  193. package/lib/colorjs.io/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  194. package/lib/colorjs.io/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  195. package/lib/colorjs.io/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  196. package/lib/colorjs.io/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  197. package/lib/colorjs.io/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  198. package/lib/colorjs.io/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  199. package/lib/colorjs.io/colorjs.io/types/src/contrast/index.d.ts +0 -11
  200. package/lib/colorjs.io/colorjs.io/types/src/contrast.d.ts +0 -12
  201. package/lib/colorjs.io/colorjs.io/types/src/defaults.d.ts +0 -2
  202. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  203. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  204. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  205. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  206. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  207. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  208. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  209. package/lib/colorjs.io/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  210. package/lib/colorjs.io/colorjs.io/types/src/deltaE.d.ts +0 -12
  211. package/lib/colorjs.io/colorjs.io/types/src/display.d.ts +0 -17
  212. package/lib/colorjs.io/colorjs.io/types/src/distance.d.ts +0 -8
  213. package/lib/colorjs.io/colorjs.io/types/src/equals.d.ts +0 -3
  214. package/lib/colorjs.io/colorjs.io/types/src/get.d.ts +0 -4
  215. package/lib/colorjs.io/colorjs.io/types/src/getAll.d.ts +0 -7
  216. package/lib/colorjs.io/colorjs.io/types/src/getColor.d.ts +0 -4
  217. package/lib/colorjs.io/colorjs.io/types/src/hooks.d.ts +0 -52
  218. package/lib/colorjs.io/colorjs.io/types/src/inGamut.d.ts +0 -8
  219. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.cts +0 -1
  220. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.ts +0 -63
  221. package/lib/colorjs.io/colorjs.io/types/src/index.d.ts +0 -125
  222. package/lib/colorjs.io/colorjs.io/types/src/interpolation.d.ts +0 -77
  223. package/lib/colorjs.io/colorjs.io/types/src/keywords.d.ts +0 -2
  224. package/lib/colorjs.io/colorjs.io/types/src/luminance.d.ts +0 -10
  225. package/lib/colorjs.io/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  226. package/lib/colorjs.io/colorjs.io/types/src/parse.d.ts +0 -16
  227. package/lib/colorjs.io/colorjs.io/types/src/rgbspace.d.ts +0 -10
  228. package/lib/colorjs.io/colorjs.io/types/src/serialize.d.ts +0 -13
  229. package/lib/colorjs.io/colorjs.io/types/src/set.d.ts +0 -18
  230. package/lib/colorjs.io/colorjs.io/types/src/setAll.d.ts +0 -14
  231. package/lib/colorjs.io/colorjs.io/types/src/space-accessors.d.ts +0 -1
  232. package/lib/colorjs.io/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  233. package/lib/colorjs.io/colorjs.io/types/src/space.d.ts +0 -143
  234. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  235. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  236. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  237. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  238. package/lib/colorjs.io/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  239. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  240. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  241. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  242. package/lib/colorjs.io/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  243. package/lib/colorjs.io/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  244. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  245. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  246. package/lib/colorjs.io/colorjs.io/types/src/spaces/index.d.ts +0 -4
  247. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  248. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  249. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  250. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  251. package/lib/colorjs.io/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  252. package/lib/colorjs.io/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  253. package/lib/colorjs.io/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  254. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  255. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  256. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  257. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  258. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  259. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  260. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  261. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  262. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  263. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  264. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  265. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  266. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  267. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  268. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  269. package/lib/colorjs.io/colorjs.io/types/src/to.d.ts +0 -14
  270. package/lib/colorjs.io/colorjs.io/types/src/toGamut.d.ts +0 -45
  271. package/lib/colorjs.io/colorjs.io/types/src/util.d.ts +0 -58
  272. package/lib/colorjs.io/colorjs.io/types/src/variations.d.ts +0 -5
  273. package/lib/colorjs.io/dist/color-fn.cjs +0 -5437
  274. package/lib/colorjs.io/dist/color-fn.cjs.map +0 -1
  275. package/lib/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  276. package/lib/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  277. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  278. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  279. package/lib/colorjs.io/dist/color-fn.min.cjs +0 -2
  280. package/lib/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  281. package/lib/colorjs.io/dist/color.cjs +0 -5759
  282. package/lib/colorjs.io/dist/color.cjs.map +0 -1
  283. package/lib/colorjs.io/dist/color.global.js +0 -5760
  284. package/lib/colorjs.io/dist/color.global.js.map +0 -1
  285. package/lib/colorjs.io/dist/color.global.legacy.js +0 -7400
  286. package/lib/colorjs.io/dist/color.global.legacy.js.map +0 -1
  287. package/lib/colorjs.io/dist/color.global.legacy.min.js +0 -2
  288. package/lib/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  289. package/lib/colorjs.io/dist/color.global.min.js +0 -2
  290. package/lib/colorjs.io/dist/color.global.min.js.map +0 -1
  291. package/lib/colorjs.io/dist/color.js +0 -5755
  292. package/lib/colorjs.io/dist/color.js.map +0 -1
  293. package/lib/colorjs.io/dist/color.legacy.cjs +0 -7399
  294. package/lib/colorjs.io/dist/color.legacy.cjs.map +0 -1
  295. package/lib/colorjs.io/dist/color.legacy.js +0 -7395
  296. package/lib/colorjs.io/dist/color.legacy.js.map +0 -1
  297. package/lib/colorjs.io/dist/color.legacy.min.cjs +0 -2
  298. package/lib/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  299. package/lib/colorjs.io/dist/color.legacy.min.js +0 -2
  300. package/lib/colorjs.io/dist/color.legacy.min.js.map +0 -1
  301. package/lib/colorjs.io/dist/color.min.cjs +0 -2
  302. package/lib/colorjs.io/dist/color.min.cjs.map +0 -1
  303. package/lib/colorjs.io/dist/color.min.js +0 -2
  304. package/lib/colorjs.io/dist/color.min.js.map +0 -1
  305. package/lib/colorjs.io/package.json +0 -113
  306. package/lib/colorjs.io/src/CATs.js +0 -131
  307. package/lib/colorjs.io/src/adapt.js +0 -62
  308. package/lib/colorjs.io/src/angles.js +0 -44
  309. package/lib/colorjs.io/src/chromaticity.js +0 -33
  310. package/lib/colorjs.io/src/clone.js +0 -7
  311. package/lib/colorjs.io/src/color.js +0 -201
  312. package/lib/colorjs.io/src/contrast/APCA.js +0 -102
  313. package/lib/colorjs.io/src/contrast/Lstar.js +0 -17
  314. package/lib/colorjs.io/src/contrast/Michelson.js +0 -22
  315. package/lib/colorjs.io/src/contrast/WCAG21.js +0 -20
  316. package/lib/colorjs.io/src/contrast/Weber.js +0 -27
  317. package/lib/colorjs.io/src/contrast/deltaPhi.js +0 -25
  318. package/lib/colorjs.io/src/contrast/index.js +0 -6
  319. package/lib/colorjs.io/src/contrast.js +0 -28
  320. package/lib/colorjs.io/src/defaults.js +0 -12
  321. package/lib/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  322. package/lib/colorjs.io/src/deltaE/deltaE76.js +0 -7
  323. package/lib/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  324. package/lib/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  325. package/lib/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  326. package/lib/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  327. package/lib/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  328. package/lib/colorjs.io/src/deltaE/index.js +0 -27
  329. package/lib/colorjs.io/src/deltaE.js +0 -19
  330. package/lib/colorjs.io/src/display.js +0 -83
  331. package/lib/colorjs.io/src/distance.js +0 -21
  332. package/lib/colorjs.io/src/equals.js +0 -10
  333. package/lib/colorjs.io/src/get.js +0 -11
  334. package/lib/colorjs.io/src/getAll.js +0 -20
  335. package/lib/colorjs.io/src/getColor.js +0 -36
  336. package/lib/colorjs.io/src/hooks.js +0 -37
  337. package/lib/colorjs.io/src/inGamut.js +0 -25
  338. package/lib/colorjs.io/src/index-fn.js +0 -28
  339. package/lib/colorjs.io/src/index.js +0 -38
  340. package/lib/colorjs.io/src/interpolation.js +0 -222
  341. package/lib/colorjs.io/src/keywords.js +0 -158
  342. package/lib/colorjs.io/src/luminance.js +0 -27
  343. package/lib/colorjs.io/src/multiply-matrices.js +0 -44
  344. package/lib/colorjs.io/src/parse.js +0 -198
  345. package/lib/colorjs.io/src/rgbspace.js +0 -64
  346. package/lib/colorjs.io/src/serialize.js +0 -86
  347. package/lib/colorjs.io/src/set.js +0 -33
  348. package/lib/colorjs.io/src/setAll.js +0 -12
  349. package/lib/colorjs.io/src/space-accessors.js +0 -86
  350. package/lib/colorjs.io/src/space.js +0 -440
  351. package/lib/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  352. package/lib/colorjs.io/src/spaces/a98rgb.js +0 -11
  353. package/lib/colorjs.io/src/spaces/acescc.js +0 -76
  354. package/lib/colorjs.io/src/spaces/acescg.js +0 -54
  355. package/lib/colorjs.io/src/spaces/cam16.js +0 -362
  356. package/lib/colorjs.io/src/spaces/hct.js +0 -157
  357. package/lib/colorjs.io/src/spaces/hpluv.js +0 -130
  358. package/lib/colorjs.io/src/spaces/hsl.js +0 -91
  359. package/lib/colorjs.io/src/spaces/hsluv.js +0 -162
  360. package/lib/colorjs.io/src/spaces/hsv.js +0 -65
  361. package/lib/colorjs.io/src/spaces/hwb.js +0 -58
  362. package/lib/colorjs.io/src/spaces/ictcp.js +0 -133
  363. package/lib/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  364. package/lib/colorjs.io/src/spaces/index-fn.js +0 -29
  365. package/lib/colorjs.io/src/spaces/index.js +0 -8
  366. package/lib/colorjs.io/src/spaces/jzazbz.js +0 -118
  367. package/lib/colorjs.io/src/spaces/jzczhz.js +0 -53
  368. package/lib/colorjs.io/src/spaces/lab-d65.js +0 -74
  369. package/lib/colorjs.io/src/spaces/lab.js +0 -74
  370. package/lib/colorjs.io/src/spaces/lch.js +0 -67
  371. package/lib/colorjs.io/src/spaces/lchuv.js +0 -68
  372. package/lib/colorjs.io/src/spaces/luv.js +0 -85
  373. package/lib/colorjs.io/src/spaces/oklab.js +0 -74
  374. package/lib/colorjs.io/src/spaces/oklch.js +0 -68
  375. package/lib/colorjs.io/src/spaces/p3-linear.js +0 -22
  376. package/lib/colorjs.io/src/spaces/p3.js +0 -13
  377. package/lib/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  378. package/lib/colorjs.io/src/spaces/prophoto.js +0 -19
  379. package/lib/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  380. package/lib/colorjs.io/src/spaces/rec2020.js +0 -31
  381. package/lib/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  382. package/lib/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  383. package/lib/colorjs.io/src/spaces/srgb-linear.js +0 -30
  384. package/lib/colorjs.io/src/spaces/srgb.js +0 -127
  385. package/lib/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  386. package/lib/colorjs.io/src/spaces/xyz-d50.js +0 -12
  387. package/lib/colorjs.io/src/spaces/xyz-d65.js +0 -18
  388. package/lib/colorjs.io/src/to.js +0 -26
  389. package/lib/colorjs.io/src/toGamut.js +0 -310
  390. package/lib/colorjs.io/src/util.js +0 -254
  391. package/lib/colorjs.io/src/variations.js +0 -14
  392. package/lib/colorjs.io/types/index.d.cts +0 -4
  393. package/lib/colorjs.io/types/index.d.ts +0 -42
  394. package/lib/colorjs.io/types/src/CATs.d.ts +0 -13
  395. package/lib/colorjs.io/types/src/adapt.d.ts +0 -12
  396. package/lib/colorjs.io/types/src/angles.d.ts +0 -7
  397. package/lib/colorjs.io/types/src/chromaticity.d.ts +0 -7
  398. package/lib/colorjs.io/types/src/clone.d.ts +0 -3
  399. package/lib/colorjs.io/types/src/color.d.ts +0 -160
  400. package/lib/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  401. package/lib/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  402. package/lib/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  403. package/lib/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  404. package/lib/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  405. package/lib/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  406. package/lib/colorjs.io/types/src/contrast/index.d.ts +0 -11
  407. package/lib/colorjs.io/types/src/contrast.d.ts +0 -12
  408. package/lib/colorjs.io/types/src/defaults.d.ts +0 -2
  409. package/lib/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  410. package/lib/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  411. package/lib/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  412. package/lib/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  413. package/lib/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  414. package/lib/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  415. package/lib/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  416. package/lib/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  417. package/lib/colorjs.io/types/src/deltaE.d.ts +0 -12
  418. package/lib/colorjs.io/types/src/display.d.ts +0 -17
  419. package/lib/colorjs.io/types/src/distance.d.ts +0 -8
  420. package/lib/colorjs.io/types/src/equals.d.ts +0 -3
  421. package/lib/colorjs.io/types/src/get.d.ts +0 -4
  422. package/lib/colorjs.io/types/src/getAll.d.ts +0 -7
  423. package/lib/colorjs.io/types/src/getColor.d.ts +0 -4
  424. package/lib/colorjs.io/types/src/hooks.d.ts +0 -52
  425. package/lib/colorjs.io/types/src/inGamut.d.ts +0 -8
  426. package/lib/colorjs.io/types/src/index-fn.d.cts +0 -1
  427. package/lib/colorjs.io/types/src/index-fn.d.ts +0 -63
  428. package/lib/colorjs.io/types/src/index.d.ts +0 -125
  429. package/lib/colorjs.io/types/src/interpolation.d.ts +0 -77
  430. package/lib/colorjs.io/types/src/keywords.d.ts +0 -2
  431. package/lib/colorjs.io/types/src/luminance.d.ts +0 -10
  432. package/lib/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  433. package/lib/colorjs.io/types/src/parse.d.ts +0 -16
  434. package/lib/colorjs.io/types/src/rgbspace.d.ts +0 -10
  435. package/lib/colorjs.io/types/src/serialize.d.ts +0 -13
  436. package/lib/colorjs.io/types/src/set.d.ts +0 -18
  437. package/lib/colorjs.io/types/src/setAll.d.ts +0 -14
  438. package/lib/colorjs.io/types/src/space-accessors.d.ts +0 -1
  439. package/lib/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  440. package/lib/colorjs.io/types/src/space.d.ts +0 -143
  441. package/lib/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  442. package/lib/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  443. package/lib/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  444. package/lib/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  445. package/lib/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  446. package/lib/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  447. package/lib/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  448. package/lib/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  449. package/lib/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  450. package/lib/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  451. package/lib/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  452. package/lib/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  453. package/lib/colorjs.io/types/src/spaces/index.d.ts +0 -4
  454. package/lib/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  455. package/lib/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  456. package/lib/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  457. package/lib/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  458. package/lib/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  459. package/lib/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  460. package/lib/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  461. package/lib/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  462. package/lib/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  463. package/lib/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  464. package/lib/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  465. package/lib/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  466. package/lib/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  467. package/lib/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  468. package/lib/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  469. package/lib/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  470. package/lib/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  471. package/lib/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  472. package/lib/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  473. package/lib/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  474. package/lib/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  475. package/lib/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  476. package/lib/colorjs.io/types/src/to.d.ts +0 -14
  477. package/lib/colorjs.io/types/src/toGamut.d.ts +0 -45
  478. package/lib/colorjs.io/types/src/util.d.ts +0 -58
  479. package/lib/colorjs.io/types/src/variations.d.ts +0 -5
  480. package/src/color-gamut/README.md +0 -75
  481. package/src/color-gamut/color-gamut.css +0 -32
  482. package/src/color-gamut/color-gamut.js +0 -172
  483. package/src/common/color.js +0 -12
@@ -1,83 +0,0 @@
1
- import { isNone, skipNone } from "./util.js";
2
- import defaults from "./defaults.js";
3
- import to from "./to.js";
4
- import serialize from "./serialize.js";
5
- import clone from "./clone.js";
6
- import REC2020 from "./spaces/rec2020.js";
7
- import P3 from "./spaces/p3.js";
8
- import Lab from "./spaces/lab.js";
9
- import sRGB from "./spaces/srgb.js";
10
-
11
- // Default space for CSS output. Code in Color.js makes this wider if there's a DOM available
12
- defaults.display_space = sRGB;
13
-
14
- let supportsNone;
15
-
16
- if (typeof CSS !== "undefined" && CSS.supports) {
17
- // Find widest supported color space for CSS
18
- for (let space of [Lab, REC2020, P3]) {
19
- let coords = space.getMinCoords();
20
- let color = {space, coords, alpha: 1};
21
- let str = serialize(color);
22
-
23
- if (CSS.supports("color", str)) {
24
- defaults.display_space = space;
25
- break;
26
- }
27
- }
28
- }
29
-
30
- /**
31
- * Returns a serialization of the color that can actually be displayed in the browser.
32
- * If the default serialization can be displayed, it is returned.
33
- * Otherwise, the color is converted to Lab, REC2020, or P3, whichever is the widest supported.
34
- * In Node.js, this is basically equivalent to `serialize()` but returns a `String` object instead.
35
- *
36
- * @export
37
- * @param {{space, coords} | Color | string} color
38
- * @param {*} [options={}] Options to be passed to serialize()
39
- * @param {ColorSpace | string} [options.space = defaults.display_space] Color space to use for serialization if default is not supported
40
- * @returns {String} String object containing the serialized color with a color property containing the converted color (or the original, if no conversion was necessary)
41
- */
42
- export default function display (color, {space = defaults.display_space, ...options} = {}) {
43
- let ret = serialize(color, options);
44
-
45
- if (typeof CSS === "undefined" || CSS.supports("color", ret) || !defaults.display_space) {
46
- ret = new String(ret);
47
- ret.color = color;
48
- }
49
- else {
50
- // If we're here, what we were about to output is not supported
51
- let fallbackColor = color;
52
-
53
- // First, check if the culprit is none values
54
- let hasNone = color.coords.some(isNone) || isNone(color.alpha);
55
-
56
- if (hasNone) {
57
- // Does the browser support none values?
58
- if (!(supportsNone ??= CSS.supports("color", "hsl(none 50% 50%)"))) {
59
- // Nope, try again without none
60
- fallbackColor = clone(color);
61
- fallbackColor.coords = fallbackColor.coords.map(skipNone);
62
- fallbackColor.alpha = skipNone(fallbackColor.alpha);
63
-
64
- ret = serialize(fallbackColor, options);
65
-
66
- if (CSS.supports("color", ret)) {
67
- // We're done, now it's supported
68
- ret = new String(ret);
69
- ret.color = fallbackColor;
70
- return ret;
71
- }
72
- }
73
- }
74
-
75
- // If we're here, the color function is not supported
76
- // Fall back to fallback space
77
- fallbackColor = to(fallbackColor, space);
78
- ret = new String(serialize(fallbackColor, options));
79
- ret.color = fallbackColor;
80
- }
81
-
82
- return ret;
83
- }
@@ -1,21 +0,0 @@
1
- import ColorSpace from "./space.js";
2
-
3
- /**
4
- * Euclidean distance of colors in an arbitrary color space
5
- */
6
- export default function distance (color1, color2, space = "lab") {
7
- space = ColorSpace.get(space);
8
-
9
- // Assume getColor() is called on color in space.from()
10
- let coords1 = space.from(color1);
11
- let coords2 = space.from(color2);
12
-
13
- return Math.sqrt(coords1.reduce((acc, c1, i) => {
14
- let c2 = coords2[i];
15
- if (isNaN(c1) || isNaN(c2)) {
16
- return acc;
17
- }
18
-
19
- return acc + (c2 - c1) ** 2;
20
- }, 0));
21
- }
@@ -1,10 +0,0 @@
1
- import getColor from "./getColor.js";
2
-
3
- export default function equals (color1, color2) {
4
- color1 = getColor(color1);
5
- color2 = getColor(color2);
6
-
7
- return color1.space === color2.space
8
- && color1.alpha === color2.alpha
9
- && color1.coords.every((c, i) => c === color2.coords[i]);
10
- }
@@ -1,11 +0,0 @@
1
- import ColorSpace from "./space.js";
2
- import getAll from "./getAll.js";
3
- import getColor from "./getColor.js";
4
-
5
- export default function get (color, prop) {
6
- color = getColor(color);
7
-
8
- let {space, index} = ColorSpace.resolveCoord(prop, color.space);
9
- let coords = getAll(color, space);
10
- return coords[index];
11
- }
@@ -1,20 +0,0 @@
1
- import ColorSpace from "./space.js";
2
- import getColor from "./getColor.js";
3
-
4
- /**
5
- * Get the coordinates of a color in any color space
6
- * @param {Color} color
7
- * @param {string | ColorSpace} [space = color.space] The color space to convert to. Defaults to the color's current space
8
- * @returns {number[]} The color coordinates in the given color space
9
- */
10
- export default function getAll (color, space) {
11
- color = getColor(color);
12
-
13
- if (!space || color.space.equals(space)) {
14
- // No conversion needed
15
- return color.coords.slice();
16
- }
17
-
18
- space = ColorSpace.get(space);
19
- return space.from(color);
20
- }
@@ -1,36 +0,0 @@
1
- import ColorSpace from "./space.js";
2
- import {isString} from "./util.js";
3
- import parse from "./parse.js";
4
-
5
- /**
6
- * Resolves a color reference (object or string) to a plain color object
7
- * @param {Color | {space, coords, alpha} | string | Array<Color | {space, coords, alpha} | string> } color
8
- * @returns {{space, coords, alpha} | Array<{space, coords, alpha}}>
9
- */
10
- export default function getColor (color) {
11
- if (Array.isArray(color)) {
12
- return color.map(getColor);
13
- }
14
-
15
- if (!color) {
16
- throw new TypeError("Empty color reference");
17
- }
18
-
19
- if (isString(color)) {
20
- color = parse(color);
21
- }
22
-
23
- // Object fixup
24
- let space = color.space || color.spaceId;
25
-
26
- if (!(space instanceof ColorSpace)) {
27
- // Convert string id to color space object
28
- color.space = ColorSpace.get(space);
29
- }
30
-
31
- if (color.alpha === undefined) {
32
- color.alpha = 1;
33
- }
34
-
35
- return color;
36
- }
@@ -1,37 +0,0 @@
1
- /**
2
- * A class for adding deep extensibility to any piece of JS code
3
- */
4
- export class Hooks {
5
- add (name, callback, first) {
6
- if (typeof arguments[0] != "string") {
7
- // Multiple hooks
8
- for (var name in arguments[0]) {
9
- this.add(name, arguments[0][name], arguments[1]);
10
- }
11
-
12
- return;
13
- }
14
-
15
- (Array.isArray(name) ? name : [name]).forEach(function (name) {
16
- this[name] = this[name] || [];
17
-
18
- if (callback) {
19
- this[name][first ? "unshift" : "push"](callback);
20
- }
21
- }, this);
22
- }
23
-
24
- run (name, env) {
25
- this[name] = this[name] || [];
26
- this[name].forEach(function (callback) {
27
- callback.call(env && env.context ? env.context : env, env);
28
- });
29
- }
30
- }
31
-
32
- /**
33
- * The instance of {@link Hooks} used throughout Color.js
34
- */
35
- const hooks = new Hooks();
36
-
37
- export default hooks;
@@ -1,25 +0,0 @@
1
- import ColorSpace from "./space.js";
2
- import getColor from "./getColor.js";
3
-
4
- const ε = .000075;
5
-
6
- /**
7
- * Check if a color is in gamut of either its own or another color space
8
- * @return {Boolean} Is the color in gamut?
9
- */
10
- export default function inGamut (color, space, {epsilon = ε} = {}) {
11
- color = getColor(color);
12
-
13
- if (!space) {
14
- space = color.space;
15
- }
16
-
17
- space = ColorSpace.get(space);
18
- let coords = color.coords;
19
-
20
- if (space !== color.space) {
21
- coords = space.from(color);
22
- }
23
-
24
- return space.inGamut(coords, {epsilon});
25
- }
@@ -1,28 +0,0 @@
1
- export {default as ColorSpace} from "./space.js";
2
- export {default as RGBColorSpace} from "./rgbspace.js";
3
- export {default as hooks, Hooks} from "./hooks.js";
4
- export {default as defaults} from "./defaults.js";
5
- export {default as getColor} from "./getColor.js";
6
- export {default as get} from "./get.js";
7
- export {default as getAll} from "./getAll.js";
8
- export {default as set} from "./set.js";
9
- export {default as setAll} from "./setAll.js";
10
- export {default as parse} from "./parse.js";
11
- export {default as to} from "./to.js";
12
- export {default as serialize} from "./serialize.js";
13
- export {default as display} from "./display.js";
14
- export {default as inGamut} from "./inGamut.js";
15
- export {default as toGamut, toGamutCSS} from "./toGamut.js";
16
- export {default as distance} from "./distance.js";
17
- export {default as equals} from "./equals.js";
18
- export {default as contrast} from "./contrast.js";
19
- export {default as clone} from "./clone.js";
20
- export { getLuminance, setLuminance } from "./luminance.js";
21
- export {uv, xy} from "./chromaticity.js";
22
- export * from "./contrast/index.js";
23
- export {default as deltaE} from "./deltaE.js";
24
- export * from "./deltaE/index.js";
25
- export {default as deltaEMethods} from "./deltaE/index.js";
26
- export * from "./variations.js";
27
- export { mix, steps, range, isRange } from "./interpolation.js";
28
- export * from "./spaces/index-fn.js";
@@ -1,38 +0,0 @@
1
- // Import all modules of Color.js
2
- import Color from "./color.js";
3
-
4
- // Import all color spaces
5
- import "./spaces/index.js";
6
-
7
- // Import all DeltaE methods
8
- import deltaE from "./deltaE.js";
9
- import deltaEMethods from "./deltaE/index.js";
10
-
11
- Color.extend(deltaEMethods);
12
- Color.extend({deltaE});
13
- Object.assign(Color, {deltaEMethods});
14
-
15
- // Import optional modules
16
- import * as variations from "./variations.js";
17
- Color.extend(variations);
18
-
19
- import contrast from "./contrast.js";
20
- Color.extend({contrast});
21
-
22
- import * as chromaticity from "./chromaticity.js";
23
- Color.extend(chromaticity);
24
-
25
- import * as luminance from "./luminance.js";
26
- Color.extend(luminance);
27
-
28
- import * as interpolation from "./interpolation.js";
29
- Color.extend(interpolation);
30
-
31
- import * as contrastMethods from "./contrast/index.js";
32
- Color.extend(contrastMethods);
33
-
34
- import "./CATs.js";
35
- import "./space-accessors.js";
36
-
37
- // Re-export everything
38
- export default Color;
@@ -1,222 +0,0 @@
1
- /**
2
- * Functions related to color interpolation
3
- */
4
- import ColorSpace from "./space.js";
5
- import {type, interpolate} from "./util.js";
6
- import getColor from "./getColor.js";
7
- import clone from "./clone.js";
8
- import to from "./to.js";
9
- import toGamut from "./toGamut.js";
10
- import get from "./get.js";
11
- import set from "./set.js";
12
- import defaults from "./defaults.js";
13
- import * as angles from "./angles.js";
14
- import deltaE from "./deltaE.js";
15
-
16
- /**
17
- * Return an intermediate color between two colors
18
- * Signatures: mix(c1, c2, p, options)
19
- * mix(c1, c2, options)
20
- * mix(color)
21
- * @param {Color | string} c1 The first color
22
- * @param {Color | string} [c2] The second color
23
- * @param {number} [p=.5] A 0-1 percentage where 0 is c1 and 1 is c2
24
- * @param {Object} [o={}]
25
- * @return {Color}
26
- */
27
- export function mix (c1, c2, p = .5, o = {}) {
28
- [c1, c2] = [getColor(c1), getColor(c2)];
29
-
30
- if (type(p) === "object") {
31
- [p, o] = [.5, p];
32
- }
33
-
34
- let r = range(c1, c2, o);
35
- return r(p);
36
- }
37
-
38
- /**
39
- *
40
- * @param {Color | string | Function} c1 The first color or a range
41
- * @param {Color | string} [c2] The second color if c1 is not a range
42
- * @param {Object} [options={}]
43
- * @return {Color[]}
44
- */
45
- export function steps (c1, c2, options = {}) {
46
- let colorRange;
47
-
48
- if (isRange(c1)) {
49
- // Tweaking existing range
50
- [colorRange, options] = [c1, c2];
51
- [c1, c2] = colorRange.rangeArgs.colors;
52
- }
53
-
54
- let {
55
- maxDeltaE, deltaEMethod,
56
- steps = 2, maxSteps = 1000,
57
- ...rangeOptions
58
- } = options;
59
-
60
- if (!colorRange) {
61
- [c1, c2] = [getColor(c1), getColor(c2)];
62
- colorRange = range(c1, c2, rangeOptions);
63
- }
64
-
65
- let totalDelta = deltaE(c1, c2);
66
- let actualSteps = maxDeltaE > 0 ? Math.max(steps, Math.ceil(totalDelta / maxDeltaE) + 1) : steps;
67
- let ret = [];
68
-
69
- if (maxSteps !== undefined) {
70
- actualSteps = Math.min(actualSteps, maxSteps);
71
- }
72
-
73
- if (actualSteps === 1) {
74
- ret = [{p: .5, color: colorRange(.5)}];
75
- }
76
- else {
77
- let step = 1 / (actualSteps - 1);
78
- ret = Array.from({length: actualSteps}, (_, i) => {
79
- let p = i * step;
80
- return {p, color: colorRange(p)};
81
- });
82
- }
83
-
84
- if (maxDeltaE > 0) {
85
- // Iterate over all stops and find max deltaE
86
- let maxDelta = ret.reduce((acc, cur, i) => {
87
- if (i === 0) {
88
- return 0;
89
- }
90
-
91
- let ΔΕ = deltaE(cur.color, ret[i - 1].color, deltaEMethod);
92
- return Math.max(acc, ΔΕ);
93
- }, 0);
94
-
95
- while (maxDelta > maxDeltaE) {
96
- // Insert intermediate stops and measure maxDelta again
97
- // We need to do this for all pairs, otherwise the midpoint shifts
98
- maxDelta = 0;
99
-
100
- for (let i = 1; (i < ret.length) && (ret.length < maxSteps); i++) {
101
- let prev = ret[i - 1];
102
- let cur = ret[i];
103
-
104
- let p = (cur.p + prev.p) / 2;
105
- let color = colorRange(p);
106
- maxDelta = Math.max(maxDelta, deltaE(color, prev.color), deltaE(color, cur.color));
107
- ret.splice(i, 0, {p, color: colorRange(p)});
108
- i++;
109
- }
110
- }
111
- }
112
-
113
- ret = ret.map(a => a.color);
114
-
115
- return ret;
116
- }
117
-
118
- /**
119
- * Interpolate to color2 and return a function that takes a 0-1 percentage
120
- * @param {Color | string | Function} color1 The first color or an existing range
121
- * @param {Color | string} [color2] If color1 is a color, this is the second color
122
- * @param {Object} [options={}]
123
- * @returns {Function} A function that takes a 0-1 percentage and returns a color
124
- */
125
- export function range (color1, color2, options = {}) {
126
- if (isRange(color1)) {
127
- // Tweaking existing range
128
- let [r, options] = [color1, color2];
129
-
130
- return range(...r.rangeArgs.colors, {...r.rangeArgs.options, ...options});
131
- }
132
-
133
- let {space, outputSpace, progression, premultiplied} = options;
134
-
135
- color1 = getColor(color1);
136
- color2 = getColor(color2);
137
-
138
- // Make sure we're working on copies of these colors
139
- color1 = clone(color1);
140
- color2 = clone(color2);
141
-
142
- let rangeArgs = {colors: [color1, color2], options};
143
-
144
- if (space) {
145
- space = ColorSpace.get(space);
146
- }
147
- else {
148
- space = ColorSpace.registry[defaults.interpolationSpace] || color1.space;
149
- }
150
-
151
- outputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;
152
-
153
- color1 = to(color1, space);
154
- color2 = to(color2, space);
155
-
156
- // Gamut map to avoid areas of flat color
157
- color1 = toGamut(color1);
158
- color2 = toGamut(color2);
159
-
160
- // Handle hue interpolation
161
- // See https://github.com/w3c/csswg-drafts/issues/4735#issuecomment-635741840
162
- if (space.coords.h && space.coords.h.type === "angle") {
163
- let arc = options.hue = options.hue || "shorter";
164
-
165
- let hue = [space, "h"];
166
- let [θ1, θ2] = [get(color1, hue), get(color2, hue)];
167
- // Undefined hues must be evaluated before hue fix-up to properly
168
- // calculate hue arcs between undefined and defined hues.
169
- // See https://github.com/w3c/csswg-drafts/issues/9436#issuecomment-1746957545
170
- if (isNaN(θ1) && !isNaN(θ2)) {
171
- θ1 = θ2;
172
- }
173
- else if (isNaN(θ2) && !isNaN(θ1)) {
174
- θ2 = θ1;
175
- }
176
- [θ1, θ2] = angles.adjust(arc, [θ1, θ2]);
177
- set(color1, hue, θ1);
178
- set(color2, hue, θ2);
179
- }
180
-
181
- if (premultiplied) {
182
- // not coping with polar spaces yet
183
- color1.coords = color1.coords.map(c => c * color1.alpha);
184
- color2.coords = color2.coords.map(c => c * color2.alpha);
185
- }
186
-
187
- return Object.assign(p => {
188
- p = progression ? progression(p) : p;
189
- let coords = color1.coords.map((start, i) => {
190
- let end = color2.coords[i];
191
- return interpolate(start, end, p);
192
- });
193
-
194
- let alpha = interpolate(color1.alpha, color2.alpha, p);
195
- let ret = {space, coords, alpha};
196
-
197
- if (premultiplied) {
198
- // undo premultiplication
199
- ret.coords = ret.coords.map(c => c / alpha);
200
- }
201
-
202
- if (outputSpace !== space) {
203
- ret = to(ret, outputSpace);
204
- }
205
-
206
- return ret;
207
- }, {
208
- rangeArgs,
209
- });
210
- }
211
-
212
- export function isRange (val) {
213
- return type(val) === "function" && !!val.rangeArgs;
214
- }
215
-
216
- defaults.interpolationSpace = "lab";
217
-
218
- export function register (Color) {
219
- Color.defineFunction("mix", mix, {returns: "color"});
220
- Color.defineFunction("range", range, {returns: "function<color>"});
221
- Color.defineFunction("steps", steps, {returns: "array<color>"});
222
- }