@stytch/react 20.0.0-next.1 → 20.0.0-next.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/CHANGELOG.md +12 -0
- package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -1
- package/dist/cjs/adminPortal/index.cjs +1 -1
- package/dist/cjs/b2b/index.cjs +14 -13
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/compat.cjs +3647 -0
- package/dist/cjs/compat.cjs.map +1 -0
- package/dist/cjs/{index-Ni_dyEsz.js → index-BIjXBvf_.js} +2 -2
- package/dist/cjs/index-BIjXBvf_.js.map +1 -0
- package/dist/cjs/index.cjs +521 -520
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/{shadcn-B8TEzQMT.js → shadcn-Z4AvHriT.js} +247 -233
- package/dist/cjs/shadcn-Z4AvHriT.js.map +1 -0
- package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js +438 -0
- package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js.map +1 -0
- package/dist/cjs-dev/adminPortal/index.cjs +54 -53
- package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.cjs +85 -72
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.headless.cjs +94 -92
- package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/compat.cjs +3694 -0
- package/dist/cjs-dev/compat.cjs.map +1 -0
- package/dist/cjs-dev/{StytchSSRProxy-CxXsyme4.js → dev-DaCGDI6V.js} +60 -426
- package/dist/cjs-dev/dev-DaCGDI6V.js.map +1 -0
- package/dist/cjs-dev/{idpHelpers-Cf8Qq1B4.js → idpHelpers-DOYYSxsX.js} +60 -141
- package/dist/cjs-dev/idpHelpers-DOYYSxsX.js.map +1 -0
- package/dist/cjs-dev/{index-DdK3Jt4u.js → index-rquGmIlv.js} +4 -4
- package/dist/cjs-dev/index-rquGmIlv.js.map +1 -0
- package/dist/cjs-dev/index.cjs +828 -805
- package/dist/cjs-dev/index.cjs.map +1 -1
- package/dist/cjs-dev/index.headless.cjs +76 -74
- package/dist/cjs-dev/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/logger-CvOATP4R.js +28 -0
- package/dist/cjs-dev/logger-CvOATP4R.js.map +1 -0
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js → passwordManagerDisableAutofillProps-CgiK2M_U.js} +2 -2
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js.map → passwordManagerDisableAutofillProps-CgiK2M_U.js.map} +1 -1
- package/dist/cjs-dev/{shadcn-C4w3DtKK.js → shadcn-DnNfms7-.js} +261 -245
- package/dist/cjs-dev/shadcn-DnNfms7-.js.map +1 -0
- package/dist/esm/b2b/StytchB2BContext.mjs +5 -5
- package/dist/esm/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm/compat.mjs +3 -0
- package/dist/esm/compat.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/index.mjs +85 -0
- package/dist/esm/node_modules/chroma-js/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/Color.mjs +53 -0
- package/dist/esm/node_modules/chroma-js/src/Color.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/chroma.mjs +11 -0
- package/dist/esm/node_modules/chroma-js/src/chroma.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/colors/colorbrewer.mjs +82 -0
- package/dist/esm/node_modules/chroma-js/src/colors/colorbrewer.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/colors/w3cx11.mjs +165 -0
- package/dist/esm/node_modules/chroma-js/src/colors/w3cx11.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/generator/average.mjs +92 -0
- package/dist/esm/node_modules/chroma-js/src/generator/average.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs +89 -0
- package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/generator/blend.mjs +58 -0
- package/dist/esm/node_modules/chroma-js/src/generator/blend.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs +93 -0
- package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/generator/mix.mjs +22 -0
- package/dist/esm/node_modules/chroma-js/src/generator/mix.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/generator/random.mjs +16 -0
- package/dist/esm/node_modules/chroma-js/src/generator/random.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs +398 -0
- package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/_hsx.mjs +62 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/_hsx.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hcg.mjs +13 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hcg.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsi.mjs +13 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsi.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsl.mjs +13 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsl.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsv.mjs +13 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/hsv.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/index.mjs +4 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/lab.mjs +20 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/lab.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/lch.mjs +14 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/lch.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs +21 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/num.mjs +15 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/num.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklab.mjs +20 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklab.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs +13 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs +19 -0
- package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs +18 -0
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/index.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs +20 -0
- package/dist/esm/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs +239 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/hsl2css.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/hsl2css.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/index.mjs +27 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/lab2css.mjs +27 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/lab2css.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/lch2css.mjs +27 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/lch2css.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/oklab2css.mjs +18 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/oklab2css.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/oklch2css.mjs +18 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/oklch2css.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs +65 -0
- package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/gl/index.mjs +24 -0
- package/dist/esm/node_modules/chroma-js/src/io/gl/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +58 -0
- package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs +25 -0
- package/dist/esm/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hex/hex2rgb.mjs +57 -0
- package/dist/esm/node_modules/chroma-js/src/io/hex/hex2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hex/index.mjs +30 -0
- package/dist/esm/node_modules/chroma-js/src/io/hex/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +33 -0
- package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +49 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +34 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs +37 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +47 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +50 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +35 -0
- package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/input.mjs +7 -0
- package/dist/esm/node_modules/chroma-js/src/io/input.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs +30 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab-constants.mjs +116 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab-constants.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab2rgb.mjs +102 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/lab2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/rgb2lab.mjs +68 -0
- package/dist/esm/node_modules/chroma-js/src/io/lab/rgb2lab.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs +11 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs +38 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs +15 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs +21 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2rgb.mjs +15 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/lch2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/rgb2lch.mjs +14 -0
- package/dist/esm/node_modules/chroma-js/src/io/lch/rgb2lch.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/named/index.mjs +30 -0
- package/dist/esm/node_modules/chroma-js/src/io/named/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs +33 -0
- package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/num/num2rgb.mjs +14 -0
- package/dist/esm/node_modules/chroma-js/src/io/num/num2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/num/rgb2num.mjs +10 -0
- package/dist/esm/node_modules/chroma-js/src/io/num/rgb2num.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs +36 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs +39 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklch/index.mjs +29 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklch/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs +15 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs +14 -0
- package/dist/esm/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs +47 -0
- package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/temp/index.mjs +23 -0
- package/dist/esm/node_modules/chroma-js/src/io/temp/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs +33 -0
- package/dist/esm/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs +40 -0
- package/dist/esm/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/alpha.mjs +14 -0
- package/dist/esm/node_modules/chroma-js/src/ops/alpha.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/clipped.mjs +6 -0
- package/dist/esm/node_modules/chroma-js/src/ops/clipped.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/darken.mjs +18 -0
- package/dist/esm/node_modules/chroma-js/src/ops/darken.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/get.mjs +14 -0
- package/dist/esm/node_modules/chroma-js/src/ops/get.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs +56 -0
- package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/mix.mjs +11 -0
- package/dist/esm/node_modules/chroma-js/src/ops/mix.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/premultiply.mjs +13 -0
- package/dist/esm/node_modules/chroma-js/src/ops/premultiply.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/saturate.mjs +16 -0
- package/dist/esm/node_modules/chroma-js/src/ops/saturate.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/set.mjs +44 -0
- package/dist/esm/node_modules/chroma-js/src/ops/set.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/ops/shade.mjs +12 -0
- package/dist/esm/node_modules/chroma-js/src/ops/shade.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs +194 -0
- package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/clip_rgb.mjs +18 -0
- package/dist/esm/node_modules/chroma-js/src/utils/clip_rgb.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/contrast.mjs +15 -0
- package/dist/esm/node_modules/chroma-js/src/utils/contrast.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/contrastAPCA.mjs +71 -0
- package/dist/esm/node_modules/chroma-js/src/utils/contrastAPCA.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs +66 -0
- package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/distance.mjs +20 -0
- package/dist/esm/node_modules/chroma-js/src/utils/distance.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/index.mjs +24 -0
- package/dist/esm/node_modules/chroma-js/src/utils/index.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/last.mjs +11 -0
- package/dist/esm/node_modules/chroma-js/src/utils/last.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs +8 -0
- package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/multiply-matrices.mjs +39 -0
- package/dist/esm/node_modules/chroma-js/src/utils/multiply-matrices.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/scales.mjs +19 -0
- package/dist/esm/node_modules/chroma-js/src/utils/scales.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/type.mjs +21 -0
- package/dist/esm/node_modules/chroma-js/src/utils/type.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/unpack.mjs +20 -0
- package/dist/esm/node_modules/chroma-js/src/utils/unpack.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/utils/valid.mjs +14 -0
- package/dist/esm/node_modules/chroma-js/src/utils/valid.mjs.map +1 -0
- package/dist/esm/node_modules/chroma-js/src/version.mjs +5 -0
- package/dist/esm/node_modules/chroma-js/src/version.mjs.map +1 -0
- package/dist/esm/packages/core/src/public/b2b/ui.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/App.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2b/App.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
- package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +12 -11
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +12 -14
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs +6 -2
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs +10 -0
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/compat/generateColorFallback.mjs +63 -0
- package/dist/esm/packages/web/src/ui/compat/generateColorFallback.mjs.map +1 -0
- package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs +119 -0
- package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -0
- package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/crypto.mjs +15 -14
- package/dist/esm/packages/web/src/utils/crypto.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/oauthProviderType.mjs +1 -1
- package/dist/esm/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index3.mjs +5 -3
- package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index4.mjs +3 -5
- package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
- package/dist/esm-dev/b2b/StytchB2BContext.mjs +5 -5
- package/dist/esm-dev/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm-dev/compat.mjs +3 -0
- package/dist/esm-dev/compat.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/index.mjs +85 -0
- package/dist/esm-dev/node_modules/chroma-js/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/Color.mjs +53 -0
- package/dist/esm-dev/node_modules/chroma-js/src/Color.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/chroma.mjs +11 -0
- package/dist/esm-dev/node_modules/chroma-js/src/chroma.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/colors/colorbrewer.mjs +82 -0
- package/dist/esm-dev/node_modules/chroma-js/src/colors/colorbrewer.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/colors/w3cx11.mjs +165 -0
- package/dist/esm-dev/node_modules/chroma-js/src/colors/w3cx11.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs +92 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs +89 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/blend.mjs +58 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/blend.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs +93 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/mix.mjs +22 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/mix.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs +16 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs +398 -0
- package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/_hsx.mjs +62 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/_hsx.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hcg.mjs +13 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hcg.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsi.mjs +13 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsi.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsl.mjs +13 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsl.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsv.mjs +13 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsv.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/index.mjs +4 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lab.mjs +20 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lab.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lch.mjs +14 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lch.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs +21 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/num.mjs +15 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/num.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklab.mjs +20 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklab.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs +13 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs +19 -0
- package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs +18 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/index.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs +20 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs +239 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/hsl2css.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/hsl2css.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/index.mjs +27 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lab2css.mjs +27 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lab2css.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lch2css.mjs +27 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/lch2css.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklab2css.mjs +18 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklab2css.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklch2css.mjs +18 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklch2css.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs +65 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/gl/index.mjs +24 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/gl/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +58 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs +25 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/hex2rgb.mjs +57 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/hex2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/index.mjs +30 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +33 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +49 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +34 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs +37 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +47 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +50 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +35 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/input.mjs +7 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/input.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs +30 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab-constants.mjs +116 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab-constants.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab2rgb.mjs +102 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/rgb2lab.mjs +68 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lab/rgb2lab.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs +11 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs +38 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs +15 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs +21 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2rgb.mjs +15 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/rgb2lch.mjs +14 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/lch/rgb2lch.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/named/index.mjs +30 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/named/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs +33 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/num2rgb.mjs +14 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/num2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/rgb2num.mjs +10 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/num/rgb2num.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs +36 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs +39 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/index.mjs +29 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs +15 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs +14 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs +47 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/index.mjs +23 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs +33 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs +40 -0
- package/dist/esm-dev/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/alpha.mjs +14 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/alpha.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/clipped.mjs +6 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/clipped.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/darken.mjs +18 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/darken.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/get.mjs +14 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/get.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs +56 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/mix.mjs +11 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/mix.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/premultiply.mjs +13 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/premultiply.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/saturate.mjs +16 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/saturate.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/set.mjs +44 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/set.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/shade.mjs +12 -0
- package/dist/esm-dev/node_modules/chroma-js/src/ops/shade.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs +194 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/clip_rgb.mjs +18 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/clip_rgb.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrast.mjs +15 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrast.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrastAPCA.mjs +71 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/contrastAPCA.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs +66 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/distance.mjs +20 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/distance.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs +24 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/last.mjs +11 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/last.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs +8 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/multiply-matrices.mjs +39 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/multiply-matrices.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/scales.mjs +19 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/scales.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/type.mjs +21 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/type.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/unpack.mjs +20 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/unpack.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/valid.mjs +14 -0
- package/dist/esm-dev/node_modules/chroma-js/src/utils/valid.mjs.map +1 -0
- package/dist/esm-dev/node_modules/chroma-js/src/version.mjs +5 -0
- package/dist/esm-dev/node_modules/chroma-js/src/version.mjs.map +1 -0
- package/dist/esm-dev/packages/core/src/public/b2b/ui.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/utils/dev.mjs +7 -1
- package/dist/esm-dev/packages/core/src/utils/dev.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +14 -2
- package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +12 -11
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +12 -14
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs +6 -2
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs +10 -0
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/compat/generateColorFallback.mjs +63 -0
- package/dist/esm-dev/packages/web/src/ui/compat/generateColorFallback.mjs.map +1 -0
- package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs +166 -0
- package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -0
- package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +3 -2
- package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs +8 -4
- package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs +15 -14
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs +1 -1
- package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
- package/dist/types/PresentationConfig-CcNEXkjS.d.ts +172 -0
- package/dist/types/{StytchB2BClient-C_7NUKZh.d.ts → StytchB2BClient-D16e_lp1.d.ts} +2 -1
- package/dist/types/{StytchClient-Ccvk8Nj1.d.ts → StytchClient-BwQdJzdj.d.ts} +2 -1
- package/dist/types/adminPortal/index.d.ts +5 -3
- package/dist/types/b2b/index.d.ts +27 -16
- package/dist/types/b2b/index.headless.d.ts +5 -4
- package/dist/types/compat.d.ts +46 -0
- package/dist/types/createAuthUrlHandler-R1kNNQD_.d.ts +2406 -0
- package/dist/types/{idpHelpers-aCVwNrDk.d.ts → idpHelpers-BQP76WgZ.d.ts} +1 -1
- package/dist/types/index.d.ts +36 -13
- package/dist/types/index.headless.d.ts +5 -4
- package/dist/types/{shadcn-0e4fkV5Z.d.ts → shadcn-B04UXoBD.d.ts} +10 -169
- package/dist/types/{createAuthUrlHandler-BJRA2PHG.d.ts → ui-B7IvSGQf.d.ts} +1123 -3525
- package/package.json +1 -1
- package/dist/cjs/index-Ni_dyEsz.js.map +0 -1
- package/dist/cjs/shadcn-B8TEzQMT.js.map +0 -1
- package/dist/cjs-dev/StytchSSRProxy-CxXsyme4.js.map +0 -1
- package/dist/cjs-dev/idpHelpers-Cf8Qq1B4.js.map +0 -1
- package/dist/cjs-dev/index-DdK3Jt4u.js.map +0 -1
- package/dist/cjs-dev/shadcn-C4w3DtKK.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.cjs","sources":["../../../../node_modules/chroma-js/src/utils/limit.js","../../../../node_modules/chroma-js/src/utils/clip_rgb.js","../../../../node_modules/chroma-js/src/utils/type.js","../../../../node_modules/chroma-js/src/utils/unpack.js","../../../../node_modules/chroma-js/src/utils/last.js","../../../../node_modules/chroma-js/src/utils/index.js","../../../../node_modules/chroma-js/src/io/input.js","../../../../node_modules/chroma-js/src/Color.js","../../../../node_modules/chroma-js/src/version.js","../../../../node_modules/chroma-js/src/chroma.js","../../../../node_modules/chroma-js/src/colors/w3cx11.js","../../../../node_modules/chroma-js/src/io/hex/hex2rgb.js","../../../../node_modules/chroma-js/src/io/hex/rgb2hex.js","../../../../node_modules/chroma-js/src/io/named/index.js","../../../../node_modules/chroma-js/src/ops/alpha.js","../../../../node_modules/chroma-js/src/ops/clipped.js","../../../../node_modules/chroma-js/src/io/lab/lab-constants.js","../../../../node_modules/chroma-js/src/io/lab/lab2rgb.js","../../../../node_modules/chroma-js/src/io/lab/rgb2lab.js","../../../../node_modules/chroma-js/src/io/lab/index.js","../../../../node_modules/chroma-js/src/ops/darken.js","../../../../node_modules/chroma-js/src/ops/get.js","../../../../node_modules/chroma-js/src/ops/luminance.js","../../../../node_modules/chroma-js/src/interpolator/index.js","../../../../node_modules/chroma-js/src/generator/mix.js","../../../../node_modules/chroma-js/src/ops/mix.js","../../../../node_modules/chroma-js/src/ops/premultiply.js","../../../../node_modules/chroma-js/src/io/lch/lch2lab.js","../../../../node_modules/chroma-js/src/io/lch/lch2rgb.js","../../../../node_modules/chroma-js/src/io/lch/hcl2rgb.js","../../../../node_modules/chroma-js/src/io/lch/lab2lch.js","../../../../node_modules/chroma-js/src/io/lch/rgb2lch.js","../../../../node_modules/chroma-js/src/io/lch/index.js","../../../../node_modules/chroma-js/src/ops/saturate.js","../../../../node_modules/chroma-js/src/ops/set.js","../../../../node_modules/chroma-js/src/ops/shade.js","../../../../node_modules/chroma-js/src/interpolator/rgb.js","../../../../node_modules/chroma-js/src/interpolator/lrgb.js","../../../../node_modules/chroma-js/src/interpolator/lab.js","../../../../node_modules/chroma-js/src/interpolator/_hsx.js","../../../../node_modules/chroma-js/src/interpolator/lch.js","../../../../node_modules/chroma-js/src/io/num/num2rgb.js","../../../../node_modules/chroma-js/src/io/num/rgb2num.js","../../../../node_modules/chroma-js/src/io/num/index.js","../../../../node_modules/chroma-js/src/interpolator/num.js","../../../../node_modules/chroma-js/src/io/hcg/hcg2rgb.js","../../../../node_modules/chroma-js/src/io/hcg/rgb2hcg.js","../../../../node_modules/chroma-js/src/io/hcg/index.js","../../../../node_modules/chroma-js/src/interpolator/hcg.js","../../../../node_modules/chroma-js/src/io/hsi/hsi2rgb.js","../../../../node_modules/chroma-js/src/io/hsi/rgb2hsi.js","../../../../node_modules/chroma-js/src/io/hsi/index.js","../../../../node_modules/chroma-js/src/interpolator/hsi.js","../../../../node_modules/chroma-js/src/io/hsl/hsl2rgb.js","../../../../node_modules/chroma-js/src/io/hsl/rgb2hsl.js","../../../../node_modules/chroma-js/src/io/hsl/index.js","../../../../node_modules/chroma-js/src/interpolator/hsl.js","../../../../node_modules/chroma-js/src/io/hsv/hsv2rgb.js","../../../../node_modules/chroma-js/src/io/hsv/rgb2hsv.js","../../../../node_modules/chroma-js/src/io/hsv/index.js","../../../../node_modules/chroma-js/src/interpolator/hsv.js","../../../../node_modules/chroma-js/src/utils/multiply-matrices.js","../../../../node_modules/chroma-js/src/io/oklab/oklab2rgb.js","../../../../node_modules/chroma-js/src/io/oklab/rgb2oklab.js","../../../../node_modules/chroma-js/src/io/oklab/index.js","../../../../node_modules/chroma-js/src/interpolator/oklab.js","../../../../node_modules/chroma-js/src/interpolator/oklch.js","../../../../node_modules/chroma-js/src/generator/average.js","../../../../node_modules/chroma-js/src/generator/scale.js","../../../../node_modules/chroma-js/src/generator/bezier.js","../../../../node_modules/chroma-js/src/io/rgb/index.js","../../../../node_modules/chroma-js/src/generator/blend.js","../../../../node_modules/chroma-js/src/generator/cubehelix.js","../../../../node_modules/chroma-js/src/generator/random.js","../../../../node_modules/chroma-js/src/utils/analyze.js","../../../../node_modules/chroma-js/src/utils/contrast.js","../../../../node_modules/chroma-js/src/utils/contrastAPCA.js","../../../../node_modules/chroma-js/src/utils/delta-e.js","../../../../node_modules/chroma-js/src/utils/distance.js","../../../../node_modules/chroma-js/src/utils/valid.js","../../../../node_modules/chroma-js/src/utils/scales.js","../../../../node_modules/chroma-js/src/colors/colorbrewer.js","../../../../node_modules/chroma-js/src/io/cmyk/cmyk2rgb.js","../../../../node_modules/chroma-js/src/io/cmyk/rgb2cmyk.js","../../../../node_modules/chroma-js/src/io/cmyk/index.js","../../../../node_modules/chroma-js/src/io/css/hsl2css.js","../../../../node_modules/chroma-js/src/io/css/lab2css.js","../../../../node_modules/chroma-js/src/io/css/lch2css.js","../../../../node_modules/chroma-js/src/io/css/oklab2css.js","../../../../node_modules/chroma-js/src/io/oklch/rgb2oklch.js","../../../../node_modules/chroma-js/src/io/css/oklch2css.js","../../../../node_modules/chroma-js/src/io/css/rgb2css.js","../../../../node_modules/chroma-js/src/io/oklch/oklch2rgb.js","../../../../node_modules/chroma-js/src/io/css/css2rgb.js","../../../../node_modules/chroma-js/src/io/css/index.js","../../../../node_modules/chroma-js/src/io/gl/index.js","../../../../node_modules/chroma-js/src/io/hex/index.js","../../../../node_modules/chroma-js/src/io/temp/temperature2rgb.js","../../../../node_modules/chroma-js/src/io/temp/rgb2temperature.js","../../../../node_modules/chroma-js/src/io/temp/index.js","../../../../node_modules/chroma-js/src/io/oklch/index.js","../../../../node_modules/chroma-js/index.js","../../../web/src/ui/compat/generateColorFallback.ts","../../../web/src/ui/compat/styleToTheme.ts"],"sourcesContent":["const { min, max } = Math;\n\nexport default (x, low = 0, high = 1) => {\n return min(max(low, x), high);\n};\n","import limit from './limit.js';\n\nexport default (rgb) => {\n rgb._clipped = false;\n rgb._unclipped = rgb.slice(0);\n for (let i = 0; i <= 3; i++) {\n if (i < 3) {\n if (rgb[i] < 0 || rgb[i] > 255) rgb._clipped = true;\n rgb[i] = limit(rgb[i], 0, 255);\n } else if (i === 3) {\n rgb[i] = limit(rgb[i], 0, 1);\n }\n }\n return rgb;\n};\n","// ported from jQuery's $.type\nconst classToType = {};\nfor (let name of [\n 'Boolean',\n 'Number',\n 'String',\n 'Function',\n 'Array',\n 'Date',\n 'RegExp',\n 'Undefined',\n 'Null'\n]) {\n classToType[`[object ${name}]`] = name.toLowerCase();\n}\nexport default function (obj) {\n return classToType[Object.prototype.toString.call(obj)] || 'object';\n}\n","import type from './type.js';\n\nexport default (args, keyOrder = null) => {\n // if called with more than 3 arguments, we return the arguments\n if (args.length >= 3) return Array.prototype.slice.call(args);\n // with less than 3 args we check if first arg is object\n // and use the keyOrder string to extract and sort properties\n if (type(args[0]) == 'object' && keyOrder) {\n return keyOrder\n .split('')\n .filter((k) => args[0][k] !== undefined)\n .map((k) => args[0][k]);\n }\n // otherwise we just return the first argument\n // (which we suppose is an array of args)\n return args[0].slice(0);\n};\n","import type from './type.js';\n\nexport default (args) => {\n if (args.length < 2) return null;\n const l = args.length - 1;\n if (type(args[l]) == 'string') return args[l].toLowerCase();\n return null;\n};\n","const { PI, min, max } = Math;\n\nconst rnd2 = (a) => Math.round(a * 100) / 100;\nconst rnd3 = (a) => Math.round(a * 100) / 100;\n\nexport { default as clip_rgb } from './clip_rgb.js';\nexport { default as limit } from './limit.js';\nexport { default as type } from './type.js';\nexport { default as unpack } from './unpack.js';\nexport { default as last } from './last.js';\n\nconst TWOPI = PI * 2;\nconst PITHIRD = PI / 3;\nconst DEG2RAD = PI / 180;\nconst RAD2DEG = 180 / PI;\n\n/**\n * Reverse the first three elements of an array\n *\n * @param {any[]} arr\n * @returns {any[]}\n */\nfunction reverse3(arr) {\n return [...arr.slice(0, 3).reverse(), ...arr.slice(3)];\n}\n\nexport { PI, TWOPI, PITHIRD, DEG2RAD, RAD2DEG, min, max, rnd2, rnd3, reverse3 };\n","export default {\n format: {},\n autodetect: []\n};\n","import { last, clip_rgb, type } from './utils/index.js';\nimport _input from './io/input.js';\n\nclass Color {\n constructor(...args) {\n const me = this;\n if (\n type(args[0]) === 'object' &&\n args[0].constructor &&\n args[0].constructor === this.constructor\n ) {\n // the argument is already a Color instance\n return args[0];\n }\n // last argument could be the mode\n let mode = last(args);\n let autodetect = false;\n if (!mode) {\n autodetect = true;\n\n if (!_input.sorted) {\n _input.autodetect = _input.autodetect.sort((a, b) => b.p - a.p);\n _input.sorted = true;\n }\n\n // auto-detect format\n for (let chk of _input.autodetect) {\n mode = chk.test(...args);\n if (mode) break;\n }\n }\n if (_input.format[mode]) {\n const rgb = _input.format[mode].apply(\n null,\n autodetect ? args : args.slice(0, -1)\n );\n me._rgb = clip_rgb(rgb);\n } else {\n throw new Error('unknown format: ' + args);\n }\n // add alpha channel\n if (me._rgb.length === 3) me._rgb.push(1);\n }\n toString() {\n if (type(this.hex) == 'function') return this.hex();\n return `[${this._rgb.join(',')}]`;\n }\n}\nexport default Color;\n","// this gets updated automatically\nexport const version = '3.1.2';\n","import Color from './Color.js';\nimport { version } from './version.js';\n\nconst chroma = (...args) => {\n return new Color(...args);\n};\n\nchroma.version = version;\n\nexport default chroma;\n","/**\n\tX11 color names\n\n\thttp://www.w3.org/TR/css3-color/#svg-color\n*/\n\nconst w3cx11 = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n laserlemon: '#ffff54',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrod: '#fafad2',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n maroon2: '#7f0000',\n maroon3: '#b03060',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n purple2: '#7f007f',\n purple3: '#a020f0',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n};\n\nexport default w3cx11;\n","const RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\nconst RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;\n\nconst hex2rgb = (hex) => {\n if (hex.match(RE_HEX)) {\n // remove optional leading #\n if (hex.length === 4 || hex.length === 7) {\n hex = hex.substr(1);\n }\n // expand short-notation to full six-digit\n if (hex.length === 3) {\n hex = hex.split('');\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n const u = parseInt(hex, 16);\n const r = u >> 16;\n const g = (u >> 8) & 0xff;\n const b = u & 0xff;\n return [r, g, b, 1];\n }\n\n // match rgba hex format, eg #FF000077\n if (hex.match(RE_HEXA)) {\n if (hex.length === 5 || hex.length === 9) {\n // remove optional leading #\n hex = hex.substr(1);\n }\n // expand short-notation to full eight-digit\n if (hex.length === 4) {\n hex = hex.split('');\n hex =\n hex[0] +\n hex[0] +\n hex[1] +\n hex[1] +\n hex[2] +\n hex[2] +\n hex[3] +\n hex[3];\n }\n const u = parseInt(hex, 16);\n const r = (u >> 24) & 0xff;\n const g = (u >> 16) & 0xff;\n const b = (u >> 8) & 0xff;\n const a = Math.round(((u & 0xff) / 0xff) * 100) / 100;\n return [r, g, b, a];\n }\n\n // we used to check for css colors here\n // if _input.css? and rgb = _input.css hex\n // return rgb\n\n throw new Error(`unknown hex color: ${hex}`);\n};\n\nexport default hex2rgb;\n","import { unpack, last } from '../../utils/index.js';\nconst { round } = Math;\n\nconst rgb2hex = (...args) => {\n let [r, g, b, a] = unpack(args, 'rgba');\n let mode = last(args) || 'auto';\n if (a === undefined) a = 1;\n if (mode === 'auto') {\n mode = a < 1 ? 'rgba' : 'rgb';\n }\n r = round(r);\n g = round(g);\n b = round(b);\n const u = (r << 16) | (g << 8) | b;\n let str = '000000' + u.toString(16); //#.toUpperCase();\n str = str.substr(str.length - 6);\n let hxa = '0' + round(a * 255).toString(16);\n hxa = hxa.substr(hxa.length - 2);\n switch (mode.toLowerCase()) {\n case 'rgba':\n return `#${str}${hxa}`;\n case 'argb':\n return `#${hxa}${str}`;\n default:\n return `#${str}`;\n }\n};\n\nexport default rgb2hex;\n","import Color from '../../Color.js';\nimport input from '../input.js';\nimport { type } from '../../utils/index.js';\n\nimport w3cx11 from '../../colors/w3cx11.js';\nimport hex2rgb from '../hex/hex2rgb.js';\nimport rgb2hex from '../hex/rgb2hex.js';\n\nColor.prototype.name = function () {\n const hex = rgb2hex(this._rgb, 'rgb');\n for (let n of Object.keys(w3cx11)) {\n if (w3cx11[n] === hex) return n.toLowerCase();\n }\n return hex;\n};\n\ninput.format.named = (name) => {\n name = name.toLowerCase();\n if (w3cx11[name]) return hex2rgb(w3cx11[name]);\n throw new Error('unknown color name: ' + name);\n};\n\ninput.autodetect.push({\n p: 5,\n test: (h, ...rest) => {\n if (!rest.length && type(h) === 'string' && w3cx11[h.toLowerCase()]) {\n return 'named';\n }\n }\n});\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\n\nColor.prototype.alpha = function (a, mutate = false) {\n if (a !== undefined && type(a) === 'number') {\n if (mutate) {\n this._rgb[3] = a;\n return this;\n }\n return new Color([this._rgb[0], this._rgb[1], this._rgb[2], a], 'rgb');\n }\n return this._rgb[3];\n};\n","import Color from '../Color.js';\n\nColor.prototype.clipped = function () {\n return this._rgb._clipped || false;\n};\n","const labConstants = {\n // Corresponds roughly to RGB brighter/darker\n Kn: 18,\n\n // D65 standard referent\n labWhitePoint: 'd65',\n Xn: 0.95047,\n Yn: 1,\n Zn: 1.08883,\n\n t0: 0.137931034, // 4 / 29\n t1: 0.206896552, // 6 / 29\n t2: 0.12841855, // 3 * t1 * t1\n t3: 0.008856452, // t1 * t1 * t1,\n\n kE: 216.0 / 24389.0,\n kKE: 8.0,\n kK: 24389.0 / 27.0,\n\n RefWhiteRGB: {\n // sRGB\n X: 0.95047,\n Y: 1,\n Z: 1.08883\n },\n\n MtxRGB2XYZ: {\n m00: 0.4124564390896922,\n m01: 0.21267285140562253,\n m02: 0.0193338955823293,\n m10: 0.357576077643909,\n m11: 0.715152155287818,\n m12: 0.11919202588130297,\n m20: 0.18043748326639894,\n m21: 0.07217499330655958,\n m22: 0.9503040785363679\n },\n\n MtxXYZ2RGB: {\n m00: 3.2404541621141045,\n m01: -0.9692660305051868,\n m02: 0.055643430959114726,\n m10: -1.5371385127977166,\n m11: 1.8760108454466942,\n m12: -0.2040259135167538,\n m20: -0.498531409556016,\n m21: 0.041556017530349834,\n m22: 1.0572251882231791\n },\n\n // used in rgb2xyz\n As: 0.9414285350000001,\n Bs: 1.040417467,\n Cs: 1.089532651,\n\n MtxAdaptMa: {\n m00: 0.8951,\n m01: -0.7502,\n m02: 0.0389,\n m10: 0.2664,\n m11: 1.7135,\n m12: -0.0685,\n m20: -0.1614,\n m21: 0.0367,\n m22: 1.0296\n },\n\n MtxAdaptMaI: {\n m00: 0.9869929054667123,\n m01: 0.43230526972339456,\n m02: -0.008528664575177328,\n m10: -0.14705425642099013,\n m11: 0.5183602715367776,\n m12: 0.04004282165408487,\n m20: 0.15996265166373125,\n m21: 0.0492912282128556,\n m22: 0.9684866957875502\n }\n};\n\nexport default labConstants;\n\n// taken from https://de.mathworks.com/help/images/ref/whitepoint.html\nconst ILLUMINANTS = new Map([\n // ASTM E308-01\n ['a', [1.0985, 0.35585]],\n // Wyszecki & Stiles, p. 769\n ['b', [1.0985, 0.35585]],\n // C ASTM E308-01\n ['c', [0.98074, 1.18232]],\n // D50 (ASTM E308-01)\n ['d50', [0.96422, 0.82521]],\n // D55 (ASTM E308-01)\n ['d55', [0.95682, 0.92149]],\n // D65 (ASTM E308-01)\n ['d65', [0.95047, 1.08883]],\n // E (ASTM E308-01)\n ['e', [1, 1, 1]],\n // F2 (ASTM E308-01)\n ['f2', [0.99186, 0.67393]],\n // F7 (ASTM E308-01)\n ['f7', [0.95041, 1.08747]],\n // F11 (ASTM E308-01)\n ['f11', [1.00962, 0.6435]],\n ['icc', [0.96422, 0.82521]]\n]);\n\nexport function setLabWhitePoint(name) {\n const ill = ILLUMINANTS.get(String(name).toLowerCase());\n if (!ill) {\n throw new Error('unknown Lab illuminant ' + name);\n }\n labConstants.labWhitePoint = name;\n labConstants.Xn = ill[0];\n labConstants.Zn = ill[1];\n}\n\nexport function getLabWhitePoint() {\n return labConstants.labWhitePoint;\n}\n","import LAB_CONSTANTS from './lab-constants.js';\nimport { unpack } from '../../utils/index.js';\n\n/*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\nconst lab2rgb = (...args) => {\n args = unpack(args, 'lab');\n const [L, a, b] = args;\n const [x, y, z] = lab2xyz(L, a, b);\n const [r, g, b_] = xyz2rgb(x, y, z);\n return [r, g, b_, args.length > 3 ? args[3] : 1];\n};\n\nconst lab2xyz = (L, a, b) => {\n const { kE, kK, kKE, Xn, Yn, Zn } = LAB_CONSTANTS;\n\n const fy = (L + 16.0) / 116.0;\n const fx = 0.002 * a + fy;\n const fz = fy - 0.005 * b;\n\n const fx3 = fx * fx * fx;\n const fz3 = fz * fz * fz;\n\n const xr = fx3 > kE ? fx3 : (116.0 * fx - 16.0) / kK;\n const yr = L > kKE ? Math.pow((L + 16.0) / 116.0, 3.0) : L / kK;\n const zr = fz3 > kE ? fz3 : (116.0 * fz - 16.0) / kK;\n\n const x = xr * Xn;\n const y = yr * Yn;\n const z = zr * Zn;\n\n return [x, y, z];\n};\n\nconst compand = (linear) => {\n /* sRGB */\n const sign = Math.sign(linear);\n linear = Math.abs(linear);\n return (\n (linear <= 0.0031308\n ? linear * 12.92\n : 1.055 * Math.pow(linear, 1.0 / 2.4) - 0.055) * sign\n );\n};\n\nconst xyz2rgb = (x, y, z) => {\n const { MtxAdaptMa, MtxAdaptMaI, MtxXYZ2RGB, RefWhiteRGB, Xn, Yn, Zn } =\n LAB_CONSTANTS;\n\n const As = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;\n const Bs = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;\n const Cs = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;\n\n const Ad =\n RefWhiteRGB.X * MtxAdaptMa.m00 +\n RefWhiteRGB.Y * MtxAdaptMa.m10 +\n RefWhiteRGB.Z * MtxAdaptMa.m20;\n const Bd =\n RefWhiteRGB.X * MtxAdaptMa.m01 +\n RefWhiteRGB.Y * MtxAdaptMa.m11 +\n RefWhiteRGB.Z * MtxAdaptMa.m21;\n const Cd =\n RefWhiteRGB.X * MtxAdaptMa.m02 +\n RefWhiteRGB.Y * MtxAdaptMa.m12 +\n RefWhiteRGB.Z * MtxAdaptMa.m22;\n\n const X1 =\n (x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20) *\n (Ad / As);\n const Y1 =\n (x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21) *\n (Bd / Bs);\n const Z1 =\n (x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22) *\n (Cd / Cs);\n\n const X2 =\n X1 * MtxAdaptMaI.m00 + Y1 * MtxAdaptMaI.m10 + Z1 * MtxAdaptMaI.m20;\n const Y2 =\n X1 * MtxAdaptMaI.m01 + Y1 * MtxAdaptMaI.m11 + Z1 * MtxAdaptMaI.m21;\n const Z2 =\n X1 * MtxAdaptMaI.m02 + Y1 * MtxAdaptMaI.m12 + Z1 * MtxAdaptMaI.m22;\n\n const r = compand(\n X2 * MtxXYZ2RGB.m00 + Y2 * MtxXYZ2RGB.m10 + Z2 * MtxXYZ2RGB.m20\n );\n const g = compand(\n X2 * MtxXYZ2RGB.m01 + Y2 * MtxXYZ2RGB.m11 + Z2 * MtxXYZ2RGB.m21\n );\n const b = compand(\n X2 * MtxXYZ2RGB.m02 + Y2 * MtxXYZ2RGB.m12 + Z2 * MtxXYZ2RGB.m22\n );\n\n return [r * 255, g * 255, b * 255];\n};\n\nexport default lab2rgb;\nexport { xyz2rgb };\n","import LAB_CONSTANTS from './lab-constants.js';\nimport { unpack } from '../../utils/index.js';\n\nconst rgb2lab = (...args) => {\n const [r, g, b, ...rest] = unpack(args, 'rgb');\n const [x, y, z] = rgb2xyz(r, g, b);\n const [L, a, b_] = xyz2lab(x, y, z);\n return [L, a, b_, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nfunction xyz2lab(x, y, z) {\n const { Xn, Yn, Zn, kE, kK } = LAB_CONSTANTS;\n const xr = x / Xn;\n const yr = y / Yn;\n const zr = z / Zn;\n\n const fx = xr > kE ? Math.pow(xr, 1.0 / 3.0) : (kK * xr + 16.0) / 116.0;\n const fy = yr > kE ? Math.pow(yr, 1.0 / 3.0) : (kK * yr + 16.0) / 116.0;\n const fz = zr > kE ? Math.pow(zr, 1.0 / 3.0) : (kK * zr + 16.0) / 116.0;\n\n return [116.0 * fy - 16.0, 500.0 * (fx - fy), 200.0 * (fy - fz)];\n}\n\nfunction gammaAdjustSRGB(companded) {\n const sign = Math.sign(companded);\n companded = Math.abs(companded);\n const linear =\n companded <= 0.04045\n ? companded / 12.92\n : Math.pow((companded + 0.055) / 1.055, 2.4);\n return linear * sign;\n}\n\nconst rgb2xyz = (r, g, b) => {\n // normalize and gamma adjust\n r = gammaAdjustSRGB(r / 255);\n g = gammaAdjustSRGB(g / 255);\n b = gammaAdjustSRGB(b / 255);\n\n const { MtxRGB2XYZ, MtxAdaptMa, MtxAdaptMaI, Xn, Yn, Zn, As, Bs, Cs } =\n LAB_CONSTANTS;\n\n let x = r * MtxRGB2XYZ.m00 + g * MtxRGB2XYZ.m10 + b * MtxRGB2XYZ.m20;\n let y = r * MtxRGB2XYZ.m01 + g * MtxRGB2XYZ.m11 + b * MtxRGB2XYZ.m21;\n let z = r * MtxRGB2XYZ.m02 + g * MtxRGB2XYZ.m12 + b * MtxRGB2XYZ.m22;\n\n const Ad = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;\n const Bd = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;\n const Cd = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;\n\n let X = x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20;\n let Y = x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21;\n let Z = x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22;\n\n X *= Ad / As;\n Y *= Bd / Bs;\n Z *= Cd / Cs;\n\n x = X * MtxAdaptMaI.m00 + Y * MtxAdaptMaI.m10 + Z * MtxAdaptMaI.m20;\n y = X * MtxAdaptMaI.m01 + Y * MtxAdaptMaI.m11 + Z * MtxAdaptMaI.m21;\n z = X * MtxAdaptMaI.m02 + Y * MtxAdaptMaI.m12 + Z * MtxAdaptMaI.m22;\n\n return [x, y, z];\n};\n\nexport default rgb2lab;\nexport { rgb2xyz };\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport lab2rgb from './lab2rgb.js';\nimport rgb2lab from './rgb2lab.js';\nimport { getLabWhitePoint, setLabWhitePoint } from './lab-constants.js';\n\nColor.prototype.lab = function () {\n return rgb2lab(this._rgb);\n};\n\nconst lab = (...args) => new Color(...args, 'lab');\nObject.assign(chroma, { lab, getLabWhitePoint, setLabWhitePoint });\n\ninput.format.lab = lab2rgb;\n\ninput.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, 'lab');\n if (type(args) === 'array' && args.length === 3) {\n return 'lab';\n }\n }\n});\n\nexport { lab, getLabWhitePoint, setLabWhitePoint };\n","import '../io/lab/index.js';\nimport Color from '../Color.js';\nimport LAB_CONSTANTS from '../io/lab/lab-constants.js';\n\nColor.prototype.darken = function (amount = 1) {\n const me = this;\n const lab = me.lab();\n lab[0] -= LAB_CONSTANTS.Kn * amount;\n return new Color(lab, 'lab').alpha(me.alpha(), true);\n};\n\nColor.prototype.brighten = function (amount = 1) {\n return this.darken(-amount);\n};\n\nColor.prototype.darker = Color.prototype.darken;\nColor.prototype.brighter = Color.prototype.brighten;\n","import Color from '../Color.js';\n\nColor.prototype.get = function (mc) {\n const [mode, channel] = mc.split('.');\n const src = this[mode]();\n if (channel) {\n const i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n if (i > -1) return src[i];\n throw new Error(`unknown channel ${channel} in mode ${mode}`);\n } else {\n return src;\n }\n};\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\nconst { pow } = Math;\n\nconst EPS = 1e-7;\nconst MAX_ITER = 20;\n\nColor.prototype.luminance = function (lum, mode = 'rgb') {\n if (lum !== undefined && type(lum) === 'number') {\n if (lum === 0) {\n // return pure black\n return new Color([0, 0, 0, this._rgb[3]], 'rgb');\n }\n if (lum === 1) {\n // return pure white\n return new Color([255, 255, 255, this._rgb[3]], 'rgb');\n }\n // compute new color using...\n let cur_lum = this.luminance();\n let max_iter = MAX_ITER;\n\n const test = (low, high) => {\n const mid = low.interpolate(high, 0.5, mode);\n const lm = mid.luminance();\n if (Math.abs(lum - lm) < EPS || !max_iter--) {\n // close enough\n return mid;\n }\n return lm > lum ? test(low, mid) : test(mid, high);\n };\n\n const rgb = (\n cur_lum > lum\n ? test(new Color([0, 0, 0]), this)\n : test(this, new Color([255, 255, 255]))\n ).rgb();\n return new Color([...rgb, this._rgb[3]]);\n }\n return rgb2luminance(...this._rgb.slice(0, 3));\n};\n\nconst rgb2luminance = (r, g, b) => {\n // relative luminance\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n r = luminance_x(r);\n g = luminance_x(g);\n b = luminance_x(b);\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nconst luminance_x = (x) => {\n x /= 255;\n return x <= 0.03928 ? x / 12.92 : pow((x + 0.055) / 1.055, 2.4);\n};\n","export default {};\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\nimport interpolator from '../interpolator/index.js';\n\nexport default (col1, col2, f = 0.5, ...rest) => {\n let mode = rest[0] || 'lrgb';\n if (!interpolator[mode] && !rest.length) {\n // fall back to the first supported mode\n mode = Object.keys(interpolator)[0];\n }\n if (!interpolator[mode]) {\n throw new Error(`interpolation mode ${mode} is not defined`);\n }\n if (type(col1) !== 'object') col1 = new Color(col1);\n if (type(col2) !== 'object') col2 = new Color(col2);\n return interpolator[mode](col1, col2, f).alpha(\n col1.alpha() + f * (col2.alpha() - col1.alpha())\n );\n};\n","import Color from '../Color.js';\nimport mix from '../generator/mix.js';\n\nColor.prototype.mix = Color.prototype.interpolate = function (\n col2,\n f = 0.5,\n ...rest\n) {\n return mix(this, col2, f, ...rest);\n};\n","import Color from '../Color.js';\n\nColor.prototype.premultiply = function (mutate = false) {\n const rgb = this._rgb;\n const a = rgb[3];\n if (mutate) {\n this._rgb = [rgb[0] * a, rgb[1] * a, rgb[2] * a, a];\n return this;\n } else {\n return new Color([rgb[0] * a, rgb[1] * a, rgb[2] * a, a], 'rgb');\n }\n};\n","import { unpack, DEG2RAD } from '../../utils/index.js';\nconst { sin, cos } = Math;\n\nconst lch2lab = (...args) => {\n /*\n Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n These formulas were invented by David Dalrymple to obtain maximum contrast without going\n out of gamut if the parameters are in the range 0-1.\n\n A saturation multiplier was added by Gregor Aisch\n */\n let [l, c, h] = unpack(args, 'lch');\n if (isNaN(h)) h = 0;\n h = h * DEG2RAD;\n return [l, cos(h) * c, sin(h) * c];\n};\n\nexport default lch2lab;\n","import { unpack } from '../../utils/index.js';\nimport lch2lab from './lch2lab.js';\nimport lab2rgb from '../lab/lab2rgb.js';\n\nconst lch2rgb = (...args) => {\n args = unpack(args, 'lch');\n const [l, c, h] = args;\n const [L, a, b_] = lch2lab(l, c, h);\n const [r, g, b] = lab2rgb(L, a, b_);\n return [r, g, b, args.length > 3 ? args[3] : 1];\n};\n\nexport default lch2rgb;\n","import { unpack, reverse3 } from '../../utils/index.js';\nimport lch2rgb from './lch2rgb.js';\n\nconst hcl2rgb = (...args) => {\n const hcl = reverse3(unpack(args, 'hcl'));\n return lch2rgb(...hcl);\n};\n\nexport default hcl2rgb;\n","import { unpack, RAD2DEG } from '../../utils/index.js';\nconst { sqrt, atan2, round } = Math;\n\nconst lab2lch = (...args) => {\n const [l, a, b] = unpack(args, 'lab');\n const c = sqrt(a * a + b * b);\n let h = (atan2(b, a) * RAD2DEG + 360) % 360;\n if (round(c * 10000) === 0) h = Number.NaN;\n return [l, c, h];\n};\n\nexport default lab2lch;\n","import { unpack } from '../../utils/index.js';\nimport rgb2lab from '../lab/rgb2lab.js';\nimport lab2lch from './lab2lch.js';\n\nconst rgb2lch = (...args) => {\n const [r, g, b, ...rest] = unpack(args, 'rgb');\n const [l, a, b_] = rgb2lab(r, g, b);\n const [L, c, h] = lab2lch(l, a, b_);\n return [L, c, h, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nexport default rgb2lch;\n","import { unpack, type, reverse3 } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport lch2rgb from './lch2rgb.js';\nimport hcl2rgb from './hcl2rgb.js';\nimport rgb2lch from './rgb2lch.js';\n\nColor.prototype.lch = function () {\n return rgb2lch(this._rgb);\n};\nColor.prototype.hcl = function () {\n return reverse3(rgb2lch(this._rgb));\n};\n\nconst lch = (...args) => new Color(...args, 'lch');\nconst hcl = (...args) => new Color(...args, 'hcl');\n\nObject.assign(chroma, { lch, hcl });\n\ninput.format.lch = lch2rgb;\ninput.format.hcl = hcl2rgb;\n['lch', 'hcl'].forEach((m) =>\n input.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, m);\n if (type(args) === 'array' && args.length === 3) {\n return m;\n }\n }\n })\n);\n\nexport { lch, hcl };\n","import '../io/lch/index.js';\nimport Color from '../Color.js';\nimport LAB_CONSTANTS from '../io/lab/lab-constants.js';\n\nColor.prototype.saturate = function (amount = 1) {\n const me = this;\n const lch = me.lch();\n lch[1] += LAB_CONSTANTS.Kn * amount;\n if (lch[1] < 0) lch[1] = 0;\n return new Color(lch, 'lch').alpha(me.alpha(), true);\n};\n\nColor.prototype.desaturate = function (amount = 1) {\n return this.saturate(-amount);\n};\n","import Color from '../Color.js';\nimport { type } from '../utils/index.js';\n\nColor.prototype.set = function (mc, value, mutate = false) {\n const [mode, channel] = mc.split('.');\n const src = this[mode]();\n if (channel) {\n const i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n if (i > -1) {\n if (type(value) == 'string') {\n switch (value.charAt(0)) {\n case '+':\n src[i] += +value;\n break;\n case '-':\n src[i] += +value;\n break;\n case '*':\n src[i] *= +value.substr(1);\n break;\n case '/':\n src[i] /= +value.substr(1);\n break;\n default:\n src[i] = +value;\n }\n } else if (type(value) === 'number') {\n src[i] = value;\n } else {\n throw new Error(`unsupported value for Color.set`);\n }\n const out = new Color(src, mode);\n if (mutate) {\n this._rgb = out._rgb;\n return this;\n }\n return out;\n }\n throw new Error(`unknown channel ${channel} in mode ${mode}`);\n } else {\n return src;\n }\n};\n","import '../io/lab/index.js';\nimport Color from '../Color.js';\nimport mix from '../generator/mix.js';\n\nColor.prototype.tint = function (f = 0.5, ...rest) {\n return mix(this, 'white', f, ...rest);\n};\n\nColor.prototype.shade = function (f = 0.5, ...rest) {\n return mix(this, 'black', f, ...rest);\n};\n","import Color from '../Color.js';\nimport index from './index.js';\n\nconst rgb = (col1, col2, f) => {\n const xyz0 = col1._rgb;\n const xyz1 = col2._rgb;\n return new Color(\n xyz0[0] + f * (xyz1[0] - xyz0[0]),\n xyz0[1] + f * (xyz1[1] - xyz0[1]),\n xyz0[2] + f * (xyz1[2] - xyz0[2]),\n 'rgb'\n );\n};\n\n// register interpolator\nindex.rgb = rgb;\n\nexport default rgb;\n","import Color from '../Color.js';\nconst { sqrt, pow } = Math;\nimport index from './index.js';\n\nconst lrgb = (col1, col2, f) => {\n const [x1, y1, z1] = col1._rgb;\n const [x2, y2, z2] = col2._rgb;\n return new Color(\n sqrt(pow(x1, 2) * (1 - f) + pow(x2, 2) * f),\n sqrt(pow(y1, 2) * (1 - f) + pow(y2, 2) * f),\n sqrt(pow(z1, 2) * (1 - f) + pow(z2, 2) * f),\n 'rgb'\n );\n};\n\n// register interpolator\nindex.lrgb = lrgb;\n\nexport default lrgb;\n","import '../io/lab/index.js';\nimport index from './index.js';\nimport Color from '../Color.js';\n\nconst lab = (col1, col2, f) => {\n const xyz0 = col1.lab();\n const xyz1 = col2.lab();\n return new Color(\n xyz0[0] + f * (xyz1[0] - xyz0[0]),\n xyz0[1] + f * (xyz1[1] - xyz0[1]),\n xyz0[2] + f * (xyz1[2] - xyz0[2]),\n 'lab'\n );\n};\n\n// register interpolator\nindex.lab = lab;\n\nexport default lab;\n","import Color from '../Color.js';\n\nexport default (col1, col2, f, m) => {\n let xyz0, xyz1;\n if (m === 'hsl') {\n xyz0 = col1.hsl();\n xyz1 = col2.hsl();\n } else if (m === 'hsv') {\n xyz0 = col1.hsv();\n xyz1 = col2.hsv();\n } else if (m === 'hcg') {\n xyz0 = col1.hcg();\n xyz1 = col2.hcg();\n } else if (m === 'hsi') {\n xyz0 = col1.hsi();\n xyz1 = col2.hsi();\n } else if (m === 'lch' || m === 'hcl') {\n m = 'hcl';\n xyz0 = col1.hcl();\n xyz1 = col2.hcl();\n } else if (m === 'oklch') {\n xyz0 = col1.oklch().reverse();\n xyz1 = col2.oklch().reverse();\n }\n\n let hue0, hue1, sat0, sat1, lbv0, lbv1;\n if (m.substr(0, 1) === 'h' || m === 'oklch') {\n [hue0, sat0, lbv0] = xyz0;\n [hue1, sat1, lbv1] = xyz1;\n }\n\n let sat, hue, lbv, dh;\n\n if (!isNaN(hue0) && !isNaN(hue1)) {\n // both colors have hue\n if (hue1 > hue0 && hue1 - hue0 > 180) {\n dh = hue1 - (hue0 + 360);\n } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n dh = hue1 + 360 - hue0;\n } else {\n dh = hue1 - hue0;\n }\n hue = hue0 + f * dh;\n } else if (!isNaN(hue0)) {\n hue = hue0;\n if ((lbv1 == 1 || lbv1 == 0) && m != 'hsv') sat = sat0;\n } else if (!isNaN(hue1)) {\n hue = hue1;\n if ((lbv0 == 1 || lbv0 == 0) && m != 'hsv') sat = sat1;\n } else {\n hue = Number.NaN;\n }\n\n if (sat === undefined) sat = sat0 + f * (sat1 - sat0);\n lbv = lbv0 + f * (lbv1 - lbv0);\n return m === 'oklch'\n ? new Color([lbv, sat, hue], m)\n : new Color([hue, sat, lbv], m);\n};\n","import '../io/lch/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst lch = (col1, col2, f) => {\n return interpolate_hsx(col1, col2, f, 'lch');\n};\n\n// register interpolator\nindex.lch = lch;\nindex.hcl = lch;\n\nexport default lch;\n","import { type } from '../../utils/index.js';\n\nconst num2rgb = (num) => {\n if (type(num) == 'number' && num >= 0 && num <= 0xffffff) {\n const r = num >> 16;\n const g = (num >> 8) & 0xff;\n const b = num & 0xff;\n return [r, g, b, 1];\n }\n throw new Error('unknown num color: ' + num);\n};\n\nexport default num2rgb;\n","import { unpack } from '../../utils/index.js';\n\nconst rgb2num = (...args) => {\n const [r, g, b] = unpack(args, 'rgb');\n return (r << 16) + (g << 8) + b;\n};\n\nexport default rgb2num;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { type } from '../../utils/index.js';\nimport num2rgb from './num2rgb.js';\nimport rgb2num from './rgb2num.js';\n\nColor.prototype.num = function () {\n return rgb2num(this._rgb);\n};\n\nconst num = (...args) => new Color(...args, 'num');\n\nObject.assign(chroma, { num });\n\ninput.format.num = num2rgb;\n\ninput.autodetect.push({\n p: 5,\n test: (...args) => {\n if (\n args.length === 1 &&\n type(args[0]) === 'number' &&\n args[0] >= 0 &&\n args[0] <= 0xffffff\n ) {\n return 'num';\n }\n }\n});\n\nexport { num };\n","import '../io/num/index.js';\nimport index from './index.js';\n\nimport Color from '../Color.js';\n\nconst num = (col1, col2, f) => {\n const c1 = col1.num();\n const c2 = col2.num();\n return new Color(c1 + f * (c2 - c1), 'num');\n};\n\n// register interpolator\nindex.num = num;\n\nexport default num;\n","import { unpack } from '../../utils/index.js';\nconst { floor } = Math;\n\n/*\n * this is basically just HSV with some minor tweaks\n *\n * hue.. [0..360]\n * chroma .. [0..1]\n * grayness .. [0..1]\n */\n\nconst hcg2rgb = (...args) => {\n args = unpack(args, 'hcg');\n let [h, c, _g] = args;\n let r, g, b;\n _g = _g * 255;\n const _c = c * 255;\n if (c === 0) {\n r = g = b = _g;\n } else {\n if (h === 360) h = 0;\n if (h > 360) h -= 360;\n if (h < 0) h += 360;\n h /= 60;\n const i = floor(h);\n const f = h - i;\n const p = _g * (1 - c);\n const q = p + _c * (1 - f);\n const t = p + _c * f;\n const v = p + _c;\n switch (i) {\n case 0:\n [r, g, b] = [v, t, p];\n break;\n case 1:\n [r, g, b] = [q, v, p];\n break;\n case 2:\n [r, g, b] = [p, v, t];\n break;\n case 3:\n [r, g, b] = [p, q, v];\n break;\n case 4:\n [r, g, b] = [t, p, v];\n break;\n case 5:\n [r, g, b] = [v, p, q];\n break;\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n};\n\nexport default hcg2rgb;\n","import { unpack, max, min } from '../../utils/index.js';\n\nconst rgb2hcg = (...args) => {\n const [r, g, b] = unpack(args, 'rgb');\n const minRgb = min(r, g, b);\n const maxRgb = max(r, g, b);\n const delta = maxRgb - minRgb;\n const c = (delta * 100) / 255;\n const _g = (minRgb / (255 - delta)) * 100;\n let h;\n if (delta === 0) {\n h = Number.NaN;\n } else {\n if (r === maxRgb) h = (g - b) / delta;\n if (g === maxRgb) h = 2 + (b - r) / delta;\n if (b === maxRgb) h = 4 + (r - g) / delta;\n h *= 60;\n if (h < 0) h += 360;\n }\n return [h, c, _g];\n};\n\nexport default rgb2hcg;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hcg2rgb from './hcg2rgb.js';\nimport rgb2hcg from './rgb2hcg.js';\n\nColor.prototype.hcg = function () {\n return rgb2hcg(this._rgb);\n};\n\nconst hcg = (...args) => new Color(...args, 'hcg');\nchroma.hcg = hcg;\n\ninput.format.hcg = hcg2rgb;\n\ninput.autodetect.push({\n p: 1,\n test: (...args) => {\n args = unpack(args, 'hcg');\n if (type(args) === 'array' && args.length === 3) {\n return 'hcg';\n }\n }\n});\n\nexport { hcg };\n","import '../io/hcg/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hcg = (col1, col2, f) => {\n return interpolate_hsx(col1, col2, f, 'hcg');\n};\n\n// register interpolator\nindex.hcg = hcg;\n\nexport default hcg;\n","import { unpack, limit, TWOPI, PITHIRD } from '../../utils/index.js';\nconst { cos } = Math;\n\n/*\n * hue [0..360]\n * saturation [0..1]\n * intensity [0..1]\n */\nconst hsi2rgb = (...args) => {\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n */\n args = unpack(args, 'hsi');\n let [h, s, i] = args;\n let r, g, b;\n\n if (isNaN(h)) h = 0;\n if (isNaN(s)) s = 0;\n // normalize hue\n if (h > 360) h -= 360;\n if (h < 0) h += 360;\n h /= 360;\n if (h < 1 / 3) {\n b = (1 - s) / 3;\n r = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n g = 1 - (b + r);\n } else if (h < 2 / 3) {\n h -= 1 / 3;\n r = (1 - s) / 3;\n g = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n b = 1 - (r + g);\n } else {\n h -= 2 / 3;\n g = (1 - s) / 3;\n b = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n r = 1 - (g + b);\n }\n r = limit(i * r * 3);\n g = limit(i * g * 3);\n b = limit(i * b * 3);\n return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1];\n};\n\nexport default hsi2rgb;\n","import { unpack, TWOPI } from '../../utils/index.js';\nconst { min, sqrt, acos } = Math;\n\nconst rgb2hsi = (...args) => {\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n */\n let [r, g, b] = unpack(args, 'rgb');\n r /= 255;\n g /= 255;\n b /= 255;\n let h;\n const min_ = min(r, g, b);\n const i = (r + g + b) / 3;\n const s = i > 0 ? 1 - min_ / i : 0;\n if (s === 0) {\n h = NaN;\n } else {\n h = (r - g + (r - b)) / 2;\n h /= sqrt((r - g) * (r - g) + (r - b) * (g - b));\n h = acos(h);\n if (b > g) {\n h = TWOPI - h;\n }\n h /= TWOPI;\n }\n return [h * 360, s, i];\n};\n\nexport default rgb2hsi;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hsi2rgb from './hsi2rgb.js';\nimport rgb2hsi from './rgb2hsi.js';\n\nColor.prototype.hsi = function () {\n return rgb2hsi(this._rgb);\n};\n\nconst hsi = (...args) => new Color(...args, 'hsi');\nchroma.hsi = hsi;\n\ninput.format.hsi = hsi2rgb;\n\ninput.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, 'hsi');\n if (type(args) === 'array' && args.length === 3) {\n return 'hsi';\n }\n }\n});\n\nexport { hsi };\n","import '../io/hsi/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hsi = (col1, col2, f) => {\n return interpolate_hsx(col1, col2, f, 'hsi');\n};\n\n// register interpolator\nindex.hsi = hsi;\n\nexport default hsi;\n","import { unpack } from '../../utils/index.js';\n\nconst hsl2rgb = (...args) => {\n args = unpack(args, 'hsl');\n const [h, s, l] = args;\n let r, g, b;\n if (s === 0) {\n r = g = b = l * 255;\n } else {\n const t3 = [0, 0, 0];\n const c = [0, 0, 0];\n const t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t1 = 2 * l - t2;\n const h_ = h / 360;\n t3[0] = h_ + 1 / 3;\n t3[1] = h_;\n t3[2] = h_ - 1 / 3;\n for (let i = 0; i < 3; i++) {\n if (t3[i] < 0) t3[i] += 1;\n if (t3[i] > 1) t3[i] -= 1;\n if (6 * t3[i] < 1) c[i] = t1 + (t2 - t1) * 6 * t3[i];\n else if (2 * t3[i] < 1) c[i] = t2;\n else if (3 * t3[i] < 2) c[i] = t1 + (t2 - t1) * (2 / 3 - t3[i]) * 6;\n else c[i] = t1;\n }\n [r, g, b] = [c[0] * 255, c[1] * 255, c[2] * 255];\n }\n if (args.length > 3) {\n // keep alpha channel\n return [r, g, b, args[3]];\n }\n return [r, g, b, 1];\n};\n\nexport default hsl2rgb;\n","import { unpack, min, max } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - rgb2hsl(r,g,b)\n * - rgb2hsl(r,g,b,a)\n * - rgb2hsl([r,g,b])\n * - rgb2hsl([r,g,b,a])\n * - rgb2hsl({r,g,b,a})\n */\nconst rgb2hsl = (...args) => {\n args = unpack(args, 'rgba');\n let [r, g, b] = args;\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n const minRgb = min(r, g, b);\n const maxRgb = max(r, g, b);\n\n const l = (maxRgb + minRgb) / 2;\n let s, h;\n\n if (maxRgb === minRgb) {\n s = 0;\n h = Number.NaN;\n } else {\n s =\n l < 0.5\n ? (maxRgb - minRgb) / (maxRgb + minRgb)\n : (maxRgb - minRgb) / (2 - maxRgb - minRgb);\n }\n\n if (r == maxRgb) h = (g - b) / (maxRgb - minRgb);\n else if (g == maxRgb) h = 2 + (b - r) / (maxRgb - minRgb);\n else if (b == maxRgb) h = 4 + (r - g) / (maxRgb - minRgb);\n\n h *= 60;\n if (h < 0) h += 360;\n if (args.length > 3 && args[3] !== undefined) return [h, s, l, args[3]];\n return [h, s, l];\n};\n\nexport default rgb2hsl;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hsl2rgb from './hsl2rgb.js';\nimport rgb2hsl from './rgb2hsl.js';\n\nColor.prototype.hsl = function () {\n return rgb2hsl(this._rgb);\n};\n\nconst hsl = (...args) => new Color(...args, 'hsl');\nchroma.hsl = hsl;\n\ninput.format.hsl = hsl2rgb;\n\ninput.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, 'hsl');\n if (type(args) === 'array' && args.length === 3) {\n return 'hsl';\n }\n }\n});\n\nexport { hsl };\n","import '../io/hsl/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hsl = (col1, col2, f) => {\n return interpolate_hsx(col1, col2, f, 'hsl');\n};\n\n// register interpolator\nindex.hsl = hsl;\n\nexport default hsl;\n","import { unpack } from '../../utils/index.js';\nconst { floor } = Math;\n\nconst hsv2rgb = (...args) => {\n args = unpack(args, 'hsv');\n let [h, s, v] = args;\n let r, g, b;\n v *= 255;\n if (s === 0) {\n r = g = b = v;\n } else {\n if (h === 360) h = 0;\n if (h > 360) h -= 360;\n if (h < 0) h += 360;\n h /= 60;\n\n const i = floor(h);\n const f = h - i;\n const p = v * (1 - s);\n const q = v * (1 - s * f);\n const t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0:\n [r, g, b] = [v, t, p];\n break;\n case 1:\n [r, g, b] = [q, v, p];\n break;\n case 2:\n [r, g, b] = [p, v, t];\n break;\n case 3:\n [r, g, b] = [p, q, v];\n break;\n case 4:\n [r, g, b] = [t, p, v];\n break;\n case 5:\n [r, g, b] = [v, p, q];\n break;\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n};\n\nexport default hsv2rgb;\n","import { unpack } from '../../utils/index.js';\nconst { min, max } = Math;\n\n/*\n * supported arguments:\n * - rgb2hsv(r,g,b)\n * - rgb2hsv([r,g,b])\n * - rgb2hsv({r,g,b})\n */\nconst rgb2hsl = (...args) => {\n args = unpack(args, 'rgb');\n let [r, g, b] = args;\n const min_ = min(r, g, b);\n const max_ = max(r, g, b);\n const delta = max_ - min_;\n let h, s, v;\n v = max_ / 255.0;\n if (max_ === 0) {\n h = Number.NaN;\n s = 0;\n } else {\n s = delta / max_;\n if (r === max_) h = (g - b) / delta;\n if (g === max_) h = 2 + (b - r) / delta;\n if (b === max_) h = 4 + (r - g) / delta;\n h *= 60;\n if (h < 0) h += 360;\n }\n return [h, s, v];\n};\n\nexport default rgb2hsl;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport hsv2rgb from './hsv2rgb.js';\nimport rgb2hsv from './rgb2hsv.js';\n\nColor.prototype.hsv = function () {\n return rgb2hsv(this._rgb);\n};\n\nconst hsv = (...args) => new Color(...args, 'hsv');\nchroma.hsv = hsv;\n\ninput.format.hsv = hsv2rgb;\n\ninput.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, 'hsv');\n if (type(args) === 'array' && args.length === 3) {\n return 'hsv';\n }\n }\n});\n\nexport { hsv };\n","import '../io/hsv/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst hsv = (col1, col2, f) => {\n return interpolate_hsx(col1, col2, f, 'hsv');\n};\n\n// register interpolator\nindex.hsv = hsv;\n\nexport default hsv;\n","// from https://www.w3.org/TR/css-color-4/multiply-matrices.js\nexport default function multiplyMatrices(A, B) {\n let m = A.length;\n\n if (!Array.isArray(A[0])) {\n // A is vector, convert to [[a, b, c, ...]]\n A = [A];\n }\n\n if (!Array.isArray(B[0])) {\n // B is vector, convert to [[a], [b], [c], ...]]\n B = B.map((x) => [x]);\n }\n\n let p = B[0].length;\n let B_cols = B[0].map((_, i) => B.map((x) => x[i])); // transpose B\n let product = A.map((row) =>\n B_cols.map((col) => {\n if (!Array.isArray(row)) {\n return col.reduce((a, c) => a + c * row, 0);\n }\n\n return row.reduce((a, c, i) => a + c * (col[i] || 0), 0);\n })\n );\n\n if (m === 1) {\n product = product[0]; // Avoid [[a, b, c, ...]]\n }\n\n if (p === 1) {\n return product.map((x) => x[0]); // Avoid [[a], [b], [c], ...]]\n }\n\n return product;\n}\n","import { unpack } from '../../utils/index.js';\nimport multiplyMatrices from '../../utils/multiply-matrices.js';\nimport { xyz2rgb } from '../lab/lab2rgb.js';\n\nconst oklab2rgb = (...args) => {\n args = unpack(args, 'lab');\n const [L, a, b, ...rest] = args;\n const [X, Y, Z] = OKLab_to_XYZ([L, a, b]);\n const [r, g, b_] = xyz2rgb(X, Y, Z);\n return [r, g, b_, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\n// from https://www.w3.org/TR/css-color-4/#color-conversion-code\nfunction OKLab_to_XYZ(OKLab) {\n // Given OKLab, convert to XYZ relative to D65\n var LMStoXYZ = [\n [1.2268798758459243, -0.5578149944602171, 0.2813910456659647],\n [-0.0405757452148008, 1.112286803280317, -0.0717110580655164],\n [-0.0763729366746601, -0.4214933324022432, 1.5869240198367816]\n ];\n var OKLabtoLMS = [\n [1.0, 0.3963377773761749, 0.2158037573099136],\n [1.0, -0.1055613458156586, -0.0638541728258133],\n [1.0, -0.0894841775298119, -1.2914855480194092]\n ];\n\n var LMSnl = multiplyMatrices(OKLabtoLMS, OKLab);\n return multiplyMatrices(\n LMStoXYZ,\n LMSnl.map((c) => c ** 3)\n );\n}\n\nexport default oklab2rgb;\n","import { unpack } from '../../utils/index.js';\nimport multiplyMatrices from '../../utils/multiply-matrices.js';\nimport { rgb2xyz } from '../lab/rgb2lab.js';\n\nconst rgb2oklab = (...args) => {\n const [r, g, b, ...rest] = unpack(args, 'rgb');\n const xyz = rgb2xyz(r, g, b);\n const oklab = XYZ_to_OKLab(xyz);\n return [...oklab, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\n// from https://www.w3.org/TR/css-color-4/#color-conversion-code\nfunction XYZ_to_OKLab(XYZ) {\n // Given XYZ relative to D65, convert to OKLab\n const XYZtoLMS = [\n [0.819022437996703, 0.3619062600528904, -0.1288737815209879],\n [0.0329836539323885, 0.9292868615863434, 0.0361446663506424],\n [0.0481771893596242, 0.2642395317527308, 0.6335478284694309]\n ];\n const LMStoOKLab = [\n [0.210454268309314, 0.7936177747023054, -0.0040720430116193],\n [1.9779985324311684, -2.4285922420485799, 0.450593709617411],\n [0.0259040424655478, 0.7827717124575296, -0.8086757549230774]\n ];\n\n const LMS = multiplyMatrices(XYZtoLMS, XYZ);\n // JavaScript Math.cbrt returns a sign-matched cube root\n // beware if porting to other languages\n // especially if tempted to use a general power function\n return multiplyMatrices(\n LMStoOKLab,\n LMS.map((c) => Math.cbrt(c))\n );\n // L in range [0,1]. For use in CSS, multiply by 100 and add a percent\n}\n\nexport default rgb2oklab;\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport oklab2rgb from './oklab2rgb.js';\nimport rgb2oklab from './rgb2oklab.js';\n\nColor.prototype.oklab = function () {\n return rgb2oklab(this._rgb);\n};\n\nconst oklab = (...args) => new Color(...args, 'oklab');\nObject.assign(chroma, { oklab });\n\ninput.format.oklab = oklab2rgb;\n\ninput.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, 'oklab');\n if (type(args) === 'array' && args.length === 3) {\n return 'oklab';\n }\n }\n});\n\nexport { oklab };\n","import '../io/oklab/index.js';\nimport index from './index.js';\nimport Color from '../Color.js';\n\nconst oklab = (col1, col2, f) => {\n const xyz0 = col1.oklab();\n const xyz1 = col2.oklab();\n return new Color(\n xyz0[0] + f * (xyz1[0] - xyz0[0]),\n xyz0[1] + f * (xyz1[1] - xyz0[1]),\n xyz0[2] + f * (xyz1[2] - xyz0[2]),\n 'oklab'\n );\n};\n\n// register interpolator\nindex.oklab = oklab;\n\nexport default oklab;\n","import '../io/lch/index.js';\nimport interpolate_hsx from './_hsx.js';\nimport index from './index.js';\n\nconst oklch = (col1, col2, f) => {\n return interpolate_hsx(col1, col2, f, 'oklch');\n};\n\n// register interpolator\nindex.oklch = oklch;\n\nexport default oklch;\n","import Color from '../Color.js';\nimport { clip_rgb } from '../utils/index.js';\n\nconst { pow, sqrt, PI, cos, sin, atan2 } = Math;\n\nexport default (colors, mode = 'lrgb', weights = null) => {\n const l = colors.length;\n if (!weights) weights = Array.from(new Array(l)).map(() => 1);\n // normalize weights\n const k =\n l /\n weights.reduce(function (a, b) {\n return a + b;\n });\n weights.forEach((w, i) => {\n weights[i] *= k;\n });\n // convert colors to Color objects\n colors = colors.map((c) => new Color(c));\n if (mode === 'lrgb') {\n return _average_lrgb(colors, weights);\n }\n const first = colors.shift();\n const xyz = first.get(mode);\n const cnt = [];\n let dx = 0;\n let dy = 0;\n // initial color\n for (let i = 0; i < xyz.length; i++) {\n xyz[i] = (xyz[i] || 0) * weights[0];\n cnt.push(isNaN(xyz[i]) ? 0 : weights[0]);\n if (mode.charAt(i) === 'h' && !isNaN(xyz[i])) {\n const A = (xyz[i] / 180) * PI;\n dx += cos(A) * weights[0];\n dy += sin(A) * weights[0];\n }\n }\n\n let alpha = first.alpha() * weights[0];\n colors.forEach((c, ci) => {\n const xyz2 = c.get(mode);\n alpha += c.alpha() * weights[ci + 1];\n for (let i = 0; i < xyz.length; i++) {\n if (!isNaN(xyz2[i])) {\n cnt[i] += weights[ci + 1];\n if (mode.charAt(i) === 'h') {\n const A = (xyz2[i] / 180) * PI;\n dx += cos(A) * weights[ci + 1];\n dy += sin(A) * weights[ci + 1];\n } else {\n xyz[i] += xyz2[i] * weights[ci + 1];\n }\n }\n }\n });\n\n for (let i = 0; i < xyz.length; i++) {\n if (mode.charAt(i) === 'h') {\n let A = (atan2(dy / cnt[i], dx / cnt[i]) / PI) * 180;\n while (A < 0) A += 360;\n while (A >= 360) A -= 360;\n xyz[i] = A;\n } else {\n xyz[i] = xyz[i] / cnt[i];\n }\n }\n alpha /= l;\n return new Color(xyz, mode).alpha(alpha > 0.99999 ? 1 : alpha, true);\n};\n\nconst _average_lrgb = (colors, weights) => {\n const l = colors.length;\n const xyz = [0, 0, 0, 0];\n for (let i = 0; i < colors.length; i++) {\n const col = colors[i];\n const f = weights[i] / l;\n const rgb = col._rgb;\n xyz[0] += pow(rgb[0], 2) * f;\n xyz[1] += pow(rgb[1], 2) * f;\n xyz[2] += pow(rgb[2], 2) * f;\n xyz[3] += rgb[3] * f;\n }\n xyz[0] = sqrt(xyz[0]);\n xyz[1] = sqrt(xyz[1]);\n xyz[2] = sqrt(xyz[2]);\n if (xyz[3] > 0.9999999) xyz[3] = 1;\n return new Color(clip_rgb(xyz));\n};\n","// minimal multi-purpose interface\n\n// @requires utils color analyze\nimport chroma from '../chroma.js';\nimport { limit, type } from '../utils/index.js';\n\nconst { pow } = Math;\n\nexport default function (colors) {\n // constructor\n let _mode = 'rgb';\n let _nacol = chroma('#ccc');\n let _spread = 0;\n // const _fixed = false;\n let _domain = [0, 1];\n let _pos = [];\n let _padding = [0, 0];\n let _classes = false;\n let _colors = [];\n let _out = false;\n let _min = 0;\n let _max = 1;\n let _correctLightness = false;\n let _colorCache = {};\n let _useCache = true;\n let _gamma = 1;\n\n // private methods\n\n const setColors = function (colors) {\n colors = colors || ['#fff', '#000'];\n if (\n colors &&\n type(colors) === 'string' &&\n chroma.brewer &&\n chroma.brewer[colors.toLowerCase()]\n ) {\n colors = chroma.brewer[colors.toLowerCase()];\n }\n if (type(colors) === 'array') {\n // handle single color\n if (colors.length === 1) {\n colors = [colors[0], colors[0]];\n }\n // make a copy of the colors\n colors = colors.slice(0);\n // convert to chroma classes\n for (let c = 0; c < colors.length; c++) {\n colors[c] = chroma(colors[c]);\n }\n // auto-fill color position\n _pos.length = 0;\n for (let c = 0; c < colors.length; c++) {\n _pos.push(c / (colors.length - 1));\n }\n }\n resetCache();\n return (_colors = colors);\n };\n\n const getClass = function (value) {\n if (_classes != null) {\n const n = _classes.length - 1;\n let i = 0;\n while (i < n && value >= _classes[i]) {\n i++;\n }\n return i - 1;\n }\n return 0;\n };\n\n let tMapLightness = (t) => t;\n let tMapDomain = (t) => t;\n\n // const classifyValue = function(value) {\n // let val = value;\n // if (_classes.length > 2) {\n // const n = _classes.length-1;\n // const i = getClass(value);\n // const minc = _classes[0] + ((_classes[1]-_classes[0]) * (0 + (_spread * 0.5))); // center of 1st class\n // const maxc = _classes[n-1] + ((_classes[n]-_classes[n-1]) * (1 - (_spread * 0.5))); // center of last class\n // val = _min + ((((_classes[i] + ((_classes[i+1] - _classes[i]) * 0.5)) - minc) / (maxc-minc)) * (_max - _min));\n // }\n // return val;\n // };\n\n const getColor = function (val, bypassMap) {\n let col, t;\n if (bypassMap == null) {\n bypassMap = false;\n }\n if (isNaN(val) || val === null) {\n return _nacol;\n }\n if (!bypassMap) {\n if (_classes && _classes.length > 2) {\n // find the class\n const c = getClass(val);\n t = c / (_classes.length - 2);\n } else if (_max !== _min) {\n // just interpolate between min/max\n t = (val - _min) / (_max - _min);\n } else {\n t = 1;\n }\n } else {\n t = val;\n }\n\n // domain map\n t = tMapDomain(t);\n\n if (!bypassMap) {\n t = tMapLightness(t); // lightness correction\n }\n\n if (_gamma !== 1) {\n t = pow(t, _gamma);\n }\n\n t = _padding[0] + t * (1 - _padding[0] - _padding[1]);\n\n t = limit(t, 0, 1);\n\n const k = Math.floor(t * 10000);\n\n if (_useCache && _colorCache[k]) {\n col = _colorCache[k];\n } else {\n if (type(_colors) === 'array') {\n //for i in [0.._pos.length-1]\n for (let i = 0; i < _pos.length; i++) {\n const p = _pos[i];\n if (t <= p) {\n col = _colors[i];\n break;\n }\n if (t >= p && i === _pos.length - 1) {\n col = _colors[i];\n break;\n }\n if (t > p && t < _pos[i + 1]) {\n t = (t - p) / (_pos[i + 1] - p);\n col = chroma.interpolate(\n _colors[i],\n _colors[i + 1],\n t,\n _mode\n );\n break;\n }\n }\n } else if (type(_colors) === 'function') {\n col = _colors(t);\n }\n if (_useCache) {\n _colorCache[k] = col;\n }\n }\n return col;\n };\n\n var resetCache = () => (_colorCache = {});\n\n setColors(colors);\n\n // public interface\n\n const f = function (v) {\n const c = chroma(getColor(v));\n if (_out && c[_out]) {\n return c[_out]();\n } else {\n return c;\n }\n };\n\n f.classes = function (classes) {\n if (classes != null) {\n if (type(classes) === 'array') {\n _classes = classes;\n _domain = [classes[0], classes[classes.length - 1]];\n } else {\n const d = chroma.analyze(_domain);\n if (classes === 0) {\n _classes = [d.min, d.max];\n } else {\n _classes = chroma.limits(d, 'e', classes);\n }\n }\n return f;\n }\n return _classes;\n };\n\n f.domain = function (domain) {\n if (!arguments.length) {\n return _domain;\n }\n _min = domain[0];\n _max = domain[domain.length - 1];\n _pos = [];\n const k = _colors.length;\n if (domain.length === k && _min !== _max) {\n // update positions\n for (let d of Array.from(domain)) {\n _pos.push((d - _min) / (_max - _min));\n }\n } else {\n for (let c = 0; c < k; c++) {\n _pos.push(c / (k - 1));\n }\n if (domain.length > 2) {\n // set domain map\n const tOut = domain.map((d, i) => i / (domain.length - 1));\n const tBreaks = domain.map((d) => (d - _min) / (_max - _min));\n if (!tBreaks.every((val, i) => tOut[i] === val)) {\n tMapDomain = (t) => {\n if (t <= 0 || t >= 1) return t;\n let i = 0;\n while (t >= tBreaks[i + 1]) i++;\n const f =\n (t - tBreaks[i]) / (tBreaks[i + 1] - tBreaks[i]);\n const out = tOut[i] + f * (tOut[i + 1] - tOut[i]);\n return out;\n };\n }\n }\n }\n _domain = [_min, _max];\n return f;\n };\n\n f.mode = function (_m) {\n if (!arguments.length) {\n return _mode;\n }\n _mode = _m;\n resetCache();\n return f;\n };\n\n f.range = function (colors, _pos) {\n setColors(colors, _pos);\n return f;\n };\n\n f.out = function (_o) {\n _out = _o;\n return f;\n };\n\n f.spread = function (val) {\n if (!arguments.length) {\n return _spread;\n }\n _spread = val;\n return f;\n };\n\n f.correctLightness = function (v) {\n if (v == null) {\n v = true;\n }\n _correctLightness = v;\n resetCache();\n if (_correctLightness) {\n tMapLightness = function (t) {\n const L0 = getColor(0, true).lab()[0];\n const L1 = getColor(1, true).lab()[0];\n const pol = L0 > L1;\n let L_actual = getColor(t, true).lab()[0];\n const L_ideal = L0 + (L1 - L0) * t;\n let L_diff = L_actual - L_ideal;\n let t0 = 0;\n let t1 = 1;\n let max_iter = 20;\n while (Math.abs(L_diff) > 1e-2 && max_iter-- > 0) {\n (function () {\n if (pol) {\n L_diff *= -1;\n }\n if (L_diff < 0) {\n t0 = t;\n t += (t1 - t) * 0.5;\n } else {\n t1 = t;\n t += (t0 - t) * 0.5;\n }\n L_actual = getColor(t, true).lab()[0];\n return (L_diff = L_actual - L_ideal);\n })();\n }\n return t;\n };\n } else {\n tMapLightness = (t) => t;\n }\n return f;\n };\n\n f.padding = function (p) {\n if (p != null) {\n if (type(p) === 'number') {\n p = [p, p];\n }\n _padding = p;\n return f;\n } else {\n return _padding;\n }\n };\n\n f.colors = function (numColors, out) {\n // If no arguments are given, return the original colors that were provided\n if (arguments.length < 2) {\n out = 'hex';\n }\n let result = [];\n\n if (arguments.length === 0) {\n result = _colors.slice(0);\n } else if (numColors === 1) {\n result = [f(0.5)];\n } else if (numColors > 1) {\n const dm = _domain[0];\n const dd = _domain[1] - dm;\n result = __range__(0, numColors, false).map((i) =>\n f(dm + (i / (numColors - 1)) * dd)\n );\n } else {\n // returns all colors based on the defined classes\n colors = [];\n let samples = [];\n if (_classes && _classes.length > 2) {\n for (\n let i = 1, end = _classes.length, asc = 1 <= end;\n asc ? i < end : i > end;\n asc ? i++ : i--\n ) {\n samples.push((_classes[i - 1] + _classes[i]) * 0.5);\n }\n } else {\n samples = _domain;\n }\n result = samples.map((v) => f(v));\n }\n\n if (chroma[out]) {\n result = result.map((c) => c[out]());\n }\n return result;\n };\n\n f.cache = function (c) {\n if (c != null) {\n _useCache = c;\n return f;\n } else {\n return _useCache;\n }\n };\n\n f.gamma = function (g) {\n if (g != null) {\n _gamma = g;\n return f;\n } else {\n return _gamma;\n }\n };\n\n f.nodata = function (d) {\n if (d != null) {\n _nacol = chroma(d);\n return f;\n } else {\n return _nacol;\n }\n };\n\n return f;\n}\n\nfunction __range__(left, right, inclusive) {\n let range = [];\n let ascending = left < right;\n let end = !inclusive ? right : ascending ? right + 1 : right - 1;\n for (let i = left; ascending ? i < end : i > end; ascending ? i++ : i--) {\n range.push(i);\n }\n return range;\n}\n","//\n// interpolates between a set of colors uzing a bezier spline\n//\n\n// @requires utils lab\nimport Color from '../Color.js';\nimport '../io/lab/index.js';\nimport scale from './scale.js';\n\n// nth row of the pascal triangle\nconst binom_row = function (n) {\n let row = [1, 1];\n for (let i = 1; i < n; i++) {\n let newrow = [1];\n for (let j = 1; j <= row.length; j++) {\n newrow[j] = (row[j] || 0) + row[j - 1];\n }\n row = newrow;\n }\n return row;\n};\n\nconst bezier = function (colors) {\n let I, lab0, lab1, lab2;\n colors = colors.map((c) => new Color(c));\n if (colors.length === 2) {\n // linear interpolation\n [lab0, lab1] = colors.map((c) => c.lab());\n I = function (t) {\n const lab = [0, 1, 2].map((i) => lab0[i] + t * (lab1[i] - lab0[i]));\n return new Color(lab, 'lab');\n };\n } else if (colors.length === 3) {\n // quadratic bezier interpolation\n [lab0, lab1, lab2] = colors.map((c) => c.lab());\n I = function (t) {\n const lab = [0, 1, 2].map(\n (i) =>\n (1 - t) * (1 - t) * lab0[i] +\n 2 * (1 - t) * t * lab1[i] +\n t * t * lab2[i]\n );\n return new Color(lab, 'lab');\n };\n } else if (colors.length === 4) {\n // cubic bezier interpolation\n let lab3;\n [lab0, lab1, lab2, lab3] = colors.map((c) => c.lab());\n I = function (t) {\n const lab = [0, 1, 2].map(\n (i) =>\n (1 - t) * (1 - t) * (1 - t) * lab0[i] +\n 3 * (1 - t) * (1 - t) * t * lab1[i] +\n 3 * (1 - t) * t * t * lab2[i] +\n t * t * t * lab3[i]\n );\n return new Color(lab, 'lab');\n };\n } else if (colors.length >= 5) {\n // general case (degree n bezier)\n let labs, row, n;\n labs = colors.map((c) => c.lab());\n n = colors.length - 1;\n row = binom_row(n);\n I = function (t) {\n const u = 1 - t;\n const lab = [0, 1, 2].map((i) =>\n labs.reduce(\n (sum, el, j) =>\n sum + row[j] * u ** (n - j) * t ** j * el[i],\n 0\n )\n );\n return new Color(lab, 'lab');\n };\n } else {\n throw new RangeError('No point in running bezier with only one color.');\n }\n return I;\n};\n\nexport default (colors) => {\n const f = bezier(colors);\n f.scale = () => scale(f);\n return f;\n};\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { unpack, type } from '../../utils/index.js';\nconst { round } = Math;\n\nColor.prototype.rgb = function (rnd = true) {\n if (rnd === false) return this._rgb.slice(0, 3);\n return this._rgb.slice(0, 3).map(round);\n};\n\nColor.prototype.rgba = function (rnd = true) {\n return this._rgb.slice(0, 4).map((v, i) => {\n return i < 3 ? (rnd === false ? v : round(v)) : v;\n });\n};\n\nconst rgb = (...args) => new Color(...args, 'rgb');\nObject.assign(chroma, { rgb });\n\ninput.format.rgb = (...args) => {\n const rgba = unpack(args, 'rgba');\n if (rgba[3] === undefined) rgba[3] = 1;\n return rgba;\n};\n\ninput.autodetect.push({\n p: 3,\n test: (...args) => {\n args = unpack(args, 'rgba');\n if (\n type(args) === 'array' &&\n (args.length === 3 ||\n (args.length === 4 &&\n type(args[3]) == 'number' &&\n args[3] >= 0 &&\n args[3] <= 1))\n ) {\n return 'rgb';\n }\n }\n});\n\nexport { rgb };\n","/*\n * interpolates between a set of colors uzing a bezier spline\n * blend mode formulas taken from https://web.archive.org/web/20180110014946/http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/\n */\n\nimport '../io/rgb/index.js';\nimport chroma from '../chroma.js';\n\nconst blend = (bottom, top, mode) => {\n if (!blend[mode]) {\n throw new Error('unknown blend mode ' + mode);\n }\n return blend[mode](bottom, top);\n};\n\nconst blend_f = (f) => (bottom, top) => {\n const c0 = chroma(top).rgb();\n const c1 = chroma(bottom).rgb();\n return chroma.rgb(f(c0, c1));\n};\n\nconst each = (f) => (c0, c1) => {\n const out = [];\n out[0] = f(c0[0], c1[0]);\n out[1] = f(c0[1], c1[1]);\n out[2] = f(c0[2], c1[2]);\n return out;\n};\n\nconst normal = (a) => a;\nconst multiply = (a, b) => (a * b) / 255;\nconst darken = (a, b) => (a > b ? b : a);\nconst lighten = (a, b) => (a > b ? a : b);\nconst screen = (a, b) => 255 * (1 - (1 - a / 255) * (1 - b / 255));\nconst overlay = (a, b) =>\n b < 128 ? (2 * a * b) / 255 : 255 * (1 - 2 * (1 - a / 255) * (1 - b / 255));\nconst burn = (a, b) => 255 * (1 - (1 - b / 255) / (a / 255));\nconst dodge = (a, b) => {\n if (a === 255) return 255;\n a = (255 * (b / 255)) / (1 - a / 255);\n return a > 255 ? 255 : a;\n};\n\n// # add = (a,b) ->\n// # if (a + b > 255) then 255 else a + b\n\nblend.normal = blend_f(each(normal));\nblend.multiply = blend_f(each(multiply));\nblend.screen = blend_f(each(screen));\nblend.overlay = blend_f(each(overlay));\nblend.darken = blend_f(each(darken));\nblend.lighten = blend_f(each(lighten));\nblend.dodge = blend_f(each(dodge));\nblend.burn = blend_f(each(burn));\n// blend.add = blend_f(each(add));\n\nexport default blend;\n","// cubehelix interpolation\n// based on D.A. Green \"A colour scheme for the display of astronomical intensity images\"\n// http://astron-soc.in/bulletin/11June/289392011.pdf\nimport { type, clip_rgb, TWOPI } from '../utils/index.js';\nimport chroma from '../chroma.js';\nconst { pow, sin, cos } = Math;\n\nexport default function (\n start = 300,\n rotations = -1.5,\n hue = 1,\n gamma = 1,\n lightness = [0, 1]\n) {\n let dh = 0,\n dl;\n if (type(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n const f = function (fract) {\n const a = TWOPI * ((start + 120) / 360 + rotations * fract);\n const l = pow(lightness[0] + dl * fract, gamma);\n const h = dh !== 0 ? hue[0] + fract * dh : hue;\n const amp = (h * l * (1 - l)) / 2;\n const cos_a = cos(a);\n const sin_a = sin(a);\n const r = l + amp * (-0.14861 * cos_a + 1.78277 * sin_a);\n const g = l + amp * (-0.29227 * cos_a - 0.90649 * sin_a);\n const b = l + amp * (+1.97294 * cos_a);\n return chroma(clip_rgb([r * 255, g * 255, b * 255, 1]));\n };\n f.start = function (s) {\n if (s == null) {\n return start;\n }\n start = s;\n return f;\n };\n f.rotations = function (r) {\n if (r == null) {\n return rotations;\n }\n rotations = r;\n return f;\n };\n f.gamma = function (g) {\n if (g == null) {\n return gamma;\n }\n gamma = g;\n return f;\n };\n f.hue = function (h) {\n if (h == null) {\n return hue;\n }\n hue = h;\n if (type(hue) === 'array') {\n dh = hue[1] - hue[0];\n if (dh === 0) {\n hue = hue[1];\n }\n } else {\n dh = 0;\n }\n return f;\n };\n f.lightness = function (h) {\n if (h == null) {\n return lightness;\n }\n if (type(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h, h];\n dl = 0;\n }\n return f;\n };\n f.scale = () => chroma.scale(f);\n f.hue(hue);\n return f;\n}\n","import Color from '../Color.js';\nconst digits = '0123456789abcdef';\n\nconst { floor, random } = Math;\n\nexport default () => {\n let code = '#';\n for (let i = 0; i < 6; i++) {\n code += digits.charAt(floor(random() * 16));\n }\n return new Color(code, 'hex');\n};\n","import type from './type.js';\n\nconst { log, pow, floor, abs } = Math;\n\nexport function analyze(data, key = null) {\n const r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE * -1,\n sum: 0,\n values: [],\n count: 0\n };\n if (type(data) === 'object') {\n data = Object.values(data);\n }\n data.forEach((val) => {\n if (key && type(val) === 'object') val = val[key];\n if (val !== undefined && val !== null && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) r.min = val;\n if (val > r.max) r.max = val;\n r.count += 1;\n }\n });\n\n r.domain = [r.min, r.max];\n\n r.limits = (mode, num) => limits(r, mode, num);\n\n return r;\n}\n\nexport function limits(data, mode = 'equal', num = 7) {\n if (type(data) == 'array') {\n data = analyze(data);\n }\n const { min, max } = data;\n const values = data.values.sort((a, b) => a - b);\n\n if (num === 1) {\n return [min, max];\n }\n\n const limits = [];\n\n if (mode.substr(0, 1) === 'c') {\n // continuous\n limits.push(min);\n limits.push(max);\n }\n\n if (mode.substr(0, 1) === 'e') {\n // equal interval\n limits.push(min);\n for (let i = 1; i < num; i++) {\n limits.push(min + (i / num) * (max - min));\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'l') {\n // log scale\n if (min <= 0) {\n throw new Error(\n 'Logarithmic scales are only possible for values > 0'\n );\n }\n const min_log = Math.LOG10E * log(min);\n const max_log = Math.LOG10E * log(max);\n limits.push(min);\n for (let i = 1; i < num; i++) {\n limits.push(pow(10, min_log + (i / num) * (max_log - min_log)));\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'q') {\n // quantile scale\n limits.push(min);\n for (let i = 1; i < num; i++) {\n const p = ((values.length - 1) * i) / num;\n const pb = floor(p);\n if (pb === p) {\n limits.push(values[pb]);\n } else {\n // p > pb\n const pr = p - pb;\n limits.push(values[pb] * (1 - pr) + values[pb + 1] * pr);\n }\n }\n limits.push(max);\n } else if (mode.substr(0, 1) === 'k') {\n // k-means clustering\n /*\n implementation based on\n http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n simplified for 1-d input values\n */\n let cluster;\n const n = values.length;\n const assignments = new Array(n);\n const clusterSizes = new Array(num);\n let repeat = true;\n let nb_iters = 0;\n let centroids = null;\n\n // get seed values\n centroids = [];\n centroids.push(min);\n for (let i = 1; i < num; i++) {\n centroids.push(min + (i / num) * (max - min));\n }\n centroids.push(max);\n\n while (repeat) {\n // assignment step\n for (let j = 0; j < num; j++) {\n clusterSizes[j] = 0;\n }\n for (let i = 0; i < n; i++) {\n const value = values[i];\n let mindist = Number.MAX_VALUE;\n let best;\n for (let j = 0; j < num; j++) {\n const dist = abs(centroids[j] - value);\n if (dist < mindist) {\n mindist = dist;\n best = j;\n }\n clusterSizes[best]++;\n assignments[i] = best;\n }\n }\n\n // update centroids step\n const newCentroids = new Array(num);\n for (let j = 0; j < num; j++) {\n newCentroids[j] = null;\n }\n for (let i = 0; i < n; i++) {\n cluster = assignments[i];\n if (newCentroids[cluster] === null) {\n newCentroids[cluster] = values[i];\n } else {\n newCentroids[cluster] += values[i];\n }\n }\n for (let j = 0; j < num; j++) {\n newCentroids[j] *= 1 / clusterSizes[j];\n }\n\n // check convergence\n repeat = false;\n for (let j = 0; j < num; j++) {\n if (newCentroids[j] !== centroids[j]) {\n repeat = true;\n break;\n }\n }\n\n centroids = newCentroids;\n nb_iters++;\n\n if (nb_iters > 200) {\n repeat = false;\n }\n }\n\n // finished k-means clustering\n // the next part is borrowed from gabrielflor.it\n const kClusters = {};\n for (let j = 0; j < num; j++) {\n kClusters[j] = [];\n }\n for (let i = 0; i < n; i++) {\n cluster = assignments[i];\n kClusters[cluster].push(values[i]);\n }\n let tmpKMeansBreaks = [];\n for (let j = 0; j < num; j++) {\n tmpKMeansBreaks.push(kClusters[j][0]);\n tmpKMeansBreaks.push(kClusters[j][kClusters[j].length - 1]);\n }\n tmpKMeansBreaks = tmpKMeansBreaks.sort((a, b) => a - b);\n limits.push(tmpKMeansBreaks[0]);\n for (let i = 1; i < tmpKMeansBreaks.length; i += 2) {\n const v = tmpKMeansBreaks[i];\n if (!isNaN(v) && limits.indexOf(v) === -1) {\n limits.push(v);\n }\n }\n }\n return limits;\n}\n","import Color from '../Color.js';\nimport '../ops/luminance.js';\n\nexport default (a, b) => {\n // WCAG contrast ratio\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n a = new Color(a);\n b = new Color(b);\n const l1 = a.luminance();\n const l2 = b.luminance();\n return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);\n};\n","import Color from '../Color.js';\nimport mix from '../generator/mix.js';\n\n/**\n * @license\n *\n * The APCA contrast prediction algorithm is based of the formulas published\n * in the APCA-1.0.98G specification by Myndex. The specification is available at:\n * https://raw.githubusercontent.com/Myndex/apca-w3/master/images/APCAw3_0.1.17_APCA0.0.98G.svg\n *\n * Note that the APCA implementation is still beta, so please update to\n * future versions of chroma.js when they become available.\n *\n * You can read more about the APCA Readability Criterion at\n * https://readtech.org/ARC/\n */\n\n// constants\nconst W_offset = 0.027;\nconst P_in = 0.0005;\nconst P_out = 0.1;\nconst R_scale = 1.14;\nconst B_threshold = 0.022;\nconst B_exp = 1.414;\n\nexport default (text, bg) => {\n // parse input colors\n text = new Color(text);\n bg = new Color(bg);\n // if text color has alpha, blend against background\n if (text.alpha() < 1) {\n text = mix(bg, text, text.alpha(), 'rgb');\n }\n const l_text = lum(...text.rgb());\n const l_bg = lum(...bg.rgb());\n\n // soft clamp black levels\n const Y_text =\n l_text >= B_threshold\n ? l_text\n : l_text + Math.pow(B_threshold - l_text, B_exp);\n const Y_bg =\n l_bg >= B_threshold ? l_bg : l_bg + Math.pow(B_threshold - l_bg, B_exp);\n\n // normal polarity (dark text on light background)\n const S_norm = Math.pow(Y_bg, 0.56) - Math.pow(Y_text, 0.57);\n // reverse polarity (light text on dark background)\n const S_rev = Math.pow(Y_bg, 0.65) - Math.pow(Y_text, 0.62);\n // clamp noise then scale\n const C =\n Math.abs(Y_bg - Y_text) < P_in\n ? 0\n : Y_text < Y_bg\n ? S_norm * R_scale\n : S_rev * R_scale;\n // clamp minimum contrast then offset\n const S_apc = Math.abs(C) < P_out ? 0 : C > 0 ? C - W_offset : C + W_offset;\n // scale to 100\n return S_apc * 100;\n};\n\nfunction lum(r, g, b) {\n return (\n 0.2126729 * Math.pow(r / 255, 2.4) +\n 0.7151522 * Math.pow(g / 255, 2.4) +\n 0.072175 * Math.pow(b / 255, 2.4)\n );\n}\n","import Color from '../Color.js';\nconst { sqrt, pow, min, max, atan2, abs, cos, sin, exp, PI } = Math;\n\nexport default function (a, b, Kl = 1, Kc = 1, Kh = 1) {\n // Delta E (CIE 2000)\n // see http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CIE2000.html\n var rad2deg = function (rad) {\n return (360 * rad) / (2 * PI);\n };\n var deg2rad = function (deg) {\n return (2 * PI * deg) / 360;\n };\n a = new Color(a);\n b = new Color(b);\n const [L1, a1, b1] = Array.from(a.lab());\n const [L2, a2, b2] = Array.from(b.lab());\n const avgL = (L1 + L2) / 2;\n const C1 = sqrt(pow(a1, 2) + pow(b1, 2));\n const C2 = sqrt(pow(a2, 2) + pow(b2, 2));\n const avgC = (C1 + C2) / 2;\n const G = 0.5 * (1 - sqrt(pow(avgC, 7) / (pow(avgC, 7) + pow(25, 7))));\n const a1p = a1 * (1 + G);\n const a2p = a2 * (1 + G);\n const C1p = sqrt(pow(a1p, 2) + pow(b1, 2));\n const C2p = sqrt(pow(a2p, 2) + pow(b2, 2));\n const avgCp = (C1p + C2p) / 2;\n const arctan1 = rad2deg(atan2(b1, a1p));\n const arctan2 = rad2deg(atan2(b2, a2p));\n const h1p = arctan1 >= 0 ? arctan1 : arctan1 + 360;\n const h2p = arctan2 >= 0 ? arctan2 : arctan2 + 360;\n const avgHp =\n abs(h1p - h2p) > 180 ? (h1p + h2p + 360) / 2 : (h1p + h2p) / 2;\n const T =\n 1 -\n 0.17 * cos(deg2rad(avgHp - 30)) +\n 0.24 * cos(deg2rad(2 * avgHp)) +\n 0.32 * cos(deg2rad(3 * avgHp + 6)) -\n 0.2 * cos(deg2rad(4 * avgHp - 63));\n let deltaHp = h2p - h1p;\n deltaHp =\n abs(deltaHp) <= 180\n ? deltaHp\n : h2p <= h1p\n ? deltaHp + 360\n : deltaHp - 360;\n deltaHp = 2 * sqrt(C1p * C2p) * sin(deg2rad(deltaHp) / 2);\n const deltaL = L2 - L1;\n const deltaCp = C2p - C1p;\n const sl = 1 + (0.015 * pow(avgL - 50, 2)) / sqrt(20 + pow(avgL - 50, 2));\n const sc = 1 + 0.045 * avgCp;\n const sh = 1 + 0.015 * avgCp * T;\n const deltaTheta = 30 * exp(-pow((avgHp - 275) / 25, 2));\n const Rc = 2 * sqrt(pow(avgCp, 7) / (pow(avgCp, 7) + pow(25, 7)));\n const Rt = -Rc * sin(2 * deg2rad(deltaTheta));\n const result = sqrt(\n pow(deltaL / (Kl * sl), 2) +\n pow(deltaCp / (Kc * sc), 2) +\n pow(deltaHp / (Kh * sh), 2) +\n Rt * (deltaCp / (Kc * sc)) * (deltaHp / (Kh * sh))\n );\n return max(0, min(100, result));\n}\n","import Color from '../Color.js';\n\n// simple Euclidean distance\nexport default function (a, b, mode = 'lab') {\n // Delta E (CIE 1976)\n // see http://www.brucelindbloom.com/index.html?Equations.html\n a = new Color(a);\n b = new Color(b);\n const l1 = a.get(mode);\n const l2 = b.get(mode);\n let sum_sq = 0;\n for (let i in l1) {\n const d = (l1[i] || 0) - (l2[i] || 0);\n sum_sq += d * d;\n }\n return Math.sqrt(sum_sq);\n}\n","import Color from '../Color.js';\n\nexport default (...args) => {\n try {\n new Color(...args);\n return true;\n // eslint-disable-next-line\n } catch (e) {\n return false;\n }\n};\n","// some pre-defined color scales:\nimport chroma from '../chroma.js';\nimport '../io/hsl/index.js';\nimport scale from '../generator/scale.js';\n\nexport default {\n cool() {\n return scale([chroma.hsl(180, 1, 0.9), chroma.hsl(250, 0.7, 0.4)]);\n },\n hot() {\n return scale(['#000', '#f00', '#ff0', '#fff'], [0, 0.25, 0.75, 1]).mode(\n 'rgb'\n );\n }\n};\n","/**\n ColorBrewer colors for chroma.js\n\n Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The\n Pennsylvania State University.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software distributed\n under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n CONDITIONS OF ANY KIND, either express or implied. See the License for the\n specific language governing permissions and limitations under the License.\n*/\n\nconst colorbrewer = {\n // sequential\n OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n\n // diverging\n Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n\n // qualitative\n Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2']\n};\n\nconst colorbrewerTypes = Object.keys(colorbrewer);\nconst typeMap = new Map(colorbrewerTypes.map((key) => [key.toLowerCase(), key]));\n\n// use Proxy to allow case-insensitive access to palettes\nconst colorbrewerProxy =\n typeof Proxy === 'function'\n ? new Proxy(colorbrewer, {\n get(target, prop) {\n const lower = prop.toLowerCase();\n if (typeMap.has(lower)) {\n return target[typeMap.get(lower)];\n }\n },\n getOwnPropertyNames() {\n return Object.getOwnPropertyNames(colorbrewerTypes);\n }\n })\n : colorbrewer;\n\nexport default colorbrewerProxy;\n","import { unpack } from '../../utils/index.js';\n\nconst cmyk2rgb = (...args) => {\n args = unpack(args, 'cmyk');\n const [c, m, y, k] = args;\n const alpha = args.length > 4 ? args[4] : 1;\n if (k === 1) return [0, 0, 0, alpha];\n return [\n c >= 1 ? 0 : 255 * (1 - c) * (1 - k), // r\n m >= 1 ? 0 : 255 * (1 - m) * (1 - k), // g\n y >= 1 ? 0 : 255 * (1 - y) * (1 - k), // b\n alpha\n ];\n};\n\nexport default cmyk2rgb;\n","import { unpack } from '../../utils/index.js';\nconst { max } = Math;\n\nconst rgb2cmyk = (...args) => {\n let [r, g, b] = unpack(args, 'rgb');\n r = r / 255;\n g = g / 255;\n b = b / 255;\n const k = 1 - max(r, max(g, b));\n const f = k < 1 ? 1 / (1 - k) : 0;\n const c = (1 - r - k) * f;\n const m = (1 - g - k) * f;\n const y = (1 - b - k) * f;\n return [c, m, y, k];\n};\n\nexport default rgb2cmyk;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { unpack, type } from '../../utils/index.js';\nimport cmyk2rgb from './cmyk2rgb.js';\nimport rgb2cmyk from './rgb2cmyk.js';\n\nColor.prototype.cmyk = function () {\n return rgb2cmyk(this._rgb);\n};\n\nconst cmyk = (...args) => new Color(...args, 'cmyk');\nObject.assign(chroma, { cmyk });\n\ninput.format.cmyk = cmyk2rgb;\n\ninput.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, 'cmyk');\n if (type(args) === 'array' && args.length === 4) {\n return 'cmyk';\n }\n }\n});\n\nexport { cmyk };\n","import { unpack, last, rnd2 } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - hsl2css(h,s,l)\n * - hsl2css(h,s,l,a)\n * - hsl2css([h,s,l], mode)\n * - hsl2css([h,s,l,a], mode)\n * - hsl2css({h,s,l,a}, mode)\n */\nconst hsl2css = (...args) => {\n const hsla = unpack(args, 'hsla');\n let mode = last(args) || 'lsa';\n hsla[0] = rnd2(hsla[0] || 0) + 'deg';\n hsla[1] = rnd2(hsla[1] * 100) + '%';\n hsla[2] = rnd2(hsla[2] * 100) + '%';\n if (mode === 'hsla' || (hsla.length > 3 && hsla[3] < 1)) {\n hsla[3] = '/ ' + (hsla.length > 3 ? hsla[3] : 1);\n mode = 'hsla';\n } else {\n hsla.length = 3;\n }\n return `${mode.substr(0, 3)}(${hsla.join(' ')})`;\n};\n\nexport default hsl2css;\n","import { unpack, last, rnd2 } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - lab2css(l,a,b)\n * - lab2css(l,a,b,alpha)\n * - lab2css([l,a,b], mode)\n * - lab2css([l,a,b,alpha], mode)\n */\nconst lab2css = (...args) => {\n const laba = unpack(args, 'lab');\n let mode = last(args) || 'lab';\n laba[0] = rnd2(laba[0]) + '%';\n laba[1] = rnd2(laba[1]);\n laba[2] = rnd2(laba[2]);\n if (mode === 'laba' || (laba.length > 3 && laba[3] < 1)) {\n laba[3] = '/ ' + (laba.length > 3 ? laba[3] : 1);\n } else {\n laba.length = 3;\n }\n return `lab(${laba.join(' ')})`;\n};\n\nexport default lab2css;\n","import { unpack, last, rnd2 } from '../../utils/index.js';\n\n/*\n * supported arguments:\n * - lab2css(l,a,b)\n * - lab2css(l,a,b,alpha)\n * - lab2css([l,a,b], mode)\n * - lab2css([l,a,b,alpha], mode)\n */\nconst lch2css = (...args) => {\n const lcha = unpack(args, 'lch');\n let mode = last(args) || 'lab';\n lcha[0] = rnd2(lcha[0]) + '%';\n lcha[1] = rnd2(lcha[1]);\n lcha[2] = isNaN(lcha[2]) ? 'none' : rnd2(lcha[2]) + 'deg'; // add deg unit to hue\n if (mode === 'lcha' || (lcha.length > 3 && lcha[3] < 1)) {\n lcha[3] = '/ ' + (lcha.length > 3 ? lcha[3] : 1);\n } else {\n lcha.length = 3;\n }\n return `lch(${lcha.join(' ')})`;\n};\n\nexport default lch2css;\n","import { unpack, rnd2, rnd3 } from '../../utils/index.js';\n\nconst oklab2css = (...args) => {\n const laba = unpack(args, 'lab');\n laba[0] = rnd2(laba[0] * 100) + '%';\n laba[1] = rnd3(laba[1]);\n laba[2] = rnd3(laba[2]);\n if (laba.length > 3 && laba[3] < 1) {\n laba[3] = '/ ' + (laba.length > 3 ? laba[3] : 1);\n } else {\n laba.length = 3;\n }\n return `oklab(${laba.join(' ')})`;\n};\n\nexport default oklab2css;\n","import { unpack } from '../../utils/index.js';\nimport rgb2oklab from '../oklab/rgb2oklab.js';\nimport lab2lch from '../lch/lab2lch.js';\n\nconst rgb2oklch = (...args) => {\n const [r, g, b, ...rest] = unpack(args, 'rgb');\n const [l, a, b_] = rgb2oklab(r, g, b);\n const [L, c, h] = lab2lch(l, a, b_);\n return [L, c, h, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nexport default rgb2oklch;\n","import { unpack, rnd2, rnd3 } from '../../utils/index.js';\n\nconst oklch2css = (...args) => {\n const lcha = unpack(args, 'lch');\n lcha[0] = rnd2(lcha[0] * 100) + '%';\n lcha[1] = rnd3(lcha[1]);\n lcha[2] = isNaN(lcha[2]) ? 'none' : rnd2(lcha[2]) + 'deg'; // add deg unit to hue\n if (lcha.length > 3 && lcha[3] < 1) {\n lcha[3] = '/ ' + (lcha.length > 3 ? lcha[3] : 1);\n } else {\n lcha.length = 3;\n }\n return `oklch(${lcha.join(' ')})`;\n};\n\nexport default oklch2css;\n","import { unpack, last } from '../../utils/index.js';\nimport hsl2css from './hsl2css.js';\nimport rgb2hsl from '../hsl/rgb2hsl.js';\nimport lab2css from './lab2css.js';\nimport rgb2lab from '../lab/rgb2lab.js';\nimport lch2css from './lch2css.js';\nimport rgb2lch from '../lch/rgb2lch.js';\nimport rgb2oklab from '../oklab/rgb2oklab.js';\nimport oklab2css from './oklab2css.js';\nimport rgb2oklch from '../oklch/rgb2oklch.js';\nimport oklch2css from './oklch2css.js';\nimport { getLabWhitePoint, setLabWhitePoint } from '../lab/lab-constants.js';\nconst { round } = Math;\n\n/*\n * supported arguments:\n * - rgb2css(r,g,b)\n * - rgb2css(r,g,b,a)\n * - rgb2css([r,g,b], mode)\n * - rgb2css([r,g,b,a], mode)\n * - rgb2css({r,g,b,a}, mode)\n */\nconst rgb2css = (...args) => {\n const rgba = unpack(args, 'rgba');\n let mode = last(args) || 'rgb';\n if (mode.substr(0, 3) === 'hsl') {\n return hsl2css(rgb2hsl(rgba), mode);\n }\n if (mode.substr(0, 3) === 'lab') {\n // change to D50 lab whitepoint since this is what W3C is using for CSS Lab colors\n const prevWhitePoint = getLabWhitePoint();\n setLabWhitePoint('d50');\n const cssColor = lab2css(rgb2lab(rgba), mode);\n setLabWhitePoint(prevWhitePoint);\n return cssColor;\n }\n if (mode.substr(0, 3) === 'lch') {\n // change to D50 lab whitepoint since this is what W3C is using for CSS Lab colors\n const prevWhitePoint = getLabWhitePoint();\n setLabWhitePoint('d50');\n const cssColor = lch2css(rgb2lch(rgba), mode);\n setLabWhitePoint(prevWhitePoint);\n return cssColor;\n }\n if (mode.substr(0, 5) === 'oklab') {\n return oklab2css(rgb2oklab(rgba));\n }\n if (mode.substr(0, 5) === 'oklch') {\n return oklch2css(rgb2oklch(rgba));\n }\n rgba[0] = round(rgba[0]);\n rgba[1] = round(rgba[1]);\n rgba[2] = round(rgba[2]);\n if (mode === 'rgba' || (rgba.length > 3 && rgba[3] < 1)) {\n rgba[3] = '/ ' + (rgba.length > 3 ? rgba[3] : 1);\n mode = 'rgba';\n }\n return `${mode.substr(0, 3)}(${rgba.slice(0, mode === 'rgb' ? 3 : 4).join(' ')})`;\n};\n\nexport default rgb2css;\n","import { unpack } from '../../utils/index.js';\nimport lch2lab from '../lch/lch2lab.js';\nimport oklab2rgb from '../oklab/oklab2rgb.js';\n\nconst oklch2rgb = (...args) => {\n args = unpack(args, 'lch');\n const [l, c, h, ...rest] = args;\n const [L, a, b_] = lch2lab(l, c, h);\n const [r, g, b] = oklab2rgb(L, a, b_);\n return [r, g, b, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nexport default oklch2rgb;\n","import hsl2rgb from '../hsl/hsl2rgb.js';\nimport lab2rgb from '../lab/lab2rgb.js';\nimport lch2rgb from '../lch/lch2rgb.js';\nimport oklab2rgb from '../oklab/oklab2rgb.js';\nimport oklch2rgb from '../oklch/oklch2rgb.js';\nimport input from '../input.js';\nimport limit from '../../utils/limit.js';\nimport { getLabWhitePoint, setLabWhitePoint } from '../lab/lab-constants.js';\n\nconst INT_OR_PCT = /((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)/.source;\nconst FLOAT_OR_PCT = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)/.source;\nconst PCT = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)/.source;\nconst RE_S = /\\s*/.source;\nconst SEP = /\\s+/.source;\nconst COMMA = /\\s*,\\s*/.source;\nconst ANLGE = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)/.source;\nconst ALPHA = /\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?/.source;\n\n// e.g. rgb(250 20 0), rgb(100% 50% 20%), rgb(100% 50% 20% / 0.5)\nconst RE_RGB = new RegExp(\n '^rgba?\\\\(' +\n RE_S +\n [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_RGB_LEGACY = new RegExp(\n '^rgb\\\\(' +\n RE_S +\n [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT].join(COMMA) +\n RE_S +\n '\\\\)$'\n);\nconst RE_RGBA_LEGACY = new RegExp(\n '^rgba\\\\(' +\n RE_S +\n [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT, FLOAT_OR_PCT].join(COMMA) +\n RE_S +\n '\\\\)$'\n);\n\nconst RE_HSL = new RegExp(\n '^hsla?\\\\(' + RE_S + [ANLGE, PCT, PCT].join(SEP) + ALPHA + '\\\\)$'\n);\nconst RE_HSL_LEGACY = new RegExp(\n '^hsl?\\\\(' + RE_S + [ANLGE, PCT, PCT].join(COMMA) + RE_S + '\\\\)$'\n);\nconst RE_HSLA_LEGACY =\n /^hsla\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n\nconst RE_LAB = new RegExp(\n '^lab\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, FLOAT_OR_PCT].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_LCH = new RegExp(\n '^lch\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, ANLGE].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_OKLAB = new RegExp(\n '^oklab\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, FLOAT_OR_PCT].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_OKLCH = new RegExp(\n '^oklch\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, ANLGE].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\n\nconst { round } = Math;\n\nconst roundRGB = (rgb) => {\n return rgb.map((v, i) => (i <= 2 ? limit(round(v), 0, 255) : v));\n};\n\nconst percentToAbsolute = (pct, min = 0, max = 100, signed = false) => {\n if (typeof pct === 'string' && pct.endsWith('%')) {\n pct = parseFloat(pct.substring(0, pct.length - 1)) / 100;\n if (signed) {\n // signed percentages are in the range -100% to 100%\n pct = min + (pct + 1) * 0.5 * (max - min);\n } else {\n pct = min + pct * (max - min);\n }\n }\n return +pct;\n};\n\nconst noneToValue = (v, noneValue) => {\n return v === 'none' ? noneValue : v;\n};\n\nconst css2rgb = (css) => {\n css = css.toLowerCase().trim();\n\n if (css === 'transparent') {\n return [0, 0, 0, 0];\n }\n\n let m;\n\n if (input.format.named) {\n try {\n return input.format.named(css);\n // eslint-disable-next-line\n } catch (e) {}\n }\n\n // rgb(250 20 0) or rgb(250,20,0)\n if ((m = css.match(RE_RGB)) || (m = css.match(RE_RGB_LEGACY))) {\n let rgb = m.slice(1, 4);\n for (let i = 0; i < 3; i++) {\n rgb[i] = +percentToAbsolute(noneToValue(rgb[i], 0), 0, 255);\n }\n rgb = roundRGB(rgb);\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha; // default alpha\n return rgb;\n }\n\n // rgba(250,20,0,0.4)\n if ((m = css.match(RE_RGBA_LEGACY))) {\n const rgb = m.slice(1, 5);\n for (let i = 0; i < 4; i++) {\n rgb[i] = +percentToAbsolute(rgb[i], 0, 255);\n }\n return rgb;\n }\n\n // hsl(0,100%,50%)\n if ((m = css.match(RE_HSL)) || (m = css.match(RE_HSL_LEGACY))) {\n const hsl = m.slice(1, 4);\n hsl[0] = +noneToValue(hsl[0].replace('deg', ''), 0);\n hsl[1] = +percentToAbsolute(noneToValue(hsl[1], 0), 0, 100) * 0.01;\n hsl[2] = +percentToAbsolute(noneToValue(hsl[2], 0), 0, 100) * 0.01;\n const rgb = roundRGB(hsl2rgb(hsl));\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n // hsla(0,100%,50%,0.5)\n if ((m = css.match(RE_HSLA_LEGACY))) {\n const hsl = m.slice(1, 4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n const rgb = hsl2rgb(hsl);\n for (let i = 0; i < 3; i++) {\n rgb[i] = round(rgb[i]);\n }\n rgb[3] = +m[4]; // default alpha = 1\n return rgb;\n }\n\n if ((m = css.match(RE_LAB))) {\n const lab = m.slice(1, 4);\n lab[0] = percentToAbsolute(noneToValue(lab[0], 0), 0, 100);\n lab[1] = percentToAbsolute(noneToValue(lab[1], 0), -125, 125, true);\n lab[2] = percentToAbsolute(noneToValue(lab[2], 0), -125, 125, true);\n // convert to D50 Lab whitepoint\n const wp = getLabWhitePoint();\n setLabWhitePoint('d50');\n const rgb = roundRGB(lab2rgb(lab));\n // convert back to original Lab whitepoint\n setLabWhitePoint(wp);\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n if ((m = css.match(RE_LCH))) {\n const lch = m.slice(1, 4);\n lch[0] = percentToAbsolute(lch[0], 0, 100);\n lch[1] = percentToAbsolute(noneToValue(lch[1], 0), 0, 150, false);\n lch[2] = +noneToValue(lch[2].replace('deg', ''), 0);\n // convert to D50 Lab whitepoint\n const wp = getLabWhitePoint();\n setLabWhitePoint('d50');\n const rgb = roundRGB(lch2rgb(lch));\n // convert back to original Lab whitepoint\n setLabWhitePoint(wp);\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n if ((m = css.match(RE_OKLAB))) {\n const oklab = m.slice(1, 4);\n oklab[0] = percentToAbsolute(noneToValue(oklab[0], 0), 0, 1);\n oklab[1] = percentToAbsolute(noneToValue(oklab[1], 0), -0.4, 0.4, true);\n oklab[2] = percentToAbsolute(noneToValue(oklab[2], 0), -0.4, 0.4, true);\n const rgb = roundRGB(oklab2rgb(oklab));\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n if ((m = css.match(RE_OKLCH))) {\n const oklch = m.slice(1, 4);\n oklch[0] = percentToAbsolute(noneToValue(oklch[0], 0), 0, 1);\n oklch[1] = percentToAbsolute(noneToValue(oklch[1], 0), 0, 0.4, false);\n oklch[2] = +noneToValue(oklch[2].replace('deg', ''), 0);\n const rgb = roundRGB(oklch2rgb(oklch));\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n};\n\ncss2rgb.test = (s) => {\n return (\n // modern\n RE_RGB.test(s) ||\n RE_HSL.test(s) ||\n RE_LAB.test(s) ||\n RE_LCH.test(s) ||\n RE_OKLAB.test(s) ||\n RE_OKLCH.test(s) ||\n // legacy\n RE_RGB_LEGACY.test(s) ||\n RE_RGBA_LEGACY.test(s) ||\n RE_HSL_LEGACY.test(s) ||\n RE_HSLA_LEGACY.test(s) ||\n s === 'transparent'\n );\n};\n\nexport default css2rgb;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport { type } from '../../utils/index.js';\n\nimport rgb2css from './rgb2css.js';\nimport css2rgb from './css2rgb.js';\n\nColor.prototype.css = function (mode) {\n return rgb2css(this._rgb, mode);\n};\n\nconst css = (...args) => new Color(...args, 'css');\nchroma.css = css;\n\ninput.format.css = css2rgb;\n\ninput.autodetect.push({\n p: 5,\n test: (h, ...rest) => {\n if (!rest.length && type(h) === 'string' && css2rgb.test(h)) {\n return 'css';\n }\n }\n});\n\nexport { css };\n","import Color from '../../Color.js';\nimport chroma from '../../chroma.js';\nimport input from '../input.js';\nimport { unpack } from '../../utils/index.js';\n\ninput.format.gl = (...args) => {\n const rgb = unpack(args, 'rgba');\n rgb[0] *= 255;\n rgb[1] *= 255;\n rgb[2] *= 255;\n return rgb;\n};\n\nconst gl = (...args) => new Color(...args, 'gl');\nchroma.gl = gl;\n\nColor.prototype.gl = function () {\n const rgb = this._rgb;\n return [rgb[0] / 255, rgb[1] / 255, rgb[2] / 255, rgb[3]];\n};\n\nexport { gl };\n","import Color from '../../Color.js';\nimport chroma from '../../chroma.js';\nimport { type } from '../../utils/index.js';\nimport input from '../input.js';\nimport hex2rgb from './hex2rgb.js';\nimport rgb2hex from './rgb2hex.js';\n\nColor.prototype.hex = function (mode) {\n return rgb2hex(this._rgb, mode);\n};\n\nconst hex = (...args) => new Color(...args, 'hex');\nchroma.hex = hex;\n\ninput.format.hex = hex2rgb;\ninput.autodetect.push({\n p: 4,\n test: (h, ...rest) => {\n if (\n !rest.length &&\n type(h) === 'string' &&\n [3, 4, 5, 6, 7, 8, 9].indexOf(h.length) >= 0\n ) {\n return 'hex';\n }\n }\n});\n\nexport { hex };\n","/*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n */\n\nconst { log } = Math;\n\nconst temperature2rgb = (kelvin) => {\n const temp = kelvin / 100;\n let r, g, b;\n if (temp < 66) {\n r = 255;\n g =\n temp < 6\n ? 0\n : -155.25485562709179 -\n 0.44596950469579133 * (g = temp - 2) +\n 104.49216199393888 * log(g);\n b =\n temp < 20\n ? 0\n : -254.76935184120902 +\n 0.8274096064007395 * (b = temp - 10) +\n 115.67994401066147 * log(b);\n } else {\n r =\n 351.97690566805693 +\n 0.114206453784165 * (r = temp - 55) -\n 40.25366309332127 * log(r);\n g =\n 325.4494125711974 +\n 0.07943456536662342 * (g = temp - 50) -\n 28.0852963507957 * log(g);\n b = 255;\n }\n return [r, g, b, 1];\n};\n\nexport default temperature2rgb;\n","/*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n **/\n\nimport temperature2rgb from './temperature2rgb.js';\nimport { unpack } from '../../utils/index.js';\nconst { round } = Math;\n\nconst rgb2temperature = (...args) => {\n const rgb = unpack(args, 'rgb');\n const r = rgb[0],\n b = rgb[2];\n let minTemp = 1000;\n let maxTemp = 40000;\n const eps = 0.4;\n let temp;\n while (maxTemp - minTemp > eps) {\n temp = (maxTemp + minTemp) * 0.5;\n const rgb = temperature2rgb(temp);\n if (rgb[2] / rgb[0] >= b / r) {\n maxTemp = temp;\n } else {\n minTemp = temp;\n }\n }\n return round(temp);\n};\n\nexport default rgb2temperature;\n","import chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport temperature2rgb from './temperature2rgb.js';\nimport rgb2temperature from './rgb2temperature.js';\n\nColor.prototype.temp =\n Color.prototype.kelvin =\n Color.prototype.temperature =\n function () {\n return rgb2temperature(this._rgb);\n };\n\nconst temp = (...args) => new Color(...args, 'temp');\nObject.assign(chroma, { temp, kelvin: temp, temperature: temp });\n\ninput.format.temp =\n input.format.kelvin =\n input.format.temperature =\n temperature2rgb;\n\nexport { temp, temp as kelvin, temp as temperature };\n","import { unpack, type } from '../../utils/index.js';\nimport chroma from '../../chroma.js';\nimport Color from '../../Color.js';\nimport input from '../input.js';\nimport oklch2rgb from './oklch2rgb.js';\nimport rgb2oklch from './rgb2oklch.js';\n\nColor.prototype.oklch = function () {\n return rgb2oklch(this._rgb);\n};\n\nconst oklch = (...args) => new Color(...args, 'oklch');\nObject.assign(chroma, { oklch });\n\ninput.format.oklch = oklch2rgb;\n\ninput.autodetect.push({\n p: 2,\n test: (...args) => {\n args = unpack(args, 'oklch');\n if (type(args) === 'array' && args.length === 3) {\n return 'oklch';\n }\n }\n});\n\nexport { oklch };\n","// feel free to comment out anything to rollup\n// a smaller chroma.js bundle\nimport chroma from './src/chroma.js';\n\n// io --> convert colors\nimport './src/io/named/index.js';\n\n// operators --> modify existing Colors\nimport './src/ops/alpha.js';\nimport './src/ops/clipped.js';\nimport './src/ops/darken.js';\nimport './src/ops/get.js';\nimport './src/ops/luminance.js';\nimport './src/ops/mix.js';\nimport './src/ops/premultiply.js';\nimport './src/ops/saturate.js';\nimport './src/ops/set.js';\nimport './src/ops/shade.js';\n\n// interpolators\nimport './src/interpolator/rgb.js';\nimport './src/interpolator/lrgb.js';\nimport './src/interpolator/lab.js';\nimport './src/interpolator/lch.js';\nimport './src/interpolator/num.js';\nimport './src/interpolator/hcg.js';\nimport './src/interpolator/hsi.js';\nimport './src/interpolator/hsl.js';\nimport './src/interpolator/hsv.js';\nimport './src/interpolator/oklab.js';\nimport './src/interpolator/oklch.js';\n\n// generators -- > create new colors\nimport average from './src/generator/average.js';\nimport bezier from './src/generator/bezier.js';\nimport blend from './src/generator/blend.js';\nimport cubehelix from './src/generator/cubehelix.js';\nimport mix from './src/generator/mix.js';\nimport random from './src/generator/random.js';\nimport scale from './src/generator/scale.js';\n\n// other utility methods\nimport { analyze } from './src/utils/analyze.js';\nimport contrast from './src/utils/contrast.js';\nimport contrastAPCA from './src/utils/contrastAPCA.js';\nimport deltaE from './src/utils/delta-e.js';\nimport distance from './src/utils/distance.js';\nimport { limits } from './src/utils/analyze.js';\nimport valid from './src/utils/valid.js';\nimport input from './src/io/input.js';\n\n// scale\nimport scales from './src/utils/scales.js';\n\n// colors\nimport colors from './src/colors/w3cx11.js';\nimport brewer from './src/colors/colorbrewer.js';\nimport Color from './src/Color.js';\n\nObject.assign(chroma, {\n analyze,\n average,\n bezier,\n blend,\n brewer,\n Color,\n colors,\n contrast,\n contrastAPCA,\n cubehelix,\n deltaE,\n distance,\n input,\n interpolate: mix,\n limits,\n mix,\n random,\n scale,\n scales,\n valid\n});\n\nexport default chroma;\n\nexport {\n analyze,\n average,\n bezier,\n blend,\n brewer,\n Color,\n colors,\n contrast,\n contrastAPCA,\n cubehelix,\n deltaE,\n distance,\n input,\n limits,\n mix,\n mix as interpolate,\n random,\n scale,\n scales,\n valid\n};\n\nexport * from './src/io/cmyk/index.js';\nexport * from './src/io/css/index.js';\nexport * from './src/io/gl/index.js';\nexport * from './src/io/hcg/index.js';\nexport * from './src/io/hex/index.js';\nexport * from './src/io/hsi/index.js';\nexport * from './src/io/hsl/index.js';\nexport * from './src/io/hsv/index.js';\nexport * from './src/io/lab/index.js';\nexport * from './src/io/lch/index.js';\nexport * from './src/io/num/index.js';\nexport * from './src/io/rgb/index.js';\nexport * from './src/io/temp/index.js';\nexport * from './src/io/oklab/index.js';\nexport * from './src/io/oklch/index.js';\n","import chroma from 'chroma-js';\n\nimport type { ColorMixFallback, Theme } from '../components/themes/ThemeConfig';\n\n/* eslint-disable lingui/no-unlocalized-strings */\n\nfunction rgba(color: chroma.Color) {\n if (color.alpha() === 1) return `rgb(${color.rgb().join(',')})`;\n return `rgba(${color.rgba().join(',')})`;\n}\n\n/**\n * Takes a theme and dynamically generate the styles that uses color-mix,\n * as a fallback for browsers that do not support color-mix()\n */\nexport function generateColorFallback(theme: Theme): ColorMixFallback {\n // Don't use chroma.colorMix since chroma.js treats transparent as rgba(0, 0, 0, 0)\n // which means our color is mixed with black rather than the original color\n // with alpha 0, which is what browsers so instead\n return {\n // --tab-background: color-mix(in oklab, var(--accent) 80%, transparent);\n 'tab-background': rgba(chroma(theme.accent).alpha(0.8)),\n // --primary-button-hover: color-mix(in oklab, var(--primary) 90%, transparent);\n 'primary-button-hover': rgba(chroma(theme.primary).alpha(0.9)),\n // --secondary-button-hover: color-mix(in oklab, var(--secondary) 80%, transparent);\n 'secondary-button-hover': rgba(chroma(theme.secondary).alpha(0.8)),\n // --destructive-button-hover: color-mix(in oklab, var(--destructive) 80%, transparent);\n 'destructive-button-hover': rgba(chroma(theme.destructive).alpha(0.8)),\n // --divider-color: color-mix(in oklab, var(--border) 50%, transparent);\n 'divider-color': rgba(chroma(theme.border).alpha(0.5)),\n // --focus-ring-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);\n 'focus-ring-shadow': `0 0 0 3px ${rgba(chroma(theme.ring).alpha(0.5))}`,\n };\n}\n\nconst colors = [\n 'background',\n 'foreground',\n 'primary',\n 'primary-foreground',\n 'secondary',\n 'secondary-foreground',\n 'muted',\n 'muted-foreground',\n 'accent',\n 'accent-foreground',\n 'border',\n 'input',\n 'ring',\n 'destructive',\n 'warning',\n 'success',\n] as const satisfies (keyof Theme)[];\n\nexport function addColorFallback(theme: Theme): Theme {\n const updatedTheme = { ...theme, ...generateColorFallback(theme) };\n\n // RGB fallbacks for all Theme colors that use oklch, if the customer's browsers\n // don't support them\n for (const property of colors) {\n if (!chroma.valid(theme[property])) continue;\n updatedTheme[property] = rgba(chroma(theme[property]!));\n }\n\n return updatedTheme;\n}\n","import type { StyleConfig } from '@stytch/core/public';\nimport type { Theme } from '../components/themes/ThemeConfig';\nimport type { PresentationOptions } from '../components/PresentationConfig';\nimport { logger, RUN_IN_DEV } from '@stytch/core';\n\n/* eslint-disable lingui/no-unlocalized-strings */\n\n/**\n * Maps a legacy StyleConfig to the new Theme format.\n *\n * This is a best-effort mapping - some StyleConfig properties don't have\n * direct equivalents in Theme, and some Theme properties don't have\n * StyleConfig equivalents.\n *\n * StyleConfig properties that don't have good mappings to Theme:\n * - inputs.placeholderColor - No equivalent (could potentially map to muted-foreground)\n * - inputs.textColor - Mapped to foreground as approximation, but is input-specific\n * - buttons.primary.borderColor - No specific mapping (could use border but loses specificity)\n * - buttons.primary.borderRadius - Mapped to button-radius but loses primary-specific control\n * - buttons.secondary.borderColor - No specific mapping (could use border but loses specificity)\n * - buttons.secondary.borderRadius - Mapped to button-radius but loses secondary-specific control\n * - buttons.disabled.* - No equivalents (disabled state styling not in Theme)\n *\n * Theme properties that don't have StyleConfig equivalents:\n * - 'transition-duration' - defaulted to 0 instead of 0.15s in our new default theme\n * - 'font-family-mono' - defaults to theme default which is system UI monospace\n * - 'text-base' - defaults to 1rem which is close to the old font sizes\n * - spacing - defaults to new theme default which is close but not equivalent to old spacing\n * - shadow, 'shadow-button', 'shadow-input' - no default in new theme\n * - foreground - Approximated from inputs.textColor but not exact\n * - muted, 'muted-foreground'\n * - 'accent-foreground'\n * - ring - previously defaults to OS default focus outline color\n */\nexport function styleToTheme(\n styleConfig: StyleConfig,\n { silent }: { silent?: boolean } = {},\n): {\n theme: Partial<Theme>;\n options: Partial<PresentationOptions>;\n} {\n const warn = silent\n ? () => {\n // noop\n }\n : logger.warn;\n const error = silent\n ? () => {\n // noop\n }\n : logger.error;\n\n const theme: Partial<Theme> = {};\n const options: Partial<PresentationOptions> = {};\n\n const { colors, container, inputs, hideHeaderText, buttons, logo, fontFamily, ...outerEmpty } = styleConfig;\n\n // presentation.theme mapping\n // ------------------------------------------------\n RUN_IN_DEV(() => {\n warn(\n \"styleToTheme: We recommend setting theme['color-scheme'] to either 'light' or 'dark' explicitly \" +\n 'depending on whether this is a light or dark theme. This enables icons to automatically automatically ' +\n 'apply contrasting colors.',\n );\n\n if (Object.keys(outerEmpty).length > 0) warn('styleToTheme: Unrecognized style properties', outerEmpty);\n });\n\n theme['font-family'] = fontFamily;\n\n if (colors) {\n const { primary, secondary, success, warning, accent, error, ...expectEmpty } = colors;\n RUN_IN_DEV(() => {\n if (Object.keys(expectEmpty).length > 0) warn('styleToTheme: Unrecognized style.colors properties', expectEmpty);\n });\n\n Object.assign(theme, {\n primary,\n secondary,\n success,\n warning,\n accent,\n destructive: error,\n } satisfies Partial<Theme>);\n }\n\n if (container) {\n const { backgroundColor, borderColor, width, borderRadius, ...expectEmpty } = container;\n\n RUN_IN_DEV(() => {\n if (Object.keys(expectEmpty).length > 0)\n warn('styleToTheme: Unrecognized style.container properties', expectEmpty);\n });\n\n Object.assign(theme, {\n background: backgroundColor,\n border: borderColor,\n 'container-width': width,\n // 1/4 because the new base is quite small and most components use a 2x or 4x multiplier\n 'rounded-base': updateLength(borderRadius, 0.25),\n } satisfies Partial<Theme>);\n }\n\n if (buttons) {\n const { primary, secondary, disabled, ...expectEmpty } = buttons;\n\n RUN_IN_DEV(() => {\n if (Object.keys(expectEmpty).length > 0) warn('styleToTheme: Unrecognized style.buttons properties', expectEmpty);\n\n if (disabled && Object.keys(disabled).length > 0)\n warn('styleToTheme: buttons.disabled is no longer supported', { disabled });\n\n if (primary?.borderColor && primary?.backgroundColor && primary.borderColor !== primary.backgroundColor)\n error(\n \"styleToTheme: primary button's border color is now always equal to background color; \" +\n 'having distinct colors is no longer supported',\n {\n borderColor: primary.borderColor,\n backgroundColor: primary.backgroundColor,\n },\n );\n\n if (secondary?.borderColor && secondary.textColor && secondary.borderColor !== secondary.textColor)\n error(\"styleToTheme: secondary button's border color is now always equal to text color\", {\n borderColor: secondary.borderColor,\n textColor: secondary.textColor,\n });\n\n if (primary?.borderRadius !== secondary?.borderRadius)\n error('styleToTheme: All buttons must use the same border-radius', {\n primaryRadius: primary?.borderRadius,\n secondaryRadius: secondary?.borderRadius,\n });\n });\n\n // Set background and text colors\n Object.assign(theme, {\n primary: primary?.backgroundColor,\n 'primary-foreground': primary?.textColor,\n\n secondary: secondary?.backgroundColor,\n 'secondary-foreground': secondary?.textColor,\n } satisfies Partial<Theme>);\n\n // Set border radius\n if (primary?.borderRadius || secondary?.borderRadius) {\n // Conflicts between primary and secondary border radius is handled above\n const baseRadius = updateLength(primary?.borderRadius, 0.5) ?? updateLength(secondary?.borderRadius, 0.5);\n\n if (theme['rounded-base']) {\n if (theme['rounded-base'] !== baseRadius) {\n theme['button-radius'] = primary?.borderRadius;\n }\n } else {\n theme['rounded-base'] = baseRadius;\n }\n }\n }\n\n if (inputs) {\n const { backgroundColor, textColor, placeholderColor, borderColor, borderRadius, ...expectEmpty } = inputs;\n RUN_IN_DEV(() => {\n if (Object.keys(expectEmpty).length > 0) warn('styleToTheme: Unrecognized style.buttons properties', expectEmpty);\n\n if (backgroundColor && theme.background && theme.background !== backgroundColor)\n error('styleToTheme: Input now always use the container background', {\n inputBackground: backgroundColor,\n containerBackground: theme.background,\n });\n });\n\n Object.assign(theme, {\n foreground: textColor,\n input: borderColor,\n 'muted-foreground': placeholderColor,\n } satisfies Partial<Theme>);\n\n // Set border radius\n if (theme['rounded-base']) {\n if (theme['rounded-base'] !== borderRadius) {\n theme['input-radius'] = borderRadius;\n }\n } else {\n theme['rounded-base'] = borderRadius;\n }\n }\n\n // presentation.options mapping\n // ------------------------------------------------\n\n options.hideHeaderText = hideHeaderText;\n if (logo?.logoImageUrl) {\n options.logo = {\n url: logo.logoImageUrl,\n alt: '',\n };\n\n RUN_IN_DEV(() => {\n logger.warn('styleToTheme: Please set options.logo.alt for the logo alt text for accessibility');\n });\n }\n\n return { theme: removeEmptyValues(theme), options: removeEmptyValues(options) };\n}\n\nfunction removeEmptyValues<T extends Record<string, unknown>>(obj: T): T {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value != null && value !== '')) as T;\n}\n\nfunction updateLength(length: string | undefined, factor: number): string | undefined {\n if (!length) return length;\n\n // Loose check that this is a numeric and not keyword value\n const value = parseFloat(length);\n if (Number.isNaN(value)) return length;\n\n return `calc(${length} * ${factor})`;\n}\n"],"names":["min","max","PI","_input","round","LAB_CONSTANTS","lab","pow","interpolator","sin","cos","sqrt","atan2","lch","rgb","num","floor","hcg","hsi","rgb2hsl","hsl","rgb2hsv","hsv","oklab","oklch","log","abs","bezier","brewer","colors","random","rgba","color","alpha","join","generateColorFallback","theme","chroma","accent","primary","secondary","destructive","border","ring","addColorFallback","updatedTheme","property","valid","styleToTheme","styleConfig","silent","options","container","inputs","hideHeaderText","buttons","logo","fontFamily","outerEmpty","success","warning","error","expectEmpty","Object","assign","backgroundColor","borderColor","width","borderRadius","background","updateLength","disabled","textColor","baseRadius","placeholderColor","foreground","input","logoImageUrl","url","alt","removeEmptyValues","obj","fromEntries","entries","filter","value","length","factor","parseFloat","Number","isNaN"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]}
|