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.
- package/README.md +49 -12
- package/_build/copy-config.js +11 -1
- package/_build/copy-config.json +2 -2
- package/_build/eleventy.js +27 -1
- package/_build/filters-extra.js +3 -0
- package/_includes/component.njk +69 -0
- package/_includes/partials/_nav-links.njk +19 -0
- package/_redirects +9 -2
- package/assets/css/style.css +78 -1
- package/assets/js/index.js +11 -10
- package/data/components.json +12 -0
- package/debug.html +447 -0
- package/eslint.config.js +316 -0
- package/index.js +10 -4
- package/logo.svg +22 -44
- package/package.json +12 -5
- package/src/channel-picker/README.md +103 -0
- package/src/channel-picker/channel-picker.css +31 -0
- package/src/channel-picker/channel-picker.js +168 -0
- package/src/channel-picker/channel-picker.webp +0 -0
- package/src/channel-slider/README.md +165 -0
- package/src/channel-slider/channel-slider.css +61 -0
- package/src/channel-slider/channel-slider.js +287 -0
- package/src/channel-slider/channel-slider.webp +0 -0
- package/src/color-chart/README.md +129 -0
- package/src/color-chart/color-chart-global.css +97 -0
- package/src/color-chart/color-chart.css +112 -0
- package/src/color-chart/color-chart.js +441 -0
- package/src/color-chart/color-chart.webp +0 -0
- package/src/color-inline/README.md +72 -0
- package/{color-swatch/color-swatch.css → src/color-inline/color-inline.css} +11 -4
- package/src/color-inline/color-inline.js +85 -0
- package/src/color-inline/color-inline.webp +0 -0
- package/src/color-inline/style.css +14 -0
- package/src/color-picker/README.md +150 -0
- package/src/color-picker/color-picker.css +35 -0
- package/src/color-picker/color-picker.js +251 -0
- package/src/color-picker/color-picker.webp +0 -0
- package/src/color-scale/README.md +75 -0
- package/src/color-scale/color-scale.css +40 -0
- package/src/color-scale/color-scale.js +164 -0
- package/src/color-scale/color-scale.webp +0 -0
- package/src/color-slider/README.md +220 -0
- package/src/color-slider/color-slider.css +174 -0
- package/src/color-slider/color-slider.js +320 -0
- package/src/color-slider/color-slider.webp +0 -0
- package/src/color-swatch/README.md +359 -0
- package/src/color-swatch/color-swatch.css +230 -0
- package/src/color-swatch/color-swatch.js +252 -0
- package/src/color-swatch/color-swatch.webp +0 -0
- package/src/common/color-element.js +86 -0
- package/src/common/dom.js +61 -0
- package/src/common/util.js +55 -0
- package/src/gamut-badge/README.md +145 -0
- package/src/gamut-badge/gamut-badge.css +78 -0
- package/src/gamut-badge/gamut-badge.js +121 -0
- package/src/gamut-badge/gamut-badge.webp +0 -0
- package/src/index.js.njk +7 -0
- package/src/space-picker/README.md +121 -0
- package/src/space-picker/space-picker.css +23 -0
- package/src/space-picker/space-picker.js +213 -0
- package/src/space-picker/space-picker.webp +0 -0
- package/src/src.json +3 -0
- package/_data/eleventyComputed.11tydata.js +0 -29
- package/color-gamut/README.md +0 -75
- package/color-gamut/color-gamut.js +0 -172
- package/color-gamut/style.css +0 -32
- package/color-slider/README.md +0 -84
- package/color-slider/color-slider.js +0 -79
- package/color-slider/style.css +0 -65
- package/color-swatch/color-swatch.js +0 -79
- package/color-swatch/index.njk +0 -40
- package/common/attributes.js +0 -68
- package/common/color.js +0 -10
- package/css-color/css-color.js +0 -256
- package/css-color/index.njk +0 -43
- package/css-color/style.css +0 -67
- package/lib/README.md +0 -4
- package/lib/colorjs.io/LICENSE +0 -21
- package/lib/colorjs.io/README.json +0 -3
- package/lib/colorjs.io/README.md +0 -257
- package/lib/colorjs.io/colorjs.io/LICENSE +0 -21
- package/lib/colorjs.io/colorjs.io/README.json +0 -3
- package/lib/colorjs.io/colorjs.io/README.md +0 -257
- package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs +0 -5437
- package/lib/colorjs.io/colorjs.io/dist/color-fn.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
- package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color-fn.min.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.cjs +0 -5759
- package/lib/colorjs.io/colorjs.io/dist/color.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.global.js +0 -5760
- package/lib/colorjs.io/colorjs.io/dist/color.global.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js +0 -7400
- package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.global.min.js +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color.global.min.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.js +0 -5755
- package/lib/colorjs.io/colorjs.io/dist/color.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs +0 -7399
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.js +0 -7395
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color.legacy.min.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.min.cjs +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color.min.cjs.map +0 -1
- package/lib/colorjs.io/colorjs.io/dist/color.min.js +0 -2
- package/lib/colorjs.io/colorjs.io/dist/color.min.js.map +0 -1
- package/lib/colorjs.io/colorjs.io/package.json +0 -113
- package/lib/colorjs.io/colorjs.io/src/CATs.js +0 -131
- package/lib/colorjs.io/colorjs.io/src/adapt.js +0 -62
- package/lib/colorjs.io/colorjs.io/src/angles.js +0 -44
- package/lib/colorjs.io/colorjs.io/src/chromaticity.js +0 -33
- package/lib/colorjs.io/colorjs.io/src/clone.js +0 -7
- package/lib/colorjs.io/colorjs.io/src/color.js +0 -201
- package/lib/colorjs.io/colorjs.io/src/contrast/APCA.js +0 -102
- package/lib/colorjs.io/colorjs.io/src/contrast/Lstar.js +0 -17
- package/lib/colorjs.io/colorjs.io/src/contrast/Michelson.js +0 -22
- package/lib/colorjs.io/colorjs.io/src/contrast/WCAG21.js +0 -20
- package/lib/colorjs.io/colorjs.io/src/contrast/Weber.js +0 -27
- package/lib/colorjs.io/colorjs.io/src/contrast/deltaPhi.js +0 -25
- package/lib/colorjs.io/colorjs.io/src/contrast/index.js +0 -6
- package/lib/colorjs.io/colorjs.io/src/contrast.js +0 -28
- package/lib/colorjs.io/colorjs.io/src/defaults.js +0 -12
- package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE2000.js +0 -179
- package/lib/colorjs.io/colorjs.io/src/deltaE/deltaE76.js +0 -7
- package/lib/colorjs.io/colorjs.io/src/deltaE/deltaECMC.js +0 -114
- package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
- package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEITP.js +0 -24
- package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEJz.js +0 -43
- package/lib/colorjs.io/colorjs.io/src/deltaE/deltaEOK.js +0 -19
- package/lib/colorjs.io/colorjs.io/src/deltaE/index.js +0 -27
- package/lib/colorjs.io/colorjs.io/src/deltaE.js +0 -19
- package/lib/colorjs.io/colorjs.io/src/display.js +0 -83
- package/lib/colorjs.io/colorjs.io/src/distance.js +0 -21
- package/lib/colorjs.io/colorjs.io/src/equals.js +0 -10
- package/lib/colorjs.io/colorjs.io/src/get.js +0 -11
- package/lib/colorjs.io/colorjs.io/src/getAll.js +0 -20
- package/lib/colorjs.io/colorjs.io/src/getColor.js +0 -36
- package/lib/colorjs.io/colorjs.io/src/hooks.js +0 -37
- package/lib/colorjs.io/colorjs.io/src/inGamut.js +0 -25
- package/lib/colorjs.io/colorjs.io/src/index-fn.js +0 -28
- package/lib/colorjs.io/colorjs.io/src/index.js +0 -38
- package/lib/colorjs.io/colorjs.io/src/interpolation.js +0 -222
- package/lib/colorjs.io/colorjs.io/src/keywords.js +0 -158
- package/lib/colorjs.io/colorjs.io/src/luminance.js +0 -27
- package/lib/colorjs.io/colorjs.io/src/multiply-matrices.js +0 -44
- package/lib/colorjs.io/colorjs.io/src/parse.js +0 -198
- package/lib/colorjs.io/colorjs.io/src/rgbspace.js +0 -64
- package/lib/colorjs.io/colorjs.io/src/serialize.js +0 -86
- package/lib/colorjs.io/colorjs.io/src/set.js +0 -33
- package/lib/colorjs.io/colorjs.io/src/setAll.js +0 -12
- package/lib/colorjs.io/colorjs.io/src/space-accessors.js +0 -86
- package/lib/colorjs.io/colorjs.io/src/space.js +0 -440
- package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
- package/lib/colorjs.io/colorjs.io/src/spaces/a98rgb.js +0 -11
- package/lib/colorjs.io/colorjs.io/src/spaces/acescc.js +0 -76
- package/lib/colorjs.io/colorjs.io/src/spaces/acescg.js +0 -54
- package/lib/colorjs.io/colorjs.io/src/spaces/cam16.js +0 -362
- package/lib/colorjs.io/colorjs.io/src/spaces/hct.js +0 -157
- package/lib/colorjs.io/colorjs.io/src/spaces/hpluv.js +0 -130
- package/lib/colorjs.io/colorjs.io/src/spaces/hsl.js +0 -91
- package/lib/colorjs.io/colorjs.io/src/spaces/hsluv.js +0 -162
- package/lib/colorjs.io/colorjs.io/src/spaces/hsv.js +0 -65
- package/lib/colorjs.io/colorjs.io/src/spaces/hwb.js +0 -58
- package/lib/colorjs.io/colorjs.io/src/spaces/ictcp.js +0 -133
- package/lib/colorjs.io/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
- package/lib/colorjs.io/colorjs.io/src/spaces/index-fn.js +0 -29
- package/lib/colorjs.io/colorjs.io/src/spaces/index.js +0 -8
- package/lib/colorjs.io/colorjs.io/src/spaces/jzazbz.js +0 -118
- package/lib/colorjs.io/colorjs.io/src/spaces/jzczhz.js +0 -53
- package/lib/colorjs.io/colorjs.io/src/spaces/lab-d65.js +0 -74
- package/lib/colorjs.io/colorjs.io/src/spaces/lab.js +0 -74
- package/lib/colorjs.io/colorjs.io/src/spaces/lch.js +0 -67
- package/lib/colorjs.io/colorjs.io/src/spaces/lchuv.js +0 -68
- package/lib/colorjs.io/colorjs.io/src/spaces/luv.js +0 -85
- package/lib/colorjs.io/colorjs.io/src/spaces/oklab.js +0 -74
- package/lib/colorjs.io/colorjs.io/src/spaces/oklch.js +0 -68
- package/lib/colorjs.io/colorjs.io/src/spaces/p3-linear.js +0 -22
- package/lib/colorjs.io/colorjs.io/src/spaces/p3.js +0 -13
- package/lib/colorjs.io/colorjs.io/src/spaces/prophoto-linear.js +0 -28
- package/lib/colorjs.io/colorjs.io/src/spaces/prophoto.js +0 -19
- package/lib/colorjs.io/colorjs.io/src/spaces/rec2020-linear.js +0 -27
- package/lib/colorjs.io/colorjs.io/src/spaces/rec2020.js +0 -31
- package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
- package/lib/colorjs.io/colorjs.io/src/spaces/rec2100-pq.js +0 -37
- package/lib/colorjs.io/colorjs.io/src/spaces/srgb-linear.js +0 -30
- package/lib/colorjs.io/colorjs.io/src/spaces/srgb.js +0 -127
- package/lib/colorjs.io/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
- package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d50.js +0 -12
- package/lib/colorjs.io/colorjs.io/src/spaces/xyz-d65.js +0 -18
- package/lib/colorjs.io/colorjs.io/src/to.js +0 -26
- package/lib/colorjs.io/colorjs.io/src/toGamut.js +0 -310
- package/lib/colorjs.io/colorjs.io/src/util.js +0 -254
- package/lib/colorjs.io/colorjs.io/src/variations.js +0 -14
- package/lib/colorjs.io/colorjs.io/types/index.d.cts +0 -4
- package/lib/colorjs.io/colorjs.io/types/index.d.ts +0 -42
- package/lib/colorjs.io/colorjs.io/types/src/CATs.d.ts +0 -13
- package/lib/colorjs.io/colorjs.io/types/src/adapt.d.ts +0 -12
- package/lib/colorjs.io/colorjs.io/types/src/angles.d.ts +0 -7
- package/lib/colorjs.io/colorjs.io/types/src/chromaticity.d.ts +0 -7
- package/lib/colorjs.io/colorjs.io/types/src/clone.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/color.d.ts +0 -160
- package/lib/colorjs.io/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/contrast/index.d.ts +0 -11
- package/lib/colorjs.io/colorjs.io/types/src/contrast.d.ts +0 -12
- package/lib/colorjs.io/colorjs.io/types/src/defaults.d.ts +0 -2
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
- package/lib/colorjs.io/colorjs.io/types/src/deltaE/index.d.ts +0 -14
- package/lib/colorjs.io/colorjs.io/types/src/deltaE.d.ts +0 -12
- package/lib/colorjs.io/colorjs.io/types/src/display.d.ts +0 -17
- package/lib/colorjs.io/colorjs.io/types/src/distance.d.ts +0 -8
- package/lib/colorjs.io/colorjs.io/types/src/equals.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/get.d.ts +0 -4
- package/lib/colorjs.io/colorjs.io/types/src/getAll.d.ts +0 -7
- package/lib/colorjs.io/colorjs.io/types/src/getColor.d.ts +0 -4
- package/lib/colorjs.io/colorjs.io/types/src/hooks.d.ts +0 -52
- package/lib/colorjs.io/colorjs.io/types/src/inGamut.d.ts +0 -8
- package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.cts +0 -1
- package/lib/colorjs.io/colorjs.io/types/src/index-fn.d.ts +0 -63
- package/lib/colorjs.io/colorjs.io/types/src/index.d.ts +0 -125
- package/lib/colorjs.io/colorjs.io/types/src/interpolation.d.ts +0 -77
- package/lib/colorjs.io/colorjs.io/types/src/keywords.d.ts +0 -2
- package/lib/colorjs.io/colorjs.io/types/src/luminance.d.ts +0 -10
- package/lib/colorjs.io/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
- package/lib/colorjs.io/colorjs.io/types/src/parse.d.ts +0 -16
- package/lib/colorjs.io/colorjs.io/types/src/rgbspace.d.ts +0 -10
- package/lib/colorjs.io/colorjs.io/types/src/serialize.d.ts +0 -13
- package/lib/colorjs.io/colorjs.io/types/src/set.d.ts +0 -18
- package/lib/colorjs.io/colorjs.io/types/src/setAll.d.ts +0 -14
- package/lib/colorjs.io/colorjs.io/types/src/space-accessors.d.ts +0 -1
- package/lib/colorjs.io/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
- package/lib/colorjs.io/colorjs.io/types/src/space.d.ts +0 -143
- package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
- package/lib/colorjs.io/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
- package/lib/colorjs.io/colorjs.io/types/src/spaces/index.d.ts +0 -4
- package/lib/colorjs.io/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/lab.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/lch.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/luv.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/p3.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
- package/lib/colorjs.io/colorjs.io/types/src/to.d.ts +0 -14
- package/lib/colorjs.io/colorjs.io/types/src/toGamut.d.ts +0 -45
- package/lib/colorjs.io/colorjs.io/types/src/util.d.ts +0 -58
- package/lib/colorjs.io/colorjs.io/types/src/variations.d.ts +0 -5
- package/lib/colorjs.io/dist/color-fn.cjs +0 -5437
- package/lib/colorjs.io/dist/color-fn.cjs.map +0 -1
- package/lib/colorjs.io/dist/color-fn.legacy.cjs +0 -7048
- package/lib/colorjs.io/dist/color-fn.legacy.cjs.map +0 -1
- package/lib/colorjs.io/dist/color-fn.legacy.min.cjs +0 -2
- package/lib/colorjs.io/dist/color-fn.legacy.min.cjs.map +0 -1
- package/lib/colorjs.io/dist/color-fn.min.cjs +0 -2
- package/lib/colorjs.io/dist/color-fn.min.cjs.map +0 -1
- package/lib/colorjs.io/dist/color.cjs +0 -5759
- package/lib/colorjs.io/dist/color.cjs.map +0 -1
- package/lib/colorjs.io/dist/color.global.js +0 -5760
- package/lib/colorjs.io/dist/color.global.js.map +0 -1
- package/lib/colorjs.io/dist/color.global.legacy.js +0 -7400
- package/lib/colorjs.io/dist/color.global.legacy.js.map +0 -1
- package/lib/colorjs.io/dist/color.global.legacy.min.js +0 -2
- package/lib/colorjs.io/dist/color.global.legacy.min.js.map +0 -1
- package/lib/colorjs.io/dist/color.global.min.js +0 -2
- package/lib/colorjs.io/dist/color.global.min.js.map +0 -1
- package/lib/colorjs.io/dist/color.js +0 -5755
- package/lib/colorjs.io/dist/color.js.map +0 -1
- package/lib/colorjs.io/dist/color.legacy.cjs +0 -7399
- package/lib/colorjs.io/dist/color.legacy.cjs.map +0 -1
- package/lib/colorjs.io/dist/color.legacy.js +0 -7395
- package/lib/colorjs.io/dist/color.legacy.js.map +0 -1
- package/lib/colorjs.io/dist/color.legacy.min.cjs +0 -2
- package/lib/colorjs.io/dist/color.legacy.min.cjs.map +0 -1
- package/lib/colorjs.io/dist/color.legacy.min.js +0 -2
- package/lib/colorjs.io/dist/color.legacy.min.js.map +0 -1
- package/lib/colorjs.io/dist/color.min.cjs +0 -2
- package/lib/colorjs.io/dist/color.min.cjs.map +0 -1
- package/lib/colorjs.io/dist/color.min.js +0 -2
- package/lib/colorjs.io/dist/color.min.js.map +0 -1
- package/lib/colorjs.io/package.json +0 -113
- package/lib/colorjs.io/src/CATs.js +0 -131
- package/lib/colorjs.io/src/adapt.js +0 -62
- package/lib/colorjs.io/src/angles.js +0 -44
- package/lib/colorjs.io/src/chromaticity.js +0 -33
- package/lib/colorjs.io/src/clone.js +0 -7
- package/lib/colorjs.io/src/color.js +0 -201
- package/lib/colorjs.io/src/contrast/APCA.js +0 -102
- package/lib/colorjs.io/src/contrast/Lstar.js +0 -17
- package/lib/colorjs.io/src/contrast/Michelson.js +0 -22
- package/lib/colorjs.io/src/contrast/WCAG21.js +0 -20
- package/lib/colorjs.io/src/contrast/Weber.js +0 -27
- package/lib/colorjs.io/src/contrast/deltaPhi.js +0 -25
- package/lib/colorjs.io/src/contrast/index.js +0 -6
- package/lib/colorjs.io/src/contrast.js +0 -28
- package/lib/colorjs.io/src/defaults.js +0 -12
- package/lib/colorjs.io/src/deltaE/deltaE2000.js +0 -179
- package/lib/colorjs.io/src/deltaE/deltaE76.js +0 -7
- package/lib/colorjs.io/src/deltaE/deltaECMC.js +0 -114
- package/lib/colorjs.io/src/deltaE/deltaEHCT.js +0 -51
- package/lib/colorjs.io/src/deltaE/deltaEITP.js +0 -24
- package/lib/colorjs.io/src/deltaE/deltaEJz.js +0 -43
- package/lib/colorjs.io/src/deltaE/deltaEOK.js +0 -19
- package/lib/colorjs.io/src/deltaE/index.js +0 -27
- package/lib/colorjs.io/src/deltaE.js +0 -19
- package/lib/colorjs.io/src/display.js +0 -83
- package/lib/colorjs.io/src/distance.js +0 -21
- package/lib/colorjs.io/src/equals.js +0 -10
- package/lib/colorjs.io/src/get.js +0 -11
- package/lib/colorjs.io/src/getAll.js +0 -20
- package/lib/colorjs.io/src/getColor.js +0 -36
- package/lib/colorjs.io/src/hooks.js +0 -37
- package/lib/colorjs.io/src/inGamut.js +0 -25
- package/lib/colorjs.io/src/index-fn.js +0 -28
- package/lib/colorjs.io/src/index.js +0 -38
- package/lib/colorjs.io/src/interpolation.js +0 -222
- package/lib/colorjs.io/src/keywords.js +0 -158
- package/lib/colorjs.io/src/luminance.js +0 -27
- package/lib/colorjs.io/src/multiply-matrices.js +0 -44
- package/lib/colorjs.io/src/parse.js +0 -198
- package/lib/colorjs.io/src/rgbspace.js +0 -64
- package/lib/colorjs.io/src/serialize.js +0 -86
- package/lib/colorjs.io/src/set.js +0 -33
- package/lib/colorjs.io/src/setAll.js +0 -12
- package/lib/colorjs.io/src/space-accessors.js +0 -86
- package/lib/colorjs.io/src/space.js +0 -440
- package/lib/colorjs.io/src/spaces/a98rgb-linear.js +0 -28
- package/lib/colorjs.io/src/spaces/a98rgb.js +0 -11
- package/lib/colorjs.io/src/spaces/acescc.js +0 -76
- package/lib/colorjs.io/src/spaces/acescg.js +0 -54
- package/lib/colorjs.io/src/spaces/cam16.js +0 -362
- package/lib/colorjs.io/src/spaces/hct.js +0 -157
- package/lib/colorjs.io/src/spaces/hpluv.js +0 -130
- package/lib/colorjs.io/src/spaces/hsl.js +0 -91
- package/lib/colorjs.io/src/spaces/hsluv.js +0 -162
- package/lib/colorjs.io/src/spaces/hsv.js +0 -65
- package/lib/colorjs.io/src/spaces/hwb.js +0 -58
- package/lib/colorjs.io/src/spaces/ictcp.js +0 -133
- package/lib/colorjs.io/src/spaces/index-fn-hdr.js +0 -7
- package/lib/colorjs.io/src/spaces/index-fn.js +0 -29
- package/lib/colorjs.io/src/spaces/index.js +0 -8
- package/lib/colorjs.io/src/spaces/jzazbz.js +0 -118
- package/lib/colorjs.io/src/spaces/jzczhz.js +0 -53
- package/lib/colorjs.io/src/spaces/lab-d65.js +0 -74
- package/lib/colorjs.io/src/spaces/lab.js +0 -74
- package/lib/colorjs.io/src/spaces/lch.js +0 -67
- package/lib/colorjs.io/src/spaces/lchuv.js +0 -68
- package/lib/colorjs.io/src/spaces/luv.js +0 -85
- package/lib/colorjs.io/src/spaces/oklab.js +0 -74
- package/lib/colorjs.io/src/spaces/oklch.js +0 -68
- package/lib/colorjs.io/src/spaces/p3-linear.js +0 -22
- package/lib/colorjs.io/src/spaces/p3.js +0 -13
- package/lib/colorjs.io/src/spaces/prophoto-linear.js +0 -28
- package/lib/colorjs.io/src/spaces/prophoto.js +0 -19
- package/lib/colorjs.io/src/spaces/rec2020-linear.js +0 -27
- package/lib/colorjs.io/src/spaces/rec2020.js +0 -31
- package/lib/colorjs.io/src/spaces/rec2100-hlg.js +0 -49
- package/lib/colorjs.io/src/spaces/rec2100-pq.js +0 -37
- package/lib/colorjs.io/src/spaces/srgb-linear.js +0 -30
- package/lib/colorjs.io/src/spaces/srgb.js +0 -127
- package/lib/colorjs.io/src/spaces/xyz-abs-d65.js +0 -40
- package/lib/colorjs.io/src/spaces/xyz-d50.js +0 -12
- package/lib/colorjs.io/src/spaces/xyz-d65.js +0 -18
- package/lib/colorjs.io/src/to.js +0 -26
- package/lib/colorjs.io/src/toGamut.js +0 -310
- package/lib/colorjs.io/src/util.js +0 -254
- package/lib/colorjs.io/src/variations.js +0 -14
- package/lib/colorjs.io/types/index.d.cts +0 -4
- package/lib/colorjs.io/types/index.d.ts +0 -42
- package/lib/colorjs.io/types/src/CATs.d.ts +0 -13
- package/lib/colorjs.io/types/src/adapt.d.ts +0 -12
- package/lib/colorjs.io/types/src/angles.d.ts +0 -7
- package/lib/colorjs.io/types/src/chromaticity.d.ts +0 -7
- package/lib/colorjs.io/types/src/clone.d.ts +0 -3
- package/lib/colorjs.io/types/src/color.d.ts +0 -160
- package/lib/colorjs.io/types/src/contrast/APCA.d.ts +0 -5
- package/lib/colorjs.io/types/src/contrast/Lstar.d.ts +0 -5
- package/lib/colorjs.io/types/src/contrast/Michelson.d.ts +0 -5
- package/lib/colorjs.io/types/src/contrast/WCAG21.d.ts +0 -5
- package/lib/colorjs.io/types/src/contrast/Weber.d.ts +0 -5
- package/lib/colorjs.io/types/src/contrast/deltaPhi.d.ts +0 -5
- package/lib/colorjs.io/types/src/contrast/index.d.ts +0 -11
- package/lib/colorjs.io/types/src/contrast.d.ts +0 -12
- package/lib/colorjs.io/types/src/defaults.d.ts +0 -2
- package/lib/colorjs.io/types/src/deltaE/deltaE2000.d.ts +0 -11
- package/lib/colorjs.io/types/src/deltaE/deltaE76.d.ts +0 -5
- package/lib/colorjs.io/types/src/deltaE/deltaECMC.d.ts +0 -9
- package/lib/colorjs.io/types/src/deltaE/deltaEHCT.d.ts +0 -5
- package/lib/colorjs.io/types/src/deltaE/deltaEITP.d.ts +0 -5
- package/lib/colorjs.io/types/src/deltaE/deltaEJz.d.ts +0 -5
- package/lib/colorjs.io/types/src/deltaE/deltaEOK.d.ts +0 -5
- package/lib/colorjs.io/types/src/deltaE/index.d.ts +0 -14
- package/lib/colorjs.io/types/src/deltaE.d.ts +0 -12
- package/lib/colorjs.io/types/src/display.d.ts +0 -17
- package/lib/colorjs.io/types/src/distance.d.ts +0 -8
- package/lib/colorjs.io/types/src/equals.d.ts +0 -3
- package/lib/colorjs.io/types/src/get.d.ts +0 -4
- package/lib/colorjs.io/types/src/getAll.d.ts +0 -7
- package/lib/colorjs.io/types/src/getColor.d.ts +0 -4
- package/lib/colorjs.io/types/src/hooks.d.ts +0 -52
- package/lib/colorjs.io/types/src/inGamut.d.ts +0 -8
- package/lib/colorjs.io/types/src/index-fn.d.cts +0 -1
- package/lib/colorjs.io/types/src/index-fn.d.ts +0 -63
- package/lib/colorjs.io/types/src/index.d.ts +0 -125
- package/lib/colorjs.io/types/src/interpolation.d.ts +0 -77
- package/lib/colorjs.io/types/src/keywords.d.ts +0 -2
- package/lib/colorjs.io/types/src/luminance.d.ts +0 -10
- package/lib/colorjs.io/types/src/multiply-matrices.d.ts +0 -9
- package/lib/colorjs.io/types/src/parse.d.ts +0 -16
- package/lib/colorjs.io/types/src/rgbspace.d.ts +0 -10
- package/lib/colorjs.io/types/src/serialize.d.ts +0 -13
- package/lib/colorjs.io/types/src/set.d.ts +0 -18
- package/lib/colorjs.io/types/src/setAll.d.ts +0 -14
- package/lib/colorjs.io/types/src/space-accessors.d.ts +0 -1
- package/lib/colorjs.io/types/src/space-coord-accessors.d.ts +0 -69
- package/lib/colorjs.io/types/src/space.d.ts +0 -143
- package/lib/colorjs.io/types/src/spaces/a98rgb-linear.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/a98rgb.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/acescc.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/acescg.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/hpluv.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/hsl.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/hsluv.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/hsv.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/hwb.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/ictcp.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/index-fn-hdr.d.ts +0 -9
- package/lib/colorjs.io/types/src/spaces/index-fn.d.ts +0 -29
- package/lib/colorjs.io/types/src/spaces/index.d.ts +0 -4
- package/lib/colorjs.io/types/src/spaces/jzazbz.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/jzczhz.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/lab-d65.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/lab.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/lch.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/lchuv.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/luv.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/oklab.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/oklch.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/p3-linear.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/p3.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/prophoto-linear.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/prophoto.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/rec2020-linear.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/rec2020.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/rec2100-hlg.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/rec2100-pq.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/srgb-linear.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/srgb.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/xyz-abs-d65.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/xyz-d50.d.ts +0 -3
- package/lib/colorjs.io/types/src/spaces/xyz-d65.d.ts +0 -3
- package/lib/colorjs.io/types/src/to.d.ts +0 -14
- package/lib/colorjs.io/types/src/toGamut.d.ts +0 -45
- package/lib/colorjs.io/types/src/util.d.ts +0 -58
- package/lib/colorjs.io/types/src/variations.d.ts +0 -5
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import Jzazbz from "./jzazbz.js";
|
|
3
|
-
import {constrain as constrainAngle} from "../angles.js";
|
|
4
|
-
|
|
5
|
-
export default new ColorSpace({
|
|
6
|
-
id: "jzczhz",
|
|
7
|
-
name: "JzCzHz",
|
|
8
|
-
coords: {
|
|
9
|
-
jz: {
|
|
10
|
-
refRange: [0, 1],
|
|
11
|
-
name: "Jz",
|
|
12
|
-
},
|
|
13
|
-
cz: {
|
|
14
|
-
refRange: [0, 1],
|
|
15
|
-
name: "Chroma",
|
|
16
|
-
},
|
|
17
|
-
hz: {
|
|
18
|
-
refRange: [0, 360],
|
|
19
|
-
type: "angle",
|
|
20
|
-
name: "Hue",
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
base: Jzazbz,
|
|
25
|
-
fromBase (jzazbz) {
|
|
26
|
-
// Convert to polar form
|
|
27
|
-
let [Jz, az, bz] = jzazbz;
|
|
28
|
-
let hue;
|
|
29
|
-
const ε = 0.0002; // chromatic components much smaller than a,b
|
|
30
|
-
|
|
31
|
-
if (Math.abs(az) < ε && Math.abs(bz) < ε) {
|
|
32
|
-
hue = NaN;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
hue = Math.atan2(bz, az) * 180 / Math.PI;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return [
|
|
39
|
-
Jz, // Jz is still Jz
|
|
40
|
-
Math.sqrt(az ** 2 + bz ** 2), // Chroma
|
|
41
|
-
constrainAngle(hue), // Hue, in degrees [0 to 360)
|
|
42
|
-
];
|
|
43
|
-
},
|
|
44
|
-
toBase (jzczhz) {
|
|
45
|
-
// Convert from polar form
|
|
46
|
-
// debugger;
|
|
47
|
-
return [
|
|
48
|
-
jzczhz[0], // Jz is still Jz
|
|
49
|
-
jzczhz[1] * Math.cos(jzczhz[2] * Math.PI / 180), // az
|
|
50
|
-
jzczhz[1] * Math.sin(jzczhz[2] * Math.PI / 180), // bz
|
|
51
|
-
];
|
|
52
|
-
},
|
|
53
|
-
});
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import {WHITES} from "../adapt.js";
|
|
3
|
-
import xyz_d65 from "./xyz-d65.js";
|
|
4
|
-
|
|
5
|
-
// κ * ε = 2^3 = 8
|
|
6
|
-
const ε = 216 / 24389; // 6^3/29^3 == (24/116)^3
|
|
7
|
-
const ε3 = 24 / 116;
|
|
8
|
-
const κ = 24389 / 27; // 29^3/3^3
|
|
9
|
-
|
|
10
|
-
let white = WHITES.D65;
|
|
11
|
-
|
|
12
|
-
export default new ColorSpace({
|
|
13
|
-
id: "lab-d65",
|
|
14
|
-
name: "Lab D65",
|
|
15
|
-
coords: {
|
|
16
|
-
l: {
|
|
17
|
-
refRange: [0, 100],
|
|
18
|
-
name: "Lightness",
|
|
19
|
-
},
|
|
20
|
-
a: {
|
|
21
|
-
refRange: [-125, 125],
|
|
22
|
-
},
|
|
23
|
-
b: {
|
|
24
|
-
refRange: [-125, 125],
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
// Assuming XYZ is relative to D65, convert to CIE Lab
|
|
29
|
-
// from CIE standard, which now defines these as a rational fraction
|
|
30
|
-
white,
|
|
31
|
-
|
|
32
|
-
base: xyz_d65,
|
|
33
|
-
// Convert D65-adapted XYZ to Lab
|
|
34
|
-
// CIE 15.3:2004 section 8.2.1.1
|
|
35
|
-
fromBase (XYZ) {
|
|
36
|
-
// compute xyz, which is XYZ scaled relative to reference white
|
|
37
|
-
let xyz = XYZ.map((value, i) => value / white[i]);
|
|
38
|
-
|
|
39
|
-
// now compute f
|
|
40
|
-
let f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);
|
|
41
|
-
|
|
42
|
-
return [
|
|
43
|
-
(116 * f[1]) - 16, // L
|
|
44
|
-
500 * (f[0] - f[1]), // a
|
|
45
|
-
200 * (f[1] - f[2]), // b
|
|
46
|
-
];
|
|
47
|
-
},
|
|
48
|
-
// Convert Lab to D65-adapted XYZ
|
|
49
|
-
// Same result as CIE 15.3:2004 Appendix D although the derivation is different
|
|
50
|
-
// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
|
|
51
|
-
toBase (Lab) {
|
|
52
|
-
// compute f, starting with the luminance-related term
|
|
53
|
-
let f = [];
|
|
54
|
-
f[1] = (Lab[0] + 16) / 116;
|
|
55
|
-
f[0] = Lab[1] / 500 + f[1];
|
|
56
|
-
f[2] = f[1] - Lab[2] / 200;
|
|
57
|
-
|
|
58
|
-
// compute xyz
|
|
59
|
-
let xyz = [
|
|
60
|
-
f[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,
|
|
61
|
-
Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,
|
|
62
|
-
f[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,
|
|
63
|
-
];
|
|
64
|
-
|
|
65
|
-
// Compute XYZ by scaling xyz by reference white
|
|
66
|
-
return xyz.map((value, i) => value * white[i]);
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
formats: {
|
|
70
|
-
"lab-d65": {
|
|
71
|
-
coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
});
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import {WHITES} from "../adapt.js";
|
|
3
|
-
import xyz_d50 from "./xyz-d50.js";
|
|
4
|
-
|
|
5
|
-
// κ * ε = 2^3 = 8
|
|
6
|
-
const ε = 216 / 24389; // 6^3/29^3 == (24/116)^3
|
|
7
|
-
const ε3 = 24 / 116;
|
|
8
|
-
const κ = 24389 / 27; // 29^3/3^3
|
|
9
|
-
|
|
10
|
-
let white = WHITES.D50;
|
|
11
|
-
|
|
12
|
-
export default new ColorSpace({
|
|
13
|
-
id: "lab",
|
|
14
|
-
name: "Lab",
|
|
15
|
-
coords: {
|
|
16
|
-
l: {
|
|
17
|
-
refRange: [0, 100],
|
|
18
|
-
name: "Lightness",
|
|
19
|
-
},
|
|
20
|
-
a: {
|
|
21
|
-
refRange: [-125, 125],
|
|
22
|
-
},
|
|
23
|
-
b: {
|
|
24
|
-
refRange: [-125, 125],
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
// Assuming XYZ is relative to D50, convert to CIE Lab
|
|
29
|
-
// from CIE standard, which now defines these as a rational fraction
|
|
30
|
-
white,
|
|
31
|
-
|
|
32
|
-
base: xyz_d50,
|
|
33
|
-
// Convert D50-adapted XYX to Lab
|
|
34
|
-
// CIE 15.3:2004 section 8.2.1.1
|
|
35
|
-
fromBase (XYZ) {
|
|
36
|
-
// compute xyz, which is XYZ scaled relative to reference white
|
|
37
|
-
let xyz = XYZ.map((value, i) => value / white[i]);
|
|
38
|
-
|
|
39
|
-
// now compute f
|
|
40
|
-
let f = xyz.map(value => value > ε ? Math.cbrt(value) : (κ * value + 16) / 116);
|
|
41
|
-
|
|
42
|
-
return [
|
|
43
|
-
(116 * f[1]) - 16, // L
|
|
44
|
-
500 * (f[0] - f[1]), // a
|
|
45
|
-
200 * (f[1] - f[2]), // b
|
|
46
|
-
];
|
|
47
|
-
},
|
|
48
|
-
// Convert Lab to D50-adapted XYZ
|
|
49
|
-
// Same result as CIE 15.3:2004 Appendix D although the derivation is different
|
|
50
|
-
// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
|
|
51
|
-
toBase (Lab) {
|
|
52
|
-
// compute f, starting with the luminance-related term
|
|
53
|
-
let f = [];
|
|
54
|
-
f[1] = (Lab[0] + 16) / 116;
|
|
55
|
-
f[0] = Lab[1] / 500 + f[1];
|
|
56
|
-
f[2] = f[1] - Lab[2] / 200;
|
|
57
|
-
|
|
58
|
-
// compute xyz
|
|
59
|
-
let xyz = [
|
|
60
|
-
f[0] > ε3 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / κ,
|
|
61
|
-
Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / κ,
|
|
62
|
-
f[2] > ε3 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / κ,
|
|
63
|
-
];
|
|
64
|
-
|
|
65
|
-
// Compute XYZ by scaling xyz by reference white
|
|
66
|
-
return xyz.map((value, i) => value * white[i]);
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
formats: {
|
|
70
|
-
"lab": {
|
|
71
|
-
coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
});
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import Lab from "./lab.js";
|
|
3
|
-
import {constrain as constrainAngle} from "../angles.js";
|
|
4
|
-
|
|
5
|
-
export default new ColorSpace({
|
|
6
|
-
id: "lch",
|
|
7
|
-
name: "LCH",
|
|
8
|
-
coords: {
|
|
9
|
-
l: {
|
|
10
|
-
refRange: [0, 100],
|
|
11
|
-
name: "Lightness",
|
|
12
|
-
},
|
|
13
|
-
c: {
|
|
14
|
-
refRange: [0, 150],
|
|
15
|
-
name: "Chroma",
|
|
16
|
-
},
|
|
17
|
-
h: {
|
|
18
|
-
refRange: [0, 360],
|
|
19
|
-
type: "angle",
|
|
20
|
-
name: "Hue",
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
base: Lab,
|
|
25
|
-
fromBase (Lab) {
|
|
26
|
-
// Convert to polar form
|
|
27
|
-
let [L, a, b] = Lab;
|
|
28
|
-
let hue;
|
|
29
|
-
const ε = 0.02;
|
|
30
|
-
|
|
31
|
-
if (Math.abs(a) < ε && Math.abs(b) < ε) {
|
|
32
|
-
hue = NaN;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
hue = Math.atan2(b, a) * 180 / Math.PI;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return [
|
|
39
|
-
L, // L is still L
|
|
40
|
-
Math.sqrt(a ** 2 + b ** 2), // Chroma
|
|
41
|
-
constrainAngle(hue), // Hue, in degrees [0 to 360)
|
|
42
|
-
];
|
|
43
|
-
},
|
|
44
|
-
toBase (LCH) {
|
|
45
|
-
// Convert from polar form
|
|
46
|
-
let [Lightness, Chroma, Hue] = LCH;
|
|
47
|
-
// Clamp any negative Chroma
|
|
48
|
-
if (Chroma < 0) {
|
|
49
|
-
Chroma = 0;
|
|
50
|
-
}
|
|
51
|
-
// Deal with NaN Hue
|
|
52
|
-
if (isNaN(Hue)) {
|
|
53
|
-
Hue = 0;
|
|
54
|
-
}
|
|
55
|
-
return [
|
|
56
|
-
Lightness, // L is still L
|
|
57
|
-
Chroma * Math.cos(Hue * Math.PI / 180), // a
|
|
58
|
-
Chroma * Math.sin(Hue * Math.PI / 180), // b
|
|
59
|
-
];
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
formats: {
|
|
63
|
-
"lch": {
|
|
64
|
-
coords: ["<number> | <percentage>", "<number> | <percentage>", "<number> | <angle>"],
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
});
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import Luv from "./luv.js";
|
|
3
|
-
import {constrain as constrainAngle} from "../angles.js";
|
|
4
|
-
|
|
5
|
-
export default new ColorSpace({
|
|
6
|
-
id: "lchuv",
|
|
7
|
-
name: "LChuv",
|
|
8
|
-
coords: {
|
|
9
|
-
l: {
|
|
10
|
-
refRange: [0, 100],
|
|
11
|
-
name: "Lightness",
|
|
12
|
-
},
|
|
13
|
-
c: {
|
|
14
|
-
refRange: [0, 220],
|
|
15
|
-
name: "Chroma",
|
|
16
|
-
},
|
|
17
|
-
h: {
|
|
18
|
-
refRange: [0, 360],
|
|
19
|
-
type: "angle",
|
|
20
|
-
name: "Hue",
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
base: Luv,
|
|
25
|
-
fromBase (Luv) {
|
|
26
|
-
// Convert to polar form
|
|
27
|
-
let [L, u, v] = Luv;
|
|
28
|
-
let hue;
|
|
29
|
-
const ε = 0.02;
|
|
30
|
-
|
|
31
|
-
if (Math.abs(u) < ε && Math.abs(v) < ε) {
|
|
32
|
-
hue = NaN;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
hue = Math.atan2(v, u) * 180 / Math.PI;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return [
|
|
39
|
-
L, // L is still L
|
|
40
|
-
Math.sqrt(u ** 2 + v ** 2), // Chroma
|
|
41
|
-
constrainAngle(hue), // Hue, in degrees [0 to 360)
|
|
42
|
-
];
|
|
43
|
-
},
|
|
44
|
-
toBase (LCH) {
|
|
45
|
-
// Convert from polar form
|
|
46
|
-
let [Lightness, Chroma, Hue] = LCH;
|
|
47
|
-
// Clamp any negative Chroma
|
|
48
|
-
if (Chroma < 0) {
|
|
49
|
-
Chroma = 0;
|
|
50
|
-
}
|
|
51
|
-
// Deal with NaN Hue
|
|
52
|
-
if (isNaN(Hue)) {
|
|
53
|
-
Hue = 0;
|
|
54
|
-
}
|
|
55
|
-
return [
|
|
56
|
-
Lightness, // L is still L
|
|
57
|
-
Chroma * Math.cos(Hue * Math.PI / 180), // u
|
|
58
|
-
Chroma * Math.sin(Hue * Math.PI / 180), // v
|
|
59
|
-
];
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
formats: {
|
|
63
|
-
color: {
|
|
64
|
-
id: "--lchuv",
|
|
65
|
-
coords: ["<number> | <percentage>", "<number> | <percentage>", "<number> | <angle>"],
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
});
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import {WHITES} from "../adapt.js";
|
|
3
|
-
import xyz_d65 from "./xyz-d65.js";
|
|
4
|
-
import {uv} from "../chromaticity.js";
|
|
5
|
-
import {isNone, skipNone} from "../util.js";
|
|
6
|
-
|
|
7
|
-
let white = WHITES.D65;
|
|
8
|
-
|
|
9
|
-
const ε = 216 / 24389; // 6^3/29^3 == (24/116)^3
|
|
10
|
-
const κ = 24389 / 27; // 29^3/3^3
|
|
11
|
-
const [U_PRIME_WHITE, V_PRIME_WHITE] = uv({space: xyz_d65, coords: white});
|
|
12
|
-
|
|
13
|
-
export default new ColorSpace({
|
|
14
|
-
id: "luv",
|
|
15
|
-
name: "Luv",
|
|
16
|
-
coords: {
|
|
17
|
-
l: {
|
|
18
|
-
refRange: [0, 100],
|
|
19
|
-
name: "Lightness",
|
|
20
|
-
},
|
|
21
|
-
// Reference ranges from https://facelessuser.github.io/coloraide/colors/luv/
|
|
22
|
-
u: {
|
|
23
|
-
refRange: [-215, 215],
|
|
24
|
-
},
|
|
25
|
-
v: {
|
|
26
|
-
refRange: [-215, 215],
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
white: white,
|
|
31
|
-
base: xyz_d65,
|
|
32
|
-
|
|
33
|
-
// Convert D65-adapted XYZ to Luv
|
|
34
|
-
// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation
|
|
35
|
-
fromBase (XYZ) {
|
|
36
|
-
let xyz = [skipNone(XYZ[0]), skipNone(XYZ[1]), skipNone(XYZ[2])];
|
|
37
|
-
let y = xyz[1];
|
|
38
|
-
|
|
39
|
-
let [up, vp] = uv({space: xyz_d65, coords: xyz});
|
|
40
|
-
|
|
41
|
-
// Protect against XYZ of [0, 0, 0]
|
|
42
|
-
if (!Number.isFinite(up) || !Number.isFinite(vp)) {
|
|
43
|
-
return [0, 0, 0];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
let L = y <= ε ? κ * y : 116 * Math.cbrt(y) - 16;
|
|
47
|
-
return [
|
|
48
|
-
L,
|
|
49
|
-
13 * L * (up - U_PRIME_WHITE),
|
|
50
|
-
13 * L * (vp - V_PRIME_WHITE),
|
|
51
|
-
];
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
// Convert Luv to D65-adapted XYZ
|
|
55
|
-
// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation
|
|
56
|
-
toBase (Luv) {
|
|
57
|
-
let [L, u, v] = Luv;
|
|
58
|
-
|
|
59
|
-
// Protect against division by zero and NaN Lightness
|
|
60
|
-
if (L === 0 || isNone(L)) {
|
|
61
|
-
return [0, 0, 0];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
u = skipNone(u);
|
|
65
|
-
v = skipNone(v);
|
|
66
|
-
|
|
67
|
-
let up = (u / (13 * L)) + U_PRIME_WHITE;
|
|
68
|
-
let vp = (v / (13 * L)) + V_PRIME_WHITE;
|
|
69
|
-
|
|
70
|
-
let y = L <= 8 ? L / κ : Math.pow((L + 16) / 116, 3);
|
|
71
|
-
|
|
72
|
-
return [
|
|
73
|
-
y * ((9 * up) / (4 * vp)),
|
|
74
|
-
y,
|
|
75
|
-
y * ((12 - 3 * up - 20 * vp) / (4 * vp)),
|
|
76
|
-
];
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
formats: {
|
|
80
|
-
color: {
|
|
81
|
-
id: "--luv",
|
|
82
|
-
coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
});
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import {multiplyMatrices} from "../util.js";
|
|
3
|
-
import XYZ_D65 from "./xyz-d65.js";
|
|
4
|
-
|
|
5
|
-
// Recalculated for consistent reference white
|
|
6
|
-
// see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484
|
|
7
|
-
const XYZtoLMS_M = [
|
|
8
|
-
[ 0.8190224379967030, 0.3619062600528904, -0.1288737815209879 ],
|
|
9
|
-
[ 0.0329836539323885, 0.9292868615863434, 0.0361446663506424 ],
|
|
10
|
-
[ 0.0481771893596242, 0.2642395317527308, 0.6335478284694309 ],
|
|
11
|
-
];
|
|
12
|
-
// inverse of XYZtoLMS_M
|
|
13
|
-
const LMStoXYZ_M = [
|
|
14
|
-
[ 1.2268798758459243, -0.5578149944602171, 0.2813910456659647 ],
|
|
15
|
-
[ -0.0405757452148008, 1.1122868032803170, -0.0717110580655164 ],
|
|
16
|
-
[ -0.0763729366746601, -0.4214933324022432, 1.5869240198367816 ],
|
|
17
|
-
];
|
|
18
|
-
const LMStoLab_M = [
|
|
19
|
-
[ 0.2104542683093140, 0.7936177747023054, -0.0040720430116193 ],
|
|
20
|
-
[ 1.9779985324311684, -2.4285922420485799, 0.4505937096174110 ],
|
|
21
|
-
[ 0.0259040424655478, 0.7827717124575296, -0.8086757549230774 ],
|
|
22
|
-
];
|
|
23
|
-
// LMStoIab_M inverted
|
|
24
|
-
const LabtoLMS_M = [
|
|
25
|
-
[ 1.0000000000000000, 0.3963377773761749, 0.2158037573099136 ],
|
|
26
|
-
[ 1.0000000000000000, -0.1055613458156586, -0.0638541728258133 ],
|
|
27
|
-
[ 1.0000000000000000, -0.0894841775298119, -1.2914855480194092 ],
|
|
28
|
-
];
|
|
29
|
-
|
|
30
|
-
export default new ColorSpace({
|
|
31
|
-
id: "oklab",
|
|
32
|
-
name: "Oklab",
|
|
33
|
-
coords: {
|
|
34
|
-
l: {
|
|
35
|
-
refRange: [0, 1],
|
|
36
|
-
name: "Lightness",
|
|
37
|
-
},
|
|
38
|
-
a: {
|
|
39
|
-
refRange: [-0.4, 0.4],
|
|
40
|
-
},
|
|
41
|
-
b: {
|
|
42
|
-
refRange: [-0.4, 0.4],
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
// Note that XYZ is relative to D65
|
|
47
|
-
white: "D65",
|
|
48
|
-
base: XYZ_D65,
|
|
49
|
-
fromBase (XYZ) {
|
|
50
|
-
// move to LMS cone domain
|
|
51
|
-
let LMS = multiplyMatrices(XYZtoLMS_M, XYZ);
|
|
52
|
-
|
|
53
|
-
// non-linearity
|
|
54
|
-
let LMSg = LMS.map(val => Math.cbrt(val));
|
|
55
|
-
|
|
56
|
-
return multiplyMatrices(LMStoLab_M, LMSg);
|
|
57
|
-
|
|
58
|
-
},
|
|
59
|
-
toBase (OKLab) {
|
|
60
|
-
// move to LMS cone domain
|
|
61
|
-
let LMSg = multiplyMatrices(LabtoLMS_M, OKLab);
|
|
62
|
-
|
|
63
|
-
// restore linearity
|
|
64
|
-
let LMS = LMSg.map(val => val ** 3);
|
|
65
|
-
|
|
66
|
-
return multiplyMatrices(LMStoXYZ_M, LMS);
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
formats: {
|
|
70
|
-
"oklab": {
|
|
71
|
-
coords: ["<percentage> | <number>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"],
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
});
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import ColorSpace from "../space.js";
|
|
2
|
-
import OKLab from "./oklab.js";
|
|
3
|
-
import {constrain as constrainAngle} from "../angles.js";
|
|
4
|
-
|
|
5
|
-
export default new ColorSpace({
|
|
6
|
-
id: "oklch",
|
|
7
|
-
name: "Oklch",
|
|
8
|
-
coords: {
|
|
9
|
-
l: {
|
|
10
|
-
refRange: [0, 1],
|
|
11
|
-
name: "Lightness",
|
|
12
|
-
},
|
|
13
|
-
c: {
|
|
14
|
-
refRange: [0, 0.4],
|
|
15
|
-
name: "Chroma",
|
|
16
|
-
},
|
|
17
|
-
h: {
|
|
18
|
-
refRange: [0, 360],
|
|
19
|
-
type: "angle",
|
|
20
|
-
name: "Hue",
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
white: "D65",
|
|
24
|
-
|
|
25
|
-
base: OKLab,
|
|
26
|
-
fromBase (oklab) {
|
|
27
|
-
// Convert to polar form
|
|
28
|
-
let [L, a, b] = oklab;
|
|
29
|
-
let h;
|
|
30
|
-
const ε = 0.0002; // chromatic components much smaller than a,b
|
|
31
|
-
|
|
32
|
-
if (Math.abs(a) < ε && Math.abs(b) < ε) {
|
|
33
|
-
h = NaN;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
h = Math.atan2(b, a) * 180 / Math.PI;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return [
|
|
40
|
-
L, // OKLab L is still L
|
|
41
|
-
Math.sqrt(a ** 2 + b ** 2), // Chroma
|
|
42
|
-
constrainAngle(h), // Hue, in degrees [0 to 360)
|
|
43
|
-
];
|
|
44
|
-
},
|
|
45
|
-
// Convert from polar form
|
|
46
|
-
toBase (oklch) {
|
|
47
|
-
let [L, C, h] = oklch;
|
|
48
|
-
let a, b;
|
|
49
|
-
|
|
50
|
-
// check for NaN hue
|
|
51
|
-
if (isNaN(h)) {
|
|
52
|
-
a = 0;
|
|
53
|
-
b = 0;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
a = C * Math.cos(h * Math.PI / 180);
|
|
57
|
-
b = C * Math.sin(h * Math.PI / 180);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return [ L, a, b ];
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
formats: {
|
|
64
|
-
"oklch": {
|
|
65
|
-
coords: ["<percentage> | <number>", "<number> | <percentage>[0,1]", "<number> | <angle>"],
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import RGBColorSpace from "../rgbspace.js";
|
|
2
|
-
|
|
3
|
-
const toXYZ_M = [
|
|
4
|
-
[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],
|
|
5
|
-
[0.2289745640697488, 0.6917385218365064, 0.079286914093745],
|
|
6
|
-
[0.0000000000000000, 0.04511338185890264, 1.043944368900976],
|
|
7
|
-
];
|
|
8
|
-
|
|
9
|
-
const fromXYZ_M = [
|
|
10
|
-
[ 2.493496911941425, -0.9313836179191239, -0.40271078445071684],
|
|
11
|
-
[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],
|
|
12
|
-
[ 0.03584583024378447, -0.07617238926804182, 0.9568845240076872],
|
|
13
|
-
];
|
|
14
|
-
|
|
15
|
-
export default new RGBColorSpace({
|
|
16
|
-
id: "p3-linear",
|
|
17
|
-
cssId: "--display-p3-linear",
|
|
18
|
-
name: "Linear P3",
|
|
19
|
-
white: "D65",
|
|
20
|
-
toXYZ_M,
|
|
21
|
-
fromXYZ_M,
|
|
22
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import RGBColorSpace from "../rgbspace.js";
|
|
2
|
-
import P3Linear from "./p3-linear.js";
|
|
3
|
-
import sRGB from "./srgb.js";
|
|
4
|
-
|
|
5
|
-
export default new RGBColorSpace({
|
|
6
|
-
id: "p3",
|
|
7
|
-
cssId: "display-p3",
|
|
8
|
-
name: "P3",
|
|
9
|
-
base: P3Linear,
|
|
10
|
-
// Gamma encoding/decoding is the same as sRGB
|
|
11
|
-
fromBase: sRGB.fromBase,
|
|
12
|
-
toBase: sRGB.toBase,
|
|
13
|
-
});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import RGBColorSpace from "../rgbspace.js";
|
|
2
|
-
import XYZ_D50 from "./xyz-d50.js";
|
|
3
|
-
|
|
4
|
-
// convert an array of prophoto-rgb values to CIE XYZ
|
|
5
|
-
// using D50 (so no chromatic adaptation needed afterwards)
|
|
6
|
-
// matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy
|
|
7
|
-
// see https://github.com/w3c/csswg-drafts/issues/7675
|
|
8
|
-
const toXYZ_M = [
|
|
9
|
-
[ 0.79776664490064230, 0.13518129740053308, 0.03134773412839220 ],
|
|
10
|
-
[ 0.28807482881940130, 0.71183523424187300, 0.00008993693872564 ],
|
|
11
|
-
[ 0.00000000000000000, 0.00000000000000000, 0.82510460251046020 ],
|
|
12
|
-
];
|
|
13
|
-
|
|
14
|
-
const fromXYZ_M = [
|
|
15
|
-
[ 1.34578688164715830, -0.25557208737979464, -0.05110186497554526 ],
|
|
16
|
-
[ -0.54463070512490190, 1.50824774284514680, 0.02052744743642139 ],
|
|
17
|
-
[ 0.00000000000000000, 0.00000000000000000, 1.21196754563894520 ],
|
|
18
|
-
];
|
|
19
|
-
|
|
20
|
-
export default new RGBColorSpace({
|
|
21
|
-
id: "prophoto-linear",
|
|
22
|
-
cssId: "--prophoto-rgb-linear",
|
|
23
|
-
name: "Linear ProPhoto",
|
|
24
|
-
white: "D50",
|
|
25
|
-
base: XYZ_D50,
|
|
26
|
-
toXYZ_M,
|
|
27
|
-
fromXYZ_M,
|
|
28
|
-
});
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import RGBColorSpace from "../rgbspace.js";
|
|
2
|
-
import ProPhotoLinear from "./prophoto-linear.js";
|
|
3
|
-
|
|
4
|
-
const Et = 1 / 512;
|
|
5
|
-
const Et2 = 16 / 512;
|
|
6
|
-
|
|
7
|
-
export default new RGBColorSpace({
|
|
8
|
-
id: "prophoto",
|
|
9
|
-
cssId: "prophoto-rgb",
|
|
10
|
-
name: "ProPhoto",
|
|
11
|
-
base: ProPhotoLinear,
|
|
12
|
-
toBase (RGB) {
|
|
13
|
-
// Transfer curve is gamma 1.8 with a small linear portion
|
|
14
|
-
return RGB.map(v => v < Et2 ? v / 16 : v ** 1.8);
|
|
15
|
-
},
|
|
16
|
-
fromBase (RGB) {
|
|
17
|
-
return RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v);
|
|
18
|
-
},
|
|
19
|
-
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import RGBColorSpace from "../rgbspace.js";
|
|
2
|
-
|
|
3
|
-
// convert an array of linear-light rec2020 values to CIE XYZ
|
|
4
|
-
// using D65 (no chromatic adaptation)
|
|
5
|
-
// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
|
|
6
|
-
// 0 is actually calculated as 4.994106574466076e-17
|
|
7
|
-
const toXYZ_M = [
|
|
8
|
-
[ 0.6369580483012914, 0.14461690358620832, 0.1688809751641721 ],
|
|
9
|
-
[ 0.2627002120112671, 0.6779980715188708, 0.05930171646986196 ],
|
|
10
|
-
[ 0.000000000000000, 0.028072693049087428, 1.060985057710791 ],
|
|
11
|
-
];
|
|
12
|
-
|
|
13
|
-
// from ITU-R BT.2124-0 Annex 2 p.3
|
|
14
|
-
const fromXYZ_M = [
|
|
15
|
-
[ 1.716651187971268, -0.355670783776392, -0.253366281373660 ],
|
|
16
|
-
[ -0.666684351832489, 1.616481236634939, 0.0157685458139111 ],
|
|
17
|
-
[ 0.017639857445311, -0.042770613257809, 0.942103121235474 ],
|
|
18
|
-
];
|
|
19
|
-
|
|
20
|
-
export default new RGBColorSpace({
|
|
21
|
-
id: "rec2020-linear",
|
|
22
|
-
cssId: "--rec2020-linear",
|
|
23
|
-
name: "Linear REC.2020",
|
|
24
|
-
white: "D65",
|
|
25
|
-
toXYZ_M,
|
|
26
|
-
fromXYZ_M,
|
|
27
|
-
});
|