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
@@ -0,0 +1,213 @@
1
+ import ColorElement from "../common/color-element.js";
2
+
3
+ const Self = class SpacePicker extends ColorElement {
4
+ static tagName = "space-picker";
5
+ static url = import.meta.url;
6
+ static styles = "./space-picker.css";
7
+ static shadowTemplate = `<select id="picker" part="base"></select>`;
8
+
9
+ constructor () {
10
+ super();
11
+
12
+ this._el = {};
13
+ this._el.picker = this.shadowRoot.querySelector("#picker");
14
+ }
15
+
16
+ connectedCallback () {
17
+ super.connectedCallback?.();
18
+ this._el.picker.addEventListener("input", this);
19
+ }
20
+
21
+ disconnectedCallback () {
22
+ super.disconnectedCallback?.();
23
+ this._el.picker.removeEventListener("input", this);
24
+ }
25
+
26
+ handleEvent (event) {
27
+ if (event.target === this._el.picker && event.target.value !== this.value) {
28
+ this.value = event.target.value;
29
+ }
30
+ }
31
+
32
+ propChangedCallback ({name, prop, detail: change}) {
33
+ if (name === "spaces") {
34
+ if (!this.groups) {
35
+ this._el.picker.innerHTML = Object.entries(this.spaces)
36
+ .map(([id, space]) => `<option value="${ id }">${ this.getSpaceLabel(space) }</option>`)
37
+ .join("\n");
38
+ }
39
+ else {
40
+ let groups = this.groups;
41
+
42
+ // Remove empty groups
43
+ groups = Object.entries(groups).filter(([type, spaces]) => {
44
+ if (Object.keys(spaces).length === 0) {
45
+ console.warn(`Removed empty group of color spaces with the label "${type}."`);
46
+ return false;
47
+ }
48
+
49
+ return true;
50
+ });
51
+
52
+ if (!groups.length) {
53
+ console.warn("All provided groups of color spaces are empty. Falling back to default grouping.");
54
+ groups = [["All spaces", this.spaces]];
55
+ }
56
+
57
+ this._el.picker.innerHTML = groups.map(([type, spaces]) => `
58
+ <optgroup label="${type}">
59
+ ${Object.entries(spaces)
60
+ .map(([id, space]) => `<option value="${ id }">${ this.getSpaceLabel(space) }</option>`)
61
+ .join("\n")}
62
+ </optgroup>
63
+ `).join("\n");
64
+ }
65
+
66
+ this._el.picker.value = this.value;
67
+ }
68
+
69
+ if (name === "value") {
70
+ let value = this.value;
71
+
72
+ if (value) {
73
+ if (!(value in this.spaces)) {
74
+ let spaces = Object.keys(this.spaces);
75
+ let firstSpace = spaces[0];
76
+ let currentSpace = this._el.picker.value;
77
+ let fallback = spaces.includes(currentSpace) ? currentSpace : firstSpace;
78
+
79
+ console.warn(`No color space found with id = "${ value }". Choose one of the following: ${ spaces.join(", ") }. Falling back to "${ fallback }".`);
80
+ this.value = value = fallback;
81
+ }
82
+
83
+ if (this._el.picker.value !== value) {
84
+ this._el.picker.value = value;
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ static props = {
91
+ value: {
92
+ default () {
93
+ if (this.groups) {
94
+ let groups = this.groups;
95
+ let firstGroup = Object.values(groups)[0];
96
+
97
+ return firstGroup && Object.keys(firstGroup)[0];
98
+ }
99
+ else {
100
+ return Object.keys(this.spaces)[0];
101
+ }
102
+ },
103
+ },
104
+
105
+ selectedSpace: {
106
+ get () {
107
+ let value = this.value;
108
+ if (value === undefined || value === null) {
109
+ return;
110
+ }
111
+
112
+ return this.spaces[value];
113
+ },
114
+ },
115
+
116
+ spaces: {
117
+ type: {
118
+ is: Object,
119
+ get values () {
120
+ return Self.Color.Space;
121
+ },
122
+ defaultValue: (id, index) => {
123
+ try {
124
+ return Self.Color.Space.get(id);
125
+ }
126
+ catch (e) {
127
+ console.error(e);
128
+ }
129
+ },
130
+ },
131
+ default: () => Self.Color.spaces,
132
+ convert (value) {
133
+ // Replace non-existing spaces with { id, name: id }
134
+ for (let id in value) {
135
+ if (!value[id]) {
136
+ value[id] = { id, name: id };
137
+ }
138
+ }
139
+
140
+ return value;
141
+ },
142
+ stringify (value) {
143
+ return Object.entries(value).map(([id, space]) => id).join(", ");
144
+ },
145
+ },
146
+
147
+ groupBy: {
148
+ type: {
149
+ is: Function,
150
+ arguments: ["space"],
151
+ },
152
+ reflect: false,
153
+ },
154
+
155
+ groups: {
156
+ get () {
157
+ if (!this.groupBy) {
158
+ return;
159
+ }
160
+
161
+ let ret = {};
162
+ for (let [id, space] of Object.entries(this.spaces)) {
163
+ let group = this.groupBy(space);
164
+ if (group) {
165
+ (ret[group] ??= {})[id] = space;
166
+ }
167
+ }
168
+
169
+ return ret;
170
+ },
171
+ },
172
+
173
+ getSpaceLabel: {
174
+ type: {
175
+ is: Function,
176
+ arguments: ["space"],
177
+ },
178
+ default () {
179
+ return space => space.name;
180
+ },
181
+ reflect: false,
182
+ },
183
+ };
184
+
185
+ static events = {
186
+ change: {
187
+ from () {
188
+ return this._el.picker;
189
+ },
190
+ },
191
+ input: {
192
+ from () {
193
+ return this._el.picker;
194
+ },
195
+ },
196
+ valuechange: {
197
+ propchange: "value",
198
+ },
199
+ spacechange: {
200
+ propchange: "selectedSpace",
201
+ },
202
+ };
203
+
204
+ static formAssociated = {
205
+ like: el => el._el.picker,
206
+ role: "combobox",
207
+ changeEvent: "change",
208
+ };
209
+ };
210
+
211
+ Self.define();
212
+
213
+ export default Self;
@@ -1,8 +0,0 @@
1
- [
2
- "color-picker",
3
- "color-swatch",
4
- "color-inline",
5
- "channel-slider",
6
- "color-slider",
7
- "color-gamut"
8
- ]
package/lib/README.md DELETED
@@ -1,4 +0,0 @@
1
- # `lib`
2
-
3
- Dependencies from `node_modules` are automatically copied here.
4
- This directory is included in the `.gitignore` file.
@@ -1,21 +0,0 @@
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.
@@ -1,3 +0,0 @@
1
- {
2
- "layout": "home"
3
- }
@@ -1,257 +0,0 @@
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>
@@ -1,21 +0,0 @@
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.
@@ -1,3 +0,0 @@
1
- {
2
- "layout": "home"
3
- }