color-elements 0.0.1

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 (448) hide show
  1. package/README.md +33 -0
  2. package/_build/copy-config.js +90 -0
  3. package/_build/copy-config.json +18 -0
  4. package/_build/eleventy.js +16 -0
  5. package/_data/eleventyComputed.11tydata.js +29 -0
  6. package/_headers +2 -0
  7. package/_redirects +2 -0
  8. package/assets/css/style.css +1 -0
  9. package/assets/js/index.js +15 -0
  10. package/color-gamut/README.md +75 -0
  11. package/color-gamut/color-gamut.js +172 -0
  12. package/color-gamut/style.css +32 -0
  13. package/color-slider/README.md +84 -0
  14. package/color-slider/color-slider.js +79 -0
  15. package/color-slider/style.css +65 -0
  16. package/color-swatch/color-swatch.css +41 -0
  17. package/color-swatch/color-swatch.js +79 -0
  18. package/color-swatch/index.njk +40 -0
  19. package/common/attributes.js +68 -0
  20. package/common/color.js +10 -0
  21. package/css-color/css-color.js +256 -0
  22. package/css-color/index.njk +43 -0
  23. package/css-color/style.css +67 -0
  24. package/elements.11tydata.json +5 -0
  25. package/index.js +4 -0
  26. package/lib/README.md +4 -0
  27. package/lib/colorjs.io/LICENSE +21 -0
  28. package/lib/colorjs.io/README.json +3 -0
  29. package/lib/colorjs.io/README.md +257 -0
  30. package/lib/colorjs.io/colorjs.io/LICENSE +21 -0
  31. package/lib/colorjs.io/colorjs.io/README.json +3 -0
  32. package/lib/colorjs.io/colorjs.io/README.md +257 -0
  33. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs +5437 -0
  34. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs.map +1 -0
  35. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs +7048 -0
  36. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs.map +1 -0
  37. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs +2 -0
  38. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs.map +1 -0
  39. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs +2 -0
  40. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs.map +1 -0
  41. package/lib/colorjs.io/colorjs.io/dist/color.cjs +5759 -0
  42. package/lib/colorjs.io/colorjs.io/dist/color.cjs.map +1 -0
  43. package/lib/colorjs.io/colorjs.io/dist/color.global.js +5760 -0
  44. package/lib/colorjs.io/colorjs.io/dist/color.global.js.map +1 -0
  45. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js +7400 -0
  46. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js.map +1 -0
  47. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js +2 -0
  48. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js.map +1 -0
  49. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js +2 -0
  50. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js.map +1 -0
  51. package/lib/colorjs.io/colorjs.io/dist/color.js +5755 -0
  52. package/lib/colorjs.io/colorjs.io/dist/color.js.map +1 -0
  53. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs +7399 -0
  54. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs.map +1 -0
  55. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js +7395 -0
  56. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js.map +1 -0
  57. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs +2 -0
  58. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs.map +1 -0
  59. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js +2 -0
  60. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js.map +1 -0
  61. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs +2 -0
  62. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs.map +1 -0
  63. package/lib/colorjs.io/colorjs.io/dist/color.min.js +2 -0
  64. package/lib/colorjs.io/colorjs.io/dist/color.min.js.map +1 -0
  65. package/lib/colorjs.io/colorjs.io/package.json +113 -0
  66. package/lib/colorjs.io/colorjs.io/src/CATs.js +131 -0
  67. package/lib/colorjs.io/colorjs.io/src/adapt.js +62 -0
  68. package/lib/colorjs.io/colorjs.io/src/angles.js +44 -0
  69. package/lib/colorjs.io/colorjs.io/src/chromaticity.js +33 -0
  70. package/lib/colorjs.io/colorjs.io/src/clone.js +7 -0
  71. package/lib/colorjs.io/colorjs.io/src/color.js +201 -0
  72. package/lib/colorjs.io/colorjs.io/src/contrast/APCA.js +102 -0
  73. package/lib/colorjs.io/colorjs.io/src/contrast/Lstar.js +17 -0
  74. package/lib/colorjs.io/colorjs.io/src/contrast/Michelson.js +22 -0
  75. package/lib/colorjs.io/colorjs.io/src/contrast/WCAG21.js +20 -0
  76. package/lib/colorjs.io/colorjs.io/src/contrast/Weber.js +27 -0
  77. package/lib/colorjs.io/colorjs.io/src/contrast/deltaPhi.js +25 -0
  78. package/lib/colorjs.io/colorjs.io/src/contrast/index.js +6 -0
  79. package/lib/colorjs.io/colorjs.io/src/contrast.js +28 -0
  80. package/lib/colorjs.io/colorjs.io/src/defaults.js +12 -0
  81. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE2000.js +179 -0
  82. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE76.js +7 -0
  83. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaECMC.js +114 -0
  84. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEHCT.js +51 -0
  85. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEITP.js +24 -0
  86. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEJz.js +43 -0
  87. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEOK.js +19 -0
  88. package/lib/colorjs.io/colorjs.io/src/deltaE/index.js +27 -0
  89. package/lib/colorjs.io/colorjs.io/src/deltaE.js +19 -0
  90. package/lib/colorjs.io/colorjs.io/src/display.js +83 -0
  91. package/lib/colorjs.io/colorjs.io/src/distance.js +21 -0
  92. package/lib/colorjs.io/colorjs.io/src/equals.js +10 -0
  93. package/lib/colorjs.io/colorjs.io/src/get.js +11 -0
  94. package/lib/colorjs.io/colorjs.io/src/getAll.js +20 -0
  95. package/lib/colorjs.io/colorjs.io/src/getColor.js +36 -0
  96. package/lib/colorjs.io/colorjs.io/src/hooks.js +37 -0
  97. package/lib/colorjs.io/colorjs.io/src/inGamut.js +25 -0
  98. package/lib/colorjs.io/colorjs.io/src/index-fn.js +28 -0
  99. package/lib/colorjs.io/colorjs.io/src/index.js +38 -0
  100. package/lib/colorjs.io/colorjs.io/src/interpolation.js +222 -0
  101. package/lib/colorjs.io/colorjs.io/src/keywords.js +158 -0
  102. package/lib/colorjs.io/colorjs.io/src/luminance.js +27 -0
  103. package/lib/colorjs.io/colorjs.io/src/multiply-matrices.js +44 -0
  104. package/lib/colorjs.io/colorjs.io/src/parse.js +198 -0
  105. package/lib/colorjs.io/colorjs.io/src/rgbspace.js +64 -0
  106. package/lib/colorjs.io/colorjs.io/src/serialize.js +86 -0
  107. package/lib/colorjs.io/colorjs.io/src/set.js +33 -0
  108. package/lib/colorjs.io/colorjs.io/src/setAll.js +12 -0
  109. package/lib/colorjs.io/colorjs.io/src/space-accessors.js +86 -0
  110. package/lib/colorjs.io/colorjs.io/src/space.js +440 -0
  111. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb-linear.js +28 -0
  112. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb.js +11 -0
  113. package/lib/colorjs.io/colorjs.io/src/spaces/acescc.js +76 -0
  114. package/lib/colorjs.io/colorjs.io/src/spaces/acescg.js +54 -0
  115. package/lib/colorjs.io/colorjs.io/src/spaces/cam16.js +362 -0
  116. package/lib/colorjs.io/colorjs.io/src/spaces/hct.js +157 -0
  117. package/lib/colorjs.io/colorjs.io/src/spaces/hpluv.js +130 -0
  118. package/lib/colorjs.io/colorjs.io/src/spaces/hsl.js +91 -0
  119. package/lib/colorjs.io/colorjs.io/src/spaces/hsluv.js +162 -0
  120. package/lib/colorjs.io/colorjs.io/src/spaces/hsv.js +65 -0
  121. package/lib/colorjs.io/colorjs.io/src/spaces/hwb.js +58 -0
  122. package/lib/colorjs.io/colorjs.io/src/spaces/ictcp.js +133 -0
  123. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn-hdr.js +7 -0
  124. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn.js +29 -0
  125. package/lib/colorjs.io/colorjs.io/src/spaces/index.js +8 -0
  126. package/lib/colorjs.io/colorjs.io/src/spaces/jzazbz.js +118 -0
  127. package/lib/colorjs.io/colorjs.io/src/spaces/jzczhz.js +53 -0
  128. package/lib/colorjs.io/colorjs.io/src/spaces/lab-d65.js +74 -0
  129. package/lib/colorjs.io/colorjs.io/src/spaces/lab.js +74 -0
  130. package/lib/colorjs.io/colorjs.io/src/spaces/lch.js +67 -0
  131. package/lib/colorjs.io/colorjs.io/src/spaces/lchuv.js +68 -0
  132. package/lib/colorjs.io/colorjs.io/src/spaces/luv.js +85 -0
  133. package/lib/colorjs.io/colorjs.io/src/spaces/oklab.js +74 -0
  134. package/lib/colorjs.io/colorjs.io/src/spaces/oklch.js +68 -0
  135. package/lib/colorjs.io/colorjs.io/src/spaces/p3-linear.js +22 -0
  136. package/lib/colorjs.io/colorjs.io/src/spaces/p3.js +13 -0
  137. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto-linear.js +28 -0
  138. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto.js +19 -0
  139. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020-linear.js +27 -0
  140. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020.js +31 -0
  141. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-hlg.js +49 -0
  142. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-pq.js +37 -0
  143. package/lib/colorjs.io/colorjs.io/src/spaces/srgb-linear.js +30 -0
  144. package/lib/colorjs.io/colorjs.io/src/spaces/srgb.js +127 -0
  145. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-abs-d65.js +40 -0
  146. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d50.js +12 -0
  147. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d65.js +18 -0
  148. package/lib/colorjs.io/colorjs.io/src/to.js +26 -0
  149. package/lib/colorjs.io/colorjs.io/src/toGamut.js +310 -0
  150. package/lib/colorjs.io/colorjs.io/src/util.js +254 -0
  151. package/lib/colorjs.io/colorjs.io/src/variations.js +14 -0
  152. package/lib/colorjs.io/colorjs.io/types/index.d.cts +4 -0
  153. package/lib/colorjs.io/colorjs.io/types/index.d.ts +42 -0
  154. package/lib/colorjs.io/colorjs.io/types/src/CATs.d.ts +13 -0
  155. package/lib/colorjs.io/colorjs.io/types/src/adapt.d.ts +12 -0
  156. package/lib/colorjs.io/colorjs.io/types/src/angles.d.ts +7 -0
  157. package/lib/colorjs.io/colorjs.io/types/src/chromaticity.d.ts +7 -0
  158. package/lib/colorjs.io/colorjs.io/types/src/clone.d.ts +3 -0
  159. package/lib/colorjs.io/colorjs.io/types/src/color.d.ts +160 -0
  160. package/lib/colorjs.io/colorjs.io/types/src/contrast/APCA.d.ts +5 -0
  161. package/lib/colorjs.io/colorjs.io/types/src/contrast/Lstar.d.ts +5 -0
  162. package/lib/colorjs.io/colorjs.io/types/src/contrast/Michelson.d.ts +5 -0
  163. package/lib/colorjs.io/colorjs.io/types/src/contrast/WCAG21.d.ts +5 -0
  164. package/lib/colorjs.io/colorjs.io/types/src/contrast/Weber.d.ts +5 -0
  165. package/lib/colorjs.io/colorjs.io/types/src/contrast/deltaPhi.d.ts +5 -0
  166. package/lib/colorjs.io/colorjs.io/types/src/contrast/index.d.ts +11 -0
  167. package/lib/colorjs.io/colorjs.io/types/src/contrast.d.ts +12 -0
  168. package/lib/colorjs.io/colorjs.io/types/src/defaults.d.ts +2 -0
  169. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE2000.d.ts +11 -0
  170. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE76.d.ts +5 -0
  171. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaECMC.d.ts +9 -0
  172. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +5 -0
  173. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEITP.d.ts +5 -0
  174. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEJz.d.ts +5 -0
  175. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEOK.d.ts +5 -0
  176. package/lib/colorjs.io/colorjs.io/types/src/deltaE/index.d.ts +14 -0
  177. package/lib/colorjs.io/colorjs.io/types/src/deltaE.d.ts +12 -0
  178. package/lib/colorjs.io/colorjs.io/types/src/display.d.ts +17 -0
  179. package/lib/colorjs.io/colorjs.io/types/src/distance.d.ts +8 -0
  180. package/lib/colorjs.io/colorjs.io/types/src/equals.d.ts +3 -0
  181. package/lib/colorjs.io/colorjs.io/types/src/get.d.ts +4 -0
  182. package/lib/colorjs.io/colorjs.io/types/src/getAll.d.ts +7 -0
  183. package/lib/colorjs.io/colorjs.io/types/src/getColor.d.ts +4 -0
  184. package/lib/colorjs.io/colorjs.io/types/src/hooks.d.ts +52 -0
  185. package/lib/colorjs.io/colorjs.io/types/src/inGamut.d.ts +8 -0
  186. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.cts +1 -0
  187. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.ts +63 -0
  188. package/lib/colorjs.io/colorjs.io/types/src/index.d.ts +125 -0
  189. package/lib/colorjs.io/colorjs.io/types/src/interpolation.d.ts +77 -0
  190. package/lib/colorjs.io/colorjs.io/types/src/keywords.d.ts +2 -0
  191. package/lib/colorjs.io/colorjs.io/types/src/luminance.d.ts +10 -0
  192. package/lib/colorjs.io/colorjs.io/types/src/multiply-matrices.d.ts +9 -0
  193. package/lib/colorjs.io/colorjs.io/types/src/parse.d.ts +16 -0
  194. package/lib/colorjs.io/colorjs.io/types/src/rgbspace.d.ts +10 -0
  195. package/lib/colorjs.io/colorjs.io/types/src/serialize.d.ts +13 -0
  196. package/lib/colorjs.io/colorjs.io/types/src/set.d.ts +18 -0
  197. package/lib/colorjs.io/colorjs.io/types/src/setAll.d.ts +14 -0
  198. package/lib/colorjs.io/colorjs.io/types/src/space-accessors.d.ts +1 -0
  199. package/lib/colorjs.io/colorjs.io/types/src/space-coord-accessors.d.ts +69 -0
  200. package/lib/colorjs.io/colorjs.io/types/src/space.d.ts +143 -0
  201. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +3 -0
  202. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb.d.ts +3 -0
  203. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescc.d.ts +3 -0
  204. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescg.d.ts +3 -0
  205. package/lib/colorjs.io/colorjs.io/types/src/spaces/hpluv.d.ts +3 -0
  206. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsl.d.ts +3 -0
  207. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsluv.d.ts +3 -0
  208. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsv.d.ts +3 -0
  209. package/lib/colorjs.io/colorjs.io/types/src/spaces/hwb.d.ts +3 -0
  210. package/lib/colorjs.io/colorjs.io/types/src/spaces/ictcp.d.ts +3 -0
  211. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +9 -0
  212. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn.d.ts +29 -0
  213. package/lib/colorjs.io/colorjs.io/types/src/spaces/index.d.ts +4 -0
  214. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzazbz.d.ts +3 -0
  215. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzczhz.d.ts +3 -0
  216. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab-d65.d.ts +3 -0
  217. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab.d.ts +3 -0
  218. package/lib/colorjs.io/colorjs.io/types/src/spaces/lch.d.ts +3 -0
  219. package/lib/colorjs.io/colorjs.io/types/src/spaces/lchuv.d.ts +3 -0
  220. package/lib/colorjs.io/colorjs.io/types/src/spaces/luv.d.ts +3 -0
  221. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklab.d.ts +3 -0
  222. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklch.d.ts +3 -0
  223. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3-linear.d.ts +3 -0
  224. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3.d.ts +3 -0
  225. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto-linear.d.ts +3 -0
  226. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto.d.ts +3 -0
  227. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020-linear.d.ts +3 -0
  228. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020.d.ts +3 -0
  229. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +3 -0
  230. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-pq.d.ts +3 -0
  231. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb-linear.d.ts +3 -0
  232. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb.d.ts +3 -0
  233. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +3 -0
  234. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d50.d.ts +3 -0
  235. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d65.d.ts +3 -0
  236. package/lib/colorjs.io/colorjs.io/types/src/to.d.ts +14 -0
  237. package/lib/colorjs.io/colorjs.io/types/src/toGamut.d.ts +45 -0
  238. package/lib/colorjs.io/colorjs.io/types/src/util.d.ts +58 -0
  239. package/lib/colorjs.io/colorjs.io/types/src/variations.d.ts +5 -0
  240. package/lib/colorjs.io/dist/color-fn.cjs +5437 -0
  241. package/lib/colorjs.io/dist/color-fn.cjs.map +1 -0
  242. package/lib/colorjs.io/dist/color-fn.legacy.cjs +7048 -0
  243. package/lib/colorjs.io/dist/color-fn.legacy.cjs.map +1 -0
  244. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs +2 -0
  245. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs.map +1 -0
  246. package/lib/colorjs.io/dist/color-fn.min.cjs +2 -0
  247. package/lib/colorjs.io/dist/color-fn.min.cjs.map +1 -0
  248. package/lib/colorjs.io/dist/color.cjs +5759 -0
  249. package/lib/colorjs.io/dist/color.cjs.map +1 -0
  250. package/lib/colorjs.io/dist/color.global.js +5760 -0
  251. package/lib/colorjs.io/dist/color.global.js.map +1 -0
  252. package/lib/colorjs.io/dist/color.global.legacy.js +7400 -0
  253. package/lib/colorjs.io/dist/color.global.legacy.js.map +1 -0
  254. package/lib/colorjs.io/dist/color.global.legacy.min.js +2 -0
  255. package/lib/colorjs.io/dist/color.global.legacy.min.js.map +1 -0
  256. package/lib/colorjs.io/dist/color.global.min.js +2 -0
  257. package/lib/colorjs.io/dist/color.global.min.js.map +1 -0
  258. package/lib/colorjs.io/dist/color.js +5755 -0
  259. package/lib/colorjs.io/dist/color.js.map +1 -0
  260. package/lib/colorjs.io/dist/color.legacy.cjs +7399 -0
  261. package/lib/colorjs.io/dist/color.legacy.cjs.map +1 -0
  262. package/lib/colorjs.io/dist/color.legacy.js +7395 -0
  263. package/lib/colorjs.io/dist/color.legacy.js.map +1 -0
  264. package/lib/colorjs.io/dist/color.legacy.min.cjs +2 -0
  265. package/lib/colorjs.io/dist/color.legacy.min.cjs.map +1 -0
  266. package/lib/colorjs.io/dist/color.legacy.min.js +2 -0
  267. package/lib/colorjs.io/dist/color.legacy.min.js.map +1 -0
  268. package/lib/colorjs.io/dist/color.min.cjs +2 -0
  269. package/lib/colorjs.io/dist/color.min.cjs.map +1 -0
  270. package/lib/colorjs.io/dist/color.min.js +2 -0
  271. package/lib/colorjs.io/dist/color.min.js.map +1 -0
  272. package/lib/colorjs.io/package.json +113 -0
  273. package/lib/colorjs.io/src/CATs.js +131 -0
  274. package/lib/colorjs.io/src/adapt.js +62 -0
  275. package/lib/colorjs.io/src/angles.js +44 -0
  276. package/lib/colorjs.io/src/chromaticity.js +33 -0
  277. package/lib/colorjs.io/src/clone.js +7 -0
  278. package/lib/colorjs.io/src/color.js +201 -0
  279. package/lib/colorjs.io/src/contrast/APCA.js +102 -0
  280. package/lib/colorjs.io/src/contrast/Lstar.js +17 -0
  281. package/lib/colorjs.io/src/contrast/Michelson.js +22 -0
  282. package/lib/colorjs.io/src/contrast/WCAG21.js +20 -0
  283. package/lib/colorjs.io/src/contrast/Weber.js +27 -0
  284. package/lib/colorjs.io/src/contrast/deltaPhi.js +25 -0
  285. package/lib/colorjs.io/src/contrast/index.js +6 -0
  286. package/lib/colorjs.io/src/contrast.js +28 -0
  287. package/lib/colorjs.io/src/defaults.js +12 -0
  288. package/lib/colorjs.io/src/deltaE/deltaE2000.js +179 -0
  289. package/lib/colorjs.io/src/deltaE/deltaE76.js +7 -0
  290. package/lib/colorjs.io/src/deltaE/deltaECMC.js +114 -0
  291. package/lib/colorjs.io/src/deltaE/deltaEHCT.js +51 -0
  292. package/lib/colorjs.io/src/deltaE/deltaEITP.js +24 -0
  293. package/lib/colorjs.io/src/deltaE/deltaEJz.js +43 -0
  294. package/lib/colorjs.io/src/deltaE/deltaEOK.js +19 -0
  295. package/lib/colorjs.io/src/deltaE/index.js +27 -0
  296. package/lib/colorjs.io/src/deltaE.js +19 -0
  297. package/lib/colorjs.io/src/display.js +83 -0
  298. package/lib/colorjs.io/src/distance.js +21 -0
  299. package/lib/colorjs.io/src/equals.js +10 -0
  300. package/lib/colorjs.io/src/get.js +11 -0
  301. package/lib/colorjs.io/src/getAll.js +20 -0
  302. package/lib/colorjs.io/src/getColor.js +36 -0
  303. package/lib/colorjs.io/src/hooks.js +37 -0
  304. package/lib/colorjs.io/src/inGamut.js +25 -0
  305. package/lib/colorjs.io/src/index-fn.js +28 -0
  306. package/lib/colorjs.io/src/index.js +38 -0
  307. package/lib/colorjs.io/src/interpolation.js +222 -0
  308. package/lib/colorjs.io/src/keywords.js +158 -0
  309. package/lib/colorjs.io/src/luminance.js +27 -0
  310. package/lib/colorjs.io/src/multiply-matrices.js +44 -0
  311. package/lib/colorjs.io/src/parse.js +198 -0
  312. package/lib/colorjs.io/src/rgbspace.js +64 -0
  313. package/lib/colorjs.io/src/serialize.js +86 -0
  314. package/lib/colorjs.io/src/set.js +33 -0
  315. package/lib/colorjs.io/src/setAll.js +12 -0
  316. package/lib/colorjs.io/src/space-accessors.js +86 -0
  317. package/lib/colorjs.io/src/space.js +440 -0
  318. package/lib/colorjs.io/src/spaces/a98rgb-linear.js +28 -0
  319. package/lib/colorjs.io/src/spaces/a98rgb.js +11 -0
  320. package/lib/colorjs.io/src/spaces/acescc.js +76 -0
  321. package/lib/colorjs.io/src/spaces/acescg.js +54 -0
  322. package/lib/colorjs.io/src/spaces/cam16.js +362 -0
  323. package/lib/colorjs.io/src/spaces/hct.js +157 -0
  324. package/lib/colorjs.io/src/spaces/hpluv.js +130 -0
  325. package/lib/colorjs.io/src/spaces/hsl.js +91 -0
  326. package/lib/colorjs.io/src/spaces/hsluv.js +162 -0
  327. package/lib/colorjs.io/src/spaces/hsv.js +65 -0
  328. package/lib/colorjs.io/src/spaces/hwb.js +58 -0
  329. package/lib/colorjs.io/src/spaces/ictcp.js +133 -0
  330. package/lib/colorjs.io/src/spaces/index-fn-hdr.js +7 -0
  331. package/lib/colorjs.io/src/spaces/index-fn.js +29 -0
  332. package/lib/colorjs.io/src/spaces/index.js +8 -0
  333. package/lib/colorjs.io/src/spaces/jzazbz.js +118 -0
  334. package/lib/colorjs.io/src/spaces/jzczhz.js +53 -0
  335. package/lib/colorjs.io/src/spaces/lab-d65.js +74 -0
  336. package/lib/colorjs.io/src/spaces/lab.js +74 -0
  337. package/lib/colorjs.io/src/spaces/lch.js +67 -0
  338. package/lib/colorjs.io/src/spaces/lchuv.js +68 -0
  339. package/lib/colorjs.io/src/spaces/luv.js +85 -0
  340. package/lib/colorjs.io/src/spaces/oklab.js +74 -0
  341. package/lib/colorjs.io/src/spaces/oklch.js +68 -0
  342. package/lib/colorjs.io/src/spaces/p3-linear.js +22 -0
  343. package/lib/colorjs.io/src/spaces/p3.js +13 -0
  344. package/lib/colorjs.io/src/spaces/prophoto-linear.js +28 -0
  345. package/lib/colorjs.io/src/spaces/prophoto.js +19 -0
  346. package/lib/colorjs.io/src/spaces/rec2020-linear.js +27 -0
  347. package/lib/colorjs.io/src/spaces/rec2020.js +31 -0
  348. package/lib/colorjs.io/src/spaces/rec2100-hlg.js +49 -0
  349. package/lib/colorjs.io/src/spaces/rec2100-pq.js +37 -0
  350. package/lib/colorjs.io/src/spaces/srgb-linear.js +30 -0
  351. package/lib/colorjs.io/src/spaces/srgb.js +127 -0
  352. package/lib/colorjs.io/src/spaces/xyz-abs-d65.js +40 -0
  353. package/lib/colorjs.io/src/spaces/xyz-d50.js +12 -0
  354. package/lib/colorjs.io/src/spaces/xyz-d65.js +18 -0
  355. package/lib/colorjs.io/src/to.js +26 -0
  356. package/lib/colorjs.io/src/toGamut.js +310 -0
  357. package/lib/colorjs.io/src/util.js +254 -0
  358. package/lib/colorjs.io/src/variations.js +14 -0
  359. package/lib/colorjs.io/types/index.d.cts +4 -0
  360. package/lib/colorjs.io/types/index.d.ts +42 -0
  361. package/lib/colorjs.io/types/src/CATs.d.ts +13 -0
  362. package/lib/colorjs.io/types/src/adapt.d.ts +12 -0
  363. package/lib/colorjs.io/types/src/angles.d.ts +7 -0
  364. package/lib/colorjs.io/types/src/chromaticity.d.ts +7 -0
  365. package/lib/colorjs.io/types/src/clone.d.ts +3 -0
  366. package/lib/colorjs.io/types/src/color.d.ts +160 -0
  367. package/lib/colorjs.io/types/src/contrast/APCA.d.ts +5 -0
  368. package/lib/colorjs.io/types/src/contrast/Lstar.d.ts +5 -0
  369. package/lib/colorjs.io/types/src/contrast/Michelson.d.ts +5 -0
  370. package/lib/colorjs.io/types/src/contrast/WCAG21.d.ts +5 -0
  371. package/lib/colorjs.io/types/src/contrast/Weber.d.ts +5 -0
  372. package/lib/colorjs.io/types/src/contrast/deltaPhi.d.ts +5 -0
  373. package/lib/colorjs.io/types/src/contrast/index.d.ts +11 -0
  374. package/lib/colorjs.io/types/src/contrast.d.ts +12 -0
  375. package/lib/colorjs.io/types/src/defaults.d.ts +2 -0
  376. package/lib/colorjs.io/types/src/deltaE/deltaE2000.d.ts +11 -0
  377. package/lib/colorjs.io/types/src/deltaE/deltaE76.d.ts +5 -0
  378. package/lib/colorjs.io/types/src/deltaE/deltaECMC.d.ts +9 -0
  379. package/lib/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +5 -0
  380. package/lib/colorjs.io/types/src/deltaE/deltaEITP.d.ts +5 -0
  381. package/lib/colorjs.io/types/src/deltaE/deltaEJz.d.ts +5 -0
  382. package/lib/colorjs.io/types/src/deltaE/deltaEOK.d.ts +5 -0
  383. package/lib/colorjs.io/types/src/deltaE/index.d.ts +14 -0
  384. package/lib/colorjs.io/types/src/deltaE.d.ts +12 -0
  385. package/lib/colorjs.io/types/src/display.d.ts +17 -0
  386. package/lib/colorjs.io/types/src/distance.d.ts +8 -0
  387. package/lib/colorjs.io/types/src/equals.d.ts +3 -0
  388. package/lib/colorjs.io/types/src/get.d.ts +4 -0
  389. package/lib/colorjs.io/types/src/getAll.d.ts +7 -0
  390. package/lib/colorjs.io/types/src/getColor.d.ts +4 -0
  391. package/lib/colorjs.io/types/src/hooks.d.ts +52 -0
  392. package/lib/colorjs.io/types/src/inGamut.d.ts +8 -0
  393. package/lib/colorjs.io/types/src/index-fn.d.cts +1 -0
  394. package/lib/colorjs.io/types/src/index-fn.d.ts +63 -0
  395. package/lib/colorjs.io/types/src/index.d.ts +125 -0
  396. package/lib/colorjs.io/types/src/interpolation.d.ts +77 -0
  397. package/lib/colorjs.io/types/src/keywords.d.ts +2 -0
  398. package/lib/colorjs.io/types/src/luminance.d.ts +10 -0
  399. package/lib/colorjs.io/types/src/multiply-matrices.d.ts +9 -0
  400. package/lib/colorjs.io/types/src/parse.d.ts +16 -0
  401. package/lib/colorjs.io/types/src/rgbspace.d.ts +10 -0
  402. package/lib/colorjs.io/types/src/serialize.d.ts +13 -0
  403. package/lib/colorjs.io/types/src/set.d.ts +18 -0
  404. package/lib/colorjs.io/types/src/setAll.d.ts +14 -0
  405. package/lib/colorjs.io/types/src/space-accessors.d.ts +1 -0
  406. package/lib/colorjs.io/types/src/space-coord-accessors.d.ts +69 -0
  407. package/lib/colorjs.io/types/src/space.d.ts +143 -0
  408. package/lib/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +3 -0
  409. package/lib/colorjs.io/types/src/spaces/a98rgb.d.ts +3 -0
  410. package/lib/colorjs.io/types/src/spaces/acescc.d.ts +3 -0
  411. package/lib/colorjs.io/types/src/spaces/acescg.d.ts +3 -0
  412. package/lib/colorjs.io/types/src/spaces/hpluv.d.ts +3 -0
  413. package/lib/colorjs.io/types/src/spaces/hsl.d.ts +3 -0
  414. package/lib/colorjs.io/types/src/spaces/hsluv.d.ts +3 -0
  415. package/lib/colorjs.io/types/src/spaces/hsv.d.ts +3 -0
  416. package/lib/colorjs.io/types/src/spaces/hwb.d.ts +3 -0
  417. package/lib/colorjs.io/types/src/spaces/ictcp.d.ts +3 -0
  418. package/lib/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +9 -0
  419. package/lib/colorjs.io/types/src/spaces/index-fn.d.ts +29 -0
  420. package/lib/colorjs.io/types/src/spaces/index.d.ts +4 -0
  421. package/lib/colorjs.io/types/src/spaces/jzazbz.d.ts +3 -0
  422. package/lib/colorjs.io/types/src/spaces/jzczhz.d.ts +3 -0
  423. package/lib/colorjs.io/types/src/spaces/lab-d65.d.ts +3 -0
  424. package/lib/colorjs.io/types/src/spaces/lab.d.ts +3 -0
  425. package/lib/colorjs.io/types/src/spaces/lch.d.ts +3 -0
  426. package/lib/colorjs.io/types/src/spaces/lchuv.d.ts +3 -0
  427. package/lib/colorjs.io/types/src/spaces/luv.d.ts +3 -0
  428. package/lib/colorjs.io/types/src/spaces/oklab.d.ts +3 -0
  429. package/lib/colorjs.io/types/src/spaces/oklch.d.ts +3 -0
  430. package/lib/colorjs.io/types/src/spaces/p3-linear.d.ts +3 -0
  431. package/lib/colorjs.io/types/src/spaces/p3.d.ts +3 -0
  432. package/lib/colorjs.io/types/src/spaces/prophoto-linear.d.ts +3 -0
  433. package/lib/colorjs.io/types/src/spaces/prophoto.d.ts +3 -0
  434. package/lib/colorjs.io/types/src/spaces/rec2020-linear.d.ts +3 -0
  435. package/lib/colorjs.io/types/src/spaces/rec2020.d.ts +3 -0
  436. package/lib/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +3 -0
  437. package/lib/colorjs.io/types/src/spaces/rec2100-pq.d.ts +3 -0
  438. package/lib/colorjs.io/types/src/spaces/srgb-linear.d.ts +3 -0
  439. package/lib/colorjs.io/types/src/spaces/srgb.d.ts +3 -0
  440. package/lib/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +3 -0
  441. package/lib/colorjs.io/types/src/spaces/xyz-d50.d.ts +3 -0
  442. package/lib/colorjs.io/types/src/spaces/xyz-d65.d.ts +3 -0
  443. package/lib/colorjs.io/types/src/to.d.ts +14 -0
  444. package/lib/colorjs.io/types/src/toGamut.d.ts +45 -0
  445. package/lib/colorjs.io/types/src/util.d.ts +58 -0
  446. package/lib/colorjs.io/types/src/variations.d.ts +5 -0
  447. package/logo.svg +159 -0
  448. package/package.json +41 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Lea Verou, Chris Lilley
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ {
2
+ "layout": "home"
3
+ }
@@ -0,0 +1,257 @@
1
+ <header class="readme-only">
2
+
3
+ # Color.js: Let’s get serious about color
4
+
5
+ [![Netlify Status](https://api.netlify.com/api/v1/badges/a6208d72-3d48-43ab-9132-b9f31f828609/deploy-status)](https://app.netlify.com/sites/colorjs/deploys)
6
+ [![npm](https://img.shields.io/npm/dw/colorjs.io)](https://npmjs.com/package/colorjs.io)
7
+
8
+ [Official website](https://colorjs.io) • [Contribution guide](CONTRIBUTING.md)
9
+
10
+ Color.js is a color conversion and modification library originally created by two of the editors of the CSS Color specifications: Lea Verou and Chris Lilley.
11
+ They continue to work on it, but are also joined by an exceptional small grassroots team of co-maintainers.
12
+
13
+ ## Features
14
+
15
+ - **Color space agnostic**: Each color object is basically a list of coords and a color space reference. Operations are color space agnostic.
16
+ Modules for <a href="https://colorjs.io/docs/spaces.html">a wide variety of color spaces</a>,
17
+ including Lab/LCh, OKLab/OKLCh,
18
+ sRGB and friends (HSL/HSV/HWB), Display P3,
19
+ J<sub>z</sub>a<sub>z</sub>b<sub>z</sub>, REC.2100 and many <a href="https://colorjs.io/docs/spaces.html">more</a>.
20
+ - **Doesn't gloss over color science**: Actual <a href="docs/gamut-mapping.html">gamut mapping</a> instead of naïve clipping,
21
+ multiple <a href="https://colorjs.io/docs/color-difference.html">DeltaE</a> methods (76, CMC, 2000, J<sub>z</sub>),
22
+ multiple <a href="https://colorjs.io/docs/adaptation.html">chromatic adaptation</a> methods (von Kries, Bradford, CAT02, CAT16),
23
+ all with sensible defaults
24
+ - **Up to date with CSS Color 4**: Every <a href="https://drafts.csswg.org/css-color-4/">CSS Color 4</a> format & color space supported for both <a href="docs/the-color-object.html">input</a> and <a href="https://colorjs.io/docs/output.html">output</a>, whether your browser supports it or not.
25
+ - **Readable, object-oriented API**: Color objects for multiple operations on the same color, and static `Color.something()` functions for one-off calculations
26
+ - **Modular & Extensible**: Use only what you need, or a bundle. Client-side or Node. Deep extensibility with <a href="https://colorjs.io/api/#Hooks-hooks.js">hooks</a>.
27
+ - **Fast & efficient**: <a href="https://colorjs.io/docs/procedural.html">Procedural, tree-shakeable API</a> available for performance sensitive tasks and reduced bundle size
28
+
29
+ </header>
30
+
31
+ <section>
32
+
33
+ ## Impact
34
+
35
+ - Has been used to create demos for several W3C specifications
36
+ - Has been used by browsers to test their CSS Color 4/5 implementations
37
+ - Over [2 million total npm downloads](https://limonte.dev/total-npm-downloads/?package=colorjs.io)!
38
+ - Used by several [high impact projects](https://www.npmjs.com/browse/depended/colorjs.io), including [Sass](https://sass-lang.com/), [Open Props](https://open-props.style/), [axe](https://www.deque.com/axe/) accessibility testing engine, and [OddContrast](https://www.oddcontrast.com/) and [CSS HD Gradients](https://gradient.style/) color tools
39
+ - Parts of Color.js’s API are used as a testing ground for the design of a [native `Color` object for the Web platform](https://github.com/wicg/color-api).
40
+
41
+ </section>
42
+
43
+ <section class="cn-ignore">
44
+
45
+ ## Installation
46
+
47
+ Color.js is designed make simple things easy, and complex things possible, and that extends to installation as well.
48
+
49
+ For quick experiments, you can just import Color.js directly from the CDN (kindly provided by the awesome folks at [Netlify](https://netlify.com)) with all modules included:
50
+
51
+ ```js
52
+ import Color from "https://colorjs.io/dist/color.js";
53
+ ```
54
+
55
+ You can also install via npm if you’d prefer:
56
+
57
+ ```
58
+ npm install colorjs.io
59
+ ```
60
+
61
+ Whether you’re using NPM, the CDN, or local files, Color.js allows you to also import specific modules by directly importing from `src`:
62
+ - `https://colorjs.io/src/` for the CDN
63
+ - `node_modules/colorjs.io/src/ for NPM
64
+
65
+ For example:
66
+ ```js
67
+ import Color from "https://colorjs.io/src/color.js";
68
+ import p3 from "https://colorjs.io/src/spaces/p3.js";
69
+ import rec2020 from "https://colorjs.io/src/spaces/rec2020.js";
70
+ import deltaE200 from "https://colorjs.io/src/deltaE/deltaE2000.js";
71
+ ```
72
+
73
+ Warning: To use `import` statements in a browser, your `<script>` needs `type="module"`
74
+
75
+ Are you old school and prefer to simply have a global `Color` variable?
76
+ We’ve got you covered!
77
+ Just include the following script in your HTML:
78
+
79
+ ```html
80
+ <script src="https://colorjs.io/dist/color.global.js"></script>
81
+ ```
82
+
83
+ <p class="read-more"><a href="https://colorjs.io/get">Read more about installation</a></p>
84
+
85
+ </section>
86
+
87
+ <section>
88
+
89
+ ## Reading colors
90
+
91
+ Any color from CSS Color Level 4 should work:
92
+
93
+ ```js
94
+ let color = new Color("slategray");
95
+ let color2 = new Color("hwb(60 30% 40% / .5)");
96
+ let color3 = new Color("color(display-p3 0 1 0 / .9)");
97
+ let color4 = new Color("lch(50% 80 30)");
98
+ ```
99
+
100
+ You can also create `Color` objects manually:
101
+
102
+ ```js
103
+ let color2 = new Color("hwb", [60, 30, 40], .5);
104
+ let color3 = new Color({space: "p3", coords: [0, 1, 0], alpha: .9});
105
+ ```
106
+
107
+ <p class="read-more"><a href="https://colorjs.io/docs/the-color-object.html">Read more about color objects</a>
108
+
109
+ </section>
110
+
111
+ <section>
112
+ <h2>Manipulating colors</h2>
113
+
114
+ You can use properties to modify coordinates
115
+ of any color space and convert back
116
+
117
+ ```js
118
+ let color = new Color("slategray");
119
+ color.lch.l = 80; // Set coord directly in any color space
120
+ color.lch.c *= 1.2; // saturate by increasing LCH chroma by 20%
121
+ color.hwb.w += 10; // any other color space also available
122
+ ```
123
+
124
+ To modify coordinates in any color space you use `color.set()` and `color.setAll()`:
125
+
126
+ ```js
127
+ let color = new Color("slategray");
128
+
129
+ // Multiple coordinates
130
+ color.set({
131
+ "lch.l": 80, // set lightness to 80
132
+ "lch.c": c => c * 1.2 // Relative manipulation
133
+ });
134
+
135
+ // Set single coordinate
136
+ color.set("hwb.w", w => w + 10);
137
+ ```
138
+
139
+ Coordinates of the color's color space are available without a prefix:
140
+
141
+ ```js
142
+ let color = new Color("slategray").to("lch");
143
+
144
+ // Multiple coordinates
145
+ color.set({
146
+ l: 80, // set lightness to 80
147
+ c: c => c * 1.2 // Relative manipulation
148
+ });
149
+
150
+ // Set single coordinate
151
+ color.set("h", 30);
152
+ ```
153
+
154
+ Chaining-style modifications are also supported:
155
+ ```js
156
+ let color = new Color("lch(50% 50 10)");
157
+ color = color.set({
158
+ h: h => h + 180,
159
+ c: 60
160
+ }).lighten();
161
+ ```
162
+
163
+ You can also use properties:
164
+
165
+ ```js
166
+ let color = new Color("slategray");
167
+ color.lch.l = 80; // Set coord directly in any color space
168
+ color.lch.c *= 1.2; // saturate by increasing LCH chroma by 20%
169
+ color.hwb.w += 10; // any other color space also available
170
+ ```
171
+
172
+ Coordinates of the color's color space are available without a prefix:
173
+
174
+ ```js
175
+ let color = new Color("slategray").to("lch");
176
+ color.l = 80; // Set LCH lightness
177
+ color.c *= 1.2; // saturate by increasing LCH chroma
178
+ ```
179
+
180
+ <p class="read-more"><a href="https://colorjs.io/docs/manipulation.html">Read more about color manipulation</a></p>
181
+
182
+ </section>
183
+
184
+ <section>
185
+
186
+ ## Converting between color spaces & stringifying
187
+
188
+ Convert to any color space:
189
+
190
+ ```js
191
+ let color = new Color("slategray");
192
+ color.to("lch") // Convert to LCH
193
+ ```
194
+
195
+ Output in any color space
196
+
197
+ ```js
198
+ let color = new Color("slategray");
199
+ color + ""; // default stringification
200
+ color.to("p3").toString({precision: 3});
201
+ ```
202
+
203
+ Clip to gamut or don't
204
+ ```js
205
+ let color = new Color("p3", [0, 1, 0]);
206
+ color.to("srgb") + ""; // Default toString()
207
+ color.to("srgb").toString({inGamut: false});
208
+ ```
209
+
210
+ <p class="read-more"><a href="https://colorjs.io/docs/output.html">Read more about output</a></p>
211
+
212
+ </section>
213
+
214
+ <section>
215
+
216
+ ## Interpolation
217
+
218
+ Get a function that accepts a percentage:
219
+
220
+ ```js
221
+ let color = new Color("p3", [0, 1, 0]);
222
+ let redgreen = color.range("red", {
223
+ space: "lch", // interpolation space
224
+ outputSpace: "srgb"
225
+ });
226
+ redgreen(.5); // midpoint
227
+ ```
228
+
229
+ Interpolation by discrete steps:
230
+
231
+ ```js
232
+ let color = new Color("p3", [0, 1, 0]);
233
+ color.steps("red", {
234
+ space: "lch",
235
+ outputSpace: "srgb",
236
+ maxDeltaE: 3, // max deltaE between consecutive steps
237
+ steps: 10 // min number of steps
238
+ });
239
+ ```
240
+
241
+ Shortcut for specific points in the range:
242
+
243
+ ```js
244
+ let color = new Color("p3", [0, 1, 0]);
245
+ let redgreen = color.mix("red", .5, {space: "lch", outputSpace: "srgb"});
246
+ let reddishGreen = color.mix("red", .25, {space: "lch", outputSpace: "srgb"});
247
+ ```
248
+
249
+ Static syntax (every color method has a static one too):
250
+
251
+ ```js
252
+ Color.mix("color(display-p3 0 1 0)", "red", .5);
253
+ ```
254
+
255
+ <p class="read-more"><a href="https://colorjs.io/docs/interpolation.html">Read more about interpolation</a></p>
256
+
257
+ </section>
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Lea Verou, Chris Lilley
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ {
2
+ "layout": "home"
3
+ }
@@ -0,0 +1,257 @@
1
+ <header class="readme-only">
2
+
3
+ # Color.js: Let’s get serious about color
4
+
5
+ [![Netlify Status](https://api.netlify.com/api/v1/badges/a6208d72-3d48-43ab-9132-b9f31f828609/deploy-status)](https://app.netlify.com/sites/colorjs/deploys)
6
+ [![npm](https://img.shields.io/npm/dw/colorjs.io)](https://npmjs.com/package/colorjs.io)
7
+
8
+ [Official website](https://colorjs.io) • [Contribution guide](CONTRIBUTING.md)
9
+
10
+ Color.js is a color conversion and modification library originally created by two of the editors of the CSS Color specifications: Lea Verou and Chris Lilley.
11
+ They continue to work on it, but are also joined by an exceptional small grassroots team of co-maintainers.
12
+
13
+ ## Features
14
+
15
+ - **Color space agnostic**: Each color object is basically a list of coords and a color space reference. Operations are color space agnostic.
16
+ Modules for <a href="https://colorjs.io/docs/spaces.html">a wide variety of color spaces</a>,
17
+ including Lab/LCh, OKLab/OKLCh,
18
+ sRGB and friends (HSL/HSV/HWB), Display P3,
19
+ J<sub>z</sub>a<sub>z</sub>b<sub>z</sub>, REC.2100 and many <a href="https://colorjs.io/docs/spaces.html">more</a>.
20
+ - **Doesn't gloss over color science**: Actual <a href="docs/gamut-mapping.html">gamut mapping</a> instead of naïve clipping,
21
+ multiple <a href="https://colorjs.io/docs/color-difference.html">DeltaE</a> methods (76, CMC, 2000, J<sub>z</sub>),
22
+ multiple <a href="https://colorjs.io/docs/adaptation.html">chromatic adaptation</a> methods (von Kries, Bradford, CAT02, CAT16),
23
+ all with sensible defaults
24
+ - **Up to date with CSS Color 4**: Every <a href="https://drafts.csswg.org/css-color-4/">CSS Color 4</a> format & color space supported for both <a href="docs/the-color-object.html">input</a> and <a href="https://colorjs.io/docs/output.html">output</a>, whether your browser supports it or not.
25
+ - **Readable, object-oriented API**: Color objects for multiple operations on the same color, and static `Color.something()` functions for one-off calculations
26
+ - **Modular & Extensible**: Use only what you need, or a bundle. Client-side or Node. Deep extensibility with <a href="https://colorjs.io/api/#Hooks-hooks.js">hooks</a>.
27
+ - **Fast & efficient**: <a href="https://colorjs.io/docs/procedural.html">Procedural, tree-shakeable API</a> available for performance sensitive tasks and reduced bundle size
28
+
29
+ </header>
30
+
31
+ <section>
32
+
33
+ ## Impact
34
+
35
+ - Has been used to create demos for several W3C specifications
36
+ - Has been used by browsers to test their CSS Color 4/5 implementations
37
+ - Over [2 million total npm downloads](https://limonte.dev/total-npm-downloads/?package=colorjs.io)!
38
+ - Used by several [high impact projects](https://www.npmjs.com/browse/depended/colorjs.io), including [Sass](https://sass-lang.com/), [Open Props](https://open-props.style/), [axe](https://www.deque.com/axe/) accessibility testing engine, and [OddContrast](https://www.oddcontrast.com/) and [CSS HD Gradients](https://gradient.style/) color tools
39
+ - Parts of Color.js’s API are used as a testing ground for the design of a [native `Color` object for the Web platform](https://github.com/wicg/color-api).
40
+
41
+ </section>
42
+
43
+ <section class="cn-ignore">
44
+
45
+ ## Installation
46
+
47
+ Color.js is designed make simple things easy, and complex things possible, and that extends to installation as well.
48
+
49
+ For quick experiments, you can just import Color.js directly from the CDN (kindly provided by the awesome folks at [Netlify](https://netlify.com)) with all modules included:
50
+
51
+ ```js
52
+ import Color from "https://colorjs.io/dist/color.js";
53
+ ```
54
+
55
+ You can also install via npm if you’d prefer:
56
+
57
+ ```
58
+ npm install colorjs.io
59
+ ```
60
+
61
+ Whether you’re using NPM, the CDN, or local files, Color.js allows you to also import specific modules by directly importing from `src`:
62
+ - `https://colorjs.io/src/` for the CDN
63
+ - `node_modules/colorjs.io/src/ for NPM
64
+
65
+ For example:
66
+ ```js
67
+ import Color from "https://colorjs.io/src/color.js";
68
+ import p3 from "https://colorjs.io/src/spaces/p3.js";
69
+ import rec2020 from "https://colorjs.io/src/spaces/rec2020.js";
70
+ import deltaE200 from "https://colorjs.io/src/deltaE/deltaE2000.js";
71
+ ```
72
+
73
+ Warning: To use `import` statements in a browser, your `<script>` needs `type="module"`
74
+
75
+ Are you old school and prefer to simply have a global `Color` variable?
76
+ We’ve got you covered!
77
+ Just include the following script in your HTML:
78
+
79
+ ```html
80
+ <script src="https://colorjs.io/dist/color.global.js"></script>
81
+ ```
82
+
83
+ <p class="read-more"><a href="https://colorjs.io/get">Read more about installation</a></p>
84
+
85
+ </section>
86
+
87
+ <section>
88
+
89
+ ## Reading colors
90
+
91
+ Any color from CSS Color Level 4 should work:
92
+
93
+ ```js
94
+ let color = new Color("slategray");
95
+ let color2 = new Color("hwb(60 30% 40% / .5)");
96
+ let color3 = new Color("color(display-p3 0 1 0 / .9)");
97
+ let color4 = new Color("lch(50% 80 30)");
98
+ ```
99
+
100
+ You can also create `Color` objects manually:
101
+
102
+ ```js
103
+ let color2 = new Color("hwb", [60, 30, 40], .5);
104
+ let color3 = new Color({space: "p3", coords: [0, 1, 0], alpha: .9});
105
+ ```
106
+
107
+ <p class="read-more"><a href="https://colorjs.io/docs/the-color-object.html">Read more about color objects</a>
108
+
109
+ </section>
110
+
111
+ <section>
112
+ <h2>Manipulating colors</h2>
113
+
114
+ You can use properties to modify coordinates
115
+ of any color space and convert back
116
+
117
+ ```js
118
+ let color = new Color("slategray");
119
+ color.lch.l = 80; // Set coord directly in any color space
120
+ color.lch.c *= 1.2; // saturate by increasing LCH chroma by 20%
121
+ color.hwb.w += 10; // any other color space also available
122
+ ```
123
+
124
+ To modify coordinates in any color space you use `color.set()` and `color.setAll()`:
125
+
126
+ ```js
127
+ let color = new Color("slategray");
128
+
129
+ // Multiple coordinates
130
+ color.set({
131
+ "lch.l": 80, // set lightness to 80
132
+ "lch.c": c => c * 1.2 // Relative manipulation
133
+ });
134
+
135
+ // Set single coordinate
136
+ color.set("hwb.w", w => w + 10);
137
+ ```
138
+
139
+ Coordinates of the color's color space are available without a prefix:
140
+
141
+ ```js
142
+ let color = new Color("slategray").to("lch");
143
+
144
+ // Multiple coordinates
145
+ color.set({
146
+ l: 80, // set lightness to 80
147
+ c: c => c * 1.2 // Relative manipulation
148
+ });
149
+
150
+ // Set single coordinate
151
+ color.set("h", 30);
152
+ ```
153
+
154
+ Chaining-style modifications are also supported:
155
+ ```js
156
+ let color = new Color("lch(50% 50 10)");
157
+ color = color.set({
158
+ h: h => h + 180,
159
+ c: 60
160
+ }).lighten();
161
+ ```
162
+
163
+ You can also use properties:
164
+
165
+ ```js
166
+ let color = new Color("slategray");
167
+ color.lch.l = 80; // Set coord directly in any color space
168
+ color.lch.c *= 1.2; // saturate by increasing LCH chroma by 20%
169
+ color.hwb.w += 10; // any other color space also available
170
+ ```
171
+
172
+ Coordinates of the color's color space are available without a prefix:
173
+
174
+ ```js
175
+ let color = new Color("slategray").to("lch");
176
+ color.l = 80; // Set LCH lightness
177
+ color.c *= 1.2; // saturate by increasing LCH chroma
178
+ ```
179
+
180
+ <p class="read-more"><a href="https://colorjs.io/docs/manipulation.html">Read more about color manipulation</a></p>
181
+
182
+ </section>
183
+
184
+ <section>
185
+
186
+ ## Converting between color spaces & stringifying
187
+
188
+ Convert to any color space:
189
+
190
+ ```js
191
+ let color = new Color("slategray");
192
+ color.to("lch") // Convert to LCH
193
+ ```
194
+
195
+ Output in any color space
196
+
197
+ ```js
198
+ let color = new Color("slategray");
199
+ color + ""; // default stringification
200
+ color.to("p3").toString({precision: 3});
201
+ ```
202
+
203
+ Clip to gamut or don't
204
+ ```js
205
+ let color = new Color("p3", [0, 1, 0]);
206
+ color.to("srgb") + ""; // Default toString()
207
+ color.to("srgb").toString({inGamut: false});
208
+ ```
209
+
210
+ <p class="read-more"><a href="https://colorjs.io/docs/output.html">Read more about output</a></p>
211
+
212
+ </section>
213
+
214
+ <section>
215
+
216
+ ## Interpolation
217
+
218
+ Get a function that accepts a percentage:
219
+
220
+ ```js
221
+ let color = new Color("p3", [0, 1, 0]);
222
+ let redgreen = color.range("red", {
223
+ space: "lch", // interpolation space
224
+ outputSpace: "srgb"
225
+ });
226
+ redgreen(.5); // midpoint
227
+ ```
228
+
229
+ Interpolation by discrete steps:
230
+
231
+ ```js
232
+ let color = new Color("p3", [0, 1, 0]);
233
+ color.steps("red", {
234
+ space: "lch",
235
+ outputSpace: "srgb",
236
+ maxDeltaE: 3, // max deltaE between consecutive steps
237
+ steps: 10 // min number of steps
238
+ });
239
+ ```
240
+
241
+ Shortcut for specific points in the range:
242
+
243
+ ```js
244
+ let color = new Color("p3", [0, 1, 0]);
245
+ let redgreen = color.mix("red", .5, {space: "lch", outputSpace: "srgb"});
246
+ let reddishGreen = color.mix("red", .25, {space: "lch", outputSpace: "srgb"});
247
+ ```
248
+
249
+ Static syntax (every color method has a static one too):
250
+
251
+ ```js
252
+ Color.mix("color(display-p3 0 1 0)", "red", .5);
253
+ ```
254
+
255
+ <p class="read-more"><a href="https://colorjs.io/docs/interpolation.html">Read more about interpolation</a></p>
256
+
257
+ </section>