@lakuna/color 1.1.2 → 1.2.0
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/{utility → convert}/cmyToRgb.d.ts.map +1 -1
- package/dist/{utility → convert}/cmyToRgb.js.map +1 -1
- package/dist/{utility → convert}/cmykToCmy.d.ts +1 -1
- package/dist/{utility → convert}/cmykToCmy.d.ts.map +1 -1
- 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/{utility → convert}/hsvToRgb.d.ts.map +1 -1
- 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/{utility → convert}/rgbToCmy.d.ts.map +1 -1
- package/dist/{utility → convert}/rgbToCmy.js.map +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/{utility → convert}/xyzToYxy.d.ts.map +1 -1
- 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/{utility → convert}/yxyToXyz.d.ts.map +1 -1
- package/dist/{utility → convert}/yxyToXyz.js +0 -3
- package/dist/convert/yxyToXyz.js.map +1 -0
- package/dist/delta/deltaC.d.ts.map +1 -0
- package/dist/delta/deltaC.js.map +1 -0
- 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/delta/deltaE76.d.ts.map +1 -0
- package/dist/delta/deltaE76.js.map +1 -0
- 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/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.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.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.js.map +1 -1
- package/package.json +15 -15
- package/src/{utility → convert}/adobeToXyz.ts +10 -4
- package/src/{utility → convert}/cmyToCmyk.ts +5 -4
- package/src/{utility → convert}/cmyToRgb.ts +1 -1
- package/src/{utility → convert}/cmykToCmy.ts +1 -2
- package/src/{utility → convert}/hexToRgb.ts +1 -1
- package/src/{utility → convert}/hslToRgb.ts +9 -7
- package/src/{utility → convert}/hsvToRgb.ts +2 -3
- package/src/{utility → convert}/hunterToXyz.ts +11 -8
- package/src/convert/labToLch.ts +36 -0
- package/src/{utility → convert}/labToXyz.ts +11 -6
- package/src/convert/lchToLab.ts +30 -0
- package/src/{utility → convert}/luvToXyz.ts +9 -7
- package/src/{utility → convert}/rgbToCmy.ts +1 -1
- package/src/{utility → convert}/rgbToHex.ts +5 -1
- package/src/convert/rgbToHsi.ts +43 -0
- package/src/convert/rgbToHsl.ts +44 -0
- package/src/{utility → convert}/rgbToHsv.ts +14 -13
- package/src/{utility → convert}/rgbToXyz.ts +11 -4
- package/src/{utility → convert}/xyzToAdobe.ts +9 -4
- package/src/{utility → convert}/xyzToHunter.ts +12 -9
- package/src/{utility → convert}/xyzToLab.ts +12 -6
- package/src/{utility → convert}/xyzToLuv.ts +11 -9
- package/src/{utility → convert}/xyzToRgb.ts +10 -4
- package/src/{utility → convert}/xyzToYxy.ts +3 -4
- package/src/{utility → convert}/yxyToXyz.ts +3 -4
- package/src/{utility → delta}/deltaC.ts +0 -2
- package/src/{utility → delta}/deltaCmc.ts +12 -10
- package/src/{utility → delta}/deltaE00.ts +21 -18
- package/src/{utility → delta}/deltaE76.ts +0 -2
- package/src/{utility → delta}/deltaE94.ts +7 -8
- package/src/{utility → delta}/deltaH.ts +3 -6
- 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 +4 -3
- 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 +1 -0
- package/src/utility/getReference.ts +42 -41
- package/src/utility/isWebSafe.ts +14 -0
- package/src/utility/relativeLuminance.ts +1 -1
- 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/cmykToCmy.js.map +0 -1
- package/dist/utility/deltaC.d.ts.map +0 -1
- package/dist/utility/deltaC.js.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/deltaE76.js.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.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/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.js.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/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 → convert}/rgbToHex.d.ts +0 -0
- /package/dist/{utility → delta}/deltaC.d.ts +0 -0
- /package/dist/{utility → delta}/deltaC.js +0 -0
- /package/dist/{utility → delta}/deltaE76.d.ts +0 -0
- /package/dist/{utility → delta}/deltaE76.js +0 -0
- /package/dist/{utility → delta}/deltaH.d.ts +0 -0
package/dist/types/Lab.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lab.d.ts","sourceRoot":"","sources":["../../src/types/Lab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,
|
|
1
|
+
{"version":3,"file":"Lab.d.ts","sourceRoot":"","sources":["../../src/types/Lab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,8FAA8F;IAE9F,CAAC,EAAE,MAAM,CAAC;IAEV,gKAAgK;IAEhK,CAAC,EAAE,MAAM,CAAC;IAEV,gKAAgK;IAEhK,CAAC,EAAE,MAAM,CAAC;CACV"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Color } from "./Color.js";
|
|
2
|
+
/**
|
|
3
|
+
* A CIELCh (CIEHLC or CIE-L\*Ch(ab)) representation of a color. Intended to be a perceptually uniform space. Colors are defined relative to a standard observer.
|
|
4
|
+
* @see {@link https://en.wikipedia.org/wiki/CIELAB_color_space | CIELAB color space}
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export default interface Lchab extends Color {
|
|
8
|
+
/** The L* (luminance or perceptual brightness) value of this color in the range `[0,100]`. */
|
|
9
|
+
0: number;
|
|
10
|
+
/** The C* (chroma/chromaticity or relative saturation) value of this color. Forms a polar coordinate pair with h° to represent the four unique colors of human vision (red, green, blue, and yellow). */
|
|
11
|
+
1: number;
|
|
12
|
+
/** The h° (hue angle) value of this color. Forms a polar coordinate pair with C* to represent the four unique colors of human vision (red, green, blue, and yellow). */
|
|
13
|
+
2: number;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Lchab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lchab.d.ts","sourceRoot":"","sources":["../../src/types/Lchab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,KAAM,SAAQ,KAAK;IAC3C,8FAA8F;IAE9F,CAAC,EAAE,MAAM,CAAC;IAEV,yMAAyM;IAEzM,CAAC,EAAE,MAAM,CAAC;IAEV,wKAAwK;IAExK,CAAC,EAAE,MAAM,CAAC;CACV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lchab.js","sourceRoot":"","sources":["../../src/types/Lchab.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Color } from "./Color.js";
|
|
2
|
+
/**
|
|
3
|
+
* A CIELCh (CIEHLC or CIE-L\*Ch(uv)) representation of a color. Intended to be a perceptually uniform space. Colors are defined relative to a standard observer.
|
|
4
|
+
* @see {@link https://en.wikipedia.org/wiki/CIELUV | CIELUV}
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export default interface Lchuv extends Color {
|
|
8
|
+
/** The L* (luminance or perceptual brightness) value of this color in the range `[0,100]`. */
|
|
9
|
+
0: number;
|
|
10
|
+
/** The C* (chroma/chromaticity or relative saturation) value of this color. Forms a polar coordinate pair with h° to represent the four unique colors of human vision (red, green, blue, and yellow). */
|
|
11
|
+
1: number;
|
|
12
|
+
/** The h° (hue angle) value of this color. Forms a polar coordinate pair with C* to represent the four unique colors of human vision (red, green, blue, and yellow). */
|
|
13
|
+
2: number;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Lchuv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lchuv.d.ts","sourceRoot":"","sources":["../../src/types/Lchuv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,KAAM,SAAQ,KAAK;IAC3C,8FAA8F;IAE9F,CAAC,EAAE,MAAM,CAAC;IAEV,yMAAyM;IAEzM,CAAC,EAAE,MAAM,CAAC;IAEV,wKAAwK;IAExK,CAAC,EAAE,MAAM,CAAC;CACV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lchuv.js","sourceRoot":"","sources":["../../src/types/Lchuv.ts"],"names":[],"mappings":""}
|
package/dist/types/Luv.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Color } from "./Color.js";
|
|
2
2
|
/**
|
|
3
|
-
* A CIELUV (CIE 1976 L
|
|
3
|
+
* A CIELUV (CIE 1976 L\*,u\*,v\* or CIE-L\*uv) representation of a color. Intended to be a perceptually uniform space. Derived from CIEXYZ. Colors are defined relative to a standard observer. Compared to CIELAB, CIELUV is considered better for emissive, self-illuminated colors (such as those on a monitor).
|
|
4
4
|
* @see {@link https://en.wikipedia.org/wiki/CIELUV | CIELUV}
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
package/dist/types/Luv.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Luv.d.ts","sourceRoot":"","sources":["../../src/types/Luv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,iFAAiF;
|
|
1
|
+
{"version":3,"file":"Luv.d.ts","sourceRoot":"","sources":["../../src/types/Luv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,iFAAiF;IAEjF,CAAC,EAAE,MAAM,CAAC;IAEV,gKAAgK;IAEhK,CAAC,EAAE,MAAM,CAAC;IAEV,gKAAgK;IAEhK,CAAC,EAAE,MAAM,CAAC;CACV"}
|
package/dist/types/Rgb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rgb.d.ts","sourceRoot":"","sources":["../../src/types/Rgb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,gEAAgE;
|
|
1
|
+
{"version":3,"file":"Rgb.d.ts","sourceRoot":"","sources":["../../src/types/Rgb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,gEAAgE;IAEhE,CAAC,EAAE,MAAM,CAAC;IAEV,kEAAkE;IAElE,CAAC,EAAE,MAAM,CAAC;IAEV,iEAAiE;IAEjE,CAAC,EAAE,MAAM,CAAC;CACV"}
|
package/dist/types/Xyz.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Xyz.d.ts","sourceRoot":"","sources":["../../src/types/Xyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"Xyz.d.ts","sourceRoot":"","sources":["../../src/types/Xyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,iCAAiC;IAEjC,CAAC,EAAE,MAAM,CAAC;IAEV,iCAAiC;IAEjC,CAAC,EAAE,MAAM,CAAC;IAEV,iCAAiC;IAEjC,CAAC,EAAE,MAAM,CAAC;CACV"}
|
package/dist/types/Yxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Yxy.d.ts","sourceRoot":"","sources":["../../src/types/Yxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,wDAAwD;
|
|
1
|
+
{"version":3,"file":"Yxy.d.ts","sourceRoot":"","sources":["../../src/types/Yxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,GAAI,SAAQ,KAAK;IACzC,wDAAwD;IAExD,CAAC,EAAE,MAAM,CAAC;IAEV,iCAAiC;IAEjC,CAAC,EAAE,MAAM,CAAC;IAEV,iCAAiC;IAEjC,CAAC,EAAE,MAAM,CAAC;CACV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardIlluminant.d.ts","sourceRoot":"","sources":["../../src/utility/StandardIlluminant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,aAAK,kBAAkB;IACtB,sIAAsI;IACtI,GAAG,
|
|
1
|
+
{"version":3,"file":"StandardIlluminant.d.ts","sourceRoot":"","sources":["../../src/utility/StandardIlluminant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,aAAK,kBAAkB;IACtB,sIAAsI;IACtI,GAAG,IAAI;IAEP,4IAA4I;IAC5I,IAAI,IAAI;IAER,2IAA2I;IAC3I,GAAG,IAAI;IAEP,iJAAiJ;IACjJ,IAAI,IAAI;IAER,4HAA4H;IAC5H,GAAG,IAAI;IAEP,kIAAkI;IAClI,IAAI,IAAI;IAER,6JAA6J;IAC7J,KAAK,IAAI;IAET,mKAAmK;IACnK,MAAM,IAAI;IAEV,yHAAyH;IACzH,KAAK,IAAI;IAET,+HAA+H;IAC/H,MAAM,IAAI;IAEV,oOAAoO;IACpO,KAAK,KAAK;IAEV,0OAA0O;IAC1O,MAAM,KAAK;IAEX,uHAAuH;IACvH,KAAK,KAAK;IAEV,6HAA6H;IAC7H,MAAM,KAAK;IAEX,wHAAwH;IACxH,GAAG,KAAK;IAER,8HAA8H;IAC9H,IAAI,KAAK;IAET,8HAA8H;IAC9H,IAAI,KAAK;IAET,oIAAoI;IACpI,KAAK,KAAK;IAEV,0HAA0H;IAC1H,IAAI,KAAK;IAET,gIAAgI;IAChI,KAAK,KAAK;IAEV,2HAA2H;IAC3H,IAAI,KAAK;IAET,iIAAiI;IACjI,KAAK,KAAK;IAEV,gIAAgI;IAChI,IAAI,KAAK;IAET,sIAAsI;IACtI,KAAK,KAAK;IAEV,8HAA8H;IAC9H,IAAI,KAAK;IAET,oIAAoI;IACpI,KAAK,KAAK;IAEV,gIAAgI;IAChI,IAAI,KAAK;IAET,sIAAsI;IACtI,KAAK,KAAK;IAEV,8IAA8I;IAC9I,IAAI,KAAK;IAET,oJAAoJ;IACpJ,KAAK,KAAK;IAEV,kJAAkJ;IAClJ,IAAI,KAAK;IAET,wJAAwJ;IACxJ,KAAK,KAAK;IAEV,gIAAgI;IAChI,IAAI,KAAK;IAET,sIAAsI;IACtI,KAAK,KAAK;IAEV,oJAAoJ;IACpJ,KAAK,KAAK;IAEV,0JAA0J;IAC1J,MAAM,KAAK;IAEX,oJAAoJ;IACpJ,KAAK,KAAK;IAEV,0JAA0J;IAC1J,MAAM,KAAK;IAEX,oJAAoJ;IACpJ,KAAK,KAAK;IAEV,0JAA0J;IAC1J,MAAM,KAAK;CACX;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardIlluminant.js","sourceRoot":"","sources":["../../src/utility/StandardIlluminant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,IAAK,kBAwHJ;AAxHD,WAAK,kBAAkB;IACtB,sIAAsI;IACtI,
|
|
1
|
+
{"version":3,"file":"StandardIlluminant.js","sourceRoot":"","sources":["../../src/utility/StandardIlluminant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,IAAK,kBAwHJ;AAxHD,WAAK,kBAAkB;IACtB,sIAAsI;IACtI,yDAAO,CAAA;IAEP,4IAA4I;IAC5I,2DAAQ,CAAA;IAER,2IAA2I;IAC3I,yDAAO,CAAA;IAEP,iJAAiJ;IACjJ,2DAAQ,CAAA;IAER,4HAA4H;IAC5H,yDAAO,CAAA;IAEP,kIAAkI;IAClI,2DAAQ,CAAA;IAER,6JAA6J;IAC7J,6DAAS,CAAA;IAET,mKAAmK;IACnK,+DAAU,CAAA;IAEV,yHAAyH;IACzH,6DAAS,CAAA;IAET,+HAA+H;IAC/H,+DAAU,CAAA;IAEV,oOAAoO;IACpO,8DAAU,CAAA;IAEV,0OAA0O;IAC1O,gEAAW,CAAA;IAEX,uHAAuH;IACvH,8DAAU,CAAA;IAEV,6HAA6H;IAC7H,gEAAW,CAAA;IAEX,wHAAwH;IACxH,0DAAQ,CAAA;IAER,8HAA8H;IAC9H,4DAAS,CAAA;IAET,8HAA8H;IAC9H,4DAAS,CAAA;IAET,oIAAoI;IACpI,8DAAU,CAAA;IAEV,0HAA0H;IAC1H,4DAAS,CAAA;IAET,gIAAgI;IAChI,8DAAU,CAAA;IAEV,2HAA2H;IAC3H,4DAAS,CAAA;IAET,iIAAiI;IACjI,8DAAU,CAAA;IAEV,gIAAgI;IAChI,4DAAS,CAAA;IAET,sIAAsI;IACtI,8DAAU,CAAA;IAEV,8HAA8H;IAC9H,4DAAS,CAAA;IAET,oIAAoI;IACpI,8DAAU,CAAA;IAEV,gIAAgI;IAChI,4DAAS,CAAA;IAET,sIAAsI;IACtI,8DAAU,CAAA;IAEV,8IAA8I;IAC9I,4DAAS,CAAA;IAET,oJAAoJ;IACpJ,8DAAU,CAAA;IAEV,kJAAkJ;IAClJ,4DAAS,CAAA;IAET,wJAAwJ;IACxJ,8DAAU,CAAA;IAEV,gIAAgI;IAChI,4DAAS,CAAA;IAET,sIAAsI;IACtI,8DAAU,CAAA;IAEV,oJAAoJ;IACpJ,8DAAU,CAAA;IAEV,0JAA0J;IAC1J,gEAAW,CAAA;IAEX,oJAAoJ;IACpJ,8DAAU,CAAA;IAEV,0JAA0J;IAC1J,gEAAW,CAAA;IAEX,oJAAoJ;IACpJ,8DAAU,CAAA;IAEV,0JAA0J;IAC1J,gEAAW,CAAA;AACZ,CAAC,EAxHI,kBAAkB,KAAlB,kBAAkB,QAwHtB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../../src/utility/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../../src/utility/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAIvC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAMjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contrast.js","sourceRoot":"","sources":["../../src/utility/contrast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contrast.js","sourceRoot":"","sources":["../../src/utility/contrast.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAW,EAAE,MAAW;IACxD,uBAAuB;IACvB,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import StandardIlluminant from "./StandardIlluminant.js";
|
|
2
1
|
import type Xyz from "../types/Xyz.js";
|
|
2
|
+
import StandardIlluminant from "./StandardIlluminant.js";
|
|
3
3
|
/**
|
|
4
4
|
* Get an XYZ (tristimulus) reference value of a perfect reflecting diffuser, scaled such that the white point has a Y value of 100.
|
|
5
5
|
* @param standardIlluminant - The standard illuminant and observer pair.
|
|
6
6
|
* @returns An XYZ (tristimulus) reference value of a perfect reflecting diffuser.
|
|
7
7
|
*/
|
|
8
|
-
export default function getReference(standardIlluminant: StandardIlluminant): Xyz;
|
|
8
|
+
export default function getReference(standardIlluminant: StandardIlluminant): [number, number, number] & Xyz;
|
|
9
9
|
//# sourceMappingURL=getReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getReference.d.ts","sourceRoot":"","sources":["../../src/utility/getReference.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getReference.d.ts","sourceRoot":"","sources":["../../src/utility/getReference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CACnC,kBAAkB,EAAE,kBAAkB,GACpC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAoFhC"}
|
|
@@ -6,85 +6,85 @@ import StandardIlluminant from "./StandardIlluminant.js";
|
|
|
6
6
|
*/
|
|
7
7
|
export default function getReference(standardIlluminant) {
|
|
8
8
|
switch (standardIlluminant) {
|
|
9
|
-
case StandardIlluminant.A_10:
|
|
10
|
-
return [111.144, 100, 35.2];
|
|
11
9
|
case StandardIlluminant.A_2:
|
|
12
10
|
return [109.85, 100, 35.585];
|
|
13
|
-
case StandardIlluminant.
|
|
14
|
-
return [
|
|
11
|
+
case StandardIlluminant.A_10:
|
|
12
|
+
return [111.144, 100, 35.2];
|
|
15
13
|
case StandardIlluminant.B_2:
|
|
16
14
|
return [99.0927, 100, 85.313];
|
|
17
|
-
case StandardIlluminant.
|
|
18
|
-
return [
|
|
15
|
+
case StandardIlluminant.B_10:
|
|
16
|
+
return [99.178, 100, 84.3493];
|
|
19
17
|
case StandardIlluminant.C_2:
|
|
20
18
|
return [98.074, 100, 118.232];
|
|
21
|
-
case StandardIlluminant.
|
|
22
|
-
return [
|
|
19
|
+
case StandardIlluminant.C_10:
|
|
20
|
+
return [97.285, 100, 116.145];
|
|
23
21
|
case StandardIlluminant.D50_2:
|
|
24
22
|
return [96.422, 100, 82.521];
|
|
25
|
-
case StandardIlluminant.
|
|
26
|
-
return [
|
|
23
|
+
case StandardIlluminant.D50_10:
|
|
24
|
+
return [96.72, 100, 81.427];
|
|
27
25
|
case StandardIlluminant.D55_2:
|
|
28
26
|
return [95.682, 100, 92.149];
|
|
29
|
-
case StandardIlluminant.
|
|
30
|
-
return [
|
|
27
|
+
case StandardIlluminant.D55_10:
|
|
28
|
+
return [95.799, 100, 90.926];
|
|
31
29
|
case StandardIlluminant.D65_2:
|
|
32
30
|
return [95.047, 100, 108.883];
|
|
33
|
-
case StandardIlluminant.
|
|
34
|
-
return [94.
|
|
31
|
+
case StandardIlluminant.D65_10:
|
|
32
|
+
return [94.811, 100, 107.304];
|
|
35
33
|
case StandardIlluminant.D75_2:
|
|
36
34
|
return [94.972, 100, 122.638];
|
|
37
|
-
case StandardIlluminant.
|
|
35
|
+
case StandardIlluminant.D75_10:
|
|
36
|
+
return [94.416, 100, 120.641];
|
|
38
37
|
case StandardIlluminant.E_2:
|
|
38
|
+
case StandardIlluminant.E_10:
|
|
39
39
|
return [100, 100, 100];
|
|
40
|
-
case StandardIlluminant.F1_10:
|
|
41
|
-
return [94.791, 100, 103.191];
|
|
42
40
|
case StandardIlluminant.F1_2:
|
|
43
41
|
return [92.834, 100, 103.665];
|
|
44
|
-
case StandardIlluminant.
|
|
45
|
-
return [
|
|
42
|
+
case StandardIlluminant.F1_10:
|
|
43
|
+
return [94.791, 100, 103.191];
|
|
46
44
|
case StandardIlluminant.F2_2:
|
|
47
45
|
return [99.187, 100, 67.395];
|
|
48
|
-
case StandardIlluminant.
|
|
49
|
-
return [
|
|
46
|
+
case StandardIlluminant.F2_10:
|
|
47
|
+
return [103.28, 100, 69.026];
|
|
50
48
|
case StandardIlluminant.F3_2:
|
|
51
49
|
return [103.754, 100, 49.861];
|
|
52
|
-
case StandardIlluminant.
|
|
53
|
-
return [
|
|
50
|
+
case StandardIlluminant.F3_10:
|
|
51
|
+
return [108.968, 100, 51.965];
|
|
54
52
|
case StandardIlluminant.F4_2:
|
|
55
53
|
return [109.147, 100, 38.813];
|
|
56
|
-
case StandardIlluminant.
|
|
57
|
-
return [
|
|
54
|
+
case StandardIlluminant.F4_10:
|
|
55
|
+
return [114.961, 100, 40.963];
|
|
58
56
|
case StandardIlluminant.F5_2:
|
|
59
57
|
return [90.872, 100, 98.723];
|
|
60
|
-
case StandardIlluminant.
|
|
61
|
-
return [
|
|
58
|
+
case StandardIlluminant.F5_10:
|
|
59
|
+
return [93.369, 100, 98.636];
|
|
62
60
|
case StandardIlluminant.F6_2:
|
|
63
61
|
return [97.309, 100, 60.191];
|
|
64
|
-
case StandardIlluminant.
|
|
65
|
-
return [
|
|
62
|
+
case StandardIlluminant.F6_10:
|
|
63
|
+
return [102.148, 100, 62.074];
|
|
66
64
|
case StandardIlluminant.F7_2:
|
|
67
65
|
return [95.044, 100, 108.755];
|
|
68
|
-
case StandardIlluminant.
|
|
69
|
-
return [
|
|
66
|
+
case StandardIlluminant.F7_10:
|
|
67
|
+
return [95.792, 100, 107.687];
|
|
70
68
|
case StandardIlluminant.F8_2:
|
|
71
69
|
return [96.413, 100, 82.333];
|
|
72
|
-
case StandardIlluminant.
|
|
73
|
-
return [
|
|
70
|
+
case StandardIlluminant.F8_10:
|
|
71
|
+
return [97.115, 100, 81.135];
|
|
74
72
|
case StandardIlluminant.F9_2:
|
|
75
73
|
return [100.365, 100, 67.868];
|
|
76
|
-
case StandardIlluminant.
|
|
77
|
-
return [
|
|
74
|
+
case StandardIlluminant.F9_10:
|
|
75
|
+
return [102.116, 100, 67.826];
|
|
78
76
|
case StandardIlluminant.F10_2:
|
|
79
77
|
return [96.174, 100, 81.712];
|
|
80
|
-
case StandardIlluminant.
|
|
81
|
-
return [
|
|
78
|
+
case StandardIlluminant.F10_10:
|
|
79
|
+
return [99.001, 100, 83.134];
|
|
82
80
|
case StandardIlluminant.F11_2:
|
|
83
81
|
return [100.966, 100, 64.37];
|
|
84
|
-
case StandardIlluminant.
|
|
85
|
-
return [
|
|
82
|
+
case StandardIlluminant.F11_10:
|
|
83
|
+
return [103.866, 100, 65.627];
|
|
86
84
|
case StandardIlluminant.F12_2:
|
|
87
85
|
return [108.046, 100, 39.228];
|
|
86
|
+
case StandardIlluminant.F12_10:
|
|
87
|
+
return [111.428, 100, 40.353];
|
|
88
88
|
default:
|
|
89
89
|
throw new RangeError("Unknown enumeration value.");
|
|
90
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getReference.js","sourceRoot":"","sources":["../../src/utility/getReference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getReference.js","sourceRoot":"","sources":["../../src/utility/getReference.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type Rgb from "../types/Rgb.js";
|
|
2
|
+
/**
|
|
3
|
+
* Check whether or not the given color is "web-safe."
|
|
4
|
+
* @param color - The color expressed as an RGB hexadecimal triplet.
|
|
5
|
+
* @returns Whether or not the given color is "web-safe."
|
|
6
|
+
* @see {@link https://en.wikipedia.org/wiki/Web_colors | Web colors}
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export default function isWebSafe(color: Rgb): boolean;
|
|
10
|
+
//# sourceMappingURL=isWebSafe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isWebSafe.d.ts","sourceRoot":"","sources":["../../src/utility/isWebSafe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAIrD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check whether or not the given color is "web-safe."
|
|
3
|
+
* @param color - The color expressed as an RGB hexadecimal triplet.
|
|
4
|
+
* @returns Whether or not the given color is "web-safe."
|
|
5
|
+
* @see {@link https://en.wikipedia.org/wiki/Web_colors | Web colors}
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export default function isWebSafe(color) {
|
|
9
|
+
return (color[0] % 0x33 === 0 && color[1] % 0x33 === 0 && color[2] % 0x33 === 0);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=isWebSafe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isWebSafe.js","sourceRoot":"","sources":["../../src/utility/isWebSafe.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAU;IAC3C,OAAO,CACN,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CACvE,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relativeLuminance.js","sourceRoot":"","sources":["../../src/utility/relativeLuminance.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,SAAS,GAAG,CAAC,CAAS,
|
|
1
|
+
{"version":3,"file":"relativeLuminance.js","sourceRoot":"","sources":["../../src/utility/relativeLuminance.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CACvC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAU;IACnD,OAAO,CACN,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACnC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACnC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CACnC,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lakuna/color",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A library for various color-related operations.",
|
|
5
5
|
"homepage": "https://color.lakuna.pw",
|
|
6
6
|
"bugs": {
|
|
@@ -27,28 +27,28 @@
|
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsc",
|
|
30
|
+
"doc": "typedoc",
|
|
31
|
+
"fix": "eslint src --fix",
|
|
30
32
|
"lint": "eslint src",
|
|
31
|
-
"
|
|
32
|
-
"test": "node --test",
|
|
33
|
-
"beautify": "prettier . --write"
|
|
33
|
+
"test": "node --test"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@eslint/js": "^
|
|
36
|
+
"@eslint/js": "^10.0.1",
|
|
37
37
|
"@types/eslint": "^9.6.1",
|
|
38
38
|
"@types/eslint-config-prettier": "^6.11.3",
|
|
39
|
-
"@types/node": "^
|
|
40
|
-
"eslint": "^
|
|
39
|
+
"@types/node": "^25.5.0",
|
|
40
|
+
"eslint": "^10.0.3",
|
|
41
41
|
"eslint-config-prettier": "^10.1.8",
|
|
42
|
-
"eslint-plugin-
|
|
43
|
-
"eslint-plugin-
|
|
44
|
-
"
|
|
45
|
-
"
|
|
42
|
+
"eslint-plugin-perfectionist": "^5.7.0",
|
|
43
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
44
|
+
"eslint-plugin-tsdoc": "^0.5.2",
|
|
45
|
+
"globals": "^17.4.0",
|
|
46
|
+
"prettier": "^3.8.1",
|
|
47
|
+
"typedoc": "^0.28.17",
|
|
46
48
|
"typescript": "^5.9.3",
|
|
47
|
-
"typescript-eslint": "^8.
|
|
48
|
-
},
|
|
49
|
-
"exports": {
|
|
50
|
-
".": "./dist/index.js"
|
|
49
|
+
"typescript-eslint": "^8.57.1"
|
|
51
50
|
},
|
|
51
|
+
"exports": "./dist/index.js",
|
|
52
52
|
"typings": "./dist/index.d.ts",
|
|
53
53
|
"type": "module",
|
|
54
54
|
"sideEffects": false
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import type Adobe from "../types/Adobe.js";
|
|
2
2
|
import type Xyz from "../types/Xyz.js";
|
|
3
3
|
|
|
4
|
+
const gamma = 0x233 / 0x100; // https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
|
|
5
|
+
|
|
6
|
+
const f = 100 / 0xff ** gamma; // `(x / 0xff) ** gamma * 100)` is equivalent to `x ** gamma * f`.
|
|
7
|
+
|
|
4
8
|
/**
|
|
5
9
|
* Convert the given Adobe RGB color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
|
|
6
10
|
* @param color - The Adobe RGB color.
|
|
7
11
|
* @returns A CIEXYZ color.
|
|
8
12
|
* @public
|
|
9
13
|
*/
|
|
10
|
-
export default function adobeToXyz(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
+
export default function adobeToXyz(
|
|
15
|
+
color: Adobe
|
|
16
|
+
): [number, number, number] & Xyz {
|
|
17
|
+
const i0 = color[0] ** gamma * f;
|
|
18
|
+
const i1 = color[1] ** gamma * f;
|
|
19
|
+
const i2 = color[2] ** gamma * f;
|
|
14
20
|
|
|
15
21
|
return [
|
|
16
22
|
i0 * 0.57667 + i1 * 0.18555 + i2 * 0.18819,
|
|
@@ -7,12 +7,13 @@ import type Cmyk from "../types/Cmyk.js";
|
|
|
7
7
|
* @returns A CMYK color.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export default function cmyToCmyk(
|
|
11
|
-
|
|
10
|
+
export default function cmyToCmyk(
|
|
11
|
+
color: Cmy
|
|
12
|
+
): [number, number, number, number] & Cmyk {
|
|
12
13
|
const c = color[0];
|
|
13
|
-
|
|
14
|
+
|
|
14
15
|
const m = color[1];
|
|
15
|
-
|
|
16
|
+
|
|
16
17
|
const y = color[2];
|
|
17
18
|
|
|
18
19
|
const k = Math.min(c, m, y, 1);
|
|
@@ -7,6 +7,6 @@ import type Rgb from "../types/Rgb.js";
|
|
|
7
7
|
* @returns An sRGB color.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export default function cmyToRgb(color: Cmy): Rgb {
|
|
10
|
+
export default function cmyToRgb(color: Cmy): [number, number, number] & Rgb {
|
|
11
11
|
return [(1 - color[0]) * 0xff, (1 - color[1]) * 0xff, (1 - color[2]) * 0xff];
|
|
12
12
|
}
|
|
@@ -7,8 +7,7 @@ import type Cmyk from "../types/Cmyk.js";
|
|
|
7
7
|
* @returns A CMY color.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export default function cmykToCmy(color: Cmyk): Cmy {
|
|
11
|
-
// eslint-disable-next-line prefer-destructuring
|
|
10
|
+
export default function cmykToCmy(color: Cmyk): [number, number, number] & Cmy {
|
|
12
11
|
const k = color[3];
|
|
13
12
|
|
|
14
13
|
return [
|
|
@@ -6,6 +6,6 @@ import type Rgb from "../types/Rgb.js";
|
|
|
6
6
|
* @returns An sRGB color.
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export default function hexToRgb(hex: number): Rgb {
|
|
9
|
+
export default function hexToRgb(hex: number): [number, number, number] & Rgb {
|
|
10
10
|
return [(hex >> 16) & 0xff, (hex >> 8) & 0xff, hex & 0xff];
|
|
11
11
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type Hsl from "../types/Hsl.js";
|
|
2
2
|
import type Rgb from "../types/Rgb.js";
|
|
3
3
|
|
|
4
|
+
const c0 = 2 / 3;
|
|
5
|
+
const c1 = 1 / 3;
|
|
6
|
+
|
|
4
7
|
/**
|
|
5
8
|
* Converts the given hue data to RGB data.
|
|
6
9
|
* @param v0 - The first piecewise value.
|
|
@@ -19,7 +22,7 @@ const hueToRgb = (v0: number, v1: number, h: number): number => {
|
|
|
19
22
|
return (
|
|
20
23
|
i1 < 1 ? v0 + i2 * i1
|
|
21
24
|
: 2 * i0 < 1 ? v1
|
|
22
|
-
: 3 * i0 < 2 ? v0 + i2 * (
|
|
25
|
+
: 3 * i0 < 2 ? v0 + i2 * (c0 - i0) * 6
|
|
23
26
|
: v0
|
|
24
27
|
);
|
|
25
28
|
};
|
|
@@ -30,12 +33,11 @@ const hueToRgb = (v0: number, v1: number, h: number): number => {
|
|
|
30
33
|
* @returns An sRGB color.
|
|
31
34
|
* @public
|
|
32
35
|
*/
|
|
33
|
-
export default function hslToRgb(color: Hsl): Rgb {
|
|
34
|
-
// eslint-disable-next-line prefer-destructuring
|
|
36
|
+
export default function hslToRgb(color: Hsl): [number, number, number] & Rgb {
|
|
35
37
|
const h = color[0];
|
|
36
|
-
|
|
38
|
+
|
|
37
39
|
const s = color[1];
|
|
38
|
-
|
|
40
|
+
|
|
39
41
|
const l = color[2];
|
|
40
42
|
|
|
41
43
|
const i0 = l * 0xff;
|
|
@@ -48,8 +50,8 @@ export default function hslToRgb(color: Hsl): Rgb {
|
|
|
48
50
|
const i2 = 2 * l - i1;
|
|
49
51
|
|
|
50
52
|
return [
|
|
51
|
-
0xff * hueToRgb(i2, i1, h +
|
|
53
|
+
0xff * hueToRgb(i2, i1, h + c1),
|
|
52
54
|
0xff * hueToRgb(i2, i1, h),
|
|
53
|
-
0xff * hueToRgb(i2, i1, h -
|
|
55
|
+
0xff * hueToRgb(i2, i1, h - c1)
|
|
54
56
|
];
|
|
55
57
|
}
|
|
@@ -7,10 +7,9 @@ import type Rgb from "../types/Rgb.js";
|
|
|
7
7
|
* @returns An sRGB color.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export default function hsvToRgb(color: Hsv): Rgb {
|
|
11
|
-
// eslint-disable-next-line prefer-destructuring
|
|
10
|
+
export default function hsvToRgb(color: Hsv): [number, number, number] & Rgb {
|
|
12
11
|
const s = color[1];
|
|
13
|
-
|
|
12
|
+
|
|
14
13
|
const v = color[2];
|
|
15
14
|
|
|
16
15
|
const i0 = v * 0xff;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type Hunter from "../types/Hunter.js";
|
|
2
|
-
import StandardIlluminant from "./StandardIlluminant.js";
|
|
3
2
|
import type Xyz from "../types/Xyz.js";
|
|
4
|
-
|
|
3
|
+
|
|
4
|
+
import getReference from "../utility/getReference.js";
|
|
5
|
+
import StandardIlluminant from "../utility/StandardIlluminant.js";
|
|
6
|
+
|
|
7
|
+
const c0 = 175 / 198.04;
|
|
8
|
+
const c1 = 70 / 218.11;
|
|
5
9
|
|
|
6
10
|
/**
|
|
7
11
|
* Convert the given Hunter Lab color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
|
|
@@ -13,12 +17,11 @@ import getReference from "./getReference.js";
|
|
|
13
17
|
export default function hunterToXyz(
|
|
14
18
|
color: Hunter,
|
|
15
19
|
ref: Xyz = getReference(StandardIlluminant.D65_2)
|
|
16
|
-
): Xyz {
|
|
17
|
-
// eslint-disable-next-line prefer-destructuring
|
|
20
|
+
): [number, number, number] & Xyz {
|
|
18
21
|
const rx = ref[0];
|
|
19
|
-
|
|
22
|
+
|
|
20
23
|
const ry = ref[1];
|
|
21
|
-
|
|
24
|
+
|
|
22
25
|
const rz = ref[2];
|
|
23
26
|
|
|
24
27
|
const y = (color[0] / ry) ** 2 * 100;
|
|
@@ -26,8 +29,8 @@ export default function hunterToXyz(
|
|
|
26
29
|
const i1 = Math.sqrt(i0);
|
|
27
30
|
|
|
28
31
|
return [
|
|
29
|
-
((color[1] / (
|
|
32
|
+
((color[1] / (c0 * (ry + rx))) * i1 + i0) * rx,
|
|
30
33
|
y,
|
|
31
|
-
-((color[2] / (
|
|
34
|
+
-((color[2] / (c1 * (ry + rz))) * i1 - i0) * rz
|
|
32
35
|
];
|
|
33
36
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type Lab from "../types/Lab.js";
|
|
2
|
+
import type Lchab from "../types/Lchab.js";
|
|
3
|
+
import type Lchuv from "../types/Lchuv.js";
|
|
4
|
+
import type Luv from "../types/Luv.js";
|
|
5
|
+
|
|
6
|
+
const c0 = 180 / Math.PI;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Convert the given CIELAB color to a CIELCh(ab) color. Based on the EasyRGB pseudo-code.
|
|
10
|
+
* @param color - The CIELAB color.
|
|
11
|
+
* @returns A CIELCh color.
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export default function labToLch(color: Lab): [number, number, number] & Lchab;
|
|
15
|
+
/**
|
|
16
|
+
* Convert the given CIELUV color to a CIELCh(uv) color. Based on the EasyRGB pseudo-code.
|
|
17
|
+
* @param color - The CIELUV color.
|
|
18
|
+
* @returns A CIELCh color.
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export default function labToLch(color: Luv): [number, number, number] & Lchuv;
|
|
22
|
+
export default function labToLch(
|
|
23
|
+
color: Lab | Luv
|
|
24
|
+
): [number, number, number] & (Lchab | Lchuv) {
|
|
25
|
+
const a = color[1];
|
|
26
|
+
|
|
27
|
+
const b = color[2];
|
|
28
|
+
|
|
29
|
+
const i0 = Math.atan2(b, a);
|
|
30
|
+
|
|
31
|
+
return [
|
|
32
|
+
color[0],
|
|
33
|
+
Math.hypot(a, b),
|
|
34
|
+
i0 > 0 ? i0 * c0 : 360 - Math.abs(i0) * c0
|
|
35
|
+
];
|
|
36
|
+
}
|