@lakuna/color 1.1.2 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/{utility → convert}/adobeToXyz.d.ts +1 -1
- package/dist/convert/adobeToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/adobeToXyz.js +5 -3
- package/dist/convert/adobeToXyz.js.map +1 -0
- package/dist/{utility → convert}/cmyToCmyk.d.ts +1 -1
- package/dist/convert/cmyToCmyk.d.ts.map +1 -0
- package/dist/{utility → convert}/cmyToCmyk.js +0 -3
- package/dist/convert/cmyToCmyk.js.map +1 -0
- package/dist/{utility → convert}/cmyToRgb.d.ts +1 -1
- package/dist/convert/cmyToRgb.d.ts.map +1 -0
- package/dist/convert/cmyToRgb.js.map +1 -0
- package/dist/{utility → convert}/cmykToCmy.d.ts +1 -1
- package/dist/convert/cmykToCmy.d.ts.map +1 -0
- package/dist/{utility → convert}/cmykToCmy.js +0 -1
- package/dist/convert/cmykToCmy.js.map +1 -0
- package/dist/{utility → convert}/hexToRgb.d.ts +1 -1
- package/dist/convert/hexToRgb.d.ts.map +1 -0
- package/dist/{utility → convert}/hexToRgb.js.map +1 -1
- package/dist/{utility → convert}/hslToRgb.d.ts +1 -1
- package/dist/convert/hslToRgb.d.ts.map +1 -0
- package/dist/{utility → convert}/hslToRgb.js +5 -6
- package/dist/convert/hslToRgb.js.map +1 -0
- package/dist/{utility → convert}/hsvToRgb.d.ts +1 -1
- package/dist/convert/hsvToRgb.d.ts.map +1 -0
- package/dist/{utility → convert}/hsvToRgb.js +0 -2
- package/dist/convert/hsvToRgb.js.map +1 -0
- package/dist/{utility → convert}/hunterToXyz.d.ts +1 -1
- package/dist/convert/hunterToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/hunterToXyz.js +6 -7
- package/dist/convert/hunterToXyz.js.map +1 -0
- package/dist/convert/labToLch.d.ts +19 -0
- package/dist/convert/labToLch.d.ts.map +1 -0
- package/dist/convert/labToLch.js +12 -0
- package/dist/convert/labToLch.js.map +1 -0
- package/dist/{utility → convert}/labToXyz.d.ts +1 -1
- package/dist/convert/labToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/labToXyz.js +8 -5
- package/dist/convert/labToXyz.js.map +1 -0
- package/dist/convert/lchToLab.d.ts +19 -0
- package/dist/convert/lchToLab.d.ts.map +1 -0
- package/dist/convert/lchToLab.js +7 -0
- package/dist/convert/lchToLab.js.map +1 -0
- package/dist/{utility → convert}/luvToXyz.d.ts +1 -1
- package/dist/convert/luvToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/luvToXyz.js +4 -6
- package/dist/convert/luvToXyz.js.map +1 -0
- package/dist/{utility → convert}/rgbToCmy.d.ts +1 -1
- package/dist/convert/rgbToCmy.d.ts.map +1 -0
- package/dist/convert/rgbToCmy.js.map +1 -0
- package/dist/{utility → convert}/rgbToHex.d.ts +1 -1
- package/dist/{utility → convert}/rgbToHex.d.ts.map +1 -1
- package/dist/{utility → convert}/rgbToHex.js +3 -1
- package/dist/convert/rgbToHex.js.map +1 -0
- package/dist/convert/rgbToHsi.d.ts +10 -0
- package/dist/convert/rgbToHsi.d.ts.map +1 -0
- package/dist/convert/rgbToHsi.js +36 -0
- package/dist/convert/rgbToHsi.js.map +1 -0
- package/dist/{utility → convert}/rgbToHsl.d.ts +1 -1
- package/dist/convert/rgbToHsl.d.ts.map +1 -0
- package/dist/convert/rgbToHsl.js +37 -0
- package/dist/convert/rgbToHsl.js.map +1 -0
- package/dist/{utility → convert}/rgbToHsv.d.ts +1 -1
- package/dist/convert/rgbToHsv.d.ts.map +1 -0
- package/dist/{utility → convert}/rgbToHsv.js +11 -11
- package/dist/convert/rgbToHsv.js.map +1 -0
- package/dist/{utility → convert}/rgbToXyz.d.ts +1 -1
- package/dist/convert/rgbToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/rgbToXyz.js +9 -3
- package/dist/convert/rgbToXyz.js.map +1 -0
- package/dist/{utility → convert}/xyzToAdobe.d.ts +1 -1
- package/dist/convert/xyzToAdobe.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToAdobe.js +5 -3
- package/dist/convert/xyzToAdobe.js.map +1 -0
- package/dist/{utility → convert}/xyzToHunter.d.ts +2 -2
- package/dist/convert/xyzToHunter.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToHunter.js +7 -8
- package/dist/convert/xyzToHunter.js.map +1 -0
- package/dist/{utility → convert}/xyzToLab.d.ts +1 -1
- package/dist/convert/xyzToLab.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToLab.js +9 -5
- package/dist/convert/xyzToLab.js.map +1 -0
- package/dist/{utility → convert}/xyzToLuv.d.ts +1 -1
- package/dist/convert/xyzToLuv.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToLuv.js +5 -7
- package/dist/convert/xyzToLuv.js.map +1 -0
- package/dist/{utility → convert}/xyzToRgb.d.ts +1 -1
- package/dist/convert/xyzToRgb.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToRgb.js +8 -3
- package/dist/convert/xyzToRgb.js.map +1 -0
- package/dist/{utility → convert}/xyzToYxy.d.ts +1 -1
- package/dist/convert/xyzToYxy.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToYxy.js +0 -3
- package/dist/convert/xyzToYxy.js.map +1 -0
- package/dist/{utility → convert}/yxyToXyz.d.ts +1 -1
- package/dist/convert/yxyToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/yxyToXyz.js +0 -3
- package/dist/convert/yxyToXyz.js.map +1 -0
- package/dist/{utility → delta}/deltaC.d.ts +2 -2
- package/dist/delta/deltaC.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaC.js.map +1 -1
- package/dist/{utility → delta}/deltaCmc.d.ts +2 -2
- package/dist/delta/deltaCmc.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaCmc.js +5 -8
- package/dist/delta/deltaCmc.js.map +1 -0
- package/dist/{utility → delta}/deltaE00.d.ts +2 -2
- package/dist/delta/deltaE00.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaE00.js +13 -17
- package/dist/delta/deltaE00.js.map +1 -0
- package/dist/{utility → delta}/deltaE76.d.ts +2 -2
- package/dist/delta/deltaE76.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaE76.js.map +1 -1
- package/dist/{utility → delta}/deltaE94.d.ts +2 -2
- package/dist/delta/deltaE94.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaE94.js +0 -6
- package/dist/delta/deltaE94.js.map +1 -0
- package/dist/{utility → delta}/deltaH.d.ts +2 -2
- package/dist/delta/deltaH.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaH.js +0 -4
- package/dist/delta/deltaH.js.map +1 -0
- package/dist/index.d.ts +41 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -30
- package/dist/index.js.map +1 -1
- package/dist/names/bang.d.ts +2 -2
- package/dist/names/bang.d.ts.map +1 -1
- package/dist/names/bang.js +471 -471
- package/dist/names/bang.js.map +1 -1
- package/dist/names/cne.d.ts +1 -1
- package/dist/names/cne.d.ts.map +1 -1
- package/dist/names/cne.js +843 -843
- package/dist/names/cne.js.map +1 -1
- package/dist/names/crayola.d.ts +1 -1
- package/dist/names/crayola.d.ts.map +1 -1
- package/dist/names/crayola.js +110 -110
- package/dist/names/crayola.js.map +1 -1
- package/dist/names/getName.d.ts +2 -2
- package/dist/names/getName.d.ts.map +1 -1
- package/dist/names/getName.js +3 -3
- package/dist/names/getName.js.map +1 -1
- package/dist/names/hollasch.d.ts +1 -1
- package/dist/names/hollasch.d.ts.map +1 -1
- package/dist/names/hollasch.js +179 -179
- package/dist/names/hollasch.js.map +1 -1
- package/dist/names/nbs.d.ts +1 -1
- package/dist/names/nbs.d.ts.map +1 -1
- package/dist/names/nbs.js +266 -266
- package/dist/names/nbs.js.map +1 -1
- package/dist/names/ntc.d.ts +1 -1
- package/dist/names/ntc.d.ts.map +1 -1
- package/dist/names/ntc.js +1519 -1519
- package/dist/names/ntc.js.map +1 -1
- package/dist/names/resene.d.ts +1 -1
- package/dist/names/resene.d.ts.map +1 -1
- package/dist/names/resene.js +1331 -1331
- package/dist/names/resene.js.map +1 -1
- package/dist/names/tcapi.d.ts +1 -1
- package/dist/names/tcapi.d.ts.map +1 -1
- package/dist/names/tcapi.js +1840 -1840
- package/dist/names/tcapi.js.map +1 -1
- package/dist/names/x11.d.ts +1 -1
- package/dist/names/x11.d.ts.map +1 -1
- package/dist/names/x11.js +445 -445
- package/dist/names/x11.js.map +1 -1
- package/dist/names/xkcd.d.ts +1 -1
- package/dist/names/xkcd.d.ts.map +1 -1
- package/dist/names/xkcd.js +897 -897
- package/dist/names/xkcd.js.map +1 -1
- package/dist/palette/analogous.d.ts +28 -0
- package/dist/palette/analogous.d.ts.map +1 -0
- package/dist/palette/analogous.js +15 -0
- package/dist/palette/analogous.js.map +1 -0
- package/dist/palette/analogousLch.d.ts +19 -0
- package/dist/palette/analogousLch.d.ts.map +1 -0
- package/dist/palette/analogousLch.js +15 -0
- package/dist/palette/analogousLch.js.map +1 -0
- package/dist/palette/complement.d.ts +28 -0
- package/dist/palette/complement.d.ts.map +1 -0
- package/dist/palette/complement.js +15 -0
- package/dist/palette/complement.js.map +1 -0
- package/dist/palette/complementLch.d.ts +19 -0
- package/dist/palette/complementLch.d.ts.map +1 -0
- package/dist/palette/complementLch.js +15 -0
- package/dist/palette/complementLch.js.map +1 -0
- package/dist/palette/splitComplement.d.ts +28 -0
- package/dist/palette/splitComplement.d.ts.map +1 -0
- package/dist/palette/splitComplement.js +15 -0
- package/dist/palette/splitComplement.js.map +1 -0
- package/dist/palette/splitComplementLch.d.ts +19 -0
- package/dist/palette/splitComplementLch.d.ts.map +1 -0
- package/dist/palette/splitComplementLch.js +15 -0
- package/dist/palette/splitComplementLch.js.map +1 -0
- package/dist/types/Adobe.d.ts.map +1 -1
- package/dist/types/Cmy.d.ts.map +1 -1
- package/dist/types/Cmyk.d.ts.map +1 -1
- package/dist/types/Hsi.d.ts +15 -0
- package/dist/types/Hsi.d.ts.map +1 -0
- package/dist/types/Hsi.js +2 -0
- package/dist/types/Hsi.js.map +1 -0
- package/dist/types/Hsl.d.ts +1 -1
- package/dist/types/Hsl.d.ts.map +1 -1
- package/dist/types/Hsv.d.ts +1 -1
- package/dist/types/Hsv.d.ts.map +1 -1
- package/dist/types/Hunter.d.ts.map +1 -1
- package/dist/types/Lab.d.ts +2 -2
- package/dist/types/Lab.d.ts.map +1 -1
- package/dist/types/Lchab.d.ts +15 -0
- package/dist/types/Lchab.d.ts.map +1 -0
- package/dist/types/Lchab.js +2 -0
- package/dist/types/Lchab.js.map +1 -0
- package/dist/types/Lchuv.d.ts +15 -0
- package/dist/types/Lchuv.d.ts.map +1 -0
- package/dist/types/Lchuv.js +2 -0
- package/dist/types/Lchuv.js.map +1 -0
- package/dist/types/Luv.d.ts +1 -1
- package/dist/types/Luv.d.ts.map +1 -1
- package/dist/types/Rgb.d.ts.map +1 -1
- package/dist/types/Xyz.d.ts.map +1 -1
- package/dist/types/Yxy.d.ts.map +1 -1
- package/dist/utility/StandardIlluminant.d.ts.map +1 -1
- package/dist/utility/StandardIlluminant.js.map +1 -1
- package/dist/utility/contrast.d.ts +1 -1
- package/dist/utility/contrast.d.ts.map +1 -1
- package/dist/utility/contrast.js.map +1 -1
- package/dist/utility/getReference.d.ts +2 -2
- package/dist/utility/getReference.d.ts.map +1 -1
- package/dist/utility/getReference.js +39 -39
- package/dist/utility/getReference.js.map +1 -1
- package/dist/utility/isWebSafe.d.ts +10 -0
- package/dist/utility/isWebSafe.d.ts.map +1 -0
- package/dist/utility/isWebSafe.js +11 -0
- package/dist/utility/isWebSafe.js.map +1 -0
- package/dist/utility/relativeLuminance.d.ts +1 -1
- package/dist/utility/relativeLuminance.d.ts.map +1 -1
- package/dist/utility/relativeLuminance.js.map +1 -1
- package/package.json +34 -36
- package/src/{utility → convert}/adobeToXyz.ts +10 -4
- package/src/{utility → convert}/cmyToCmyk.ts +5 -4
- package/src/{utility → convert}/cmyToRgb.ts +3 -1
- package/src/{utility → convert}/cmykToCmy.ts +3 -2
- package/src/{utility → convert}/hexToRgb.ts +1 -1
- package/src/{utility → convert}/hslToRgb.ts +11 -7
- package/src/{utility → convert}/hsvToRgb.ts +4 -3
- package/src/{utility → convert}/hunterToXyz.ts +13 -10
- package/src/convert/labToLch.ts +40 -0
- package/src/{utility → convert}/labToXyz.ts +13 -8
- package/src/convert/lchToLab.ts +34 -0
- package/src/{utility → convert}/luvToXyz.ts +11 -9
- package/src/{utility → convert}/rgbToCmy.ts +3 -1
- package/src/{utility → convert}/rgbToHex.ts +6 -2
- package/src/convert/rgbToHsi.ts +45 -0
- package/src/convert/rgbToHsl.ts +46 -0
- package/src/{utility → convert}/rgbToHsv.ts +16 -13
- package/src/{utility → convert}/rgbToXyz.ts +13 -4
- package/src/convert/xyzToAdobe.ts +25 -0
- package/src/{utility → convert}/xyzToHunter.ts +14 -11
- package/src/{utility → convert}/xyzToLab.ts +14 -8
- package/src/{utility → convert}/xyzToLuv.ts +13 -11
- package/src/{utility → convert}/xyzToRgb.ts +12 -4
- package/src/{utility → convert}/xyzToYxy.ts +5 -4
- package/src/{utility → convert}/yxyToXyz.ts +5 -4
- package/src/{utility → delta}/deltaC.ts +12 -5
- package/src/{utility → delta}/deltaCmc.ts +14 -12
- package/src/{utility → delta}/deltaE00.ts +23 -20
- package/src/{utility → delta}/deltaE76.ts +12 -5
- package/src/{utility → delta}/deltaE94.ts +9 -10
- package/src/{utility → delta}/deltaH.ts +15 -9
- package/src/index.ts +47 -31
- package/src/names/bang.ts +476 -472
- package/src/names/cne.ts +848 -844
- package/src/names/crayola.ts +115 -111
- package/src/names/getName.ts +7 -6
- package/src/names/hollasch.ts +184 -180
- package/src/names/nbs.ts +271 -267
- package/src/names/ntc.ts +1524 -1520
- package/src/names/resene.ts +1336 -1332
- package/src/names/tcapi.ts +1845 -1841
- package/src/names/x11.ts +450 -446
- package/src/names/xkcd.ts +902 -898
- package/src/palette/analogous.ts +61 -0
- package/src/palette/analogousLch.ts +49 -0
- package/src/palette/complement.ts +65 -0
- package/src/palette/complementLch.ts +50 -0
- package/src/palette/splitComplement.ts +61 -0
- package/src/palette/splitComplementLch.ts +48 -0
- package/src/types/Adobe.ts +3 -0
- package/src/types/Cmy.ts +3 -0
- package/src/types/Cmyk.ts +4 -0
- package/src/types/Hsi.ts +20 -0
- package/src/types/Hsl.ts +4 -1
- package/src/types/Hsv.ts +4 -1
- package/src/types/Hunter.ts +3 -0
- package/src/types/Lab.ts +5 -2
- package/src/types/Lchab.ts +20 -0
- package/src/types/Lchuv.ts +20 -0
- package/src/types/Luv.ts +4 -1
- package/src/types/Rgb.ts +3 -0
- package/src/types/Xyz.ts +3 -0
- package/src/types/Yxy.ts +3 -0
- package/src/utility/StandardIlluminant.ts +40 -40
- package/src/utility/contrast.ts +5 -1
- package/src/utility/getReference.ts +42 -41
- package/src/utility/isWebSafe.ts +14 -0
- package/src/utility/relativeLuminance.ts +2 -2
- package/dist/types/Lch.d.ts +0 -16
- package/dist/types/Lch.d.ts.map +0 -1
- package/dist/types/Lch.js +0 -2
- package/dist/types/Lch.js.map +0 -1
- package/dist/utility/adobeToXyz.d.ts.map +0 -1
- package/dist/utility/adobeToXyz.js.map +0 -1
- package/dist/utility/cmyToCmyk.d.ts.map +0 -1
- package/dist/utility/cmyToCmyk.js.map +0 -1
- package/dist/utility/cmyToRgb.d.ts.map +0 -1
- package/dist/utility/cmyToRgb.js.map +0 -1
- package/dist/utility/cmykToCmy.d.ts.map +0 -1
- package/dist/utility/cmykToCmy.js.map +0 -1
- package/dist/utility/deltaC.d.ts.map +0 -1
- package/dist/utility/deltaCmc.d.ts.map +0 -1
- package/dist/utility/deltaCmc.js.map +0 -1
- package/dist/utility/deltaE00.d.ts.map +0 -1
- package/dist/utility/deltaE00.js.map +0 -1
- package/dist/utility/deltaE76.d.ts.map +0 -1
- package/dist/utility/deltaE94.d.ts.map +0 -1
- package/dist/utility/deltaE94.js.map +0 -1
- package/dist/utility/deltaH.d.ts.map +0 -1
- package/dist/utility/deltaH.js.map +0 -1
- package/dist/utility/hexToRgb.d.ts.map +0 -1
- package/dist/utility/hslToRgb.d.ts.map +0 -1
- package/dist/utility/hslToRgb.js.map +0 -1
- package/dist/utility/hsvToRgb.d.ts.map +0 -1
- package/dist/utility/hsvToRgb.js.map +0 -1
- package/dist/utility/hunterToXyz.d.ts.map +0 -1
- package/dist/utility/hunterToXyz.js.map +0 -1
- package/dist/utility/labToLch.d.ts +0 -11
- package/dist/utility/labToLch.d.ts.map +0 -1
- package/dist/utility/labToLch.js +0 -19
- package/dist/utility/labToLch.js.map +0 -1
- package/dist/utility/labToXyz.d.ts.map +0 -1
- package/dist/utility/labToXyz.js.map +0 -1
- package/dist/utility/lchToLab.d.ts +0 -11
- package/dist/utility/lchToLab.d.ts.map +0 -1
- package/dist/utility/lchToLab.js +0 -14
- package/dist/utility/lchToLab.js.map +0 -1
- package/dist/utility/luvToXyz.d.ts.map +0 -1
- package/dist/utility/luvToXyz.js.map +0 -1
- package/dist/utility/rgbToCmy.d.ts.map +0 -1
- package/dist/utility/rgbToCmy.js.map +0 -1
- package/dist/utility/rgbToHex.js.map +0 -1
- package/dist/utility/rgbToHsl.d.ts.map +0 -1
- package/dist/utility/rgbToHsl.js +0 -31
- package/dist/utility/rgbToHsl.js.map +0 -1
- package/dist/utility/rgbToHsv.d.ts.map +0 -1
- package/dist/utility/rgbToHsv.js.map +0 -1
- package/dist/utility/rgbToXyz.d.ts.map +0 -1
- package/dist/utility/rgbToXyz.js.map +0 -1
- package/dist/utility/xyzToAdobe.d.ts.map +0 -1
- package/dist/utility/xyzToAdobe.js.map +0 -1
- package/dist/utility/xyzToHunter.d.ts.map +0 -1
- package/dist/utility/xyzToHunter.js.map +0 -1
- package/dist/utility/xyzToLab.d.ts.map +0 -1
- package/dist/utility/xyzToLab.js.map +0 -1
- package/dist/utility/xyzToLuv.d.ts.map +0 -1
- package/dist/utility/xyzToLuv.js.map +0 -1
- package/dist/utility/xyzToRgb.d.ts.map +0 -1
- package/dist/utility/xyzToRgb.js.map +0 -1
- package/dist/utility/xyzToYxy.d.ts.map +0 -1
- package/dist/utility/xyzToYxy.js.map +0 -1
- package/dist/utility/yxyToXyz.d.ts.map +0 -1
- package/dist/utility/yxyToXyz.js.map +0 -1
- package/src/types/Lch.ts +0 -18
- package/src/utility/labToLch.ts +0 -24
- package/src/utility/lchToLab.ts +0 -18
- package/src/utility/rgbToHsl.ts +0 -38
- package/src/utility/xyzToAdobe.ts +0 -20
- /package/dist/{utility → convert}/cmyToRgb.js +0 -0
- /package/dist/{utility → convert}/hexToRgb.js +0 -0
- /package/dist/{utility → convert}/rgbToCmy.js +0 -0
- /package/dist/{utility → delta}/deltaC.js +0 -0
- /package/dist/{utility → delta}/deltaE76.js +0 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type Lab from "../types/Lab.js";
|
|
2
|
-
import type
|
|
2
|
+
import type Lchab from "../types/Lchab.js";
|
|
3
|
+
|
|
4
|
+
const c0 = 180 / Math.PI;
|
|
5
|
+
const c1 = Math.PI / 180;
|
|
3
6
|
|
|
4
7
|
/**
|
|
5
8
|
* Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
@@ -11,19 +14,18 @@ import type Lch from "../types/Lch.js";
|
|
|
11
14
|
* @public
|
|
12
15
|
*/
|
|
13
16
|
export default function deltaCmc(
|
|
14
|
-
color0: Lab
|
|
15
|
-
color1: Lab
|
|
16
|
-
weight:
|
|
17
|
+
color0: Readonly<Lab>,
|
|
18
|
+
color1: Readonly<Lab>,
|
|
19
|
+
weight: Readonly<Lchab> = [1, 1, 1]
|
|
17
20
|
): number {
|
|
18
|
-
// eslint-disable-next-line prefer-destructuring
|
|
19
21
|
const l0 = color0[0];
|
|
20
|
-
|
|
22
|
+
|
|
21
23
|
const a0 = color0[1];
|
|
22
|
-
|
|
24
|
+
|
|
23
25
|
const b0 = color0[2];
|
|
24
|
-
|
|
26
|
+
|
|
25
27
|
const a1 = color1[1];
|
|
26
|
-
|
|
28
|
+
|
|
27
29
|
const b1 = color1[2];
|
|
28
30
|
|
|
29
31
|
const i0 = Math.hypot(a0, b0);
|
|
@@ -38,7 +40,7 @@ export default function deltaCmc(
|
|
|
38
40
|
b0 < 0 ?
|
|
39
41
|
270
|
|
40
42
|
: 90
|
|
41
|
-
: Math.atan(b0 / a0) *
|
|
43
|
+
: Math.atan(b0 / a0) * c0 +
|
|
42
44
|
(a0 > 0 ?
|
|
43
45
|
b0 > 0 ?
|
|
44
46
|
0
|
|
@@ -54,8 +56,8 @@ export default function deltaCmc(
|
|
|
54
56
|
Math.sqrt((a1 - a0) ** 2 + (b1 - b0) ** 2 - i5 ** 2) /
|
|
55
57
|
((i2 *
|
|
56
58
|
(i3 < 164 || i3 > 345 ?
|
|
57
|
-
0.36 + Math.abs(0.4 * Math.cos((35 + i3) *
|
|
58
|
-
: 0.56 + Math.abs(0.2 * Math.cos((168 + i3) *
|
|
59
|
+
0.36 + Math.abs(0.4 * Math.cos((35 + i3) * c1))
|
|
60
|
+
: 0.56 + Math.abs(0.2 * Math.cos((168 + i3) * c1))) +
|
|
59
61
|
1 -
|
|
60
62
|
i2) *
|
|
61
63
|
i4)
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type Lab from "../types/Lab.js";
|
|
2
|
-
import type
|
|
2
|
+
import type Lchab from "../types/Lchab.js";
|
|
3
|
+
|
|
4
|
+
const c0 = 180 / Math.PI;
|
|
5
|
+
const c1 = 25 ** 7;
|
|
6
|
+
const c2 = Math.PI / 180;
|
|
3
7
|
|
|
4
8
|
/**
|
|
5
9
|
* Convert CIELAB data to hue data.
|
|
@@ -17,12 +21,12 @@ const cieLabToHue = (a: number, b: number): number =>
|
|
|
17
21
|
b < 0 ?
|
|
18
22
|
270
|
|
19
23
|
: 90
|
|
20
|
-
: Math.atan(b / a) *
|
|
24
|
+
: Math.atan(b / a) * c0 +
|
|
21
25
|
(a > 0 ?
|
|
22
26
|
b > 0 ?
|
|
23
27
|
0
|
|
24
28
|
: 360
|
|
25
|
-
: 180);
|
|
29
|
+
: 180);
|
|
26
30
|
|
|
27
31
|
/**
|
|
28
32
|
* Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
@@ -34,25 +38,24 @@ const cieLabToHue = (a: number, b: number): number =>
|
|
|
34
38
|
* @public
|
|
35
39
|
*/
|
|
36
40
|
export default function deltaE00(
|
|
37
|
-
color0: Lab
|
|
38
|
-
color1: Lab
|
|
39
|
-
weight:
|
|
41
|
+
color0: Readonly<Lab>,
|
|
42
|
+
color1: Readonly<Lab>,
|
|
43
|
+
weight: Readonly<Lchab> = [1, 1, 1]
|
|
40
44
|
): number {
|
|
41
|
-
// eslint-disable-next-line prefer-destructuring
|
|
42
45
|
const l0 = color0[0];
|
|
43
|
-
|
|
46
|
+
|
|
44
47
|
const a0 = color0[1];
|
|
45
|
-
|
|
48
|
+
|
|
46
49
|
const b0 = color0[2];
|
|
47
|
-
|
|
50
|
+
|
|
48
51
|
const l1 = color1[0];
|
|
49
|
-
|
|
52
|
+
|
|
50
53
|
const a1 = color1[1];
|
|
51
|
-
|
|
54
|
+
|
|
52
55
|
const b1 = color1[2];
|
|
53
56
|
|
|
54
57
|
const i0 = ((Math.hypot(a0, b0) + Math.hypot(a1, b1)) / 2) ** 7;
|
|
55
|
-
const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 +
|
|
58
|
+
const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 + c1)));
|
|
56
59
|
const i2 = (1 + i1) * a0;
|
|
57
60
|
const i3 = Math.hypot(i2, b0);
|
|
58
61
|
const i4 = cieLabToHue(i2, b0);
|
|
@@ -80,17 +83,17 @@ export default function deltaE00(
|
|
|
80
83
|
: i13 > 180 ? i13 - 360
|
|
81
84
|
: i13 + 360) /
|
|
82
85
|
2) *
|
|
83
|
-
|
|
86
|
+
c2
|
|
84
87
|
)) /
|
|
85
88
|
(weight[2] *
|
|
86
89
|
(1 +
|
|
87
90
|
0.015 *
|
|
88
91
|
i8 *
|
|
89
92
|
(1 -
|
|
90
|
-
0.17 * Math.cos((i11 - 30) *
|
|
91
|
-
0.24 * Math.cos(2 * i11 *
|
|
92
|
-
0.32 * Math.cos((3 * i11 + 6) *
|
|
93
|
-
0.2 * Math.cos((4 * i11 - 63) *
|
|
93
|
+
0.17 * Math.cos((i11 - 30) * c2) +
|
|
94
|
+
0.24 * Math.cos(2 * i11 * c2) +
|
|
95
|
+
0.32 * Math.cos((3 * i11 + 6) * c2) -
|
|
96
|
+
0.2 * Math.cos((4 * i11 - 63) * c2))));
|
|
94
97
|
const i15 = i8 ** 7;
|
|
95
98
|
const i16 = ((l0 + l1) / 2 - 50) ** 2;
|
|
96
99
|
|
|
@@ -98,8 +101,8 @@ export default function deltaE00(
|
|
|
98
101
|
((l1 - l0) / (weight[0] * (1 + (0.015 * i16) / Math.sqrt(20 + i16)))) ** 2 +
|
|
99
102
|
i12 ** 2 +
|
|
100
103
|
i14 ** 2 +
|
|
101
|
-
-Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) *
|
|
102
|
-
(2 * Math.sqrt(i15 / (i15 +
|
|
104
|
+
-Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) * c2) *
|
|
105
|
+
(2 * Math.sqrt(i15 / (i15 + c1))) *
|
|
103
106
|
i12 *
|
|
104
107
|
i14
|
|
105
108
|
);
|
|
@@ -9,8 +9,10 @@ import type Luv from "../types/Luv.js";
|
|
|
9
9
|
* @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
export default function deltaE76(
|
|
13
|
-
|
|
12
|
+
export default function deltaE76(
|
|
13
|
+
color0: Readonly<Lab>,
|
|
14
|
+
color1: Readonly<Lab>
|
|
15
|
+
): number;
|
|
14
16
|
/**
|
|
15
17
|
* Calculates the ΔE* CIE (CIE 1976) between two CIELUV values. Based on the EasyRGB pseudocode.
|
|
16
18
|
* @param color0 - The first color.
|
|
@@ -19,9 +21,14 @@ export default function deltaE76(color0: Lab, color1: Lab): number;
|
|
|
19
21
|
* @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
|
|
20
22
|
* @public
|
|
21
23
|
*/
|
|
22
|
-
export default function deltaE76(
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
export default function deltaE76(
|
|
25
|
+
color0: Readonly<Luv>,
|
|
26
|
+
color1: Readonly<Luv>
|
|
27
|
+
): number;
|
|
28
|
+
export default function deltaE76(
|
|
29
|
+
color0: Readonly<Lab | Luv>,
|
|
30
|
+
color1: Readonly<Lab | Luv>
|
|
31
|
+
): number {
|
|
25
32
|
return Math.hypot(
|
|
26
33
|
color0[0] - color1[0],
|
|
27
34
|
color0[1] - color1[1],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Lab from "../types/Lab.js";
|
|
2
|
-
import type
|
|
2
|
+
import type Lchab from "../types/Lchab.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Calculates the ΔE* 1994 between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
@@ -11,21 +11,20 @@ import type Lch from "../types/Lch.js";
|
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
13
13
|
export default function deltaE94(
|
|
14
|
-
color0: Lab
|
|
15
|
-
color1: Lab
|
|
16
|
-
weight:
|
|
14
|
+
color0: Readonly<Lab>,
|
|
15
|
+
color1: Readonly<Lab>,
|
|
16
|
+
weight: Readonly<Lchab> = [1, 1, 1]
|
|
17
17
|
): number {
|
|
18
|
-
// eslint-disable-next-line prefer-destructuring
|
|
19
18
|
const l0 = color0[0];
|
|
20
|
-
|
|
19
|
+
|
|
21
20
|
const a0 = color0[1];
|
|
22
|
-
|
|
21
|
+
|
|
23
22
|
const b0 = color0[2];
|
|
24
|
-
|
|
23
|
+
|
|
25
24
|
const l1 = color1[0];
|
|
26
|
-
|
|
25
|
+
|
|
27
26
|
const a1 = color1[1];
|
|
28
|
-
|
|
27
|
+
|
|
29
28
|
const b1 = color1[2];
|
|
30
29
|
|
|
31
30
|
const i0 = Math.hypot(a0, b0);
|
|
@@ -9,8 +9,10 @@ import type Luv from "../types/Luv.js";
|
|
|
9
9
|
* @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
export default function deltaH(
|
|
13
|
-
|
|
12
|
+
export default function deltaH(
|
|
13
|
+
color0: Readonly<Lab>,
|
|
14
|
+
color1: Readonly<Lab>
|
|
15
|
+
): number;
|
|
14
16
|
/**
|
|
15
17
|
* Calculates the ΔH* between two CIELUV values. Based on the EasyRGB pseudocode.
|
|
16
18
|
* @param color0 - The first color.
|
|
@@ -19,16 +21,20 @@ export default function deltaH(color0: Lab, color1: Lab): number;
|
|
|
19
21
|
* @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
|
|
20
22
|
* @public
|
|
21
23
|
*/
|
|
22
|
-
export default function deltaH(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
export default function deltaH(
|
|
25
|
+
color0: Readonly<Luv>,
|
|
26
|
+
color1: Readonly<Luv>
|
|
27
|
+
): number;
|
|
28
|
+
export default function deltaH(
|
|
29
|
+
color0: Readonly<Lab | Luv>,
|
|
30
|
+
color1: Readonly<Lab | Luv>
|
|
31
|
+
): number {
|
|
26
32
|
const a0 = color0[1];
|
|
27
|
-
|
|
33
|
+
|
|
28
34
|
const b0 = color0[2];
|
|
29
|
-
|
|
35
|
+
|
|
30
36
|
const a1 = color1[1];
|
|
31
|
-
|
|
37
|
+
|
|
32
38
|
const b1 = color1[2];
|
|
33
39
|
|
|
34
40
|
return Math.sqrt(
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,38 @@
|
|
|
1
|
+
// Convert
|
|
2
|
+
export { default as adobeToXyz } from "./convert/adobeToXyz.js";
|
|
3
|
+
export { default as cmykToCmy } from "./convert/cmykToCmy.js";
|
|
4
|
+
export { default as cmyToCmyk } from "./convert/cmyToCmyk.js";
|
|
5
|
+
export { default as cmyToRgb } from "./convert/cmyToRgb.js";
|
|
6
|
+
export { default as hexToRgb } from "./convert/hexToRgb.js";
|
|
7
|
+
export { default as hslToRgb } from "./convert/hslToRgb.js";
|
|
8
|
+
export { default as hsvToRgb } from "./convert/hsvToRgb.js";
|
|
9
|
+
export { default as hunterToXyz } from "./convert/hunterToXyz.js";
|
|
10
|
+
export { default as labToLch } from "./convert/labToLch.js";
|
|
11
|
+
export { default as labToXyz } from "./convert/labToXyz.js";
|
|
12
|
+
export { default as lchToLab } from "./convert/lchToLab.js";
|
|
13
|
+
export { default as luvToXyz } from "./convert/luvToXyz.js";
|
|
14
|
+
export { default as rgbToCmy } from "./convert/rgbToCmy.js";
|
|
15
|
+
export { default as rgbToHex } from "./convert/rgbToHex.js";
|
|
16
|
+
export { default as rgbToHsi } from "./convert/rgbToHsi.js";
|
|
17
|
+
export { default as rgbToHsl } from "./convert/rgbToHsl.js";
|
|
18
|
+
export { default as rgbToHsv } from "./convert/rgbToHsv.js";
|
|
19
|
+
export { default as rgbToXyz } from "./convert/rgbToXyz.js";
|
|
20
|
+
export { default as xyzToAdobe } from "./convert/xyzToAdobe.js";
|
|
21
|
+
export { default as xyzToHunter } from "./convert/xyzToHunter.js";
|
|
22
|
+
export { default as xyzToLab } from "./convert/xyzToLab.js";
|
|
23
|
+
export { default as xyzToLuv } from "./convert/xyzToLuv.js";
|
|
24
|
+
export { default as xyzToRgb } from "./convert/xyzToRgb.js";
|
|
25
|
+
export { default as xyzToYxy } from "./convert/xyzToYxy.js";
|
|
26
|
+
export { default as yxyToXyz } from "./convert/yxyToXyz.js";
|
|
27
|
+
|
|
28
|
+
// Delta
|
|
29
|
+
export { default as deltaC } from "./delta/deltaC.js";
|
|
30
|
+
export { default as deltaCmc } from "./delta/deltaCmc.js";
|
|
31
|
+
export { default as deltaE00 } from "./delta/deltaE00.js";
|
|
32
|
+
export { default as deltaE76 } from "./delta/deltaE76.js";
|
|
33
|
+
export { default as deltaE94 } from "./delta/deltaE94.js";
|
|
34
|
+
export { default as deltaH } from "./delta/deltaH.js";
|
|
35
|
+
|
|
1
36
|
// Names
|
|
2
37
|
export { default as bang } from "./names/bang.js";
|
|
3
38
|
export { default as cne } from "./names/cne.js";
|
|
@@ -11,53 +46,34 @@ export { default as tcapi } from "./names/tcapi.js";
|
|
|
11
46
|
export { default as x11 } from "./names/x11.js";
|
|
12
47
|
export { default as xkcd } from "./names/xkcd.js";
|
|
13
48
|
|
|
49
|
+
// Palette
|
|
50
|
+
export { default as analogous } from "./palette/analogous.js";
|
|
51
|
+
export { default as analogousLch } from "./palette/analogousLch.js";
|
|
52
|
+
export { default as complement } from "./palette/complement.js";
|
|
53
|
+
export { default as complementLch } from "./palette/complementLch.js";
|
|
54
|
+
export { default as splitComplement } from "./palette/splitComplement.js";
|
|
55
|
+
export { default as splitComplementLch } from "./palette/splitComplementLch.js";
|
|
56
|
+
|
|
14
57
|
// Types
|
|
15
58
|
export type { default as Adobe } from "./types/Adobe.js";
|
|
16
59
|
export type { default as Cmy } from "./types/Cmy.js";
|
|
17
60
|
export type { default as Cmyk } from "./types/Cmyk.js";
|
|
18
61
|
export type { Color } from "./types/Color.js";
|
|
62
|
+
export type { default as Hsi } from "./types/Hsi.js";
|
|
19
63
|
export type { default as Hsl } from "./types/Hsl.js";
|
|
20
64
|
export type { default as Hsv } from "./types/Hsv.js";
|
|
21
65
|
export type { default as Hunter } from "./types/Hunter.js";
|
|
22
66
|
export type { default as Lab } from "./types/Lab.js";
|
|
23
|
-
export type { default as
|
|
67
|
+
export type { default as Lchab } from "./types/Lchab.js";
|
|
68
|
+
export type { default as Lchuv } from "./types/Lchuv.js";
|
|
24
69
|
export type { default as Luv } from "./types/Luv.js";
|
|
25
70
|
export type { default as Rgb } from "./types/Rgb.js";
|
|
26
71
|
export type { default as Xyz } from "./types/Xyz.js";
|
|
27
72
|
export type { default as Yxy } from "./types/Yxy.js";
|
|
28
73
|
|
|
29
74
|
// Utility
|
|
30
|
-
export { default as adobeToXyz } from "./utility/adobeToXyz.js";
|
|
31
|
-
export { default as cmykToCmy } from "./utility/cmykToCmy.js";
|
|
32
|
-
export { default as cmyToCmyk } from "./utility/cmyToCmyk.js";
|
|
33
|
-
export { default as cmyToRgb } from "./utility/cmyToRgb.js";
|
|
34
75
|
export { default as contrast } from "./utility/contrast.js";
|
|
35
|
-
export { default as deltaC } from "./utility/deltaC.js";
|
|
36
|
-
export { default as deltaCmc } from "./utility/deltaCmc.js";
|
|
37
|
-
export { default as deltaE00 } from "./utility/deltaE00.js";
|
|
38
|
-
export { default as deltaE76 } from "./utility/deltaE76.js";
|
|
39
|
-
export { default as deltaE94 } from "./utility/deltaE94.js";
|
|
40
|
-
export { default as deltaH } from "./utility/deltaH.js";
|
|
41
76
|
export { default as getReference } from "./utility/getReference.js";
|
|
42
|
-
export { default as
|
|
43
|
-
export { default as hslToRgb } from "./utility/hslToRgb.js";
|
|
44
|
-
export { default as hsvToRgb } from "./utility/hsvToRgb.js";
|
|
45
|
-
export { default as hunterToXyz } from "./utility/hunterToXyz.js";
|
|
46
|
-
export { default as labToLch } from "./utility/labToLch.js";
|
|
47
|
-
export { default as labToXyz } from "./utility/labToXyz.js";
|
|
48
|
-
export { default as lchToLab } from "./utility/lchToLab.js";
|
|
49
|
-
export { default as luvToXyz } from "./utility/luvToXyz.js";
|
|
77
|
+
export { default as isWebSafe } from "./utility/isWebSafe.js";
|
|
50
78
|
export { default as relativeLuminance } from "./utility/relativeLuminance.js";
|
|
51
|
-
export { default as rgbToCmy } from "./utility/rgbToCmy.js";
|
|
52
|
-
export { default as rgbToHex } from "./utility/rgbToHex.js";
|
|
53
|
-
export { default as rgbToHsl } from "./utility/rgbToHsl.js";
|
|
54
|
-
export { default as rgbToHsv } from "./utility/rgbToHsv.js";
|
|
55
|
-
export { default as rgbToXyz } from "./utility/rgbToXyz.js";
|
|
56
79
|
export { default as StandardIlluminant } from "./utility/StandardIlluminant.js";
|
|
57
|
-
export { default as xyzToAdobe } from "./utility/xyzToAdobe.js";
|
|
58
|
-
export { default as xyzToHunter } from "./utility/xyzToHunter.js";
|
|
59
|
-
export { default as xyzToLab } from "./utility/xyzToLab.js";
|
|
60
|
-
export { default as xyzToLuv } from "./utility/xyzToLuv.js";
|
|
61
|
-
export { default as xyzToRgb } from "./utility/xyzToRgb.js";
|
|
62
|
-
export { default as xyzToYxy } from "./utility/xyzToYxy.js";
|
|
63
|
-
export { default as yxyToXyz } from "./utility/yxyToXyz.js";
|