color-elements 0.0.2 → 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 +30 -15
- package/_build/copy-config.json +1 -1
- package/_build/eleventy.js +7 -2
- package/_build/filters-extra.js +1 -1
- package/_includes/component.njk +9 -1
- package/_includes/partials/_nav-links.njk +11 -4
- package/_redirects +8 -1
- package/assets/css/style.css +78 -1
- package/assets/js/index.js +6 -6
- package/data/components.json +12 -0
- package/debug.html +447 -0
- package/index.js +5 -1
- package/package.json +2 -1
- 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 +50 -8
- package/src/channel-slider/channel-slider.css +47 -5
- package/src/channel-slider/channel-slider.js +74 -39
- 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 +42 -1
- package/src/color-inline/color-inline.css +11 -4
- package/src/color-inline/color-inline.js +56 -50
- package/src/color-inline/color-inline.webp +0 -0
- package/src/color-picker/README.md +107 -5
- package/src/color-picker/color-picker.css +21 -6
- package/src/color-picker/color-picker.js +147 -60
- 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 +31 -4
- package/src/color-slider/color-slider.css +17 -7
- package/src/color-slider/color-slider.js +80 -38
- package/src/color-slider/color-slider.webp +0 -0
- package/src/color-swatch/README.md +265 -6
- package/src/color-swatch/color-swatch.css +162 -27
- package/src/color-swatch/color-swatch.js +191 -217
- package/src/color-swatch/color-swatch.webp +0 -0
- package/src/common/color-element.js +86 -0
- package/src/common/dom.js +1 -1
- package/src/common/util.js +12 -99
- 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 +1 -1
- 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/_data/components.json +0 -8
- 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
- package/src/color-gamut/README.md +0 -75
- package/src/color-gamut/color-gamut.css +0 -32
- package/src/color-gamut/color-gamut.js +0 -172
- package/src/common/color.js +0 -12
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// CIE Lightness difference, as used by Google Material Design
|
|
2
|
-
// Google HCT Tone is the same as CIE Lightness
|
|
3
|
-
// https://material.io/blog/science-of-color-design
|
|
4
|
-
|
|
5
|
-
import getColor from "../getColor.js";
|
|
6
|
-
import get from "../get.js";
|
|
7
|
-
import lab from "../spaces/lab.js";
|
|
8
|
-
|
|
9
|
-
export default function contrastLstar (color1, color2) {
|
|
10
|
-
color1 = getColor(color1);
|
|
11
|
-
color2 = getColor(color2);
|
|
12
|
-
|
|
13
|
-
let L1 = get(color1, [lab, "l"]);
|
|
14
|
-
let L2 = get(color2, [lab, "l"]);
|
|
15
|
-
|
|
16
|
-
return Math.abs(L1 - L2);
|
|
17
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// Michelson luminance contrast
|
|
2
|
-
// the relation between the spread and the sum of the two luminances
|
|
3
|
-
// Symmetric, does not matter which is foreground and which is background
|
|
4
|
-
// No black level compensation for flare.
|
|
5
|
-
|
|
6
|
-
import getColor from "../getColor.js";
|
|
7
|
-
import {getLuminance} from "../luminance.js";
|
|
8
|
-
|
|
9
|
-
export default function contrastMichelson (color1, color2) {
|
|
10
|
-
color1 = getColor(color1);
|
|
11
|
-
color2 = getColor(color2);
|
|
12
|
-
|
|
13
|
-
let Y1 = Math.max(getLuminance(color1), 0);
|
|
14
|
-
let Y2 = Math.max(getLuminance(color2), 0);
|
|
15
|
-
|
|
16
|
-
if (Y2 > Y1) {
|
|
17
|
-
[Y1, Y2] = [Y2, Y1];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
let denom = (Y1 + Y2);
|
|
21
|
-
return denom === 0 ? 0 : (Y1 - Y2) / denom;
|
|
22
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// WCAG 2.0 contrast https://www.w3.org/TR/WCAG20-TECHS/G18.html
|
|
2
|
-
// Simple contrast, with fixed 5% viewing flare contribution
|
|
3
|
-
// Symmetric, does not matter which is foreground and which is background
|
|
4
|
-
|
|
5
|
-
import getColor from "../getColor.js";
|
|
6
|
-
import {getLuminance} from "../luminance.js";
|
|
7
|
-
|
|
8
|
-
export default function contrastWCAG21 (color1, color2) {
|
|
9
|
-
color1 = getColor(color1);
|
|
10
|
-
color2 = getColor(color2);
|
|
11
|
-
|
|
12
|
-
let Y1 = Math.max(getLuminance(color1), 0);
|
|
13
|
-
let Y2 = Math.max(getLuminance(color2), 0);
|
|
14
|
-
|
|
15
|
-
if (Y2 > Y1) {
|
|
16
|
-
[Y1, Y2] = [Y2, Y1];
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return (Y1 + .05) / (Y2 + .05);
|
|
20
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Weber luminance contrast
|
|
2
|
-
// The difference between the two luminances divided by the lower luminance
|
|
3
|
-
// Symmetric, does not matter which is foreground and which is background
|
|
4
|
-
// No black level compensation for flare.
|
|
5
|
-
|
|
6
|
-
import getColor from "../getColor.js";
|
|
7
|
-
import {getLuminance} from "../luminance.js";
|
|
8
|
-
|
|
9
|
-
// the darkest sRGB color above black is #000001 and this produces
|
|
10
|
-
// a plain Weber contrast of ~45647.
|
|
11
|
-
// So, setting the divide-by-zero result at 50000 is a reasonable
|
|
12
|
-
// max clamp for the plain Weber
|
|
13
|
-
const max = 50000;
|
|
14
|
-
|
|
15
|
-
export default function contrastWeber (color1, color2) {
|
|
16
|
-
color1 = getColor(color1);
|
|
17
|
-
color2 = getColor(color2);
|
|
18
|
-
|
|
19
|
-
let Y1 = Math.max(getLuminance(color1), 0);
|
|
20
|
-
let Y2 = Math.max(getLuminance(color2), 0);
|
|
21
|
-
|
|
22
|
-
if (Y2 > Y1) {
|
|
23
|
-
[Y1, Y2] = [Y2, Y1];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return Y2 === 0 ? max : (Y1 - Y2) / Y2;
|
|
27
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// Delta Phi Star perceptual lightness contrast
|
|
2
|
-
// See https://github.com/Myndex/deltaphistar
|
|
3
|
-
// The (difference between two Lstars each raised to phi) raised to (1/phi)
|
|
4
|
-
// Symmetric, does not matter which is foreground and which is background
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import getColor from "../getColor.js";
|
|
8
|
-
import get from "../get.js";
|
|
9
|
-
import lab_d65 from "../spaces/lab-d65.js";
|
|
10
|
-
|
|
11
|
-
const phi = Math.pow(5, 0.5) * 0.5 + 0.5; // Math.phi can be used if Math.js
|
|
12
|
-
|
|
13
|
-
export default function contrastDeltaPhi (color1, color2) {
|
|
14
|
-
color1 = getColor(color1);
|
|
15
|
-
color2 = getColor(color2);
|
|
16
|
-
|
|
17
|
-
let Lstr1 = get(color1, [lab_d65, "l"]);
|
|
18
|
-
let Lstr2 = get(color2, [lab_d65, "l"]);
|
|
19
|
-
|
|
20
|
-
let deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));
|
|
21
|
-
|
|
22
|
-
let contrast = Math.pow(deltaPhiStar, (1 / phi)) * Math.SQRT2 - 40;
|
|
23
|
-
|
|
24
|
-
return (contrast < 7.5) ? 0.0 : contrast ;
|
|
25
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export {default as contrastWCAG21} from "./WCAG21.js";
|
|
2
|
-
export {default as contrastAPCA} from "./APCA.js";
|
|
3
|
-
export {default as contrastMichelson} from "./Michelson.js";
|
|
4
|
-
export {default as contrastWeber} from "./Weber.js";
|
|
5
|
-
export {default as contrastLstar} from "./Lstar.js";
|
|
6
|
-
export {default as contrastDeltaPhi} from "./deltaPhi.js";
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import getColor from "./getColor.js";
|
|
2
|
-
// import defaults from "./defaults.js";
|
|
3
|
-
import {isString} from "./util.js";
|
|
4
|
-
import * as contrastAlgorithms from "./contrast/index.js";
|
|
5
|
-
|
|
6
|
-
export default function contrast (background, foreground, o = {}) {
|
|
7
|
-
if (isString(o)) {
|
|
8
|
-
o = {algorithm: o};
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
let {algorithm, ...rest} = o;
|
|
12
|
-
|
|
13
|
-
if (!algorithm) {
|
|
14
|
-
let algorithms = Object.keys(contrastAlgorithms).map(a => a.replace(/^contrast/, "")).join(", ");
|
|
15
|
-
throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${algorithms}`);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
background = getColor(background);
|
|
19
|
-
foreground = getColor(foreground);
|
|
20
|
-
|
|
21
|
-
for (let a in contrastAlgorithms) {
|
|
22
|
-
if ("contrast" + algorithm.toLowerCase() === a.toLowerCase()) {
|
|
23
|
-
return contrastAlgorithms[a](background, foreground, rest);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
throw new TypeError(`Unknown contrast algorithm: ${algorithm}`);
|
|
28
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// Global defaults one may want to configure
|
|
2
|
-
export default {
|
|
3
|
-
gamut_mapping: "css",
|
|
4
|
-
precision: 5,
|
|
5
|
-
deltaE: "76", // Default deltaE method
|
|
6
|
-
verbose: globalThis?.process?.env?.NODE_ENV?.toLowerCase() !== "test",
|
|
7
|
-
warn: function warn (msg) {
|
|
8
|
-
if (this.verbose) {
|
|
9
|
-
globalThis?.console?.warn?.(msg);
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
|
-
};
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import defaults from "../defaults.js";
|
|
2
|
-
import lab from "../spaces/lab.js";
|
|
3
|
-
import lch from "../spaces/lch.js";
|
|
4
|
-
import getColor from "../getColor.js";
|
|
5
|
-
|
|
6
|
-
// deltaE2000 is a statistically significant improvement
|
|
7
|
-
// and is recommended by the CIE and Idealliance
|
|
8
|
-
// especially for color differences less than 10 deltaE76
|
|
9
|
-
// but is wicked complicated
|
|
10
|
-
// and many implementations have small errors!
|
|
11
|
-
// DeltaE2000 is also discontinuous; in case this
|
|
12
|
-
// matters to you, use deltaECMC instead.
|
|
13
|
-
|
|
14
|
-
const Gfactor = 25 ** 7;
|
|
15
|
-
const π = Math.PI;
|
|
16
|
-
const r2d = 180 / π;
|
|
17
|
-
const d2r = π / 180;
|
|
18
|
-
|
|
19
|
-
function pow7 (x) {
|
|
20
|
-
// Faster than x ** 7 or Math.pow(x, 7)
|
|
21
|
-
|
|
22
|
-
const x2 = x * x;
|
|
23
|
-
const x7 = x2 * x2 * x2 * x;
|
|
24
|
-
|
|
25
|
-
return x7;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export default function (color, sample, {kL = 1, kC = 1, kH = 1} = {}) {
|
|
29
|
-
[color, sample] = getColor([color, sample]);
|
|
30
|
-
|
|
31
|
-
// Given this color as the reference
|
|
32
|
-
// and the function parameter as the sample,
|
|
33
|
-
// calculate deltaE 2000.
|
|
34
|
-
|
|
35
|
-
// This implementation assumes the parametric
|
|
36
|
-
// weighting factors kL, kC and kH
|
|
37
|
-
// for the influence of viewing conditions
|
|
38
|
-
// are all 1, as sadly seems typical.
|
|
39
|
-
// kL should be increased for lightness texture or noise
|
|
40
|
-
// and kC increased for chroma noise
|
|
41
|
-
|
|
42
|
-
let [L1, a1, b1] = lab.from(color);
|
|
43
|
-
let C1 = lch.from(lab, [L1, a1, b1])[1];
|
|
44
|
-
let [L2, a2, b2] = lab.from(sample);
|
|
45
|
-
let C2 = lch.from(lab, [L2, a2, b2])[1];
|
|
46
|
-
|
|
47
|
-
// Check for negative Chroma,
|
|
48
|
-
// which might happen through
|
|
49
|
-
// direct user input of LCH values
|
|
50
|
-
|
|
51
|
-
if (C1 < 0) {
|
|
52
|
-
C1 = 0;
|
|
53
|
-
}
|
|
54
|
-
if (C2 < 0) {
|
|
55
|
-
C2 = 0;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
let Cbar = (C1 + C2) / 2; // mean Chroma
|
|
59
|
-
|
|
60
|
-
// calculate a-axis asymmetry factor from mean Chroma
|
|
61
|
-
// this turns JND ellipses for near-neutral colors back into circles
|
|
62
|
-
let C7 = pow7(Cbar);
|
|
63
|
-
|
|
64
|
-
let G = 0.5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));
|
|
65
|
-
|
|
66
|
-
// scale a axes by asymmetry factor
|
|
67
|
-
// this by the way is why there is no Lab2000 colorspace
|
|
68
|
-
let adash1 = (1 + G) * a1;
|
|
69
|
-
let adash2 = (1 + G) * a2;
|
|
70
|
-
|
|
71
|
-
// calculate new Chroma from scaled a and original b axes
|
|
72
|
-
let Cdash1 = Math.sqrt(adash1 ** 2 + b1 ** 2);
|
|
73
|
-
let Cdash2 = Math.sqrt(adash2 ** 2 + b2 ** 2);
|
|
74
|
-
|
|
75
|
-
// calculate new hues, with zero hue for true neutrals
|
|
76
|
-
// and in degrees, not radians
|
|
77
|
-
|
|
78
|
-
let h1 = (adash1 === 0 && b1 === 0) ? 0 : Math.atan2(b1, adash1);
|
|
79
|
-
let h2 = (adash2 === 0 && b2 === 0) ? 0 : Math.atan2(b2, adash2);
|
|
80
|
-
|
|
81
|
-
if (h1 < 0) {
|
|
82
|
-
h1 += 2 * π;
|
|
83
|
-
}
|
|
84
|
-
if (h2 < 0) {
|
|
85
|
-
h2 += 2 * π;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
h1 *= r2d;
|
|
89
|
-
h2 *= r2d;
|
|
90
|
-
|
|
91
|
-
// Lightness and Chroma differences; sign matters
|
|
92
|
-
let ΔL = L2 - L1;
|
|
93
|
-
let ΔC = Cdash2 - Cdash1;
|
|
94
|
-
|
|
95
|
-
// Hue difference, getting the sign correct
|
|
96
|
-
let hdiff = h2 - h1;
|
|
97
|
-
let hsum = h1 + h2;
|
|
98
|
-
let habs = Math.abs(hdiff);
|
|
99
|
-
let Δh;
|
|
100
|
-
|
|
101
|
-
if (Cdash1 * Cdash2 === 0) {
|
|
102
|
-
Δh = 0;
|
|
103
|
-
}
|
|
104
|
-
else if (habs <= 180) {
|
|
105
|
-
Δh = hdiff;
|
|
106
|
-
}
|
|
107
|
-
else if (hdiff > 180) {
|
|
108
|
-
Δh = hdiff - 360;
|
|
109
|
-
}
|
|
110
|
-
else if (hdiff < -180) {
|
|
111
|
-
Δh = hdiff + 360;
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
defaults.warn("the unthinkable has happened");
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// weighted Hue difference, more for larger Chroma
|
|
118
|
-
let ΔH = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(Δh * d2r / 2);
|
|
119
|
-
|
|
120
|
-
// calculate mean Lightness and Chroma
|
|
121
|
-
let Ldash = (L1 + L2) / 2;
|
|
122
|
-
let Cdash = (Cdash1 + Cdash2) / 2;
|
|
123
|
-
let Cdash7 = pow7(Cdash);
|
|
124
|
-
|
|
125
|
-
// Compensate for non-linearity in the blue region of Lab.
|
|
126
|
-
// Four possibilities for hue weighting factor,
|
|
127
|
-
// depending on the angles, to get the correct sign
|
|
128
|
-
let hdash;
|
|
129
|
-
if (Cdash1 * Cdash2 === 0) {
|
|
130
|
-
hdash = hsum; // which should be zero
|
|
131
|
-
}
|
|
132
|
-
else if (habs <= 180) {
|
|
133
|
-
hdash = hsum / 2;
|
|
134
|
-
}
|
|
135
|
-
else if (hsum < 360) {
|
|
136
|
-
hdash = (hsum + 360) / 2;
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
hdash = (hsum - 360) / 2;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// positional corrections to the lack of uniformity of CIELAB
|
|
143
|
-
// These are all trying to make JND ellipsoids more like spheres
|
|
144
|
-
|
|
145
|
-
// SL Lightness crispening factor
|
|
146
|
-
// a background with L=50 is assumed
|
|
147
|
-
let lsq = (Ldash - 50) ** 2;
|
|
148
|
-
let SL = 1 + ((0.015 * lsq) / Math.sqrt(20 + lsq));
|
|
149
|
-
|
|
150
|
-
// SC Chroma factor, similar to those in CMC and deltaE 94 formulae
|
|
151
|
-
let SC = 1 + 0.045 * Cdash;
|
|
152
|
-
|
|
153
|
-
// Cross term T for blue non-linearity
|
|
154
|
-
let T = 1;
|
|
155
|
-
T -= (0.17 * Math.cos(( hdash - 30) * d2r));
|
|
156
|
-
T += (0.24 * Math.cos( 2 * hdash * d2r));
|
|
157
|
-
T += (0.32 * Math.cos(((3 * hdash) + 6) * d2r));
|
|
158
|
-
T -= (0.20 * Math.cos(((4 * hdash) - 63) * d2r));
|
|
159
|
-
|
|
160
|
-
// SH Hue factor depends on Chroma,
|
|
161
|
-
// as well as adjusted hue angle like deltaE94.
|
|
162
|
-
let SH = 1 + 0.015 * Cdash * T;
|
|
163
|
-
|
|
164
|
-
// RT Hue rotation term compensates for rotation of JND ellipses
|
|
165
|
-
// and Munsell constant hue lines
|
|
166
|
-
// in the medium-high Chroma blue region
|
|
167
|
-
// (Hue 225 to 315)
|
|
168
|
-
let Δθ = 30 * Math.exp(-1 * (((hdash - 275) / 25) ** 2));
|
|
169
|
-
let RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));
|
|
170
|
-
let RT = -1 * Math.sin(2 * Δθ * d2r) * RC;
|
|
171
|
-
|
|
172
|
-
// Finally calculate the deltaE, term by term as root sume of squares
|
|
173
|
-
let dE = (ΔL / (kL * SL)) ** 2;
|
|
174
|
-
dE += (ΔC / (kC * SC)) ** 2;
|
|
175
|
-
dE += (ΔH / (kH * SH)) ** 2;
|
|
176
|
-
dE += RT * (ΔC / (kC * SC)) * (ΔH / (kH * SH));
|
|
177
|
-
return Math.sqrt(dE);
|
|
178
|
-
// Yay!!!
|
|
179
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import lab from "../spaces/lab.js";
|
|
2
|
-
import lch from "../spaces/lch.js";
|
|
3
|
-
import getColor from "../getColor.js";
|
|
4
|
-
|
|
5
|
-
// More accurate color-difference formulae
|
|
6
|
-
// than the simple 1976 Euclidean distance in Lab
|
|
7
|
-
|
|
8
|
-
// CMC by the Color Measurement Committee of the
|
|
9
|
-
// Bradford Society of Dyeists and Colorsts, 1994.
|
|
10
|
-
// Uses LCH rather than Lab,
|
|
11
|
-
// with different weights for L, C and H differences
|
|
12
|
-
// A nice increase in accuracy for modest increase in complexity
|
|
13
|
-
const π = Math.PI;
|
|
14
|
-
const d2r = π / 180;
|
|
15
|
-
|
|
16
|
-
export default function (color, sample, {l = 2, c = 1} = {}) {
|
|
17
|
-
[color, sample] = getColor([color, sample]);
|
|
18
|
-
|
|
19
|
-
// Given this color as the reference
|
|
20
|
-
// and a sample,
|
|
21
|
-
// calculate deltaE CMC.
|
|
22
|
-
|
|
23
|
-
// This implementation assumes the parametric
|
|
24
|
-
// weighting factors l:c are 2:1
|
|
25
|
-
// which is typical for non-textile uses.
|
|
26
|
-
|
|
27
|
-
let [L1, a1, b1] = lab.from(color);
|
|
28
|
-
let [, C1, H1] = lch.from(lab, [L1, a1, b1]);
|
|
29
|
-
let [L2, a2, b2] = lab.from(sample);
|
|
30
|
-
let C2 = lch.from(lab, [L2, a2, b2])[1];
|
|
31
|
-
|
|
32
|
-
// let [L1, a1, b1] = color.getAll(lab);
|
|
33
|
-
// let C1 = color.get("lch.c");
|
|
34
|
-
// let H1 = color.get("lch.h");
|
|
35
|
-
// let [L2, a2, b2] = sample.getAll(lab);
|
|
36
|
-
// let C2 = sample.get("lch.c");
|
|
37
|
-
|
|
38
|
-
// Check for negative Chroma,
|
|
39
|
-
// which might happen through
|
|
40
|
-
// direct user input of LCH values
|
|
41
|
-
|
|
42
|
-
if (C1 < 0) {
|
|
43
|
-
C1 = 0;
|
|
44
|
-
}
|
|
45
|
-
if (C2 < 0) {
|
|
46
|
-
C2 = 0;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// we don't need H2 as ΔH is calculated from Δa, Δb and ΔC
|
|
50
|
-
|
|
51
|
-
// Lightness and Chroma differences
|
|
52
|
-
// These are (color - sample), unlike deltaE2000
|
|
53
|
-
let ΔL = L1 - L2;
|
|
54
|
-
let ΔC = C1 - C2;
|
|
55
|
-
|
|
56
|
-
let Δa = a1 - a2;
|
|
57
|
-
let Δb = b1 - b2;
|
|
58
|
-
|
|
59
|
-
// weighted Hue difference, less for larger Chroma difference
|
|
60
|
-
|
|
61
|
-
let H2 = (Δa ** 2) + (Δb ** 2) - (ΔC ** 2);
|
|
62
|
-
// due to roundoff error it is possible that, for zero a and b,
|
|
63
|
-
// ΔC > Δa + Δb is 0, resulting in attempting
|
|
64
|
-
// to take the square root of a negative number
|
|
65
|
-
|
|
66
|
-
// trying instead the equation from Industrial Color Physics
|
|
67
|
-
// By Georg A. Klein
|
|
68
|
-
|
|
69
|
-
// let ΔH = ((a1 * b2) - (a2 * b1)) / Math.sqrt(0.5 * ((C2 * C1) + (a2 * a1) + (b2 * b1)));
|
|
70
|
-
// console.log({ΔH});
|
|
71
|
-
// This gives the same result to 12 decimal places
|
|
72
|
-
// except it sometimes NaNs when trying to root a negative number
|
|
73
|
-
|
|
74
|
-
// let ΔH = Math.sqrt(H2); we never actually use the root, it gets squared again!!
|
|
75
|
-
|
|
76
|
-
// positional corrections to the lack of uniformity of CIELAB
|
|
77
|
-
// These are all trying to make JND ellipsoids more like spheres
|
|
78
|
-
|
|
79
|
-
// SL Lightness crispening factor, depends entirely on L1 not L2
|
|
80
|
-
let SL = 0.511; // linear portion of the Y to L transfer function
|
|
81
|
-
if (L1 >= 16) { // cubic portion
|
|
82
|
-
SL = (0.040975 * L1) / (1 + 0.01765 * L1);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// SC Chroma factor
|
|
86
|
-
let SC = ((0.0638 * C1) / (1 + 0.0131 * C1)) + 0.638;
|
|
87
|
-
|
|
88
|
-
// Cross term T for blue non-linearity
|
|
89
|
-
let T;
|
|
90
|
-
if (Number.isNaN(H1)) {
|
|
91
|
-
H1 = 0;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (H1 >= 164 && H1 <= 345) {
|
|
95
|
-
T = 0.56 + Math.abs(0.2 * Math.cos((H1 + 168) * d2r));
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
T = 0.36 + Math.abs(0.4 * Math.cos((H1 + 35) * d2r));
|
|
99
|
-
}
|
|
100
|
-
// console.log({T});
|
|
101
|
-
|
|
102
|
-
// SH Hue factor also depends on C1,
|
|
103
|
-
let C4 = Math.pow(C1, 4);
|
|
104
|
-
let F = Math.sqrt(C4 / (C4 + 1900));
|
|
105
|
-
let SH = SC * ((F * T) + 1 - F);
|
|
106
|
-
|
|
107
|
-
// Finally calculate the deltaE, term by term as root sume of squares
|
|
108
|
-
let dE = (ΔL / (l * SL)) ** 2;
|
|
109
|
-
dE += (ΔC / (c * SC)) ** 2;
|
|
110
|
-
dE += (H2 / (SH ** 2));
|
|
111
|
-
// dE += (ΔH / SH) ** 2;
|
|
112
|
-
return Math.sqrt(dE);
|
|
113
|
-
// Yay!!!
|
|
114
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import hct from "../spaces/hct.js";
|
|
2
|
-
import {viewingConditions} from "../spaces/hct.js";
|
|
3
|
-
import getColor from "../getColor.js";
|
|
4
|
-
|
|
5
|
-
const rad2deg = 180 / Math.PI;
|
|
6
|
-
const deg2rad = Math.PI / 180;
|
|
7
|
-
const ucsCoeff = [1.00, 0.007, 0.0228];
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Convert HCT chroma and hue (CAM16 JMh colorfulness and hue) using UCS logic for a and b.
|
|
11
|
-
* @param {number[]} coords - HCT coordinates.
|
|
12
|
-
* @return {number[]}
|
|
13
|
-
*/
|
|
14
|
-
function convertUcsAb (coords) {
|
|
15
|
-
// We want the distance between the actual color.
|
|
16
|
-
// If chroma is negative, it will throw off our calculations.
|
|
17
|
-
// Normally, converting back to the base and forward will correct it.
|
|
18
|
-
// If we have a negative chroma after this, then we have a color that
|
|
19
|
-
// cannot resolve to positive chroma.
|
|
20
|
-
if (coords[1] < 0) {
|
|
21
|
-
coords = hct.fromBase(hct.toBase(coords));
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Only in extreme cases (usually outside the visible spectrum)
|
|
25
|
-
// can the input value for log become negative.
|
|
26
|
-
// Avoid domain error by forcing a zero result via "max" if necessary.
|
|
27
|
-
const M = Math.log(Math.max(1 + ucsCoeff[2] * coords[1] * viewingConditions.flRoot, 1.0)) / ucsCoeff[2];
|
|
28
|
-
const hrad = coords[0] * deg2rad;
|
|
29
|
-
const a = M * Math.cos(hrad);
|
|
30
|
-
const b = M * Math.sin(hrad);
|
|
31
|
-
|
|
32
|
-
return [coords[2], a, b];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Color distance using HCT.
|
|
38
|
-
* @param {Color} color - Color to compare.
|
|
39
|
-
* @param {Color} sample - Color to compare.
|
|
40
|
-
* @return {number[]}
|
|
41
|
-
*/
|
|
42
|
-
export default function (color, sample) {
|
|
43
|
-
[color, sample] = getColor([color, sample]);
|
|
44
|
-
|
|
45
|
-
let [ t1, a1, b1 ] = convertUcsAb(hct.from(color));
|
|
46
|
-
let [ t2, a2, b2 ] = convertUcsAb(hct.from(sample));
|
|
47
|
-
|
|
48
|
-
// Use simple euclidean distance with a and b using UCS conversion
|
|
49
|
-
// and LCh lightness (HCT tone).
|
|
50
|
-
return Math.sqrt((t1 - t2) ** 2 + (a1 - a2) ** 2 + (b1 - b2) ** 2);
|
|
51
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import ictcp from "../spaces/ictcp.js";
|
|
2
|
-
import getColor from "../getColor.js";
|
|
3
|
-
|
|
4
|
-
// Delta E in ICtCp space,
|
|
5
|
-
// which the ITU calls Delta E ITP, which is shorter
|
|
6
|
-
// formulae from ITU Rec. ITU-R BT.2124-0
|
|
7
|
-
|
|
8
|
-
export default function (color, sample) {
|
|
9
|
-
[color, sample] = getColor([color, sample]);
|
|
10
|
-
|
|
11
|
-
// Given this color as the reference
|
|
12
|
-
// and a sample,
|
|
13
|
-
// calculate deltaE in ICtCp
|
|
14
|
-
// which is simply the Euclidean distance
|
|
15
|
-
|
|
16
|
-
let [ I1, T1, P1 ] = ictcp.from(color);
|
|
17
|
-
let [ I2, T2, P2 ] = ictcp.from(sample);
|
|
18
|
-
|
|
19
|
-
// the 0.25 factor is to undo the encoding scaling in Ct
|
|
20
|
-
// the 720 is so that 1 deltaE = 1 JND
|
|
21
|
-
// per ITU-R BT.2124-0 p.3
|
|
22
|
-
|
|
23
|
-
return 720 * Math.sqrt((I1 - I2) ** 2 + (0.25 * (T1 - T2) ** 2) + (P1 - P2) ** 2);
|
|
24
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import jzczhz from "../spaces/jzczhz.js";
|
|
2
|
-
import getColor from "../getColor.js";
|
|
3
|
-
|
|
4
|
-
// More accurate color-difference formulae
|
|
5
|
-
// than the simple 1976 Euclidean distance in Lab
|
|
6
|
-
|
|
7
|
-
// Uses JzCzHz, which has improved perceptual uniformity
|
|
8
|
-
// and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH²
|
|
9
|
-
// gives good results.
|
|
10
|
-
|
|
11
|
-
export default function (color, sample) {
|
|
12
|
-
[color, sample] = getColor([color, sample]);
|
|
13
|
-
|
|
14
|
-
// Given this color as the reference
|
|
15
|
-
// and a sample,
|
|
16
|
-
// calculate deltaE in JzCzHz.
|
|
17
|
-
let [Jz1, Cz1, Hz1] = jzczhz.from(color);
|
|
18
|
-
let [Jz2, Cz2, Hz2] = jzczhz.from(sample);
|
|
19
|
-
|
|
20
|
-
// Lightness and Chroma differences
|
|
21
|
-
// sign does not matter as they are squared.
|
|
22
|
-
let ΔJ = Jz1 - Jz2;
|
|
23
|
-
let ΔC = Cz1 - Cz2;
|
|
24
|
-
|
|
25
|
-
// length of chord for ΔH
|
|
26
|
-
if ((Number.isNaN(Hz1)) && (Number.isNaN(Hz2))) {
|
|
27
|
-
// both undefined hues
|
|
28
|
-
Hz1 = 0;
|
|
29
|
-
Hz2 = 0;
|
|
30
|
-
}
|
|
31
|
-
else if (Number.isNaN(Hz1)) {
|
|
32
|
-
// one undefined, set to the defined hue
|
|
33
|
-
Hz1 = Hz2;
|
|
34
|
-
}
|
|
35
|
-
else if (Number.isNaN(Hz2)) {
|
|
36
|
-
Hz2 = Hz1;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
let Δh = Hz1 - Hz2;
|
|
40
|
-
let ΔH = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin((Δh / 2) * (Math.PI / 180));
|
|
41
|
-
|
|
42
|
-
return Math.sqrt(ΔJ ** 2 + ΔC ** 2 + ΔH ** 2);
|
|
43
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// More accurate color-difference formulae
|
|
2
|
-
// than the simple 1976 Euclidean distance in CIE Lab
|
|
3
|
-
|
|
4
|
-
import oklab from "../spaces/oklab.js";
|
|
5
|
-
import getColor from "../getColor.js";
|
|
6
|
-
|
|
7
|
-
export default function (color, sample) {
|
|
8
|
-
[color, sample] = getColor([color, sample]);
|
|
9
|
-
|
|
10
|
-
// Given this color as the reference
|
|
11
|
-
// and a sample,
|
|
12
|
-
// calculate deltaEOK, term by term as root sum of squares
|
|
13
|
-
let [L1, a1, b1] = oklab.from(color);
|
|
14
|
-
let [L2, a2, b2] = oklab.from(sample);
|
|
15
|
-
let ΔL = L1 - L2;
|
|
16
|
-
let Δa = a1 - a2;
|
|
17
|
-
let Δb = b1 - b2;
|
|
18
|
-
return Math.sqrt(ΔL ** 2 + Δa ** 2 + Δb ** 2);
|
|
19
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import deltaE76 from "./deltaE76.js";
|
|
2
|
-
import deltaECMC from "./deltaECMC.js";
|
|
3
|
-
import deltaE2000 from "./deltaE2000.js";
|
|
4
|
-
import deltaEJz from "./deltaEJz.js";
|
|
5
|
-
import deltaEITP from "./deltaEITP.js";
|
|
6
|
-
import deltaEOK from "./deltaEOK.js";
|
|
7
|
-
import deltaEHCT from "./deltaEHCT.js";
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
deltaE76,
|
|
11
|
-
deltaECMC,
|
|
12
|
-
deltaE2000,
|
|
13
|
-
deltaEJz,
|
|
14
|
-
deltaEITP,
|
|
15
|
-
deltaEOK,
|
|
16
|
-
deltaEHCT,
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default {
|
|
20
|
-
deltaE76,
|
|
21
|
-
deltaECMC,
|
|
22
|
-
deltaE2000,
|
|
23
|
-
deltaEJz,
|
|
24
|
-
deltaEITP,
|
|
25
|
-
deltaEOK,
|
|
26
|
-
deltaEHCT,
|
|
27
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import defaults from "./defaults.js";
|
|
2
|
-
import {isString} from "./util.js";
|
|
3
|
-
import deltaEMethods from "./deltaE/index.js";
|
|
4
|
-
|
|
5
|
-
export default function deltaE (c1, c2, o = {}) {
|
|
6
|
-
if (isString(o)) {
|
|
7
|
-
o = {method: o};
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
let {method = defaults.deltaE, ...rest} = o;
|
|
11
|
-
|
|
12
|
-
for (let m in deltaEMethods) {
|
|
13
|
-
if ("deltae" + method.toLowerCase() === m.toLowerCase()) {
|
|
14
|
-
return deltaEMethods[m](c1, c2, rest);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
throw new TypeError(`Unknown deltaE method: ${method}`);
|
|
19
|
-
}
|