color-elements 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/README.md +49 -12
  2. package/_build/copy-config.js +11 -1
  3. package/_build/copy-config.json +2 -2
  4. package/_build/eleventy.js +27 -1
  5. package/_build/filters-extra.js +3 -0
  6. package/_includes/component.njk +69 -0
  7. package/_includes/partials/_nav-links.njk +19 -0
  8. package/_redirects +9 -2
  9. package/assets/css/style.css +78 -1
  10. package/assets/js/index.js +11 -10
  11. package/data/components.json +12 -0
  12. package/debug.html +447 -0
  13. package/eslint.config.js +316 -0
  14. package/index.js +10 -4
  15. package/logo.svg +22 -44
  16. package/package.json +12 -5
  17. package/src/channel-picker/README.md +103 -0
  18. package/src/channel-picker/channel-picker.css +31 -0
  19. package/src/channel-picker/channel-picker.js +168 -0
  20. package/src/channel-picker/channel-picker.webp +0 -0
  21. package/src/channel-slider/README.md +165 -0
  22. package/src/channel-slider/channel-slider.css +61 -0
  23. package/src/channel-slider/channel-slider.js +287 -0
  24. package/src/channel-slider/channel-slider.webp +0 -0
  25. package/src/color-chart/README.md +129 -0
  26. package/src/color-chart/color-chart-global.css +97 -0
  27. package/src/color-chart/color-chart.css +112 -0
  28. package/src/color-chart/color-chart.js +441 -0
  29. package/src/color-chart/color-chart.webp +0 -0
  30. package/src/color-inline/README.md +72 -0
  31. package/{color-swatch/color-swatch.css → src/color-inline/color-inline.css} +11 -4
  32. package/src/color-inline/color-inline.js +85 -0
  33. package/src/color-inline/color-inline.webp +0 -0
  34. package/src/color-inline/style.css +14 -0
  35. package/src/color-picker/README.md +150 -0
  36. package/src/color-picker/color-picker.css +35 -0
  37. package/src/color-picker/color-picker.js +251 -0
  38. package/src/color-picker/color-picker.webp +0 -0
  39. package/src/color-scale/README.md +75 -0
  40. package/src/color-scale/color-scale.css +40 -0
  41. package/src/color-scale/color-scale.js +164 -0
  42. package/src/color-scale/color-scale.webp +0 -0
  43. package/src/color-slider/README.md +220 -0
  44. package/src/color-slider/color-slider.css +174 -0
  45. package/src/color-slider/color-slider.js +320 -0
  46. package/src/color-slider/color-slider.webp +0 -0
  47. package/src/color-swatch/README.md +359 -0
  48. package/src/color-swatch/color-swatch.css +230 -0
  49. package/src/color-swatch/color-swatch.js +252 -0
  50. package/src/color-swatch/color-swatch.webp +0 -0
  51. package/src/common/color-element.js +86 -0
  52. package/src/common/dom.js +61 -0
  53. package/src/common/util.js +55 -0
  54. package/src/gamut-badge/README.md +145 -0
  55. package/src/gamut-badge/gamut-badge.css +78 -0
  56. package/src/gamut-badge/gamut-badge.js +121 -0
  57. package/src/gamut-badge/gamut-badge.webp +0 -0
  58. package/src/index.js.njk +7 -0
  59. package/src/space-picker/README.md +121 -0
  60. package/src/space-picker/space-picker.css +23 -0
  61. package/src/space-picker/space-picker.js +213 -0
  62. package/src/space-picker/space-picker.webp +0 -0
  63. package/src/src.json +3 -0
  64. package/_data/eleventyComputed.11tydata.js +0 -29
  65. package/color-gamut/README.md +0 -75
  66. package/color-gamut/color-gamut.js +0 -172
  67. package/color-gamut/style.css +0 -32
  68. package/color-slider/README.md +0 -84
  69. package/color-slider/color-slider.js +0 -79
  70. package/color-slider/style.css +0 -65
  71. package/color-swatch/color-swatch.js +0 -79
  72. package/color-swatch/index.njk +0 -40
  73. package/common/attributes.js +0 -68
  74. package/common/color.js +0 -10
  75. package/css-color/css-color.js +0 -256
  76. package/css-color/index.njk +0 -43
  77. package/css-color/style.css +0 -67
  78. package/lib/README.md +0 -4
  79. package/lib/colorjs.io/LICENSE +0 -21
  80. package/lib/colorjs.io/README.json +0 -3
  81. package/lib/colorjs.io/README.md +0 -257
  82. package/lib/colorjs.io/colorjs.io/LICENSE +0 -21
  83. package/lib/colorjs.io/colorjs.io/README.json +0 -3
  84. package/lib/colorjs.io/colorjs.io/README.md +0 -257
  85. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs +0 -5437
  86. package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs.map +0 -1
  87. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  88. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  89. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  90. package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  91. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs +0 -2
  92. package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  93. package/lib/colorjs.io/colorjs.io/dist/color.cjs +0 -5759
  94. package/lib/colorjs.io/colorjs.io/dist/color.cjs.map +0 -1
  95. package/lib/colorjs.io/colorjs.io/dist/color.global.js +0 -5760
  96. package/lib/colorjs.io/colorjs.io/dist/color.global.js.map +0 -1
  97. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js +0 -7400
  98. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js.map +0 -1
  99. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js +0 -2
  100. package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  101. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js +0 -2
  102. package/lib/colorjs.io/colorjs.io/dist/color.global.min.js.map +0 -1
  103. package/lib/colorjs.io/colorjs.io/dist/color.js +0 -5755
  104. package/lib/colorjs.io/colorjs.io/dist/color.js.map +0 -1
  105. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs +0 -7399
  106. package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs.map +0 -1
  107. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js +0 -7395
  108. package/lib/colorjs.io/colorjs.io/dist/color.legacy.js.map +0 -1
  109. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs +0 -2
  110. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  111. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js +0 -2
  112. package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js.map +0 -1
  113. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs +0 -2
  114. package/lib/colorjs.io/colorjs.io/dist/color.min.cjs.map +0 -1
  115. package/lib/colorjs.io/colorjs.io/dist/color.min.js +0 -2
  116. package/lib/colorjs.io/colorjs.io/dist/color.min.js.map +0 -1
  117. package/lib/colorjs.io/colorjs.io/package.json +0 -113
  118. package/lib/colorjs.io/colorjs.io/src/CATs.js +0 -131
  119. package/lib/colorjs.io/colorjs.io/src/adapt.js +0 -62
  120. package/lib/colorjs.io/colorjs.io/src/angles.js +0 -44
  121. package/lib/colorjs.io/colorjs.io/src/chromaticity.js +0 -33
  122. package/lib/colorjs.io/colorjs.io/src/clone.js +0 -7
  123. package/lib/colorjs.io/colorjs.io/src/color.js +0 -201
  124. package/lib/colorjs.io/colorjs.io/src/contrast/APCA.js +0 -102
  125. package/lib/colorjs.io/colorjs.io/src/contrast/Lstar.js +0 -17
  126. package/lib/colorjs.io/colorjs.io/src/contrast/Michelson.js +0 -22
  127. package/lib/colorjs.io/colorjs.io/src/contrast/WCAG21.js +0 -20
  128. package/lib/colorjs.io/colorjs.io/src/contrast/Weber.js +0 -27
  129. package/lib/colorjs.io/colorjs.io/src/contrast/deltaPhi.js +0 -25
  130. package/lib/colorjs.io/colorjs.io/src/contrast/index.js +0 -6
  131. package/lib/colorjs.io/colorjs.io/src/contrast.js +0 -28
  132. package/lib/colorjs.io/colorjs.io/src/defaults.js +0 -12
  133. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  134. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE76.js +0 -7
  135. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  136. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  137. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  138. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  139. package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  140. package/lib/colorjs.io/colorjs.io/src/deltaE/index.js +0 -27
  141. package/lib/colorjs.io/colorjs.io/src/deltaE.js +0 -19
  142. package/lib/colorjs.io/colorjs.io/src/display.js +0 -83
  143. package/lib/colorjs.io/colorjs.io/src/distance.js +0 -21
  144. package/lib/colorjs.io/colorjs.io/src/equals.js +0 -10
  145. package/lib/colorjs.io/colorjs.io/src/get.js +0 -11
  146. package/lib/colorjs.io/colorjs.io/src/getAll.js +0 -20
  147. package/lib/colorjs.io/colorjs.io/src/getColor.js +0 -36
  148. package/lib/colorjs.io/colorjs.io/src/hooks.js +0 -37
  149. package/lib/colorjs.io/colorjs.io/src/inGamut.js +0 -25
  150. package/lib/colorjs.io/colorjs.io/src/index-fn.js +0 -28
  151. package/lib/colorjs.io/colorjs.io/src/index.js +0 -38
  152. package/lib/colorjs.io/colorjs.io/src/interpolation.js +0 -222
  153. package/lib/colorjs.io/colorjs.io/src/keywords.js +0 -158
  154. package/lib/colorjs.io/colorjs.io/src/luminance.js +0 -27
  155. package/lib/colorjs.io/colorjs.io/src/multiply-matrices.js +0 -44
  156. package/lib/colorjs.io/colorjs.io/src/parse.js +0 -198
  157. package/lib/colorjs.io/colorjs.io/src/rgbspace.js +0 -64
  158. package/lib/colorjs.io/colorjs.io/src/serialize.js +0 -86
  159. package/lib/colorjs.io/colorjs.io/src/set.js +0 -33
  160. package/lib/colorjs.io/colorjs.io/src/setAll.js +0 -12
  161. package/lib/colorjs.io/colorjs.io/src/space-accessors.js +0 -86
  162. package/lib/colorjs.io/colorjs.io/src/space.js +0 -440
  163. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  164. package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb.js +0 -11
  165. package/lib/colorjs.io/colorjs.io/src/spaces/acescc.js +0 -76
  166. package/lib/colorjs.io/colorjs.io/src/spaces/acescg.js +0 -54
  167. package/lib/colorjs.io/colorjs.io/src/spaces/cam16.js +0 -362
  168. package/lib/colorjs.io/colorjs.io/src/spaces/hct.js +0 -157
  169. package/lib/colorjs.io/colorjs.io/src/spaces/hpluv.js +0 -130
  170. package/lib/colorjs.io/colorjs.io/src/spaces/hsl.js +0 -91
  171. package/lib/colorjs.io/colorjs.io/src/spaces/hsluv.js +0 -162
  172. package/lib/colorjs.io/colorjs.io/src/spaces/hsv.js +0 -65
  173. package/lib/colorjs.io/colorjs.io/src/spaces/hwb.js +0 -58
  174. package/lib/colorjs.io/colorjs.io/src/spaces/ictcp.js +0 -133
  175. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  176. package/lib/colorjs.io/colorjs.io/src/spaces/index-fn.js +0 -29
  177. package/lib/colorjs.io/colorjs.io/src/spaces/index.js +0 -8
  178. package/lib/colorjs.io/colorjs.io/src/spaces/jzazbz.js +0 -118
  179. package/lib/colorjs.io/colorjs.io/src/spaces/jzczhz.js +0 -53
  180. package/lib/colorjs.io/colorjs.io/src/spaces/lab-d65.js +0 -74
  181. package/lib/colorjs.io/colorjs.io/src/spaces/lab.js +0 -74
  182. package/lib/colorjs.io/colorjs.io/src/spaces/lch.js +0 -67
  183. package/lib/colorjs.io/colorjs.io/src/spaces/lchuv.js +0 -68
  184. package/lib/colorjs.io/colorjs.io/src/spaces/luv.js +0 -85
  185. package/lib/colorjs.io/colorjs.io/src/spaces/oklab.js +0 -74
  186. package/lib/colorjs.io/colorjs.io/src/spaces/oklch.js +0 -68
  187. package/lib/colorjs.io/colorjs.io/src/spaces/p3-linear.js +0 -22
  188. package/lib/colorjs.io/colorjs.io/src/spaces/p3.js +0 -13
  189. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  190. package/lib/colorjs.io/colorjs.io/src/spaces/prophoto.js +0 -19
  191. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  192. package/lib/colorjs.io/colorjs.io/src/spaces/rec2020.js +0 -31
  193. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  194. package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  195. package/lib/colorjs.io/colorjs.io/src/spaces/srgb-linear.js +0 -30
  196. package/lib/colorjs.io/colorjs.io/src/spaces/srgb.js +0 -127
  197. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  198. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d50.js +0 -12
  199. package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d65.js +0 -18
  200. package/lib/colorjs.io/colorjs.io/src/to.js +0 -26
  201. package/lib/colorjs.io/colorjs.io/src/toGamut.js +0 -310
  202. package/lib/colorjs.io/colorjs.io/src/util.js +0 -254
  203. package/lib/colorjs.io/colorjs.io/src/variations.js +0 -14
  204. package/lib/colorjs.io/colorjs.io/types/index.d.cts +0 -4
  205. package/lib/colorjs.io/colorjs.io/types/index.d.ts +0 -42
  206. package/lib/colorjs.io/colorjs.io/types/src/CATs.d.ts +0 -13
  207. package/lib/colorjs.io/colorjs.io/types/src/adapt.d.ts +0 -12
  208. package/lib/colorjs.io/colorjs.io/types/src/angles.d.ts +0 -7
  209. package/lib/colorjs.io/colorjs.io/types/src/chromaticity.d.ts +0 -7
  210. package/lib/colorjs.io/colorjs.io/types/src/clone.d.ts +0 -3
  211. package/lib/colorjs.io/colorjs.io/types/src/color.d.ts +0 -160
  212. package/lib/colorjs.io/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  213. package/lib/colorjs.io/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  214. package/lib/colorjs.io/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  215. package/lib/colorjs.io/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  216. package/lib/colorjs.io/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  217. package/lib/colorjs.io/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  218. package/lib/colorjs.io/colorjs.io/types/src/contrast/index.d.ts +0 -11
  219. package/lib/colorjs.io/colorjs.io/types/src/contrast.d.ts +0 -12
  220. package/lib/colorjs.io/colorjs.io/types/src/defaults.d.ts +0 -2
  221. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  222. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  223. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  224. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  225. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  226. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  227. package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  228. package/lib/colorjs.io/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  229. package/lib/colorjs.io/colorjs.io/types/src/deltaE.d.ts +0 -12
  230. package/lib/colorjs.io/colorjs.io/types/src/display.d.ts +0 -17
  231. package/lib/colorjs.io/colorjs.io/types/src/distance.d.ts +0 -8
  232. package/lib/colorjs.io/colorjs.io/types/src/equals.d.ts +0 -3
  233. package/lib/colorjs.io/colorjs.io/types/src/get.d.ts +0 -4
  234. package/lib/colorjs.io/colorjs.io/types/src/getAll.d.ts +0 -7
  235. package/lib/colorjs.io/colorjs.io/types/src/getColor.d.ts +0 -4
  236. package/lib/colorjs.io/colorjs.io/types/src/hooks.d.ts +0 -52
  237. package/lib/colorjs.io/colorjs.io/types/src/inGamut.d.ts +0 -8
  238. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.cts +0 -1
  239. package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.ts +0 -63
  240. package/lib/colorjs.io/colorjs.io/types/src/index.d.ts +0 -125
  241. package/lib/colorjs.io/colorjs.io/types/src/interpolation.d.ts +0 -77
  242. package/lib/colorjs.io/colorjs.io/types/src/keywords.d.ts +0 -2
  243. package/lib/colorjs.io/colorjs.io/types/src/luminance.d.ts +0 -10
  244. package/lib/colorjs.io/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  245. package/lib/colorjs.io/colorjs.io/types/src/parse.d.ts +0 -16
  246. package/lib/colorjs.io/colorjs.io/types/src/rgbspace.d.ts +0 -10
  247. package/lib/colorjs.io/colorjs.io/types/src/serialize.d.ts +0 -13
  248. package/lib/colorjs.io/colorjs.io/types/src/set.d.ts +0 -18
  249. package/lib/colorjs.io/colorjs.io/types/src/setAll.d.ts +0 -14
  250. package/lib/colorjs.io/colorjs.io/types/src/space-accessors.d.ts +0 -1
  251. package/lib/colorjs.io/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  252. package/lib/colorjs.io/colorjs.io/types/src/space.d.ts +0 -143
  253. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  254. package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  255. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  256. package/lib/colorjs.io/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  257. package/lib/colorjs.io/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  258. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  259. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  260. package/lib/colorjs.io/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  261. package/lib/colorjs.io/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  262. package/lib/colorjs.io/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  263. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  264. package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  265. package/lib/colorjs.io/colorjs.io/types/src/spaces/index.d.ts +0 -4
  266. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  267. package/lib/colorjs.io/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  268. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  269. package/lib/colorjs.io/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  270. package/lib/colorjs.io/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  271. package/lib/colorjs.io/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  272. package/lib/colorjs.io/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  273. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  274. package/lib/colorjs.io/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  275. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  276. package/lib/colorjs.io/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  277. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  278. package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  279. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  280. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  281. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  282. package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  283. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  284. package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  285. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  286. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  287. package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  288. package/lib/colorjs.io/colorjs.io/types/src/to.d.ts +0 -14
  289. package/lib/colorjs.io/colorjs.io/types/src/toGamut.d.ts +0 -45
  290. package/lib/colorjs.io/colorjs.io/types/src/util.d.ts +0 -58
  291. package/lib/colorjs.io/colorjs.io/types/src/variations.d.ts +0 -5
  292. package/lib/colorjs.io/dist/color-fn.cjs +0 -5437
  293. package/lib/colorjs.io/dist/color-fn.cjs.map +0 -1
  294. package/lib/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
  295. package/lib/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
  296. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
  297. package/lib/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
  298. package/lib/colorjs.io/dist/color-fn.min.cjs +0 -2
  299. package/lib/colorjs.io/dist/color-fn.min.cjs.map +0 -1
  300. package/lib/colorjs.io/dist/color.cjs +0 -5759
  301. package/lib/colorjs.io/dist/color.cjs.map +0 -1
  302. package/lib/colorjs.io/dist/color.global.js +0 -5760
  303. package/lib/colorjs.io/dist/color.global.js.map +0 -1
  304. package/lib/colorjs.io/dist/color.global.legacy.js +0 -7400
  305. package/lib/colorjs.io/dist/color.global.legacy.js.map +0 -1
  306. package/lib/colorjs.io/dist/color.global.legacy.min.js +0 -2
  307. package/lib/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
  308. package/lib/colorjs.io/dist/color.global.min.js +0 -2
  309. package/lib/colorjs.io/dist/color.global.min.js.map +0 -1
  310. package/lib/colorjs.io/dist/color.js +0 -5755
  311. package/lib/colorjs.io/dist/color.js.map +0 -1
  312. package/lib/colorjs.io/dist/color.legacy.cjs +0 -7399
  313. package/lib/colorjs.io/dist/color.legacy.cjs.map +0 -1
  314. package/lib/colorjs.io/dist/color.legacy.js +0 -7395
  315. package/lib/colorjs.io/dist/color.legacy.js.map +0 -1
  316. package/lib/colorjs.io/dist/color.legacy.min.cjs +0 -2
  317. package/lib/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
  318. package/lib/colorjs.io/dist/color.legacy.min.js +0 -2
  319. package/lib/colorjs.io/dist/color.legacy.min.js.map +0 -1
  320. package/lib/colorjs.io/dist/color.min.cjs +0 -2
  321. package/lib/colorjs.io/dist/color.min.cjs.map +0 -1
  322. package/lib/colorjs.io/dist/color.min.js +0 -2
  323. package/lib/colorjs.io/dist/color.min.js.map +0 -1
  324. package/lib/colorjs.io/package.json +0 -113
  325. package/lib/colorjs.io/src/CATs.js +0 -131
  326. package/lib/colorjs.io/src/adapt.js +0 -62
  327. package/lib/colorjs.io/src/angles.js +0 -44
  328. package/lib/colorjs.io/src/chromaticity.js +0 -33
  329. package/lib/colorjs.io/src/clone.js +0 -7
  330. package/lib/colorjs.io/src/color.js +0 -201
  331. package/lib/colorjs.io/src/contrast/APCA.js +0 -102
  332. package/lib/colorjs.io/src/contrast/Lstar.js +0 -17
  333. package/lib/colorjs.io/src/contrast/Michelson.js +0 -22
  334. package/lib/colorjs.io/src/contrast/WCAG21.js +0 -20
  335. package/lib/colorjs.io/src/contrast/Weber.js +0 -27
  336. package/lib/colorjs.io/src/contrast/deltaPhi.js +0 -25
  337. package/lib/colorjs.io/src/contrast/index.js +0 -6
  338. package/lib/colorjs.io/src/contrast.js +0 -28
  339. package/lib/colorjs.io/src/defaults.js +0 -12
  340. package/lib/colorjs.io/src/deltaE/deltaE2000.js +0 -179
  341. package/lib/colorjs.io/src/deltaE/deltaE76.js +0 -7
  342. package/lib/colorjs.io/src/deltaE/deltaECMC.js +0 -114
  343. package/lib/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
  344. package/lib/colorjs.io/src/deltaE/deltaEITP.js +0 -24
  345. package/lib/colorjs.io/src/deltaE/deltaEJz.js +0 -43
  346. package/lib/colorjs.io/src/deltaE/deltaEOK.js +0 -19
  347. package/lib/colorjs.io/src/deltaE/index.js +0 -27
  348. package/lib/colorjs.io/src/deltaE.js +0 -19
  349. package/lib/colorjs.io/src/display.js +0 -83
  350. package/lib/colorjs.io/src/distance.js +0 -21
  351. package/lib/colorjs.io/src/equals.js +0 -10
  352. package/lib/colorjs.io/src/get.js +0 -11
  353. package/lib/colorjs.io/src/getAll.js +0 -20
  354. package/lib/colorjs.io/src/getColor.js +0 -36
  355. package/lib/colorjs.io/src/hooks.js +0 -37
  356. package/lib/colorjs.io/src/inGamut.js +0 -25
  357. package/lib/colorjs.io/src/index-fn.js +0 -28
  358. package/lib/colorjs.io/src/index.js +0 -38
  359. package/lib/colorjs.io/src/interpolation.js +0 -222
  360. package/lib/colorjs.io/src/keywords.js +0 -158
  361. package/lib/colorjs.io/src/luminance.js +0 -27
  362. package/lib/colorjs.io/src/multiply-matrices.js +0 -44
  363. package/lib/colorjs.io/src/parse.js +0 -198
  364. package/lib/colorjs.io/src/rgbspace.js +0 -64
  365. package/lib/colorjs.io/src/serialize.js +0 -86
  366. package/lib/colorjs.io/src/set.js +0 -33
  367. package/lib/colorjs.io/src/setAll.js +0 -12
  368. package/lib/colorjs.io/src/space-accessors.js +0 -86
  369. package/lib/colorjs.io/src/space.js +0 -440
  370. package/lib/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
  371. package/lib/colorjs.io/src/spaces/a98rgb.js +0 -11
  372. package/lib/colorjs.io/src/spaces/acescc.js +0 -76
  373. package/lib/colorjs.io/src/spaces/acescg.js +0 -54
  374. package/lib/colorjs.io/src/spaces/cam16.js +0 -362
  375. package/lib/colorjs.io/src/spaces/hct.js +0 -157
  376. package/lib/colorjs.io/src/spaces/hpluv.js +0 -130
  377. package/lib/colorjs.io/src/spaces/hsl.js +0 -91
  378. package/lib/colorjs.io/src/spaces/hsluv.js +0 -162
  379. package/lib/colorjs.io/src/spaces/hsv.js +0 -65
  380. package/lib/colorjs.io/src/spaces/hwb.js +0 -58
  381. package/lib/colorjs.io/src/spaces/ictcp.js +0 -133
  382. package/lib/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
  383. package/lib/colorjs.io/src/spaces/index-fn.js +0 -29
  384. package/lib/colorjs.io/src/spaces/index.js +0 -8
  385. package/lib/colorjs.io/src/spaces/jzazbz.js +0 -118
  386. package/lib/colorjs.io/src/spaces/jzczhz.js +0 -53
  387. package/lib/colorjs.io/src/spaces/lab-d65.js +0 -74
  388. package/lib/colorjs.io/src/spaces/lab.js +0 -74
  389. package/lib/colorjs.io/src/spaces/lch.js +0 -67
  390. package/lib/colorjs.io/src/spaces/lchuv.js +0 -68
  391. package/lib/colorjs.io/src/spaces/luv.js +0 -85
  392. package/lib/colorjs.io/src/spaces/oklab.js +0 -74
  393. package/lib/colorjs.io/src/spaces/oklch.js +0 -68
  394. package/lib/colorjs.io/src/spaces/p3-linear.js +0 -22
  395. package/lib/colorjs.io/src/spaces/p3.js +0 -13
  396. package/lib/colorjs.io/src/spaces/prophoto-linear.js +0 -28
  397. package/lib/colorjs.io/src/spaces/prophoto.js +0 -19
  398. package/lib/colorjs.io/src/spaces/rec2020-linear.js +0 -27
  399. package/lib/colorjs.io/src/spaces/rec2020.js +0 -31
  400. package/lib/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
  401. package/lib/colorjs.io/src/spaces/rec2100-pq.js +0 -37
  402. package/lib/colorjs.io/src/spaces/srgb-linear.js +0 -30
  403. package/lib/colorjs.io/src/spaces/srgb.js +0 -127
  404. package/lib/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
  405. package/lib/colorjs.io/src/spaces/xyz-d50.js +0 -12
  406. package/lib/colorjs.io/src/spaces/xyz-d65.js +0 -18
  407. package/lib/colorjs.io/src/to.js +0 -26
  408. package/lib/colorjs.io/src/toGamut.js +0 -310
  409. package/lib/colorjs.io/src/util.js +0 -254
  410. package/lib/colorjs.io/src/variations.js +0 -14
  411. package/lib/colorjs.io/types/index.d.cts +0 -4
  412. package/lib/colorjs.io/types/index.d.ts +0 -42
  413. package/lib/colorjs.io/types/src/CATs.d.ts +0 -13
  414. package/lib/colorjs.io/types/src/adapt.d.ts +0 -12
  415. package/lib/colorjs.io/types/src/angles.d.ts +0 -7
  416. package/lib/colorjs.io/types/src/chromaticity.d.ts +0 -7
  417. package/lib/colorjs.io/types/src/clone.d.ts +0 -3
  418. package/lib/colorjs.io/types/src/color.d.ts +0 -160
  419. package/lib/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
  420. package/lib/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
  421. package/lib/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
  422. package/lib/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
  423. package/lib/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
  424. package/lib/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
  425. package/lib/colorjs.io/types/src/contrast/index.d.ts +0 -11
  426. package/lib/colorjs.io/types/src/contrast.d.ts +0 -12
  427. package/lib/colorjs.io/types/src/defaults.d.ts +0 -2
  428. package/lib/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
  429. package/lib/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
  430. package/lib/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
  431. package/lib/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
  432. package/lib/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
  433. package/lib/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
  434. package/lib/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
  435. package/lib/colorjs.io/types/src/deltaE/index.d.ts +0 -14
  436. package/lib/colorjs.io/types/src/deltaE.d.ts +0 -12
  437. package/lib/colorjs.io/types/src/display.d.ts +0 -17
  438. package/lib/colorjs.io/types/src/distance.d.ts +0 -8
  439. package/lib/colorjs.io/types/src/equals.d.ts +0 -3
  440. package/lib/colorjs.io/types/src/get.d.ts +0 -4
  441. package/lib/colorjs.io/types/src/getAll.d.ts +0 -7
  442. package/lib/colorjs.io/types/src/getColor.d.ts +0 -4
  443. package/lib/colorjs.io/types/src/hooks.d.ts +0 -52
  444. package/lib/colorjs.io/types/src/inGamut.d.ts +0 -8
  445. package/lib/colorjs.io/types/src/index-fn.d.cts +0 -1
  446. package/lib/colorjs.io/types/src/index-fn.d.ts +0 -63
  447. package/lib/colorjs.io/types/src/index.d.ts +0 -125
  448. package/lib/colorjs.io/types/src/interpolation.d.ts +0 -77
  449. package/lib/colorjs.io/types/src/keywords.d.ts +0 -2
  450. package/lib/colorjs.io/types/src/luminance.d.ts +0 -10
  451. package/lib/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
  452. package/lib/colorjs.io/types/src/parse.d.ts +0 -16
  453. package/lib/colorjs.io/types/src/rgbspace.d.ts +0 -10
  454. package/lib/colorjs.io/types/src/serialize.d.ts +0 -13
  455. package/lib/colorjs.io/types/src/set.d.ts +0 -18
  456. package/lib/colorjs.io/types/src/setAll.d.ts +0 -14
  457. package/lib/colorjs.io/types/src/space-accessors.d.ts +0 -1
  458. package/lib/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
  459. package/lib/colorjs.io/types/src/space.d.ts +0 -143
  460. package/lib/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
  461. package/lib/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
  462. package/lib/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
  463. package/lib/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
  464. package/lib/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
  465. package/lib/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
  466. package/lib/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
  467. package/lib/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
  468. package/lib/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
  469. package/lib/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
  470. package/lib/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
  471. package/lib/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
  472. package/lib/colorjs.io/types/src/spaces/index.d.ts +0 -4
  473. package/lib/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
  474. package/lib/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
  475. package/lib/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
  476. package/lib/colorjs.io/types/src/spaces/lab.d.ts +0 -3
  477. package/lib/colorjs.io/types/src/spaces/lch.d.ts +0 -3
  478. package/lib/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
  479. package/lib/colorjs.io/types/src/spaces/luv.d.ts +0 -3
  480. package/lib/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
  481. package/lib/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
  482. package/lib/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
  483. package/lib/colorjs.io/types/src/spaces/p3.d.ts +0 -3
  484. package/lib/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
  485. package/lib/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
  486. package/lib/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
  487. package/lib/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
  488. package/lib/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
  489. package/lib/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
  490. package/lib/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
  491. package/lib/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
  492. package/lib/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
  493. package/lib/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
  494. package/lib/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
  495. package/lib/colorjs.io/types/src/to.d.ts +0 -14
  496. package/lib/colorjs.io/types/src/toGamut.d.ts +0 -45
  497. package/lib/colorjs.io/types/src/util.d.ts +0 -58
  498. package/lib/colorjs.io/types/src/variations.d.ts +0 -5
@@ -0,0 +1,129 @@
1
+ # `<color-chart>`
2
+
3
+ Display lists of colors as a scatterplot or line chart.
4
+
5
+ ## Features
6
+
7
+ - Plot any coordinate, in any color space
8
+
9
+ ## Examples
10
+
11
+ ### Basic usage
12
+
13
+ Plotting a single color scale:
14
+
15
+ ```html
16
+ <color-chart y="oklch.l">
17
+ <color-scale colors="#e3f2fd, #bbdefb, #90caf9, #64b5f6, #42a5f5, #2196f3, #1e88e5, #1976d2, #1565c0, #0d47a1"></color-scale>
18
+ </color-chart>
19
+ ```
20
+
21
+ By default, the other coordinate would be the index of the color in the list, but you can specify it explicitly:
22
+
23
+ ```html
24
+ <color-chart y="oklch.l">
25
+ <color-scale colors="50: #e3f2fd, 100: #bbdefb, 200: #90caf9, 300: #64b5f6, 400: #42a5f5, 500: #2196f3, 600: #1e88e5, 700: #1976d2, 800: #1565c0, 900: #0d47a1"></color-scale>
26
+ </color-chart>
27
+ ```
28
+
29
+ You can also specify a whole label, and if it contains a number, the number will become the X coordinate:
30
+
31
+ ```html
32
+ <color-chart y="oklch.c">
33
+ <color-scale colors="Red 50: #fef2f2, Red 100: #fee2e2, Red 200: #fecaca, Red 300: #fca5a5, Red 400: #f87171, Red 500: #ef4444, Red 600: #dc2626, Red 700: #b91c1c, Red 800: #991b1b, Red 900: #7f1d1d, Red 950: #450a0a"></color-scale>
34
+ <color-scale colors="Orange 50: #fff7ed, Orange 100: #ffedd5, Orange 200: #fed7aa, Orange 300: #fdba74, Orange 400: #fb923c, Orange 500: #f97316, Orange 600: #ea580c, Orange 700: #c2410c, Orange 800: #9a3412, Orange 900: #7c2d12, Orange 950: #431407"></color-scale>
35
+ <color-scale colors="Yellow 50: #fefce8, Yellow 100: #fef9c3, Yellow 200: #fef08a, Yellow 300: #fde047, Yellow 400: #facc15, Yellow 500: #eab308, Yellow 600: #ca8a04, Yellow 700: #a16207, Yellow 800: #854d0e, Yellow 900: #713f12, Yellow 950: #422006"></color-scale>
36
+ </color-chart>
37
+ ```
38
+
39
+ _(Colors courtesy of Tailwind)_
40
+
41
+ ### Plotting hues { #hues}
42
+
43
+ Hues will be shifted as needed to produce a better result:
44
+
45
+ ```html
46
+ <color-chart y="hsl.h">
47
+ <color-scale colors="hsl(5 50% 50%), hsl(355 50% 50%), hsl(10 50% 50%), hsl(-10 50% 50%)"></color-scale>
48
+ </color-chart>
49
+ ```
50
+
51
+ ```html
52
+ <color-chart y="oklch.h">
53
+ <color-scale colors="05: #2c0110, 10: #41031a, 20: #67082e, 30: #890e3f, 40: #ac1450, 50: #e01d6b, 60: #f2638c, 70: #fb8ea8, 80: #ffb4c5, 90: #ffdce3, 95: #ffeef1"></color-scale>
54
+ <color-scale colors="05 (WA) / 05: #26050c, 10 (WA) / 10: #3e0817, 20 (WA) / 20: #630d29, 30 (WA) / 30: #88123b, 40 (WA) / 40: #ab174e, 50 (WA) / 50: #de1d6a, 60 (WA) / 60: #ee669b, 70 (WA) / 70: #f391b9, 80 (WA) / 80: #f7b8d3, 90 (WA) / 90: #fbdeeb, 95 (WA) / 95: #fdeef5"></color-scale>
55
+ </color-chart>
56
+ ```
57
+
58
+ ### The `info` attribute
59
+
60
+ You can use the `info` attribute to show information about the color scale points. Currently, the only type of information supported is color coords (in any color space), but more will be added in the future.
61
+
62
+ The format of this attribute is analogous to the one of [`<color-swatch>`](../color-swatch/#the-info-attribute).
63
+
64
+ ```html
65
+ <color-chart y="oklch.c" info="L: oklch.l, C: oklch.c, H: oklch.h">
66
+ <color-scale colors="50: #eff6ff, 100: #dbeafe, 200: #bfdbfe, 300: #93c5fd, 400: #60a5fa, 500: #3b82f6, 600: #2563eb, 700: #1d4ed8, 800: #1e40af, 900: #1e3a8a, 950: #172554"></color-scale>
67
+ <color-scale colors="50: #ecfeff, 100: #cffafe, 200: #a5f3fc, 300: #67e8f9, 400: #22d3ee, 500: #06b6d4, 600: #0891b2, 700: #0e7490, 800: #155e75, 900: #164e63, 950: #083344"></color-scale>
68
+ <color-scale colors="50: #f0fdfa, 100: #ccfbf1, 200: #99f6e4, 300: #5eead4, 400: #2dd4bf, 500: #14b8a6, 600: #0d9488, 700: #0f766e, 800: #115e59, 900: #134e4a, 950: #042f2e"></color-scale>
69
+ </color-chart>
70
+ ```
71
+
72
+ Reactively changing the Y coordinate:
73
+
74
+ ```html
75
+ <button onclick="this.nextElementSibling.y = 'hwb.w'">
76
+ Switch to “HWB Whiteness”
77
+ </button>
78
+ <color-chart y="oklch.l">
79
+ <color-scale colors="Red 50: #fef2f2, Red 100: #fee2e2, Red 200: #fecaca, Red 300: #fca5a5, Red 400: #f87171, Red 500: #ef4444, Red 600: #dc2626, Red 700: #b91c1c, Red 800: #991b1b, Red 900: #7f1d1d, Red 950: #450a0a"></color-scale>
80
+ <color-scale colors="Orange 50: #fff7ed, Orange 100: #ffedd5, Orange 200: #fed7aa, Orange 300: #fdba74, Orange 400: #fb923c, Orange 500: #f97316, Orange 600: #ea580c, Orange 700: #c2410c, Orange 800: #9a3412, Orange 900: #7c2d12, Orange 950: #431407"></color-scale>
81
+ <color-scale colors="Yellow 50: #fefce8, Yellow 100: #fef9c3, Yellow 200: #fef08a, Yellow 300: #fde047, Yellow 400: #facc15, Yellow 500: #eab308, Yellow 600: #ca8a04, Yellow 700: #a16207, Yellow 800: #854d0e, Yellow 900: #713f12, Yellow 950: #422006"></color-scale>
82
+ </color-chart>
83
+ ```
84
+
85
+ Reactively setting/changing the colors:
86
+ ```html
87
+ <label>Colors:
88
+ <select onchange="this.parentNode.nextElementSibling.firstElementChild.colors = this.value">
89
+ <option selected value="">None</option>
90
+ <option value="Yellow 50: #fefce8, Yellow 100: #fef9c3, Yellow 200: #fef08a, Yellow 300: #fde047, Yellow 400: #facc15, Yellow 500: #eab308, Yellow 600: #ca8a04, Yellow 700: #a16207, Yellow 800: #854d0e, Yellow 900: #713f12, Yellow 950: #422006">Yellow</option>
91
+ <option value="Orange 50: #fff7ed, Orange 100: #ffedd5, Orange 200: #fed7aa, Orange 300: #fdba74, Orange 400: #fb923c, Orange 500: #f97316, Orange 600: #ea580c, Orange 700: #c2410c, Orange 800: #9a3412, Orange 900: #7c2d12, Orange 950: #431407">Orange</option>
92
+ <option value="Red 50: #fef2f2, Red 100: #fee2e2, Red 200: #fecaca, Red 300: #fca5a5, Red 400: #f87171, Red 500: #ef4444, Red 600: #dc2626, Red 700: #b91c1c, Red 800: #991b1b, Red 900: #7f1d1d, Red 950: #450a0a">Red</option>
93
+ </select>
94
+ </label>
95
+ <color-chart y="oklch.l">
96
+ <color-scale></color-scale>
97
+ </color-chart>
98
+ ```
99
+
100
+ ## Reference
101
+
102
+ ### Attributes & Properties
103
+
104
+ | Attribute | Property | Property type | Default value | Description |
105
+ |-----------|----------|---------------|---------------|-------------|
106
+ | `x` | `x` | `string` | `null` | The coord to plot on the X axis, if any |
107
+ | `y` | `y` | `string` | `"oklch.l"` | The coord to plot on the Y axis, if any |
108
+ | `info` | `info` | `string` | - | Comma-separated list of coords of the color point to be shown. |
109
+
110
+ ### Events
111
+
112
+ | Name | Description |
113
+ |------|-------------|
114
+
115
+ ### CSS variables
116
+
117
+ | Name | Type | Description |
118
+ |------|------|-------------|
119
+ | `--color-scale-type` | `discrete` or `normal` | Whether to draw lines between consecutive points. Works on individual color swatches (to prevent drawing a line to the *next* point), entire color scales, or the entire chart. |
120
+
121
+ ### Parts
122
+
123
+ | Name | Description |
124
+ |------|-------------|
125
+ | `color-channel` | The default [`<channel-picker>`](../channel-picker/) element, used if the `color-channel` slot has no slotted elements. |
126
+ | `axis` | The axis line |
127
+ | `ticks` | The container of ticks |
128
+ | `tick` | A tick mark |
129
+ | `label` | A label on the axis |
@@ -0,0 +1,97 @@
1
+ @property --chart-width {
2
+ syntax: '<length-percentage>';
3
+ initial-value: 100%;
4
+ inherits: true;
5
+ }
6
+
7
+ @property --width {
8
+ syntax: "<length>";
9
+ initial-value: 0px;
10
+ inherits: true;
11
+ }
12
+
13
+ @property --height {
14
+ syntax: "<length>";
15
+ initial-value: 0px;
16
+ inherits: true;
17
+ }
18
+
19
+ @property --angle {
20
+ syntax: "<angle>";
21
+ initial-value: 0deg;
22
+ inherits: true;
23
+ }
24
+
25
+ color-chart > color-scale {
26
+ --extent-x: calc(var(--max-x) - var(--min-x));
27
+ --extent-y: calc(var(--max-y) - var(--min-y));
28
+
29
+ &::part(color-swatch) {
30
+ --_point-size: var(--point-size, .6em);
31
+ --_line-width: var(--line-width, .2em);
32
+
33
+ position: absolute;
34
+ top: calc((1 - (var(--y) - var(--min-y)) / (var(--max-y) - var(--min-y))) * 100cqh);
35
+ left: calc( (var(--x) - var(--min-x)) / (var(--max-x) - var(--min-x)) * 100%);
36
+ width: var(--_point-size);
37
+ aspect-ratio: 1;
38
+ border-radius: 50%;
39
+ background: yellow;
40
+ min-block-size: 0;
41
+ translate: -50% -50%;
42
+ transition: 300ms;
43
+ transition-property: width;
44
+ }
45
+
46
+ &::part(color-swatch):hover {
47
+ /* Cannot use CSS transforms here because that also affects the line */
48
+ --_point-size: calc(var(--point-size, .6em) * 1.5);
49
+ z-index: 1;
50
+ }
51
+
52
+ /* Lines */
53
+ @container not style(--color-scale-type: discrete) {
54
+ &::part(color-swatch)::before {
55
+ --delta-x: calc(var(--next-x) - var(--x));
56
+ --delta-y: calc(var(--next-y) - var(--y));
57
+ --delta-y-abs: max(var(--delta-y), -1 * var(--delta-y));
58
+ --delta-y-sign: calc(var(--delta-y) / var(--delta-y-abs));
59
+
60
+ --width: calc( var(--chart-width) * var(--delta-x) / var(--extent-x));
61
+ --height: calc( var(--chart-height) * var(--delta-y-abs) / var(--extent-y));
62
+ --angle: atan2(var(--height), var(--width));
63
+
64
+ content: "";
65
+ position: absolute;
66
+ z-index: 1;
67
+ left: calc(50% - var(--_line-width) / 2);
68
+ top: calc(50% - var(--_line-width) / 2);
69
+ width: calc((var(--width) + var(--_line-width)) / cos(var(--angle)));
70
+ height: var(--_line-width);
71
+ transform-origin: calc(var(--_line-width) / 2) calc(var(--_line-width) / 2);
72
+ /* if delta y is negative, this needs to rotate the other way */
73
+ rotate: calc(-1 * var(--delta-y-sign) * var(--angle));
74
+ background: linear-gradient(to right, var(--color), var(--next-color));
75
+
76
+ /* Don't show points tooltips on hovering the line */
77
+ pointer-events: none;
78
+ }
79
+ }
80
+
81
+ &::part(info) {}
82
+
83
+ &::part(swatch) {
84
+ min-block-size: 0;
85
+ padding: .2em;
86
+ }
87
+
88
+ &::part(gamut) {
89
+ font-size: 40%;
90
+ }
91
+ }
92
+
93
+ color-chart:has(> color-scale:hover) {
94
+ > color-scale:not(:hover) {
95
+ opacity: .4;
96
+ }
97
+ }
@@ -0,0 +1,112 @@
1
+ :host {
2
+ display: grid;
3
+ grid-template-columns: auto 1fr;
4
+ grid-template-rows: auto 1fr auto;
5
+ height: clamp(0em, 20em, 100vh);
6
+ contain: size;
7
+ container-name: chart;
8
+ container-type: size;
9
+ }
10
+
11
+ .axis {
12
+ display: flex;
13
+
14
+ .ticks {
15
+ flex: 1;
16
+ display: grid;
17
+
18
+ > * {
19
+ font-size: 60%;
20
+ line-height: 1;
21
+ }
22
+ }
23
+
24
+ .label {
25
+ text-align: center;
26
+ }
27
+ }
28
+
29
+ [part="color-channel"],
30
+ slot[name="color-channel"]::slotted(*) {
31
+ /* <channel-picker>, or anything acting like one, should occupy the whole row above the chart so as not to mess up with the rest of the layout */
32
+ grid-column: 1 / -1;
33
+ justify-self: start;
34
+
35
+ margin-block: .5em .7em;
36
+ font-size: 130%;
37
+ }
38
+
39
+ #x_axis {
40
+ grid-column: 2;
41
+ grid-row: 3;
42
+
43
+ .ticks {
44
+ grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
45
+
46
+ > * {
47
+ padding-block-start: .5em;
48
+ margin-inline-end: auto;
49
+ translate: -50% 0;
50
+ }
51
+ }
52
+ }
53
+
54
+ #y_axis {
55
+ grid-column: 1;
56
+ grid-row: 2;
57
+
58
+ .ticks {
59
+ align-items: end;
60
+
61
+ > * {
62
+ padding-inline-end: .5em;
63
+ translate: 0 .5lh;
64
+ }
65
+ }
66
+
67
+ .label {
68
+ writing-mode: vertical-lr;
69
+ rotate: .5turn;
70
+ margin-right: .5em;
71
+ }
72
+ }
73
+
74
+ @property --chart-width {
75
+ syntax: '<length-percentage>';
76
+ initial-value: 100%;
77
+ inherits: true;
78
+ }
79
+
80
+ #chart-container {
81
+ container-name: chart;
82
+ container-type: size;
83
+ }
84
+
85
+ #chart {
86
+ overflow: hidden;
87
+
88
+ position: relative;
89
+ border: 1px solid gray;
90
+ min-height: 100%;
91
+ background: linear-gradient(to bottom, hsl(220 10% 50% / 40%) 0 1px, transparent 0) 0 -1px / 100% calc(100% / var(--steps-y, 10)),
92
+ linear-gradient(to right, hsl(220 10% 50% / 30%) 0 1px, transparent 0) -1px 0 / calc(100% / var(--steps-x, 10)) 100%;
93
+
94
+ --chart-width: 100cqw;
95
+ --chart-height: 100cqh;
96
+ --extent-x: calc(var(--max-x) - var(--min-x));
97
+ --extent-y: calc(var(--max-y) - var(--min-y));
98
+ }
99
+
100
+ ::slotted(color-scale) {
101
+ --details-style: compact;
102
+
103
+ /*
104
+ We want color scales to be easy to style: one can hide them, lower their opacity, etc.
105
+ At the same time, we don't want their containers to mess up with other chart parts.
106
+ For example, we don't want color scales to get the hover styles when one moves the cursor to the top left part of the chart,
107
+ where all the color scale containers reside. So, we need to shrink them.
108
+ */
109
+ display: block;
110
+ width: 0;
111
+ height: 0;
112
+ }