@stytch/react 20.0.0-next.0 → 20.0.0-next.2
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-CUOvjF03.js → StytchSSRProxy-Bz6LNYdq.js} +186 -1
- package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -0
- package/dist/cjs/adminPortal/index.cjs +102 -26
- package/dist/cjs/adminPortal/index.cjs.map +1 -1
- package/dist/cjs/b2b/index.cjs +176 -138
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/b2b/index.headless.cjs +24 -24
- package/dist/cjs/b2b/index.headless.cjs.map +1 -1
- package/dist/cjs/compat.cjs +3645 -0
- package/dist/cjs/compat.cjs.map +1 -0
- package/dist/cjs/{idpHelpers-eUP8j58U.js → idpHelpers-Bj_7pbfW.js} +7 -191
- package/dist/cjs/idpHelpers-Bj_7pbfW.js.map +1 -0
- package/dist/cjs/{index-DfiRrtK8.js → index-Ni_dyEsz.js} +3 -3
- package/dist/cjs/{index-DfiRrtK8.js.map → index-Ni_dyEsz.js.map} +1 -1
- package/dist/cjs/index.cjs +220 -198
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.headless.cjs +32 -32
- package/dist/cjs/index.headless.cjs.map +1 -1
- package/dist/cjs/{passwordManagerDisableAutofillProps-C0akDAKd.js → passwordManagerDisableAutofillProps-DV31RTL_.js} +2 -2
- package/dist/cjs/{passwordManagerDisableAutofillProps-C0akDAKd.js.map → passwordManagerDisableAutofillProps-DV31RTL_.js.map} +1 -1
- package/dist/cjs/{shadcn-Bbv2Hk3P.js → shadcn-B8TEzQMT.js} +99 -81
- package/dist/cjs/shadcn-B8TEzQMT.js.map +1 -0
- package/dist/cjs-dev/{StytchSSRProxy-D0B5PuT0.js → StytchSSRProxy-CxXsyme4.js} +186 -1
- package/dist/cjs-dev/StytchSSRProxy-CxXsyme4.js.map +1 -0
- package/dist/cjs-dev/adminPortal/index.cjs +102 -26
- package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.cjs +180 -141
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.headless.cjs +29 -28
- package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/compat.cjs +3693 -0
- package/dist/cjs-dev/compat.cjs.map +1 -0
- package/dist/cjs-dev/{idpHelpers-DOOVv6dT.js → idpHelpers-BVMUYvt1.js} +22 -230
- package/dist/cjs-dev/idpHelpers-BVMUYvt1.js.map +1 -0
- package/dist/cjs-dev/{index-paeFcHjf.js → index-DdK3Jt4u.js} +3 -3
- package/dist/cjs-dev/{index-paeFcHjf.js.map → index-DdK3Jt4u.js.map} +1 -1
- package/dist/cjs-dev/index.cjs +225 -202
- package/dist/cjs-dev/index.cjs.map +1 -1
- package/dist/cjs-dev/index.headless.cjs +38 -37
- 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-CnLBAXyr.js → passwordManagerDisableAutofillProps-D70WyvIu.js} +2 -2
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-CnLBAXyr.js.map → passwordManagerDisableAutofillProps-D70WyvIu.js.map} +1 -1
- package/dist/cjs-dev/{shadcn-CdbmlhdF.js → shadcn-C9ClUju1.js} +103 -84
- package/dist/cjs-dev/shadcn-C9ClUju1.js.map +1 -0
- package/dist/esm/_virtual/index.mjs +4 -4
- package/dist/esm/_virtual/index3.mjs +3 -5
- package/dist/esm/_virtual/index3.mjs.map +1 -1
- package/dist/esm/_virtual/index4.mjs +5 -3
- package/dist/esm/_virtual/index4.mjs.map +1 -1
- package/dist/esm/_virtual/index6.mjs +2 -2
- package/dist/esm/_virtual/index7.mjs +2 -2
- package/dist/esm/adminPortal/index.mjs +4 -1
- package/dist/esm/adminPortal/index.mjs.map +1 -1
- package/dist/esm/b2b/index.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/node_modules/lodash.merge/index.mjs +1 -1
- package/dist/esm/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/esm/packages/core/src/rpc/FrameClient.mjs +1 -0
- package/dist/esm/packages/core/src/rpc/FrameClient.mjs.map +1 -1
- package/dist/esm/packages/web/messages/b2b/en.json.mjs +10 -3
- package/dist/esm/packages/web/messages/b2b/en.json.mjs.map +1 -1
- package/dist/esm/packages/web/messages/en.json.mjs +10 -3
- package/dist/esm/packages/web/messages/en.json.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/AccessSection.mjs +6 -3
- package/dist/esm/packages/web/src/adminPortal/memberManagement/AccessSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/InviteModal.mjs +4 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/InviteModal.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs +3 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs +6 -2
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs +7 -3
- package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs +5 -1
- package/dist/esm/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRbac.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs +3 -3
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRoles.mjs +7 -2
- package/dist/esm/packages/web/src/adminPortal/utils/useRoles.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/OrganizationRow.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs +27 -3
- package/dist/esm/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs +2 -0
- package/dist/esm/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs +2 -0
- package/dist/esm/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/utils.mjs +8 -1
- package/dist/esm/packages/web/src/ui/b2b/utils.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Main/LoginForm/index.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs +10 -4
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs +2 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs +11 -70
- 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 +81 -0
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs.map +1 -0
- 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 +117 -0
- package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -0
- package/dist/esm/packages/web/src/ui/components/atoms/AnimatedContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Button.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/CircularProgress.mjs +4 -5
- package/dist/esm/packages/web/src/ui/components/atoms/CircularProgress.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/CodeContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Column.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Typography.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/VerticalTransition.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/VisuallyHidden.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs +14 -23
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/molecules/Badge.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/ErrorText.mjs +12 -4
- package/dist/esm/packages/web/src/ui/components/molecules/ErrorText.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs +3 -2
- package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.mjs +6 -6
- package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/molecules/OtpInput.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/PasswordStrengthCheck.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/PhoneInput.mjs +3 -4
- package/dist/esm/packages/web/src/ui/components/molecules/PhoneInput.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs +26 -3
- package/dist/esm/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/IDPConsentManifest.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/OneTapError.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/ResendOTPButton.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/organisms/ResendOTPButton.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs +0 -42
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs +0 -40
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs +0 -43
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs +0 -36
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/bindings/createB2BComponent.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/crypto.mjs +1 -1
- package/dist/esm-dev/_virtual/index.mjs +4 -4
- package/dist/esm-dev/_virtual/index3.mjs +4 -4
- package/dist/esm-dev/_virtual/index6.mjs +2 -2
- package/dist/esm-dev/_virtual/index7.mjs +2 -2
- package/dist/esm-dev/adminPortal/index.mjs +4 -1
- package/dist/esm-dev/adminPortal/index.mjs.map +1 -1
- package/dist/esm-dev/b2b/index.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/node_modules/lodash.merge/index.mjs +1 -1
- package/dist/esm-dev/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/esm-dev/packages/core/src/rpc/FrameClient.mjs +1 -0
- package/dist/esm-dev/packages/core/src/rpc/FrameClient.mjs.map +1 -1
- package/dist/esm-dev/packages/web/messages/b2b/en.json.mjs +10 -3
- package/dist/esm-dev/packages/web/messages/b2b/en.json.mjs.map +1 -1
- package/dist/esm-dev/packages/web/messages/en.json.mjs +10 -3
- package/dist/esm-dev/packages/web/messages/en.json.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AccessSection.mjs +6 -3
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AccessSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/InviteModal.mjs +4 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/InviteModal.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs +3 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs +6 -2
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs +7 -3
- package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs +5 -1
- package/dist/esm-dev/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRbac.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs +3 -3
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoles.mjs +7 -2
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoles.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/OrganizationRow.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs +27 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs +2 -0
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs +2 -0
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/utils.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/utils.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/index.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs +10 -4
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs +2 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs +11 -70
- 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 +81 -0
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs.map +1 -0
- 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 +165 -0
- package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -0
- package/dist/esm-dev/packages/web/src/ui/components/atoms/AnimatedContainer.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CircularProgress.mjs +4 -5
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CircularProgress.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CodeContainer.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Column.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/VerticalTransition.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/VisuallyHidden.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs +14 -23
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Badge.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/ErrorText.mjs +12 -4
- package/dist/esm-dev/packages/web/src/ui/components/molecules/ErrorText.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs +3 -2
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.mjs +6 -6
- package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/molecules/OtpInput.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PasswordStrengthCheck.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PhoneInput.mjs +3 -4
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PhoneInput.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs +26 -3
- package/dist/esm-dev/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/organisms/IDPConsentManifest.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/organisms/ResendOTPButton.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/organisms/ResendOTPButton.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs +0 -42
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs +0 -40
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs +0 -43
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs +0 -36
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs.map +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/bindings/createB2BComponent.mjs.map +1 -1
- package/dist/types/PresentationConfig-Bqzf8zr3.d.ts +168 -0
- package/dist/types/{StytchB2BClient-Dq-ITB7Q.d.ts → StytchB2BClient-CsY7ZNKh.d.ts} +2 -1
- package/dist/types/{StytchClient-BV0sT3Ox.d.ts → StytchClient-DZRM_fM4.d.ts} +2 -2
- package/dist/types/adminPortal/index.d.ts +7 -4
- package/dist/types/b2b/index.d.ts +14 -11
- package/dist/types/b2b/index.headless.d.ts +5 -4
- package/dist/types/compat.d.ts +46 -0
- package/dist/types/createAuthUrlHandler-BZoD2LDF.d.ts +2406 -0
- package/dist/types/idpHelpers-CD5sSDzA.d.ts +36 -0
- package/dist/types/index.d.ts +11 -8
- package/dist/types/index.headless.d.ts +5 -4
- package/dist/types/{shadcn-CFz8Asq0.d.ts → shadcn-4-5byj93.d.ts} +9 -171
- package/dist/types/{createAuthUrlHandler-Ck5TyB9J.d.ts → ui-DXrQ-gA8.d.ts} +41 -1543
- package/messages/b2b/en.po +6 -3
- package/messages/en.po +6 -3
- package/package.json +1 -1
- package/dist/cjs/StytchSSRProxy-CUOvjF03.js.map +0 -1
- package/dist/cjs/idpHelpers-eUP8j58U.js.map +0 -1
- package/dist/cjs/shadcn-Bbv2Hk3P.js.map +0 -1
- package/dist/cjs-dev/StytchSSRProxy-D0B5PuT0.js.map +0 -1
- package/dist/cjs-dev/idpHelpers-DOOVv6dT.js.map +0 -1
- package/dist/cjs-dev/shadcn-CdbmlhdF.js.map +0 -1
- package/dist/esm/packages/web/src/adminPortal/MuiClassNameSetup.mjs +0 -5
- package/dist/esm/packages/web/src/adminPortal/MuiClassNameSetup.mjs.map +0 -1
- package/dist/esm/packages/web/src/adminPortal/classNameSeed.mjs +0 -5
- package/dist/esm/packages/web/src/adminPortal/classNameSeed.mjs.map +0 -1
- package/dist/esm-dev/packages/web/src/adminPortal/MuiClassNameSetup.mjs +0 -5
- package/dist/esm-dev/packages/web/src/adminPortal/MuiClassNameSetup.mjs.map +0 -1
- package/dist/esm-dev/packages/web/src/adminPortal/classNameSeed.mjs +0 -5
- package/dist/esm-dev/packages/web/src/adminPortal/classNameSeed.mjs.map +0 -1
- package/dist/types/idpHelpers-hBhPCtAC.d.ts +0 -936
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.headless.cjs","sources":["../../../core/src/HeadlessClients/HeadlessUserClient.ts","../../../core/src/HeadlessClients/HeadlessSessionClient.ts","../../../core/src/HeadlessClients/HeadlessOTPClient.ts","../../../core/src/HeadlessClients/HeadlessOAuthClient.ts","../../../core/src/HeadlessClients/HeadlessTOTPClient.ts","../../../../node_modules/@github/webauthn-json/dist/esm/webauthn-json.js","../../../core/src/HeadlessClients/HeadlessWebAuthnClient.ts","../../../core/src/HeadlessClients/HeadlessImpersonationClient.ts","../../../core/src/HeadlessClients/HeadlessRBACClient.ts","../../../core/src/HeadlessClients/HeadlessIDPClient.ts","../../../web/src/HeadlessOAuthClient.ts","../../../web/src/StytchClient.ts","../../../web/src/index.headless.ts"],"sourcesContent":["import {\n IHeadlessUserClient,\n User,\n ResponseCommon,\n UpdateResponse,\n UserUpdateOptions,\n UserUpdateResponse,\n UserOnChangeCallback,\n ConsumerState,\n UserInfo,\n StytchProjectConfigurationInput,\n UserGetConnectedAppsResponse,\n UnsubscribeFunction,\n} from '../public';\nimport { INetworkClient } from '../NetworkClient';\nimport { IConsumerSubscriptionService } from '../SubscriptionService';\nimport { omitUser, removeResponseCommon, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessUserClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessUserClient\n{\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n ) {}\n\n get = async (): Promise<User> => {\n const resp = await this._networkClient.fetchSDK<User & ResponseCommon>({\n url: '/users/me',\n method: 'GET',\n });\n const user = removeResponseCommon(resp);\n this._subscriptionService.updateUser(user);\n return user;\n };\n\n getSync = (): User | null => {\n return this._subscriptionService.getUser();\n };\n\n getInfo = (): UserInfo => ({\n user: this.getSync(),\n fromCache: this._subscriptionService.getFromCache(),\n });\n\n update = async (options: UserUpdateOptions) => {\n validateInDev('stytch.user.update', options, {\n untrusted_metadata: 'optionalObject',\n });\n const resp = await this._networkClient.fetchSDK<WithUser<UserUpdateResponse>>({\n url: '/users/me',\n body: options,\n method: 'PUT',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteEmail = async (emailId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/emails/${emailId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deletePhoneNumber = async (phoneId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/phone_numbers/${phoneId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteTOTP = async (totpId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/totps/${totpId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteCryptoWallet = async (cryptoWalletId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/crypto_wallets/${cryptoWalletId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteOAuthRegistration = async (oauthUserRegistrationId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/oauth/${oauthUserRegistrationId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteWebauthnRegistration = async (webAuthnId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/webauthn_registrations/${webAuthnId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteBiometricRegistration = async (biometricRegistrationId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/biometric_registrations/${biometricRegistrationId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n onChange = (callback: UserOnChangeCallback): UnsubscribeFunction => {\n let lastVal = this._subscriptionService.getUser();\n const listener = (state: ConsumerState | null) => {\n if (state?.user !== lastVal) {\n lastVal = state?.user ?? null;\n callback(lastVal);\n }\n };\n return this._subscriptionService.subscribeToState(listener);\n };\n\n getConnectedApps = async () => {\n return await this._networkClient.fetchSDK<UserGetConnectedAppsResponse>({\n url: '/users/connected_apps',\n method: 'GET',\n });\n };\n\n revokedConnectedApp = async (connectedAppId: string) => {\n return await this._networkClient.fetchSDK<ResponseCommon>({\n url: `/users/connected_apps/${connectedAppId}/revoke`,\n method: 'POST',\n });\n };\n}\n","import {\n IHeadlessSessionClient,\n SessionOnChangeCallback,\n SessionRevokeResponse,\n SessionAuthenticateOptions,\n SessionAuthenticateResponse,\n SessionAccessTokenExchangeOptions,\n SessionAccessTokenExchangeResponse,\n SessionTokens,\n UNRECOVERABLE_ERROR_TYPES,\n SessionRevokeOptions,\n ConsumerState,\n SessionTokensUpdate,\n SessionInfo,\n StytchProjectConfigurationInput,\n SessionAttestOptions,\n SessionAttestResponse,\n} from '../public';\nimport { IConsumerSubscriptionService, INetworkClient } from '..';\nimport { ExtractOpaqueTokens, IfOpaqueTokens } from '../typeConfig';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessSessionClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessSessionClient<TProjectConfiguration>\n{\n authenticate: (options?: SessionAuthenticateOptions) => Promise<SessionAuthenticateResponse<TProjectConfiguration>>;\n\n exchangeAccessToken: (\n data: SessionAccessTokenExchangeOptions,\n ) => Promise<SessionAccessTokenExchangeResponse<TProjectConfiguration>>;\n\n attest: (data: SessionAttestOptions) => Promise<SessionAttestResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(this._authenticate);\n\n this.exchangeAccessToken = this._subscriptionService.withUpdateSession(\n async (data: SessionAccessTokenExchangeOptions) => {\n validateInDev('stytch.session.exchangeAccessToken', data, {\n access_token: 'string',\n session_duration_minutes: 'number',\n });\n const resp = await this._networkClient.fetchSDK<\n WithUser<SessionAccessTokenExchangeResponse<TProjectConfiguration>>\n >({\n url: '/sessions/exchange_access_token',\n body: data,\n method: 'POST',\n });\n\n return omitUser(resp);\n },\n );\n\n this.attest = this._subscriptionService.withUpdateSession(async (data: SessionAttestOptions) => {\n validateInDev('stytch.session.attest', data, {\n profile_id: 'string',\n token: 'string',\n session_duration_minutes: 'optionalNumber',\n });\n\n return this._networkClient.fetchSDK<SessionAttestResponse<TProjectConfiguration>>({\n url: '/sessions/attest',\n body: data,\n method: 'POST',\n });\n });\n }\n\n getSync = () => {\n return this._subscriptionService.getSession();\n };\n\n getInfo = (): SessionInfo => {\n const session = this.getSync();\n const fromCache = this._subscriptionService.getFromCache();\n return { session, fromCache };\n };\n\n onChange = (callback: SessionOnChangeCallback) => {\n let lastVal = this._subscriptionService.getSession();\n const listener = (state: ConsumerState | null) => {\n if (state?.session !== lastVal) {\n lastVal = state?.session ?? null;\n callback(lastVal);\n }\n };\n return this._subscriptionService.subscribeToState(listener);\n };\n\n revoke = async (options?: SessionRevokeOptions) => {\n /**\n * Revoke destroys the local state if the API request is successful\n * or if we return an unrecoverable error (user is unauthenticated)\n * or if the developer passses in a forceClear option.\n * If the API request returns a recoverable error (the user is offline),\n * we do not destroy the local state to let the developer manually add retry\n * logic to call revoke again.\n */\n\n try {\n const resp = await this._networkClient.fetchSDK<SessionRevokeResponse>({\n url: `/sessions/revoke`,\n method: 'POST',\n });\n\n this._subscriptionService.destroyState();\n\n return resp;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n if (options?.forceClear) {\n this._subscriptionService.destroyState();\n } else if (UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {\n this._subscriptionService.destroyState();\n }\n throw error;\n }\n };\n\n private _authenticate = async (\n options?: SessionAuthenticateOptions,\n ): Promise<SessionAuthenticateResponse<TProjectConfiguration>> => {\n const initialSession = this._subscriptionService.getSession();\n const isSessionStale = () => initialSession?.session_id !== this._subscriptionService.getSession()?.session_id;\n\n try {\n const requestBody = {\n session_duration_minutes: options?.session_duration_minutes,\n };\n const resp = await this._networkClient.fetchSDK<WithUser<SessionAuthenticateResponse<TProjectConfiguration>>>({\n url: '/sessions/authenticate',\n body: requestBody,\n method: 'POST',\n });\n\n if (isSessionStale()) {\n // [SDK-1336] The session was updated out from under us while the\n // request was in flight; discard the response and retry\n return this._authenticate(options);\n }\n\n return omitUser(resp);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n if (isSessionStale()) {\n // [SDK-1336] The session was updated out from under us while the\n // request was in flight; discard the response and retry\n return this._authenticate(options);\n }\n\n if (UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {\n this._subscriptionService.destroySession();\n }\n throw error;\n }\n };\n\n getTokens() {\n return this._subscriptionService.getTokens() as IfOpaqueTokens<\n ExtractOpaqueTokens<TProjectConfiguration>,\n never,\n SessionTokens | null\n >;\n }\n\n updateSession(tokens: SessionTokensUpdate): void {\n validateInDev('stytch.session.updateSession', tokens, {\n session_token: 'string',\n session_jwt: 'optionalString',\n });\n this._subscriptionService.updateTokens(tokens);\n }\n}\n","import { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport {\n IHeadlessOTPsClient,\n OTPAuthenticateOptions,\n OTPCodeEmailOptions,\n OTPCodeOptions,\n OTPCodeSMSOptions,\n OTPsAuthenticateResponse,\n OTPsLoginOrCreateResponse,\n OTPsSendResponse,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { WithUser, omitUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessOTPClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessOTPsClient<TProjectConfiguration>\n{\n authenticate: (\n code: string,\n method_id: string,\n options: OTPAuthenticateOptions,\n ) => Promise<OTPsAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private executeRecaptcha: () => Promise<string | undefined> = () => Promise.resolve(undefined),\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (code: string, method_id: string, options: OTPAuthenticateOptions) => {\n validateInDev(\n 'stytch.otps.authenticate',\n { code, ...options },\n {\n code: 'string',\n session_duration_minutes: 'number',\n },\n );\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const requestBody = {\n token: code,\n method_id,\n dfp_telemetry_id,\n captcha_token,\n ...options,\n };\n const resp = await this._networkClient.retriableFetchSDK<\n WithUser<OTPsAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/otps/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n }\n\n sms = {\n loginOrCreate: async (phone_number: string, options: OTPCodeSMSOptions): Promise<OTPsLoginOrCreateResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, captcha_token, dfp_telemetry_id };\n return this._networkClient.retriableFetchSDK<OTPsLoginOrCreateResponse>({\n url: '/otps/sms/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n send: async (phone_number: string, options: OTPCodeSMSOptions): Promise<OTPsSendResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, captcha_token, dfp_telemetry_id };\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/otps/sms/send/secondary' : '/otps/sms/send/primary';\n\n return this._networkClient.retriableFetchSDK<OTPsSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n };\n\n whatsapp = {\n loginOrCreate: async (phone_number: string, options: OTPCodeOptions): Promise<OTPsLoginOrCreateResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, dfp_telemetry_id, captcha_token };\n return this._networkClient.retriableFetchSDK<OTPsLoginOrCreateResponse>({\n url: '/otps/whatsapp/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n send: async (phone_number: string, options: OTPCodeOptions): Promise<OTPsSendResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, captcha_token, dfp_telemetry_id };\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/otps/whatsapp/send/secondary' : '/otps/whatsapp/send/primary';\n\n return this._networkClient.retriableFetchSDK<OTPsSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n };\n\n email = {\n loginOrCreate: async (email: string, options: OTPCodeEmailOptions): Promise<OTPsLoginOrCreateResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, email, captcha_token, dfp_telemetry_id };\n return this._networkClient.retriableFetchSDK<OTPsLoginOrCreateResponse>({\n url: '/otps/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n send: async (email: string, options: OTPCodeEmailOptions): Promise<OTPsSendResponse> => {\n const captcha_token = await this.executeRecaptcha();\n const requestBody = { ...options, email, captcha_token };\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/otps/email/send/secondary' : '/otps/email/send/primary';\n\n return this._networkClient.fetchSDK<OTPsSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n });\n },\n };\n}\n","import {\n IHeadlessOAuthClient,\n OAuthAttachResponse,\n OAuthAuthenticateOptions,\n OAuthAuthenticateResponse,\n OAuthGetURLOptions,\n OAuthProviders,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { INetworkClient, IPKCEManager, IConsumerSubscriptionService } from '..';\nimport { WithUser, omitUser, logger, isTestPublicToken } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\ntype DynamicConfig = Promise<{\n cnameDomain: null | string;\n pkceRequiredForOAuth: boolean;\n}>;\ntype Config = {\n publicToken: string;\n testAPIURL: string;\n liveAPIURL: string;\n};\n\nexport class HeadlessOAuthClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessOAuthClient<TProjectConfiguration>\n{\n authenticate: (\n token: string,\n options: OAuthAuthenticateOptions,\n ) => Promise<OAuthAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private _pkceManager: IPKCEManager,\n private _dynamicConfig: DynamicConfig,\n private _config: Config,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (token: string, options: OAuthAuthenticateOptions) => {\n validateInDev(\n 'stytch.oauth.authenticate',\n { token, ...options },\n {\n token: 'string',\n session_duration_minutes: 'number',\n },\n );\n\n const keyPair = await this._pkceManager.getPKPair();\n\n if (!keyPair) {\n logger.warn(\n 'No code verifier found in local storage for OAuth flow.\\n' +\n 'Consider using stytch.oauth.$provider.start() to add PKCE to your OAuth flows for added security.\\n' +\n 'See https://stytch.com/docs/oauth#guides_pkce for more information.',\n );\n }\n\n const resp = await this._networkClient.fetchSDK<WithUser<OAuthAuthenticateResponse<TProjectConfiguration>>>({\n url: '/oauth/authenticate',\n method: 'POST',\n body: {\n token,\n code_verifier: keyPair?.code_verifier,\n ...options,\n },\n });\n\n this._pkceManager.clearPKPair();\n\n return omitUser(resp);\n },\n );\n }\n\n google = {\n start: this.startOAuthFlow(OAuthProviders.Google),\n };\n\n apple = {\n start: this.startOAuthFlow(OAuthProviders.Apple),\n };\n\n microsoft = {\n start: this.startOAuthFlow(OAuthProviders.Microsoft),\n };\n\n github = {\n start: this.startOAuthFlow(OAuthProviders.Github),\n };\n\n gitlab = {\n start: this.startOAuthFlow(OAuthProviders.GitLab),\n };\n\n facebook = {\n start: this.startOAuthFlow(OAuthProviders.Facebook),\n };\n\n discord = {\n start: this.startOAuthFlow(OAuthProviders.Discord),\n };\n\n salesforce = {\n start: this.startOAuthFlow(OAuthProviders.Salesforce),\n };\n\n slack = {\n start: this.startOAuthFlow(OAuthProviders.Slack),\n };\n\n amazon = {\n start: this.startOAuthFlow(OAuthProviders.Amazon),\n };\n\n bitbucket = {\n start: this.startOAuthFlow(OAuthProviders.Bitbucket),\n };\n\n linkedin = {\n start: this.startOAuthFlow(OAuthProviders.LinkedIn),\n };\n\n coinbase = {\n start: this.startOAuthFlow(OAuthProviders.Coinbase),\n };\n\n twitch = {\n start: this.startOAuthFlow(OAuthProviders.Twitch),\n };\n\n twitter = {\n start: this.startOAuthFlow(OAuthProviders.Twitter),\n };\n\n tiktok = {\n start: this.startOAuthFlow(OAuthProviders.TikTok),\n };\n\n snapchat = {\n start: this.startOAuthFlow(OAuthProviders.Snapchat),\n };\n\n figma = {\n start: this.startOAuthFlow(OAuthProviders.Figma),\n };\n\n yahoo = {\n start: this.startOAuthFlow(OAuthProviders.Yahoo),\n };\n\n async attach(provider: string): Promise<OAuthAttachResponse> {\n validateInDev('stytch.oauth.attach', { provider }, { provider: 'string' });\n return await this._networkClient.fetchSDK<OAuthAttachResponse>({\n url: '/oauth/attach',\n method: 'POST',\n body: { provider },\n });\n }\n\n private async getBaseApiUrl() {\n const { cnameDomain } = await this._dynamicConfig;\n if (cnameDomain) {\n // The API returns cname domains without a protocol - assume HTTPS\n return `https://${cnameDomain}`;\n }\n // Our TestAPIURL and LiveAPIURL should have the HTTPS protocol already attached\n // Don't add it twice!\n if (isTestPublicToken(this._config.publicToken)) {\n return this._config.testAPIURL;\n }\n return this._config.liveAPIURL;\n }\n\n private startOAuthFlow(providerType: OAuthProviders) {\n return async ({\n login_redirect_url,\n signup_redirect_url,\n custom_scopes,\n provider_params,\n oauth_attach_token,\n }: OAuthGetURLOptions = {}): Promise<void> => {\n const { cnameDomain, pkceRequiredForOAuth } = await this._dynamicConfig;\n const baseURL = await this.getBaseApiUrl();\n\n this._networkClient.logEvent({\n name: 'start_oauth_flow',\n details: {\n provider_type: providerType,\n custom_scopes,\n cname_domain: cnameDomain,\n pkce: pkceRequiredForOAuth,\n provider_params,\n },\n });\n\n const oauthUrl = new URL(`${baseURL}/v1/public/oauth/${providerType}/start`);\n oauthUrl.searchParams.set('public_token', this._config.publicToken);\n\n if (pkceRequiredForOAuth) {\n const keyPair = await this._pkceManager.startPKCETransaction();\n oauthUrl.searchParams.set('code_challenge', keyPair.code_challenge);\n } else {\n this._pkceManager.clearPKPair();\n }\n\n if (custom_scopes) {\n validateInDev(\n 'startOAuthFlow',\n { custom_scopes },\n {\n custom_scopes: 'stringArray',\n },\n );\n oauthUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validateInDev(\n 'startOAuthFlow',\n { provider_params },\n {\n provider_params: 'optionalObject',\n },\n );\n for (const key in provider_params) {\n oauthUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (login_redirect_url) oauthUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) oauthUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n if (oauth_attach_token) oauthUrl.searchParams.set('oauth_attach_token', oauth_attach_token);\n\n this.navigate(oauthUrl);\n };\n }\n\n // Public so it can be mocked in tests\n navigate(url: URL) {\n window.location.href = url.toString();\n }\n}\n","import {\n IHeadlessTOTPClient,\n TOTPAuthenticateOptions,\n TOTPAuthenticateResponse,\n TOTPCreateOptions,\n TOTPCreateResponse,\n TOTPRecoverOptions,\n TOTPRecoverResponse,\n TOTPRecoveryCodesResponse,\n StytchProjectConfigurationInput,\n} from '../public';\n\nimport { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessTOTPClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessTOTPClient<TProjectConfiguration>\n{\n authenticate: (options: TOTPAuthenticateOptions) => Promise<TOTPAuthenticateResponse<TProjectConfiguration>>;\n\n recover: (options: TOTPRecoverOptions) => Promise<TOTPRecoverResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (options: TOTPAuthenticateOptions): Promise<TOTPAuthenticateResponse<TProjectConfiguration>> => {\n validateInDev('stytch.totps.authenticate', options, {\n session_duration_minutes: 'number',\n totp_code: 'string',\n });\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const resp = await this._networkClient.retriableFetchSDK<\n WithUser<TOTPAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/totps/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n totp_code: options.totp_code,\n captcha_token,\n dfp_telemetry_id,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n\n this.recover = this._subscriptionService.withUpdateSession(\n async (options: TOTPRecoverOptions): Promise<TOTPRecoverResponse<TProjectConfiguration>> => {\n validateInDev('stytch.totps.recover', options, {\n session_duration_minutes: 'number',\n recovery_code: 'string',\n });\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const resp = await this._networkClient.retriableFetchSDK<WithUser<TOTPRecoverResponse<TProjectConfiguration>>>({\n url: '/totps/recover',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n recovery_code: options.recovery_code,\n captcha_token,\n dfp_telemetry_id,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n }\n\n async create(options: TOTPCreateOptions): Promise<TOTPCreateResponse> {\n validateInDev('stytch.totps.create', options, {\n expiration_minutes: 'number',\n });\n\n const resp = await this._networkClient.fetchSDK<WithUser<TOTPCreateResponse>>({\n url: '/totps',\n method: 'POST',\n body: {\n expiration_minutes: options.expiration_minutes,\n },\n });\n\n this._subscriptionService.updateUser(resp.__user);\n\n return omitUser(resp);\n }\n\n async recoveryCodes(): Promise<TOTPRecoveryCodesResponse> {\n return this._networkClient.fetchSDK<TOTPRecoveryCodesResponse>({\n url: '/totps/recovery_codes',\n method: 'POST',\n });\n }\n}\n","// src/webauthn-json/base64url.ts\nfunction base64urlToBuffer(baseurl64String) {\n const padding = \"==\".slice(0, (4 - baseurl64String.length % 4) % 4);\n const base64String = baseurl64String.replace(/-/g, \"+\").replace(/_/g, \"/\") + padding;\n const str = atob(base64String);\n const buffer = new ArrayBuffer(str.length);\n const byteView = new Uint8Array(buffer);\n for (let i = 0; i < str.length; i++) {\n byteView[i] = str.charCodeAt(i);\n }\n return buffer;\n}\nfunction bufferToBase64url(buffer) {\n const byteView = new Uint8Array(buffer);\n let str = \"\";\n for (const charCode of byteView) {\n str += String.fromCharCode(charCode);\n }\n const base64String = btoa(str);\n const base64urlString = base64String.replace(/\\+/g, \"-\").replace(\n /\\//g,\n \"_\"\n ).replace(/=/g, \"\");\n return base64urlString;\n}\n\n// src/webauthn-json/convert.ts\nvar copyValue = \"copy\";\nvar convertValue = \"convert\";\nfunction convert(conversionFn, schema2, input) {\n if (schema2 === copyValue) {\n return input;\n }\n if (schema2 === convertValue) {\n return conversionFn(input);\n }\n if (schema2 instanceof Array) {\n return input.map((v) => convert(conversionFn, schema2[0], v));\n }\n if (schema2 instanceof Object) {\n const output = {};\n for (const [key, schemaField] of Object.entries(schema2)) {\n if (schemaField.derive) {\n const v = schemaField.derive(input);\n if (v !== void 0) {\n input[key] = v;\n }\n }\n if (!(key in input)) {\n if (schemaField.required) {\n throw new Error(`Missing key: ${key}`);\n }\n continue;\n }\n if (input[key] == null) {\n output[key] = null;\n continue;\n }\n output[key] = convert(\n conversionFn,\n schemaField.schema,\n input[key]\n );\n }\n return output;\n }\n}\nfunction derived(schema2, derive) {\n return {\n required: true,\n schema: schema2,\n derive\n };\n}\nfunction required(schema2) {\n return {\n required: true,\n schema: schema2\n };\n}\nfunction optional(schema2) {\n return {\n required: false,\n schema: schema2\n };\n}\n\n// src/webauthn-json/basic/schema.ts\nvar publicKeyCredentialDescriptorSchema = {\n type: required(copyValue),\n id: required(convertValue),\n transports: optional(copyValue)\n};\nvar simplifiedExtensionsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar simplifiedClientExtensionResultsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar credentialCreationOptions = {\n publicKey: required({\n rp: required(copyValue),\n user: required({\n id: required(convertValue),\n name: required(copyValue),\n displayName: required(copyValue)\n }),\n challenge: required(convertValue),\n pubKeyCredParams: required(copyValue),\n timeout: optional(copyValue),\n excludeCredentials: optional([publicKeyCredentialDescriptorSchema]),\n authenticatorSelection: optional(copyValue),\n attestation: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAttestation = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n attestationObject: required(convertValue),\n transports: derived(\n copyValue,\n (response) => {\n var _a;\n return ((_a = response.getTransports) == null ? void 0 : _a.call(response)) || [];\n }\n )\n }),\n clientExtensionResults: derived(\n simplifiedClientExtensionResultsSchema,\n (pkc) => pkc.getClientExtensionResults()\n )\n};\nvar credentialRequestOptions = {\n mediation: optional(copyValue),\n publicKey: required({\n challenge: required(convertValue),\n timeout: optional(copyValue),\n rpId: optional(copyValue),\n allowCredentials: optional([publicKeyCredentialDescriptorSchema]),\n userVerification: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAssertion = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n authenticatorData: required(convertValue),\n signature: required(convertValue),\n userHandle: required(convertValue)\n }),\n clientExtensionResults: derived(\n simplifiedClientExtensionResultsSchema,\n (pkc) => pkc.getClientExtensionResults()\n )\n};\nvar schema = {\n credentialCreationOptions,\n publicKeyCredentialWithAttestation,\n credentialRequestOptions,\n publicKeyCredentialWithAssertion\n};\n\n// src/webauthn-json/basic/api.ts\nfunction createRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialCreationOptions, requestJSON);\n}\nfunction createResponseToJSON(credential) {\n return convert(\n bufferToBase64url,\n publicKeyCredentialWithAttestation,\n credential\n );\n}\nasync function create(requestJSON) {\n const credential = await navigator.credentials.create(\n createRequestFromJSON(requestJSON)\n );\n return createResponseToJSON(credential);\n}\nfunction getRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialRequestOptions, requestJSON);\n}\nfunction getResponseToJSON(credential) {\n return convert(\n bufferToBase64url,\n publicKeyCredentialWithAssertion,\n credential\n );\n}\nasync function get(requestJSON) {\n const credential = await navigator.credentials.get(\n getRequestFromJSON(requestJSON)\n );\n return getResponseToJSON(credential);\n}\n\n// src/webauthn-json/basic/supported.ts\nfunction supported() {\n return !!(navigator.credentials && navigator.credentials.create && navigator.credentials.get && window.PublicKeyCredential);\n}\nexport {\n create,\n get,\n schema,\n supported\n};\n//# sourceMappingURL=webauthn-json.js.map\n","import * as webauthnJson from '@github/webauthn-json';\nimport {\n IHeadlessWebAuthnClient,\n StytchProjectConfigurationInput,\n WebAuthnAuthenticateResponse,\n WebAuthnAuthenticateStartOptions,\n WebAuthnAuthenticateStartResponse,\n WebAuthnRegisterResponse,\n WebAuthnRegisterStartOptions,\n WebAuthnRegisterStartResponse,\n WebAuthnUpdateOptions,\n WebAuthnUpdateResponse,\n} from '../public';\n\nimport { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport { logger, omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessWebAuthnClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessWebAuthnClient<TProjectConfiguration>\n{\n register: (options: WebAuthnRegisterStartOptions) => Promise<WebAuthnRegisterResponse<TProjectConfiguration>>;\n\n authenticate: (\n options: WebAuthnAuthenticateStartOptions,\n ) => Promise<WebAuthnAuthenticateResponse<TProjectConfiguration> | null>;\n\n constructor(\n public _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.register = this._subscriptionService.withUpdateSession(\n async (options?: WebAuthnRegisterStartOptions): Promise<WebAuthnRegisterResponse<TProjectConfiguration>> => {\n if (options) {\n validateInDev('stytch.webauthn.register', options, {\n domain: 'optionalString',\n authenticator_type: 'optionalString',\n is_passkey: 'optionalBoolean',\n session_duration_minutes: 'number',\n override_id: 'optionalString',\n override_name: 'optionalString',\n override_display_name: 'optionalString',\n use_base64_url_encoding: 'optionalBoolean',\n });\n }\n\n const startResp = await this._networkClient.fetchSDK<WebAuthnRegisterStartResponse>({\n url: '/webauthn/register/start',\n method: 'POST',\n body: {\n domain: options?.domain ?? window.location.hostname,\n authenticator_type: options?.authenticator_type ?? undefined,\n return_passkey_credential_options: options?.is_passkey,\n override_id: options?.override_id,\n override_name: options?.override_name,\n override_display_name: options?.override_display_name,\n user_agent: navigator.userAgent,\n use_base64_url_encoding: options?.use_base64_url_encoding,\n },\n });\n\n const publicKeyCredentialCreationOptions = startResp.public_key_credential_creation_options;\n const publicKey = JSON.parse(publicKeyCredentialCreationOptions);\n\n const credential = await webauthnJson.create({\n publicKey: publicKey,\n });\n\n const resp = await this._networkClient.fetchSDK<WithUser<WebAuthnRegisterResponse<TProjectConfiguration>>>({\n url: '/webauthn/register',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options?.session_duration_minutes,\n },\n });\n\n return omitUser(resp);\n },\n );\n\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (\n options: WebAuthnAuthenticateStartOptions,\n ): Promise<WebAuthnAuthenticateResponse<TProjectConfiguration> | null> => {\n validateInDev('stytch.webauthn.authenticate', options, {\n domain: 'optionalString',\n session_duration_minutes: 'number',\n is_passkey: 'optionalBoolean',\n signal: 'optionalObject',\n conditional_mediation: 'optionalBoolean',\n disable_input_check: 'optionalBoolean',\n });\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n if (options.conditional_mediation) {\n if (!(await this.browserSupportsAutofill())) {\n logger.error('Browser does not support WebAuthn autofill');\n return null;\n }\n\n if (!options.disable_input_check && !this.checkEligibleInputs()) {\n return null;\n }\n }\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/webauthn/authenticate/start/secondary' : '/webauthn/authenticate/start/primary';\n\n const startResp = await this._networkClient.fetchSDK<WebAuthnAuthenticateStartResponse>({\n url: endpoint,\n method: 'POST',\n body: {\n domain: options.domain ?? window.location.hostname,\n return_passkey_credential_options: options?.is_passkey,\n },\n });\n\n const publicKeyCredentialRequestOptions = startResp.public_key_credential_request_options;\n const abortController = new AbortController();\n const credReqOptions = {\n publicKey: JSON.parse(publicKeyCredentialRequestOptions),\n signal: options.signal ?? abortController.signal,\n };\n const conditionalMediationCredReqOption = {\n ...credReqOptions,\n mediation: 'conditional' as CredentialMediationRequirement,\n };\n const credential = await webauthnJson.get(\n options.conditional_mediation ? conditionalMediationCredReqOption : credReqOptions,\n );\n\n const authenticationData = await this._networkClient.retriableFetchSDK<\n WithUser<WebAuthnAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/webauthn/authenticate',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id,\n captcha_token,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(authenticationData);\n },\n );\n }\n\n async update(options: WebAuthnUpdateOptions): Promise<WebAuthnUpdateResponse> {\n validateInDev('stytch.webauthn.update', options, {\n webauthn_registration_id: 'string',\n name: 'string',\n });\n\n const url = '/webauthn/update/' + options.webauthn_registration_id;\n return await this._networkClient.fetchSDK<WebAuthnUpdateResponse>({\n url: url,\n method: 'PUT',\n body: {\n name: options.name,\n },\n });\n }\n\n async browserSupportsAutofill(): Promise<boolean> {\n return (await window.PublicKeyCredential?.isConditionalMediationAvailable?.()) ?? false;\n }\n\n private checkEligibleInputs = (): boolean => {\n // Check for an <input> with \"webauthn\" in its `autocomplete` attribute\n const eligibleInputs = document.querySelectorAll(\"input[autocomplete*='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1) {\n logger.error('No <input> with `\"webauthn\"` in its `autocomplete` attribute was detected');\n return false;\n }\n return true;\n };\n}\n","import { IDFPProtectedAuthProvider } from '../DFPProtectedAuthProvider';\nimport { INetworkClient } from '../NetworkClient';\nimport {\n ImpersonationAuthenticateOptions,\n ImpersonationAuthenticateResponse,\n IHeadlessImpersonationClient,\n} from '../public/impersonation';\nimport { StytchProjectConfigurationInput } from '../public/typeConfig';\nimport { IConsumerSubscriptionService } from '../SubscriptionService';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessImpersonationClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessImpersonationClient<TProjectConfiguration>\n{\n authenticate: (\n data: ImpersonationAuthenticateOptions,\n ) => Promise<ImpersonationAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(async (data: ImpersonationAuthenticateOptions) => {\n validateInDev('stytch.impersonation.authenticate', data, {\n impersonation_token: 'string',\n });\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n return this._networkClient.retriableFetchSDK<ImpersonationAuthenticateResponse<TProjectConfiguration>>({\n url: '/impersonation/authenticate',\n body: {\n ...data,\n dfp_telemetry_id,\n captcha_token,\n },\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n });\n }\n}\n","import { IConsumerSubscriptionService } from '../SubscriptionService';\nimport { logger } from '../utils';\nimport { RBACPolicy, RBACPolicyRaw } from '../rbac';\nimport { IHeadlessRBACClient, ConsumerPermissionsMap } from '../public/rbac';\nimport { StytchProjectConfigurationInput } from '../public/typeConfig';\n\ntype CachedConfig = {\n rbacPolicy: RBACPolicyRaw | null;\n};\n\ntype DynamicConfig = Promise<CachedConfig>;\n\nexport class HeadlessRBACClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessRBACClient\n{\n private cachedPolicy: RBACPolicy | null;\n private policyPromise: Promise<RBACPolicy>;\n constructor(\n cachedConfig: CachedConfig,\n dynamicConfig: DynamicConfig,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n ) {\n this.cachedPolicy = cachedConfig.rbacPolicy ? RBACPolicy.fromJSON(cachedConfig.rbacPolicy) : null;\n this.policyPromise = dynamicConfig.then((data) => {\n if (!data.rbacPolicy) {\n logger.error('Unable to retrieve RBAC policy from servers. Assuming caller has no permissions.');\n return new RBACPolicy([], []);\n }\n // Update the existing policy too, so isAuthorizedSync will be up-to-date\n this.cachedPolicy = RBACPolicy.fromJSON(data.rbacPolicy);\n return this.cachedPolicy;\n });\n }\n\n allPermissions<Permissions extends Record<string, string>>() {\n return this.policyPromise.then(\n (policy) => policy.allPermissionsForCaller(this.roleIds()) as ConsumerPermissionsMap<Permissions>,\n );\n }\n\n isAuthorizedSync: IHeadlessRBACClient['isAuthorizedSync'] = (resourceId, action) => {\n return !!this.cachedPolicy?.callerIsAuthorized(this.roleIds(), resourceId as string, action as unknown as string);\n };\n\n isAuthorized: IHeadlessRBACClient['isAuthorized'] = (resourceId, action) => {\n return this.policyPromise.then((policy) =>\n policy.callerIsAuthorized(this.roleIds(), resourceId as string, action as unknown as string),\n );\n };\n\n private roleIds() {\n const user = this._subscriptionService.getUser();\n\n if (!user) {\n return [];\n }\n\n // Although user.roles is guaranteed to exist for fresh data, there is a chance\n // that the user stored in localstorage clientside comes from before roles were added to\n // the API response - in which case user.roles will be undefined and this will crash\n // TODO: [AUTH-2294] We can safely remove this ~3mos after RBAC is released\n return user.roles ?? [];\n }\n}\n","import { INetworkClient } from '../NetworkClient';\nimport {\n IHeadlessIDPClient,\n OAuthAuthorizeStartOptions,\n OAuthAuthorizeStartResponse,\n OAuthAuthorizeSubmitOptions,\n OAuthAuthorizeSubmitResponse,\n OAuthLogoutStartOptions,\n OAuthLogoutStartResponse,\n} from '../public/idp';\n\nexport class HeadlessIDPClient implements IHeadlessIDPClient {\n constructor(private _networkClient: INetworkClient) {}\n\n oauthAuthorizeStart = async (data: OAuthAuthorizeStartOptions): Promise<OAuthAuthorizeStartResponse> =>\n this._networkClient.fetchSDK<OAuthAuthorizeStartResponse>({\n url: '/idp/oauth/authorize/start',\n method: 'POST',\n body: data,\n });\n\n oauthAuthorizeSubmit = async (data: OAuthAuthorizeSubmitOptions): Promise<OAuthAuthorizeSubmitResponse> =>\n this._networkClient.fetchSDK<OAuthAuthorizeSubmitResponse>({\n url: '/idp/oauth/authorize/submit',\n method: 'POST',\n body: data,\n });\n\n oauthLogoutStart = async (data: OAuthLogoutStartOptions): Promise<OAuthLogoutStartResponse> =>\n this._networkClient.fetchSDK<OAuthLogoutStartResponse>({\n url: `/oauth/logout/start`,\n method: 'POST',\n body: data,\n });\n}\n","import { IHeadlessOAuthClient, OneTapPositions, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport {\n HeadlessOAuthClient as BaseHeadlessOAuthClient,\n INetworkClient,\n IPKCEManager,\n IConsumerSubscriptionService,\n} from '@stytch/core';\nimport { OneTapProvider } from './oneTap/OneTapProvider';\nimport { OneTapRenderResult } from './oneTap/GoogleOneTapClient';\n\nexport type GoogleOneTapOAuthOptions = {\n /**\n * The URL that Stytch redirects to after the OAuth flow is completed for a user that already exists.\n * This URL should be an endpoint in the backend server that verifies the request by querying Stytch's /oauth/authenticate endpoint and finishes the login.\n * The URL should be configured as a Login URL in the Stytch Dashboard's Redirect URL page.\n * If the field is not specified, the default in the Dashboard is used.\n */\n login_redirect_url?: string;\n /**\n * The URL that Stytch redirects to after the OAuth flow is completed for a user that does not yet exist.\n * This URL should be an endpoint in the backend server that verifies the request by querying Stytch's /oauth/authenticate endpoint and finishes the login.\n * The URL should be configured as a Sign Up URL in the Stytch Dashboard's Redirect URL page.\n * If the field is not specified, the default in the Dashboard is used.\n */\n signup_redirect_url?: string;\n /**\n * An optional callback function that runs when a user explicitly cancels out of the one tap flow.\n * This callback may not be invoked immediately or at all depending on the behavior of the browser and Google's SDK.\n */\n onOneTapCancelled?: () => void;\n /**\n * Controls whether clicking outside the One Tap prompt dismisses the prompt.\n * Defaults to true.\n */\n cancel_on_tap_outside?: boolean;\n};\n\ninterface IGoogleOneTapOAuthProvider {\n /**\n * Start an OAuth flow by showing the Google one tap prompt in the top right corner of the user's browser.\n * You can configure this to be started by a user action (i.e Button click) or on load/render.\n * @example\n * const showGoogleOneTap = useCallback(()=> {\n * stytch.oauth.googleOneTap.start({\n * login_redirect_url: 'https://example.com/oauth/callback',\n * signup_redirect_url: 'https://example.com/oauth/callback',\n * })\n * }, [stytch]);\n * return (\n * <Button onClick={showGoogleOneTap}> Show Google one tap </Button>\n * );\n *\n * @param options - An {@link GoogleOneTapOAuthOptions} object\n *\n * @returns A {@link OneTapRenderResult} object. The result object includes if the one-tap prompt\n * was rendered, and a reason if it couldn't be rendered.\n *\n * @throws An Error if the one tap client cannot be created.\n */\n start(options?: GoogleOneTapOAuthOptions): Promise<OneTapRenderResult>;\n}\n\ntype DynamicConfig = Promise<{\n cnameDomain: null | string;\n pkceRequiredForOAuth: boolean;\n}>;\ntype Config = {\n publicToken: string;\n testAPIURL: string;\n liveAPIURL: string;\n};\n\nexport interface IWebOAuthClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n extends IHeadlessOAuthClient<TProjectConfiguration> {\n googleOneTap: IGoogleOneTapOAuthProvider;\n}\n\nexport class HeadlessOAuthClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n extends BaseHeadlessOAuthClient<TProjectConfiguration>\n implements IWebOAuthClient<TProjectConfiguration>\n{\n constructor(\n _networkClient: INetworkClient,\n _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n _pkceManager: IPKCEManager,\n _dynamicConfig: DynamicConfig,\n _config: Config,\n private _oneTap: OneTapProvider,\n ) {\n super(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config);\n }\n\n private startOneTap = async (options: GoogleOneTapOAuthOptions): Promise<OneTapRenderResult> => {\n const clientResult = await this._oneTap.createOneTapClient();\n if (!clientResult.success) {\n throw new Error(`One Tap could not load: ${clientResult.reason}`);\n }\n\n const { client } = clientResult;\n\n const onSuccessCallback = this._oneTap.createOnSuccessHandler({\n signupRedirectUrl: options.signup_redirect_url,\n loginRedirectUrl: options.login_redirect_url,\n onSuccess: this._oneTap.redirectOnSuccess,\n });\n\n return client.render({\n style: {\n position: OneTapPositions.floating,\n },\n onOneTapCancelled: options.onOneTapCancelled,\n callback: onSuccessCallback,\n cancelOnTapOutside: options.cancel_on_tap_outside,\n });\n };\n\n googleOneTap: IGoogleOneTapOAuthProvider = {\n start: this.startOneTap,\n };\n}\n","import {\n checkNotSSR,\n checkPublicToken,\n DFPProtectedAuthProvider,\n HeadlessCryptoWalletClient,\n HeadlessMagicLinksClient,\n HeadlessOTPClient,\n HeadlessPasswordClient,\n HeadlessImpersonationClient,\n HeadlessSessionClient,\n HeadlessTOTPClient,\n HeadlessUserClient,\n HeadlessWebAuthnClient,\n INetworkClient,\n SearchDataManager,\n SessionManager,\n StateChangeClient,\n StateChangeRegisterFunction,\n VERTICAL_B2B,\n logger,\n HeadlessRBACClient,\n HeadlessIDPClient,\n} from '@stytch/core';\nimport {\n ConsumerState,\n IHeadlessCryptoWalletClient,\n IHeadlessMagicLinksClient,\n IHeadlessOTPsClient,\n IHeadlessPasswordClient,\n IHeadlessSessionClient,\n IHeadlessTOTPClient,\n IHeadlessUserClient,\n IHeadlessWebAuthnClient,\n IHeadlessImpersonationClient,\n StytchClientOptions,\n StytchProjectConfigurationInput,\n IHeadlessRBACClient,\n} from '@stytch/core/public';\nimport { BootstrapDataManager } from './BootstrapDataManager';\nimport { CaptchaProvider } from './CaptchaProvider';\nimport { ClientsideServicesProvider } from './ClientsideServicesProvider';\nimport { HeadlessOAuthClient, IWebOAuthClient } from './HeadlessOAuthClient';\nimport { NetworkClient } from './NetworkClient';\nimport { OneTapProvider } from './oneTap/OneTapProvider';\nimport { PKCEManager } from './PKCEManager';\nimport {\n ConsumerSubscriptionDataLayer,\n ConsumerSubscriptionService,\n getConsumerDataLayer,\n} from './SubscriptionService';\nimport { writeB2CInternals } from './utils/internal';\nimport { buildFinalConfig, hasCustomApiEndpoint } from './utils/config';\nimport { createAuthUrlHandler, AuthenticateByUrl, ParseAuthenticateUrl } from './utils/createAuthUrlHandler';\n\nexport type HandledTokenType = 'magic_links' | 'oauth' | 'impersonation';\n\n/**\n * A headless client used for invoking the Stytch API.\n * The Stytch Headless Client can be used as a drop-in solution for authentication and session management.\n * Full documentation can be found {@link https://stytch.com/docs/sdks/javascript-sdk online}.\n * @example\n * const stytch = new StytchClient('public-token-<find yours in the stytch dashboard>');\n * stytch.magicLinks.email.loginOrCreate('sandbox@stytch.com', {\n * login_magic_link_url: 'https://example.com/authenticate',\n * login_expiration_minutes: 60,\n * signup_magic_link_url: 'https://example.com/authenticate',\n * signup_expiration_minutes: 60,\n * });\n */\nexport class StytchClient<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n private readonly _subscriptionService: ConsumerSubscriptionService<TProjectConfiguration>;\n private readonly _sessionManager: SessionManager<TProjectConfiguration>;\n private readonly _networkClient: INetworkClient;\n private readonly _dataLayer: ConsumerSubscriptionDataLayer;\n private readonly _stateChangeClient: StateChangeClient<ConsumerState>;\n\n // External API Clients\n user: IHeadlessUserClient;\n magicLinks: IHeadlessMagicLinksClient<TProjectConfiguration>;\n session: IHeadlessSessionClient<TProjectConfiguration>;\n otps: IHeadlessOTPsClient<TProjectConfiguration>;\n oauth: IWebOAuthClient<TProjectConfiguration>;\n cryptoWallets: IHeadlessCryptoWalletClient<TProjectConfiguration>;\n totps: IHeadlessTOTPClient<TProjectConfiguration>;\n webauthn: IHeadlessWebAuthnClient<TProjectConfiguration>;\n passwords: IHeadlessPasswordClient<TProjectConfiguration>;\n impersonation: IHeadlessImpersonationClient<TProjectConfiguration>;\n rbac: IHeadlessRBACClient;\n idp: HeadlessIDPClient;\n\n // External methods\n /**\n * Register a callback function to be invoked whenever certain state changes\n * occur, like a user or session object being updated.\n *\n * This is an alternative to more specific methods like `user.onChange` and\n * `session.onChange`. It can be helpful if you want to be notified of related\n * changes to different parts of state at once.\n *\n * If you are only interested in specific state changes, consider using more\n * specific methods like `user.onChange` and `session.onChange` instead.\n */\n onStateChange: StateChangeRegisterFunction<ConsumerState>;\n\n /**\n * Extracts token and token type from the current page URL's query parameters.\n * If the current URL do not have the required query params, this will return null.\n * Otherwise, returns an object { handled: boolean, tokenType: string, token: string }\n */\n parseAuthenticateUrl: ParseAuthenticateUrl<HandledTokenType>;\n\n /**\n * Call this method to authenticate the user when the user has been redirected\n * to this page with a token in the query parameters, such as after OAuth\n * or through an email magic link. This method currently supports\n *\n * - Magic links\n * - OAuth\n * - Impersonation\n *\n * Returns null if token or stytch_token_type query parameters are not present,\n * or returns an unhandled result if the token type is not recognized.\n */\n authenticateByUrl: AuthenticateByUrl<HandledTokenType>;\n\n constructor(publicTokenRaw: string, options?: StytchClientOptions) {\n checkNotSSR();\n\n // Intentionally check the raw public token so that we can log a correct error message,\n // but then coalesce to an empty string so that the UI components don't fail to render.\n checkPublicToken(publicTokenRaw);\n const _PUBLIC_TOKEN = publicTokenRaw ?? '';\n\n // Not casting to InternalStytchClientOptions since InternalStytchClientOptions is currently a superset\n const config = buildFinalConfig(this.constructor.name, options);\n const usingCustomApiEndpoint = hasCustomApiEndpoint(_PUBLIC_TOKEN, options);\n\n this._dataLayer = getConsumerDataLayer(_PUBLIC_TOKEN, config);\n this._subscriptionService = new ConsumerSubscriptionService(_PUBLIC_TOKEN, this._dataLayer, {\n usingCustomApiEndpoint,\n });\n this._stateChangeClient = new StateChangeClient(this._subscriptionService, {});\n this.onStateChange = (...args) => this._stateChangeClient.onStateChange(...args);\n\n const additionalTelemetryDataFn = () => ({\n stytch_user_id: this._dataLayer.state?.user?.user_id,\n stytch_session_id: this._dataLayer.state?.session?.session_id,\n });\n\n const passwordsPKCEManager = new PKCEManager(this._dataLayer, 'passwords');\n const networkClient = new NetworkClient(\n _PUBLIC_TOKEN,\n this._dataLayer,\n config.endpoints.liveAPIURL,\n config.endpoints.testAPIURL,\n additionalTelemetryDataFn,\n );\n this._networkClient = networkClient;\n\n const bootstrap = new BootstrapDataManager(_PUBLIC_TOKEN, this._networkClient, this._dataLayer);\n const captcha = new CaptchaProvider(bootstrap.getAsync());\n const dfpProtectedAuth = new DFPProtectedAuthProvider(\n _PUBLIC_TOKEN,\n config.endpoints.dfpBackendURL,\n config.endpoints.dfpCdnURL,\n bootstrap.getAsync(),\n captcha.executeRecaptcha,\n );\n const clientsideServices = new ClientsideServicesProvider(config.endpoints.clientsideServicesIframeURL);\n const oneTap = new OneTapProvider(_PUBLIC_TOKEN, clientsideServices);\n const searchManager = new SearchDataManager(this._networkClient, dfpProtectedAuth);\n\n this.user = new HeadlessUserClient(this._networkClient, this._subscriptionService);\n this.session = new HeadlessSessionClient(this._networkClient, this._subscriptionService);\n this.magicLinks = new HeadlessMagicLinksClient(\n this._networkClient,\n this._subscriptionService,\n new PKCEManager(this._dataLayer, 'magic_links'),\n passwordsPKCEManager,\n bootstrap.getAsync(),\n dfpProtectedAuth,\n );\n this.otps = new HeadlessOTPClient(\n this._networkClient,\n this._subscriptionService,\n captcha.executeRecaptcha,\n dfpProtectedAuth,\n );\n this.oauth = new HeadlessOAuthClient(\n this._networkClient,\n this._subscriptionService,\n new PKCEManager(this._dataLayer, 'oauth'),\n bootstrap.getAsync(),\n {\n publicToken: _PUBLIC_TOKEN,\n testAPIURL: config.endpoints.testAPIURL,\n liveAPIURL: config.endpoints.liveAPIURL,\n },\n oneTap,\n );\n this.cryptoWallets = new HeadlessCryptoWalletClient(\n this._networkClient,\n this._networkClient,\n this._subscriptionService,\n captcha.executeRecaptcha,\n dfpProtectedAuth,\n bootstrap.getAsync(),\n );\n this.totps = new HeadlessTOTPClient(this._networkClient, this._subscriptionService, dfpProtectedAuth);\n this.webauthn = new HeadlessWebAuthnClient(this._networkClient, this._subscriptionService, dfpProtectedAuth);\n this.passwords = new HeadlessPasswordClient(\n this._networkClient,\n this._subscriptionService,\n passwordsPKCEManager,\n bootstrap.getAsync(),\n dfpProtectedAuth,\n );\n this.impersonation = new HeadlessImpersonationClient(\n this._networkClient,\n this._subscriptionService,\n dfpProtectedAuth,\n );\n\n this.rbac = new HeadlessRBACClient(bootstrap.getSync(), bootstrap.getAsync(), this._subscriptionService);\n this.idp = new HeadlessIDPClient(this._networkClient);\n this._sessionManager = new SessionManager(this._subscriptionService, this.session, _PUBLIC_TOKEN, {\n keepSessionAlive: config.keepSessionAlive,\n });\n\n // If the session does not exist in localstorage (like if we are in an iframe)\n // then the cookie might still be set and we can retrieve the session via an API call.\n // If a custom API endpoint is being used, the session may be being managed by\n // HttpOnly cookies, which we can't detect.\n if (usingCustomApiEndpoint || this._dataLayer.readSessionCookie().session_token) {\n this._sessionManager.performBackgroundRefresh();\n }\n\n this._networkClient.logEvent({\n name: 'sdk_instance_instantiated',\n details: {\n event_callback_registered: false,\n error_callback_registered: false,\n success_callback_registered: false,\n },\n });\n\n bootstrap.getAsync().then((bootstrapData) => {\n if (bootstrapData.vertical === VERTICAL_B2B) {\n logger.error(\n 'This application is using a Stytch client for Consumer projects, but the public token is for a Stytch B2B project. Use a B2B Stytch client instead, or verify that the public token is correct.',\n );\n }\n });\n\n const { authenticateByUrl, parseAuthenticateUrl } = createAuthUrlHandler({\n magic_links: (token, options) => this.magicLinks.authenticate(token, options),\n oauth: (token, options) => this.oauth.authenticate(token, options),\n impersonation: (token: string) => this.impersonation.authenticate({ impersonation_token: token }),\n });\n\n this.authenticateByUrl = authenticateByUrl;\n this.parseAuthenticateUrl = parseAuthenticateUrl;\n\n writeB2CInternals(this, {\n bootstrap,\n clientsideServices,\n captcha,\n oneTap,\n searchManager,\n publicToken: _PUBLIC_TOKEN,\n dataLayer: this._dataLayer,\n networkClient: this._networkClient,\n });\n }\n}\n","import { StytchClient } from './StytchClient';\nimport { ssrSafeClientFactory } from './ui/react/bindings/StytchSSRProxy';\n\n/**\n * Creates a Headless Stytch client object to call the stytch APIs.\n * The Stytch client is not available serverside.\n * @example\n * const stytch = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * return (\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>\n * )\n * @returns A {@link StytchClient}\n */\nexport const createStytchClient = ssrSafeClientFactory(StytchClient);\n\n/**\n * @deprecated Use createStytchClient instead\n */\nexport const createStytchHeadlessClient = createStytchClient;\n\n/**\n * @deprecated Use StytchClient instead\n */\nexport const StytchHeadlessClient = StytchClient;\n\nexport { StytchClient };\n\nexport { parseOAuthAuthorizeParams, parseOAuthLogoutParams } from './utils/idpHelpers';\nexport type { OAuthAuthorizeParams, OAuthLogoutParams } from './utils/idpHelpers';\n\nexport * from '@stytch/core/public';\n"],"names":["HeadlessUserClient","constructor","_subscriptionService","_networkClient","get","resp","fetchSDK","url","method","user","removeResponseCommon","updateUser","getSync","getUser","getInfo","fromCache","getFromCache","update","options","body","__user","omitUser","deleteEmail","emailId","deletePhoneNumber","phoneId","deleteTOTP","totpId","deleteCryptoWallet","cryptoWalletId","deleteOAuthRegistration","oauthUserRegistrationId","deleteWebauthnRegistration","webAuthnId","deleteBiometricRegistration","biometricRegistrationId","onChange","callback","lastVal","listener","state","subscribeToState","getConnectedApps","revokedConnectedApp","connectedAppId","HeadlessSessionClient","authenticate","exchangeAccessToken","attest","getSession","session","revoke","destroyState","error","forceClear","UNRECOVERABLE_ERROR_TYPES","includes","error_type","_authenticate","initialSession","isSessionStale","session_id","requestBody","session_duration_minutes","destroySession","withUpdateSession","data","getTokens","updateSession","tokens","updateTokens","HeadlessOTPClient","executeRecaptcha","Promise","resolve","undefined","dfpProtectedAuth","sms","loginOrCreate","phone_number","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","retriableFetchSDK","retryCallback","retryWithCaptchaAndDFP","send","isLoggedIn","endpoint","whatsapp","email","code","method_id","token","HeadlessOAuthClient","_pkceManager","_config","_dynamicConfig","google","start","startOAuthFlow","OAuthProviders","Google","apple","Apple","microsoft","Microsoft","github","Github","gitlab","GitLab","facebook","Facebook","discord","Discord","salesforce","Salesforce","slack","Slack","amazon","Amazon","bitbucket","Bitbucket","linkedin","LinkedIn","coinbase","Coinbase","twitch","Twitch","twitter","Twitter","tiktok","TikTok","snapchat","Snapchat","figma","Figma","yahoo","Yahoo","keyPair","getPKPair","logger","warn","code_verifier","clearPKPair","attach","provider","getBaseApiUrl","cnameDomain","isTestPublicToken","publicToken","testAPIURL","liveAPIURL","providerType","login_redirect_url","signup_redirect_url","custom_scopes","provider_params","oauth_attach_token","pkceRequiredForOAuth","baseURL","logEvent","name","details","provider_type","cname_domain","pkce","oauthUrl","URL","searchParams","set","startPKCETransaction","code_challenge","join","key","navigate","window","location","href","toString","HeadlessTOTPClient","recover","totp_code","recovery_code","create","expiration_minutes","recoveryCodes","HeadlessWebAuthnClient","register","checkEligibleInputs","eligibleInputs","document","querySelectorAll","length","startResp","domain","hostname","authenticator_type","return_passkey_credential_options","is_passkey","override_id","override_name","override_display_name","user_agent","navigator","userAgent","use_base64_url_encoding","publicKeyCredentialCreationOptions","public_key_credential_creation_options","publicKey","JSON","parse","credential","webauthnJson","public_key_credential","stringify","conditional_mediation","browserSupportsAutofill","disable_input_check","publicKeyCredentialRequestOptions","public_key_credential_request_options","abortController","AbortController","credReqOptions","signal","conditionalMediationCredReqOption","mediation","authenticationData","webauthn_registration_id","PublicKeyCredential","isConditionalMediationAvailable","HeadlessImpersonationClient","HeadlessRBACClient","cachedPolicy","policyPromise","cachedConfig","dynamicConfig","isAuthorizedSync","resourceId","action","callerIsAuthorized","roleIds","isAuthorized","then","policy","rbacPolicy","RBACPolicy","fromJSON","allPermissions","allPermissionsForCaller","roles","HeadlessIDPClient","oauthAuthorizeStart","oauthAuthorizeSubmit","oauthLogoutStart","BaseHeadlessOAuthClient","_oneTap","startOneTap","clientResult","createOneTapClient","success","Error","reason","client","onSuccessCallback","createOnSuccessHandler","signupRedirectUrl","loginRedirectUrl","onSuccess","redirectOnSuccess","render","style","position","OneTapPositions","floating","onOneTapCancelled","cancelOnTapOutside","cancel_on_tap_outside","googleOneTap","StytchClient","_sessionManager","_dataLayer","_stateChangeClient","magicLinks","otps","oauth","cryptoWallets","totps","webauthn","passwords","impersonation","rbac","idp","onStateChange","parseAuthenticateUrl","authenticateByUrl","publicTokenRaw","checkNotSSR","checkPublicToken","_PUBLIC_TOKEN","config","buildFinalConfig","usingCustomApiEndpoint","hasCustomApiEndpoint","getConsumerDataLayer","ConsumerSubscriptionService","StateChangeClient","args","additionalTelemetryDataFn","stytch_user_id","user_id","stytch_session_id","passwordsPKCEManager","PKCEManager","networkClient","NetworkClient","endpoints","bootstrap","BootstrapDataManager","captcha","CaptchaProvider","getAsync","DFPProtectedAuthProvider","dfpBackendURL","dfpCdnURL","clientsideServices","ClientsideServicesProvider","clientsideServicesIframeURL","oneTap","OneTapProvider","searchManager","SearchDataManager","HeadlessMagicLinksClient","HeadlessCryptoWalletClient","HeadlessPasswordClient","SessionManager","keepSessionAlive","readSessionCookie","session_token","performBackgroundRefresh","event_callback_registered","error_callback_registered","success_callback_registered","bootstrapData","vertical","VERTICAL_B2B","createAuthUrlHandler","magic_links","impersonation_token","writeB2CInternals","dataLayer","createStytchClient","ssrSafeClientFactory","createStytchHeadlessClient","StytchHeadlessClient"],"mappings":"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","x_google_ignoreList":[5]}
|
|
1
|
+
{"version":3,"file":"index.headless.cjs","sources":["../../../core/src/HeadlessClients/HeadlessUserClient.ts","../../../core/src/HeadlessClients/HeadlessSessionClient.ts","../../../core/src/HeadlessClients/HeadlessOTPClient.ts","../../../core/src/HeadlessClients/HeadlessOAuthClient.ts","../../../core/src/HeadlessClients/HeadlessTOTPClient.ts","../../../../node_modules/@github/webauthn-json/dist/esm/webauthn-json.js","../../../core/src/HeadlessClients/HeadlessWebAuthnClient.ts","../../../core/src/HeadlessClients/HeadlessImpersonationClient.ts","../../../core/src/HeadlessClients/HeadlessRBACClient.ts","../../../core/src/HeadlessClients/HeadlessIDPClient.ts","../../../web/src/HeadlessOAuthClient.ts","../../../web/src/StytchClient.ts","../../../web/src/index.headless.ts"],"sourcesContent":["import {\n IHeadlessUserClient,\n User,\n ResponseCommon,\n UpdateResponse,\n UserUpdateOptions,\n UserUpdateResponse,\n UserOnChangeCallback,\n ConsumerState,\n UserInfo,\n StytchProjectConfigurationInput,\n UserGetConnectedAppsResponse,\n UnsubscribeFunction,\n} from '../public';\nimport { INetworkClient } from '../NetworkClient';\nimport { IConsumerSubscriptionService } from '../SubscriptionService';\nimport { omitUser, removeResponseCommon, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessUserClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessUserClient\n{\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n ) {}\n\n get = async (): Promise<User> => {\n const resp = await this._networkClient.fetchSDK<User & ResponseCommon>({\n url: '/users/me',\n method: 'GET',\n });\n const user = removeResponseCommon(resp);\n this._subscriptionService.updateUser(user);\n return user;\n };\n\n getSync = (): User | null => {\n return this._subscriptionService.getUser();\n };\n\n getInfo = (): UserInfo => ({\n user: this.getSync(),\n fromCache: this._subscriptionService.getFromCache(),\n });\n\n update = async (options: UserUpdateOptions) => {\n validateInDev('stytch.user.update', options, {\n untrusted_metadata: 'optionalObject',\n });\n const resp = await this._networkClient.fetchSDK<WithUser<UserUpdateResponse>>({\n url: '/users/me',\n body: options,\n method: 'PUT',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteEmail = async (emailId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/emails/${emailId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deletePhoneNumber = async (phoneId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/phone_numbers/${phoneId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteTOTP = async (totpId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/totps/${totpId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteCryptoWallet = async (cryptoWalletId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/crypto_wallets/${cryptoWalletId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteOAuthRegistration = async (oauthUserRegistrationId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/oauth/${oauthUserRegistrationId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteWebauthnRegistration = async (webAuthnId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/webauthn_registrations/${webAuthnId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n deleteBiometricRegistration = async (biometricRegistrationId: string) => {\n const resp = await this._networkClient.fetchSDK<WithUser<UpdateResponse>>({\n url: `/users/biometric_registrations/${biometricRegistrationId}`,\n method: 'DELETE',\n });\n const user = removeResponseCommon(resp.__user);\n this._subscriptionService.updateUser(user);\n return omitUser(resp);\n };\n\n onChange = (callback: UserOnChangeCallback): UnsubscribeFunction => {\n let lastVal = this._subscriptionService.getUser();\n const listener = (state: ConsumerState | null) => {\n if (state?.user !== lastVal) {\n lastVal = state?.user ?? null;\n callback(lastVal);\n }\n };\n return this._subscriptionService.subscribeToState(listener);\n };\n\n getConnectedApps = async () => {\n return await this._networkClient.fetchSDK<UserGetConnectedAppsResponse>({\n url: '/users/connected_apps',\n method: 'GET',\n });\n };\n\n revokedConnectedApp = async (connectedAppId: string) => {\n return await this._networkClient.fetchSDK<ResponseCommon>({\n url: `/users/connected_apps/${connectedAppId}/revoke`,\n method: 'POST',\n });\n };\n}\n","import {\n IHeadlessSessionClient,\n SessionOnChangeCallback,\n SessionRevokeResponse,\n SessionAuthenticateOptions,\n SessionAuthenticateResponse,\n SessionAccessTokenExchangeOptions,\n SessionAccessTokenExchangeResponse,\n SessionTokens,\n UNRECOVERABLE_ERROR_TYPES,\n SessionRevokeOptions,\n ConsumerState,\n SessionTokensUpdate,\n SessionInfo,\n StytchProjectConfigurationInput,\n SessionAttestOptions,\n SessionAttestResponse,\n} from '../public';\nimport { IConsumerSubscriptionService, INetworkClient } from '..';\nimport { ExtractOpaqueTokens, IfOpaqueTokens } from '../typeConfig';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessSessionClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessSessionClient<TProjectConfiguration>\n{\n authenticate: (options?: SessionAuthenticateOptions) => Promise<SessionAuthenticateResponse<TProjectConfiguration>>;\n\n exchangeAccessToken: (\n data: SessionAccessTokenExchangeOptions,\n ) => Promise<SessionAccessTokenExchangeResponse<TProjectConfiguration>>;\n\n attest: (data: SessionAttestOptions) => Promise<SessionAttestResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(this._authenticate);\n\n this.exchangeAccessToken = this._subscriptionService.withUpdateSession(\n async (data: SessionAccessTokenExchangeOptions) => {\n validateInDev('stytch.session.exchangeAccessToken', data, {\n access_token: 'string',\n session_duration_minutes: 'number',\n });\n const resp = await this._networkClient.fetchSDK<\n WithUser<SessionAccessTokenExchangeResponse<TProjectConfiguration>>\n >({\n url: '/sessions/exchange_access_token',\n body: data,\n method: 'POST',\n });\n\n return omitUser(resp);\n },\n );\n\n this.attest = this._subscriptionService.withUpdateSession(async (data: SessionAttestOptions) => {\n validateInDev('stytch.session.attest', data, {\n profile_id: 'string',\n token: 'string',\n session_duration_minutes: 'optionalNumber',\n });\n\n return this._networkClient.fetchSDK<SessionAttestResponse<TProjectConfiguration>>({\n url: '/sessions/attest',\n body: data,\n method: 'POST',\n });\n });\n }\n\n getSync = () => {\n return this._subscriptionService.getSession();\n };\n\n getInfo = (): SessionInfo => {\n const session = this.getSync();\n const fromCache = this._subscriptionService.getFromCache();\n return { session, fromCache };\n };\n\n onChange = (callback: SessionOnChangeCallback) => {\n let lastVal = this._subscriptionService.getSession();\n const listener = (state: ConsumerState | null) => {\n if (state?.session !== lastVal) {\n lastVal = state?.session ?? null;\n callback(lastVal);\n }\n };\n return this._subscriptionService.subscribeToState(listener);\n };\n\n revoke = async (options?: SessionRevokeOptions) => {\n /**\n * Revoke destroys the local state if the API request is successful\n * or if we return an unrecoverable error (user is unauthenticated)\n * or if the developer passses in a forceClear option.\n * If the API request returns a recoverable error (the user is offline),\n * we do not destroy the local state to let the developer manually add retry\n * logic to call revoke again.\n */\n\n try {\n const resp = await this._networkClient.fetchSDK<SessionRevokeResponse>({\n url: `/sessions/revoke`,\n method: 'POST',\n });\n\n this._subscriptionService.destroyState();\n\n return resp;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n if (options?.forceClear) {\n this._subscriptionService.destroyState();\n } else if (UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {\n this._subscriptionService.destroyState();\n }\n throw error;\n }\n };\n\n private _authenticate = async (\n options?: SessionAuthenticateOptions,\n ): Promise<SessionAuthenticateResponse<TProjectConfiguration>> => {\n const initialSession = this._subscriptionService.getSession();\n const isSessionStale = () => initialSession?.session_id !== this._subscriptionService.getSession()?.session_id;\n\n try {\n const requestBody = {\n session_duration_minutes: options?.session_duration_minutes,\n };\n const resp = await this._networkClient.fetchSDK<WithUser<SessionAuthenticateResponse<TProjectConfiguration>>>({\n url: '/sessions/authenticate',\n body: requestBody,\n method: 'POST',\n });\n\n if (isSessionStale()) {\n // [SDK-1336] The session was updated out from under us while the\n // request was in flight; discard the response and retry\n return this._authenticate(options);\n }\n\n return omitUser(resp);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n if (isSessionStale()) {\n // [SDK-1336] The session was updated out from under us while the\n // request was in flight; discard the response and retry\n return this._authenticate(options);\n }\n\n if (UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {\n this._subscriptionService.destroySession();\n }\n throw error;\n }\n };\n\n getTokens() {\n return this._subscriptionService.getTokens() as IfOpaqueTokens<\n ExtractOpaqueTokens<TProjectConfiguration>,\n never,\n SessionTokens | null\n >;\n }\n\n updateSession(tokens: SessionTokensUpdate): void {\n validateInDev('stytch.session.updateSession', tokens, {\n session_token: 'string',\n session_jwt: 'optionalString',\n });\n this._subscriptionService.updateTokens(tokens);\n }\n}\n","import { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport {\n IHeadlessOTPsClient,\n OTPAuthenticateOptions,\n OTPCodeEmailOptions,\n OTPCodeOptions,\n OTPCodeSMSOptions,\n OTPsAuthenticateResponse,\n OTPsLoginOrCreateResponse,\n OTPsSendResponse,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { WithUser, omitUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessOTPClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessOTPsClient<TProjectConfiguration>\n{\n authenticate: (\n code: string,\n method_id: string,\n options: OTPAuthenticateOptions,\n ) => Promise<OTPsAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private executeRecaptcha: () => Promise<string | undefined> = () => Promise.resolve(undefined),\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (code: string, method_id: string, options: OTPAuthenticateOptions) => {\n validateInDev(\n 'stytch.otps.authenticate',\n { code, ...options },\n {\n code: 'string',\n session_duration_minutes: 'number',\n },\n );\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const requestBody = {\n token: code,\n method_id,\n dfp_telemetry_id,\n captcha_token,\n ...options,\n };\n const resp = await this._networkClient.retriableFetchSDK<\n WithUser<OTPsAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/otps/authenticate',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n }\n\n sms = {\n loginOrCreate: async (phone_number: string, options: OTPCodeSMSOptions): Promise<OTPsLoginOrCreateResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, captcha_token, dfp_telemetry_id };\n return this._networkClient.retriableFetchSDK<OTPsLoginOrCreateResponse>({\n url: '/otps/sms/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n send: async (phone_number: string, options: OTPCodeSMSOptions): Promise<OTPsSendResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, captcha_token, dfp_telemetry_id };\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/otps/sms/send/secondary' : '/otps/sms/send/primary';\n\n return this._networkClient.retriableFetchSDK<OTPsSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n };\n\n whatsapp = {\n loginOrCreate: async (phone_number: string, options: OTPCodeOptions): Promise<OTPsLoginOrCreateResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, dfp_telemetry_id, captcha_token };\n return this._networkClient.retriableFetchSDK<OTPsLoginOrCreateResponse>({\n url: '/otps/whatsapp/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n send: async (phone_number: string, options: OTPCodeOptions): Promise<OTPsSendResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, phone_number, captcha_token, dfp_telemetry_id };\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/otps/whatsapp/send/secondary' : '/otps/whatsapp/send/primary';\n\n return this._networkClient.retriableFetchSDK<OTPsSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n };\n\n email = {\n loginOrCreate: async (email: string, options: OTPCodeEmailOptions): Promise<OTPsLoginOrCreateResponse> => {\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n const requestBody = { ...options, email, captcha_token, dfp_telemetry_id };\n return this._networkClient.retriableFetchSDK<OTPsLoginOrCreateResponse>({\n url: '/otps/email/login_or_create',\n body: requestBody,\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n },\n send: async (email: string, options: OTPCodeEmailOptions): Promise<OTPsSendResponse> => {\n const captcha_token = await this.executeRecaptcha();\n const requestBody = { ...options, email, captcha_token };\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/otps/email/send/secondary' : '/otps/email/send/primary';\n\n return this._networkClient.fetchSDK<OTPsSendResponse>({\n url: endpoint,\n body: requestBody,\n method: 'POST',\n });\n },\n };\n}\n","import {\n IHeadlessOAuthClient,\n OAuthAttachResponse,\n OAuthAuthenticateOptions,\n OAuthAuthenticateResponse,\n OAuthGetURLOptions,\n OAuthProviders,\n StytchProjectConfigurationInput,\n} from '../public';\nimport { INetworkClient, IPKCEManager, IConsumerSubscriptionService } from '..';\nimport { WithUser, omitUser, logger, isTestPublicToken } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\ntype DynamicConfig = Promise<{\n cnameDomain: null | string;\n pkceRequiredForOAuth: boolean;\n}>;\ntype Config = {\n publicToken: string;\n testAPIURL: string;\n liveAPIURL: string;\n};\n\nexport class HeadlessOAuthClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessOAuthClient<TProjectConfiguration>\n{\n authenticate: (\n token: string,\n options: OAuthAuthenticateOptions,\n ) => Promise<OAuthAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private _pkceManager: IPKCEManager,\n private _dynamicConfig: DynamicConfig,\n private _config: Config,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (token: string, options: OAuthAuthenticateOptions) => {\n validateInDev(\n 'stytch.oauth.authenticate',\n { token, ...options },\n {\n token: 'string',\n session_duration_minutes: 'number',\n },\n );\n\n const keyPair = await this._pkceManager.getPKPair();\n\n if (!keyPair) {\n logger.warn(\n 'No code verifier found in local storage for OAuth flow.\\n' +\n 'Consider using stytch.oauth.$provider.start() to add PKCE to your OAuth flows for added security.\\n' +\n 'See https://stytch.com/docs/oauth#guides_pkce for more information.',\n );\n }\n\n const resp = await this._networkClient.fetchSDK<WithUser<OAuthAuthenticateResponse<TProjectConfiguration>>>({\n url: '/oauth/authenticate',\n method: 'POST',\n body: {\n token,\n code_verifier: keyPair?.code_verifier,\n ...options,\n },\n });\n\n this._pkceManager.clearPKPair();\n\n return omitUser(resp);\n },\n );\n }\n\n google = {\n start: this.startOAuthFlow(OAuthProviders.Google),\n };\n\n apple = {\n start: this.startOAuthFlow(OAuthProviders.Apple),\n };\n\n microsoft = {\n start: this.startOAuthFlow(OAuthProviders.Microsoft),\n };\n\n github = {\n start: this.startOAuthFlow(OAuthProviders.Github),\n };\n\n gitlab = {\n start: this.startOAuthFlow(OAuthProviders.GitLab),\n };\n\n facebook = {\n start: this.startOAuthFlow(OAuthProviders.Facebook),\n };\n\n discord = {\n start: this.startOAuthFlow(OAuthProviders.Discord),\n };\n\n salesforce = {\n start: this.startOAuthFlow(OAuthProviders.Salesforce),\n };\n\n slack = {\n start: this.startOAuthFlow(OAuthProviders.Slack),\n };\n\n amazon = {\n start: this.startOAuthFlow(OAuthProviders.Amazon),\n };\n\n bitbucket = {\n start: this.startOAuthFlow(OAuthProviders.Bitbucket),\n };\n\n linkedin = {\n start: this.startOAuthFlow(OAuthProviders.LinkedIn),\n };\n\n coinbase = {\n start: this.startOAuthFlow(OAuthProviders.Coinbase),\n };\n\n twitch = {\n start: this.startOAuthFlow(OAuthProviders.Twitch),\n };\n\n twitter = {\n start: this.startOAuthFlow(OAuthProviders.Twitter),\n };\n\n tiktok = {\n start: this.startOAuthFlow(OAuthProviders.TikTok),\n };\n\n snapchat = {\n start: this.startOAuthFlow(OAuthProviders.Snapchat),\n };\n\n figma = {\n start: this.startOAuthFlow(OAuthProviders.Figma),\n };\n\n yahoo = {\n start: this.startOAuthFlow(OAuthProviders.Yahoo),\n };\n\n async attach(provider: string): Promise<OAuthAttachResponse> {\n validateInDev('stytch.oauth.attach', { provider }, { provider: 'string' });\n return await this._networkClient.fetchSDK<OAuthAttachResponse>({\n url: '/oauth/attach',\n method: 'POST',\n body: { provider },\n });\n }\n\n private async getBaseApiUrl() {\n const { cnameDomain } = await this._dynamicConfig;\n if (cnameDomain) {\n // The API returns cname domains without a protocol - assume HTTPS\n return `https://${cnameDomain}`;\n }\n // Our TestAPIURL and LiveAPIURL should have the HTTPS protocol already attached\n // Don't add it twice!\n if (isTestPublicToken(this._config.publicToken)) {\n return this._config.testAPIURL;\n }\n return this._config.liveAPIURL;\n }\n\n private startOAuthFlow(providerType: OAuthProviders) {\n return async ({\n login_redirect_url,\n signup_redirect_url,\n custom_scopes,\n provider_params,\n oauth_attach_token,\n }: OAuthGetURLOptions = {}): Promise<void> => {\n const { cnameDomain, pkceRequiredForOAuth } = await this._dynamicConfig;\n const baseURL = await this.getBaseApiUrl();\n\n this._networkClient.logEvent({\n name: 'start_oauth_flow',\n details: {\n provider_type: providerType,\n custom_scopes,\n cname_domain: cnameDomain,\n pkce: pkceRequiredForOAuth,\n provider_params,\n },\n });\n\n const oauthUrl = new URL(`${baseURL}/v1/public/oauth/${providerType}/start`);\n oauthUrl.searchParams.set('public_token', this._config.publicToken);\n\n if (pkceRequiredForOAuth) {\n const keyPair = await this._pkceManager.startPKCETransaction();\n oauthUrl.searchParams.set('code_challenge', keyPair.code_challenge);\n } else {\n this._pkceManager.clearPKPair();\n }\n\n if (custom_scopes) {\n validateInDev(\n 'startOAuthFlow',\n { custom_scopes },\n {\n custom_scopes: 'stringArray',\n },\n );\n oauthUrl.searchParams.set('custom_scopes', custom_scopes.join(' '));\n }\n if (provider_params) {\n validateInDev(\n 'startOAuthFlow',\n { provider_params },\n {\n provider_params: 'optionalObject',\n },\n );\n for (const key in provider_params) {\n oauthUrl.searchParams.set('provider_' + key, provider_params[key]);\n }\n }\n if (login_redirect_url) oauthUrl.searchParams.set('login_redirect_url', login_redirect_url);\n if (signup_redirect_url) oauthUrl.searchParams.set('signup_redirect_url', signup_redirect_url);\n if (oauth_attach_token) oauthUrl.searchParams.set('oauth_attach_token', oauth_attach_token);\n\n this.navigate(oauthUrl);\n };\n }\n\n // Public so it can be mocked in tests\n navigate(url: URL) {\n window.location.href = url.toString();\n }\n}\n","import {\n IHeadlessTOTPClient,\n TOTPAuthenticateOptions,\n TOTPAuthenticateResponse,\n TOTPCreateOptions,\n TOTPCreateResponse,\n TOTPRecoverOptions,\n TOTPRecoverResponse,\n TOTPRecoveryCodesResponse,\n StytchProjectConfigurationInput,\n} from '../public';\n\nimport { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport { omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessTOTPClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessTOTPClient<TProjectConfiguration>\n{\n authenticate: (options: TOTPAuthenticateOptions) => Promise<TOTPAuthenticateResponse<TProjectConfiguration>>;\n\n recover: (options: TOTPRecoverOptions) => Promise<TOTPRecoverResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (options: TOTPAuthenticateOptions): Promise<TOTPAuthenticateResponse<TProjectConfiguration>> => {\n validateInDev('stytch.totps.authenticate', options, {\n session_duration_minutes: 'number',\n totp_code: 'string',\n });\n\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const resp = await this._networkClient.retriableFetchSDK<\n WithUser<TOTPAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/totps/authenticate',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n totp_code: options.totp_code,\n captcha_token,\n dfp_telemetry_id,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n\n this.recover = this._subscriptionService.withUpdateSession(\n async (options: TOTPRecoverOptions): Promise<TOTPRecoverResponse<TProjectConfiguration>> => {\n validateInDev('stytch.totps.recover', options, {\n session_duration_minutes: 'number',\n recovery_code: 'string',\n });\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n const resp = await this._networkClient.retriableFetchSDK<WithUser<TOTPRecoverResponse<TProjectConfiguration>>>({\n url: '/totps/recover',\n method: 'POST',\n body: {\n session_duration_minutes: options.session_duration_minutes,\n recovery_code: options.recovery_code,\n captcha_token,\n dfp_telemetry_id,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(resp);\n },\n );\n }\n\n async create(options: TOTPCreateOptions): Promise<TOTPCreateResponse> {\n validateInDev('stytch.totps.create', options, {\n expiration_minutes: 'number',\n });\n\n const resp = await this._networkClient.fetchSDK<WithUser<TOTPCreateResponse>>({\n url: '/totps',\n method: 'POST',\n body: {\n expiration_minutes: options.expiration_minutes,\n },\n });\n\n this._subscriptionService.updateUser(resp.__user);\n\n return omitUser(resp);\n }\n\n async recoveryCodes(): Promise<TOTPRecoveryCodesResponse> {\n return this._networkClient.fetchSDK<TOTPRecoveryCodesResponse>({\n url: '/totps/recovery_codes',\n method: 'POST',\n });\n }\n}\n","// src/webauthn-json/base64url.ts\nfunction base64urlToBuffer(baseurl64String) {\n const padding = \"==\".slice(0, (4 - baseurl64String.length % 4) % 4);\n const base64String = baseurl64String.replace(/-/g, \"+\").replace(/_/g, \"/\") + padding;\n const str = atob(base64String);\n const buffer = new ArrayBuffer(str.length);\n const byteView = new Uint8Array(buffer);\n for (let i = 0; i < str.length; i++) {\n byteView[i] = str.charCodeAt(i);\n }\n return buffer;\n}\nfunction bufferToBase64url(buffer) {\n const byteView = new Uint8Array(buffer);\n let str = \"\";\n for (const charCode of byteView) {\n str += String.fromCharCode(charCode);\n }\n const base64String = btoa(str);\n const base64urlString = base64String.replace(/\\+/g, \"-\").replace(\n /\\//g,\n \"_\"\n ).replace(/=/g, \"\");\n return base64urlString;\n}\n\n// src/webauthn-json/convert.ts\nvar copyValue = \"copy\";\nvar convertValue = \"convert\";\nfunction convert(conversionFn, schema2, input) {\n if (schema2 === copyValue) {\n return input;\n }\n if (schema2 === convertValue) {\n return conversionFn(input);\n }\n if (schema2 instanceof Array) {\n return input.map((v) => convert(conversionFn, schema2[0], v));\n }\n if (schema2 instanceof Object) {\n const output = {};\n for (const [key, schemaField] of Object.entries(schema2)) {\n if (schemaField.derive) {\n const v = schemaField.derive(input);\n if (v !== void 0) {\n input[key] = v;\n }\n }\n if (!(key in input)) {\n if (schemaField.required) {\n throw new Error(`Missing key: ${key}`);\n }\n continue;\n }\n if (input[key] == null) {\n output[key] = null;\n continue;\n }\n output[key] = convert(\n conversionFn,\n schemaField.schema,\n input[key]\n );\n }\n return output;\n }\n}\nfunction derived(schema2, derive) {\n return {\n required: true,\n schema: schema2,\n derive\n };\n}\nfunction required(schema2) {\n return {\n required: true,\n schema: schema2\n };\n}\nfunction optional(schema2) {\n return {\n required: false,\n schema: schema2\n };\n}\n\n// src/webauthn-json/basic/schema.ts\nvar publicKeyCredentialDescriptorSchema = {\n type: required(copyValue),\n id: required(convertValue),\n transports: optional(copyValue)\n};\nvar simplifiedExtensionsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar simplifiedClientExtensionResultsSchema = {\n appid: optional(copyValue),\n appidExclude: optional(copyValue),\n credProps: optional(copyValue)\n};\nvar credentialCreationOptions = {\n publicKey: required({\n rp: required(copyValue),\n user: required({\n id: required(convertValue),\n name: required(copyValue),\n displayName: required(copyValue)\n }),\n challenge: required(convertValue),\n pubKeyCredParams: required(copyValue),\n timeout: optional(copyValue),\n excludeCredentials: optional([publicKeyCredentialDescriptorSchema]),\n authenticatorSelection: optional(copyValue),\n attestation: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAttestation = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n attestationObject: required(convertValue),\n transports: derived(\n copyValue,\n (response) => {\n var _a;\n return ((_a = response.getTransports) == null ? void 0 : _a.call(response)) || [];\n }\n )\n }),\n clientExtensionResults: derived(\n simplifiedClientExtensionResultsSchema,\n (pkc) => pkc.getClientExtensionResults()\n )\n};\nvar credentialRequestOptions = {\n mediation: optional(copyValue),\n publicKey: required({\n challenge: required(convertValue),\n timeout: optional(copyValue),\n rpId: optional(copyValue),\n allowCredentials: optional([publicKeyCredentialDescriptorSchema]),\n userVerification: optional(copyValue),\n extensions: optional(simplifiedExtensionsSchema)\n }),\n signal: optional(copyValue)\n};\nvar publicKeyCredentialWithAssertion = {\n type: required(copyValue),\n id: required(copyValue),\n rawId: required(convertValue),\n authenticatorAttachment: optional(copyValue),\n response: required({\n clientDataJSON: required(convertValue),\n authenticatorData: required(convertValue),\n signature: required(convertValue),\n userHandle: required(convertValue)\n }),\n clientExtensionResults: derived(\n simplifiedClientExtensionResultsSchema,\n (pkc) => pkc.getClientExtensionResults()\n )\n};\nvar schema = {\n credentialCreationOptions,\n publicKeyCredentialWithAttestation,\n credentialRequestOptions,\n publicKeyCredentialWithAssertion\n};\n\n// src/webauthn-json/basic/api.ts\nfunction createRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialCreationOptions, requestJSON);\n}\nfunction createResponseToJSON(credential) {\n return convert(\n bufferToBase64url,\n publicKeyCredentialWithAttestation,\n credential\n );\n}\nasync function create(requestJSON) {\n const credential = await navigator.credentials.create(\n createRequestFromJSON(requestJSON)\n );\n return createResponseToJSON(credential);\n}\nfunction getRequestFromJSON(requestJSON) {\n return convert(base64urlToBuffer, credentialRequestOptions, requestJSON);\n}\nfunction getResponseToJSON(credential) {\n return convert(\n bufferToBase64url,\n publicKeyCredentialWithAssertion,\n credential\n );\n}\nasync function get(requestJSON) {\n const credential = await navigator.credentials.get(\n getRequestFromJSON(requestJSON)\n );\n return getResponseToJSON(credential);\n}\n\n// src/webauthn-json/basic/supported.ts\nfunction supported() {\n return !!(navigator.credentials && navigator.credentials.create && navigator.credentials.get && window.PublicKeyCredential);\n}\nexport {\n create,\n get,\n schema,\n supported\n};\n//# sourceMappingURL=webauthn-json.js.map\n","import * as webauthnJson from '@github/webauthn-json';\nimport {\n IHeadlessWebAuthnClient,\n StytchProjectConfigurationInput,\n WebAuthnAuthenticateResponse,\n WebAuthnAuthenticateStartOptions,\n WebAuthnAuthenticateStartResponse,\n WebAuthnRegisterResponse,\n WebAuthnRegisterStartOptions,\n WebAuthnRegisterStartResponse,\n WebAuthnUpdateOptions,\n WebAuthnUpdateResponse,\n} from '../public';\n\nimport { IConsumerSubscriptionService, IDFPProtectedAuthProvider, INetworkClient } from '..';\nimport { logger, omitUser, WithUser } from '../utils';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessWebAuthnClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessWebAuthnClient<TProjectConfiguration>\n{\n register: (options: WebAuthnRegisterStartOptions) => Promise<WebAuthnRegisterResponse<TProjectConfiguration>>;\n\n authenticate: (\n options: WebAuthnAuthenticateStartOptions,\n ) => Promise<WebAuthnAuthenticateResponse<TProjectConfiguration> | null>;\n\n constructor(\n public _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.register = this._subscriptionService.withUpdateSession(\n async (options?: WebAuthnRegisterStartOptions): Promise<WebAuthnRegisterResponse<TProjectConfiguration>> => {\n if (options) {\n validateInDev('stytch.webauthn.register', options, {\n domain: 'optionalString',\n authenticator_type: 'optionalString',\n is_passkey: 'optionalBoolean',\n session_duration_minutes: 'number',\n override_id: 'optionalString',\n override_name: 'optionalString',\n override_display_name: 'optionalString',\n use_base64_url_encoding: 'optionalBoolean',\n });\n }\n\n const startResp = await this._networkClient.fetchSDK<WebAuthnRegisterStartResponse>({\n url: '/webauthn/register/start',\n method: 'POST',\n body: {\n domain: options?.domain ?? window.location.hostname,\n authenticator_type: options?.authenticator_type ?? undefined,\n return_passkey_credential_options: options?.is_passkey,\n override_id: options?.override_id,\n override_name: options?.override_name,\n override_display_name: options?.override_display_name,\n user_agent: navigator.userAgent,\n use_base64_url_encoding: options?.use_base64_url_encoding,\n },\n });\n\n const publicKeyCredentialCreationOptions = startResp.public_key_credential_creation_options;\n const publicKey = JSON.parse(publicKeyCredentialCreationOptions);\n\n const credential = await webauthnJson.create({\n publicKey: publicKey,\n });\n\n const resp = await this._networkClient.fetchSDK<WithUser<WebAuthnRegisterResponse<TProjectConfiguration>>>({\n url: '/webauthn/register',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options?.session_duration_minutes,\n },\n });\n\n return omitUser(resp);\n },\n );\n\n this.authenticate = this._subscriptionService.withUpdateSession(\n async (\n options: WebAuthnAuthenticateStartOptions,\n ): Promise<WebAuthnAuthenticateResponse<TProjectConfiguration> | null> => {\n validateInDev('stytch.webauthn.authenticate', options, {\n domain: 'optionalString',\n session_duration_minutes: 'number',\n is_passkey: 'optionalBoolean',\n signal: 'optionalObject',\n conditional_mediation: 'optionalBoolean',\n disable_input_check: 'optionalBoolean',\n });\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n\n if (options.conditional_mediation) {\n if (!(await this.browserSupportsAutofill())) {\n logger.error('Browser does not support WebAuthn autofill');\n return null;\n }\n\n if (!options.disable_input_check && !this.checkEligibleInputs()) {\n return null;\n }\n }\n\n const isLoggedIn = !!this._subscriptionService.getSession();\n\n const endpoint = isLoggedIn ? '/webauthn/authenticate/start/secondary' : '/webauthn/authenticate/start/primary';\n\n const startResp = await this._networkClient.fetchSDK<WebAuthnAuthenticateStartResponse>({\n url: endpoint,\n method: 'POST',\n body: {\n domain: options.domain ?? window.location.hostname,\n return_passkey_credential_options: options?.is_passkey,\n },\n });\n\n const publicKeyCredentialRequestOptions = startResp.public_key_credential_request_options;\n const abortController = new AbortController();\n const credReqOptions = {\n publicKey: JSON.parse(publicKeyCredentialRequestOptions),\n signal: options.signal ?? abortController.signal,\n };\n const conditionalMediationCredReqOption = {\n ...credReqOptions,\n mediation: 'conditional' as CredentialMediationRequirement,\n };\n const credential = await webauthnJson.get(\n options.conditional_mediation ? conditionalMediationCredReqOption : credReqOptions,\n );\n\n const authenticationData = await this._networkClient.retriableFetchSDK<\n WithUser<WebAuthnAuthenticateResponse<TProjectConfiguration>>\n >({\n url: '/webauthn/authenticate',\n method: 'POST',\n body: {\n public_key_credential: JSON.stringify(credential),\n session_duration_minutes: options.session_duration_minutes,\n dfp_telemetry_id,\n captcha_token,\n },\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n\n return omitUser(authenticationData);\n },\n );\n }\n\n async update(options: WebAuthnUpdateOptions): Promise<WebAuthnUpdateResponse> {\n validateInDev('stytch.webauthn.update', options, {\n webauthn_registration_id: 'string',\n name: 'string',\n });\n\n const url = '/webauthn/update/' + options.webauthn_registration_id;\n return await this._networkClient.fetchSDK<WebAuthnUpdateResponse>({\n url: url,\n method: 'PUT',\n body: {\n name: options.name,\n },\n });\n }\n\n async browserSupportsAutofill(): Promise<boolean> {\n return (await window.PublicKeyCredential?.isConditionalMediationAvailable?.()) ?? false;\n }\n\n private checkEligibleInputs = (): boolean => {\n // Check for an <input> with \"webauthn\" in its `autocomplete` attribute\n const eligibleInputs = document.querySelectorAll(\"input[autocomplete*='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1) {\n logger.error('No <input> with `\"webauthn\"` in its `autocomplete` attribute was detected');\n return false;\n }\n return true;\n };\n}\n","import { IDFPProtectedAuthProvider } from '../DFPProtectedAuthProvider';\nimport { INetworkClient } from '../NetworkClient';\nimport {\n ImpersonationAuthenticateOptions,\n ImpersonationAuthenticateResponse,\n IHeadlessImpersonationClient,\n} from '../public/impersonation';\nimport { StytchProjectConfigurationInput } from '../public/typeConfig';\nimport { IConsumerSubscriptionService } from '../SubscriptionService';\nimport { validateInDev } from '../utils/dev';\n\nexport class HeadlessImpersonationClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessImpersonationClient<TProjectConfiguration>\n{\n authenticate: (\n data: ImpersonationAuthenticateOptions,\n ) => Promise<ImpersonationAuthenticateResponse<TProjectConfiguration>>;\n\n constructor(\n private _networkClient: INetworkClient,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n private dfpProtectedAuth: IDFPProtectedAuthProvider,\n ) {\n this.authenticate = this._subscriptionService.withUpdateSession(async (data: ImpersonationAuthenticateOptions) => {\n validateInDev('stytch.impersonation.authenticate', data, {\n impersonation_token: 'string',\n });\n const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();\n return this._networkClient.retriableFetchSDK<ImpersonationAuthenticateResponse<TProjectConfiguration>>({\n url: '/impersonation/authenticate',\n body: {\n ...data,\n dfp_telemetry_id,\n captcha_token,\n },\n method: 'POST',\n retryCallback: this.dfpProtectedAuth.retryWithCaptchaAndDFP,\n });\n });\n }\n}\n","import { IConsumerSubscriptionService } from '../SubscriptionService';\nimport { logger } from '../utils';\nimport { RBACPolicy, RBACPolicyRaw } from '../rbac';\nimport { IHeadlessRBACClient, ConsumerPermissionsMap } from '../public/rbac';\nimport { StytchProjectConfigurationInput } from '../public/typeConfig';\n\ntype CachedConfig = {\n rbacPolicy: RBACPolicyRaw | null;\n};\n\ntype DynamicConfig = Promise<CachedConfig>;\n\nexport class HeadlessRBACClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n implements IHeadlessRBACClient\n{\n private cachedPolicy: RBACPolicy | null;\n private policyPromise: Promise<RBACPolicy>;\n constructor(\n cachedConfig: CachedConfig,\n dynamicConfig: DynamicConfig,\n private _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n ) {\n this.cachedPolicy = cachedConfig.rbacPolicy ? RBACPolicy.fromJSON(cachedConfig.rbacPolicy) : null;\n this.policyPromise = dynamicConfig.then((data) => {\n if (!data.rbacPolicy) {\n logger.error('Unable to retrieve RBAC policy from servers. Assuming caller has no permissions.');\n return new RBACPolicy([], []);\n }\n // Update the existing policy too, so isAuthorizedSync will be up-to-date\n this.cachedPolicy = RBACPolicy.fromJSON(data.rbacPolicy);\n return this.cachedPolicy;\n });\n }\n\n allPermissions<Permissions extends Record<string, string>>() {\n return this.policyPromise.then(\n (policy) => policy.allPermissionsForCaller(this.roleIds()) as ConsumerPermissionsMap<Permissions>,\n );\n }\n\n isAuthorizedSync: IHeadlessRBACClient['isAuthorizedSync'] = (resourceId, action) => {\n return !!this.cachedPolicy?.callerIsAuthorized(this.roleIds(), resourceId as string, action as unknown as string);\n };\n\n isAuthorized: IHeadlessRBACClient['isAuthorized'] = (resourceId, action) => {\n return this.policyPromise.then((policy) =>\n policy.callerIsAuthorized(this.roleIds(), resourceId as string, action as unknown as string),\n );\n };\n\n private roleIds() {\n const user = this._subscriptionService.getUser();\n\n if (!user) {\n return [];\n }\n\n // Although user.roles is guaranteed to exist for fresh data, there is a chance\n // that the user stored in localstorage clientside comes from before roles were added to\n // the API response - in which case user.roles will be undefined and this will crash\n // TODO: [AUTH-2294] We can safely remove this ~3mos after RBAC is released\n return user.roles ?? [];\n }\n}\n","import { INetworkClient } from '../NetworkClient';\nimport {\n IHeadlessIDPClient,\n OAuthAuthorizeStartOptions,\n OAuthAuthorizeStartResponse,\n OAuthAuthorizeSubmitOptions,\n OAuthAuthorizeSubmitResponse,\n OAuthLogoutStartOptions,\n OAuthLogoutStartResponse,\n} from '../public/idp';\n\nexport class HeadlessIDPClient implements IHeadlessIDPClient {\n constructor(private _networkClient: INetworkClient) {}\n\n oauthAuthorizeStart = async (data: OAuthAuthorizeStartOptions): Promise<OAuthAuthorizeStartResponse> =>\n this._networkClient.fetchSDK<OAuthAuthorizeStartResponse>({\n url: '/idp/oauth/authorize/start',\n method: 'POST',\n body: data,\n });\n\n oauthAuthorizeSubmit = async (data: OAuthAuthorizeSubmitOptions): Promise<OAuthAuthorizeSubmitResponse> =>\n this._networkClient.fetchSDK<OAuthAuthorizeSubmitResponse>({\n url: '/idp/oauth/authorize/submit',\n method: 'POST',\n body: data,\n });\n\n oauthLogoutStart = async (data: OAuthLogoutStartOptions): Promise<OAuthLogoutStartResponse> =>\n this._networkClient.fetchSDK<OAuthLogoutStartResponse>({\n url: `/oauth/logout/start`,\n method: 'POST',\n body: data,\n });\n}\n","import { IHeadlessOAuthClient, OneTapPositions, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport {\n HeadlessOAuthClient as BaseHeadlessOAuthClient,\n INetworkClient,\n IPKCEManager,\n IConsumerSubscriptionService,\n} from '@stytch/core';\nimport { OneTapProvider } from './oneTap/OneTapProvider';\nimport { OneTapRenderResult } from './oneTap/GoogleOneTapClient';\n\nexport type GoogleOneTapOAuthOptions = {\n /**\n * The URL that Stytch redirects to after the OAuth flow is completed for a user that already exists.\n * This URL should be an endpoint in the backend server that verifies the request by querying Stytch's /oauth/authenticate endpoint and finishes the login.\n * The URL should be configured as a Login URL in the Stytch Dashboard's Redirect URL page.\n * If the field is not specified, the default in the Dashboard is used.\n */\n login_redirect_url?: string;\n /**\n * The URL that Stytch redirects to after the OAuth flow is completed for a user that does not yet exist.\n * This URL should be an endpoint in the backend server that verifies the request by querying Stytch's /oauth/authenticate endpoint and finishes the login.\n * The URL should be configured as a Sign Up URL in the Stytch Dashboard's Redirect URL page.\n * If the field is not specified, the default in the Dashboard is used.\n */\n signup_redirect_url?: string;\n /**\n * An optional callback function that runs when a user explicitly cancels out of the one tap flow.\n * This callback may not be invoked immediately or at all depending on the behavior of the browser and Google's SDK.\n */\n onOneTapCancelled?: () => void;\n /**\n * Controls whether clicking outside the One Tap prompt dismisses the prompt.\n * Defaults to true.\n */\n cancel_on_tap_outside?: boolean;\n};\n\ninterface IGoogleOneTapOAuthProvider {\n /**\n * Start an OAuth flow by showing the Google one tap prompt in the top right corner of the user's browser.\n * You can configure this to be started by a user action (i.e Button click) or on load/render.\n * @example\n * const showGoogleOneTap = useCallback(()=> {\n * stytch.oauth.googleOneTap.start({\n * login_redirect_url: 'https://example.com/oauth/callback',\n * signup_redirect_url: 'https://example.com/oauth/callback',\n * })\n * }, [stytch]);\n * return (\n * <Button onClick={showGoogleOneTap}> Show Google one tap </Button>\n * );\n *\n * @param options - An {@link GoogleOneTapOAuthOptions} object\n *\n * @returns A {@link OneTapRenderResult} object. The result object includes if the one-tap prompt\n * was rendered, and a reason if it couldn't be rendered.\n *\n * @throws An Error if the one tap client cannot be created.\n */\n start(options?: GoogleOneTapOAuthOptions): Promise<OneTapRenderResult>;\n}\n\ntype DynamicConfig = Promise<{\n cnameDomain: null | string;\n pkceRequiredForOAuth: boolean;\n}>;\ntype Config = {\n publicToken: string;\n testAPIURL: string;\n liveAPIURL: string;\n};\n\nexport interface IWebOAuthClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n extends IHeadlessOAuthClient<TProjectConfiguration> {\n googleOneTap: IGoogleOneTapOAuthProvider;\n}\n\nexport class HeadlessOAuthClient<TProjectConfiguration extends StytchProjectConfigurationInput>\n extends BaseHeadlessOAuthClient<TProjectConfiguration>\n implements IWebOAuthClient<TProjectConfiguration>\n{\n constructor(\n _networkClient: INetworkClient,\n _subscriptionService: IConsumerSubscriptionService<TProjectConfiguration>,\n _pkceManager: IPKCEManager,\n _dynamicConfig: DynamicConfig,\n _config: Config,\n private _oneTap: OneTapProvider,\n ) {\n super(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config);\n }\n\n private startOneTap = async (options: GoogleOneTapOAuthOptions): Promise<OneTapRenderResult> => {\n const clientResult = await this._oneTap.createOneTapClient();\n if (!clientResult.success) {\n throw new Error(`One Tap could not load: ${clientResult.reason}`);\n }\n\n const { client } = clientResult;\n\n const onSuccessCallback = this._oneTap.createOnSuccessHandler({\n signupRedirectUrl: options.signup_redirect_url,\n loginRedirectUrl: options.login_redirect_url,\n onSuccess: this._oneTap.redirectOnSuccess,\n });\n\n return client.render({\n style: {\n position: OneTapPositions.floating,\n },\n onOneTapCancelled: options.onOneTapCancelled,\n callback: onSuccessCallback,\n cancelOnTapOutside: options.cancel_on_tap_outside,\n });\n };\n\n googleOneTap: IGoogleOneTapOAuthProvider = {\n start: this.startOneTap,\n };\n}\n","import {\n checkNotSSR,\n checkPublicToken,\n DFPProtectedAuthProvider,\n HeadlessCryptoWalletClient,\n HeadlessMagicLinksClient,\n HeadlessOTPClient,\n HeadlessPasswordClient,\n HeadlessImpersonationClient,\n HeadlessSessionClient,\n HeadlessTOTPClient,\n HeadlessUserClient,\n HeadlessWebAuthnClient,\n INetworkClient,\n SearchDataManager,\n SessionManager,\n StateChangeClient,\n StateChangeRegisterFunction,\n VERTICAL_B2B,\n logger,\n HeadlessRBACClient,\n HeadlessIDPClient,\n} from '@stytch/core';\nimport {\n ConsumerState,\n IHeadlessCryptoWalletClient,\n IHeadlessMagicLinksClient,\n IHeadlessOTPsClient,\n IHeadlessPasswordClient,\n IHeadlessSessionClient,\n IHeadlessTOTPClient,\n IHeadlessUserClient,\n IHeadlessWebAuthnClient,\n IHeadlessImpersonationClient,\n StytchClientOptions,\n StytchProjectConfigurationInput,\n IHeadlessRBACClient,\n} from '@stytch/core/public';\nimport { BootstrapDataManager } from './BootstrapDataManager';\nimport { CaptchaProvider } from './CaptchaProvider';\nimport { ClientsideServicesProvider } from './ClientsideServicesProvider';\nimport { HeadlessOAuthClient, IWebOAuthClient } from './HeadlessOAuthClient';\nimport { NetworkClient } from './NetworkClient';\nimport { OneTapProvider } from './oneTap/OneTapProvider';\nimport { PKCEManager } from './PKCEManager';\nimport {\n ConsumerSubscriptionDataLayer,\n ConsumerSubscriptionService,\n getConsumerDataLayer,\n} from './SubscriptionService';\nimport { writeB2CInternals } from './utils/internal';\nimport { buildFinalConfig, hasCustomApiEndpoint } from './utils/config';\nimport { createAuthUrlHandler, AuthenticateByUrl, ParseAuthenticateUrl } from './utils/createAuthUrlHandler';\n\nexport type HandledTokenType = 'magic_links' | 'oauth' | 'impersonation';\n\n/**\n * A headless client used for invoking the Stytch API.\n * The Stytch Headless Client can be used as a drop-in solution for authentication and session management.\n * Full documentation can be found {@link https://stytch.com/docs/sdks/javascript-sdk online}.\n * @example\n * const stytch = new StytchClient('public-token-<find yours in the stytch dashboard>');\n * stytch.magicLinks.email.loginOrCreate('sandbox@stytch.com', {\n * login_magic_link_url: 'https://example.com/authenticate',\n * login_expiration_minutes: 60,\n * signup_magic_link_url: 'https://example.com/authenticate',\n * signup_expiration_minutes: 60,\n * });\n */\nexport class StytchClient<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n private readonly _subscriptionService: ConsumerSubscriptionService<TProjectConfiguration>;\n private readonly _sessionManager: SessionManager<TProjectConfiguration>;\n private readonly _networkClient: INetworkClient;\n private readonly _dataLayer: ConsumerSubscriptionDataLayer;\n private readonly _stateChangeClient: StateChangeClient<ConsumerState>;\n\n // External API Clients\n user: IHeadlessUserClient;\n magicLinks: IHeadlessMagicLinksClient<TProjectConfiguration>;\n session: IHeadlessSessionClient<TProjectConfiguration>;\n otps: IHeadlessOTPsClient<TProjectConfiguration>;\n oauth: IWebOAuthClient<TProjectConfiguration>;\n cryptoWallets: IHeadlessCryptoWalletClient<TProjectConfiguration>;\n totps: IHeadlessTOTPClient<TProjectConfiguration>;\n webauthn: IHeadlessWebAuthnClient<TProjectConfiguration>;\n passwords: IHeadlessPasswordClient<TProjectConfiguration>;\n impersonation: IHeadlessImpersonationClient<TProjectConfiguration>;\n rbac: IHeadlessRBACClient;\n idp: HeadlessIDPClient;\n\n // External methods\n /**\n * Register a callback function to be invoked whenever certain state changes\n * occur, like a user or session object being updated.\n *\n * This is an alternative to more specific methods like `user.onChange` and\n * `session.onChange`. It can be helpful if you want to be notified of related\n * changes to different parts of state at once.\n *\n * If you are only interested in specific state changes, consider using more\n * specific methods like `user.onChange` and `session.onChange` instead.\n */\n onStateChange: StateChangeRegisterFunction<ConsumerState>;\n\n /**\n * Extracts token and token type from the current page URL's query parameters.\n * If the current URL do not have the required query params, this will return null.\n * Otherwise, returns an object { handled: boolean, tokenType: string, token: string }\n */\n parseAuthenticateUrl: ParseAuthenticateUrl<HandledTokenType>;\n\n /**\n * Call this method to authenticate the user when the user has been redirected\n * to this page with a token in the query parameters, such as after OAuth\n * or through an email magic link. This method currently supports\n *\n * - Magic links\n * - OAuth\n * - Impersonation\n *\n * Returns null if token or stytch_token_type query parameters are not present,\n * or returns an unhandled result if the token type is not recognized.\n */\n authenticateByUrl: AuthenticateByUrl<HandledTokenType>;\n\n constructor(publicTokenRaw: string, options?: StytchClientOptions) {\n checkNotSSR();\n\n // Intentionally check the raw public token so that we can log a correct error message,\n // but then coalesce to an empty string so that the UI components don't fail to render.\n checkPublicToken(publicTokenRaw);\n const _PUBLIC_TOKEN = publicTokenRaw ?? '';\n\n // Not casting to InternalStytchClientOptions since InternalStytchClientOptions is currently a superset\n const config = buildFinalConfig(this.constructor.name, options);\n const usingCustomApiEndpoint = hasCustomApiEndpoint(_PUBLIC_TOKEN, options);\n\n this._dataLayer = getConsumerDataLayer(_PUBLIC_TOKEN, config);\n this._subscriptionService = new ConsumerSubscriptionService(_PUBLIC_TOKEN, this._dataLayer, {\n usingCustomApiEndpoint,\n });\n this._stateChangeClient = new StateChangeClient(this._subscriptionService, {});\n this.onStateChange = (...args) => this._stateChangeClient.onStateChange(...args);\n\n const additionalTelemetryDataFn = () => ({\n stytch_user_id: this._dataLayer.state?.user?.user_id,\n stytch_session_id: this._dataLayer.state?.session?.session_id,\n });\n\n const passwordsPKCEManager = new PKCEManager(this._dataLayer, 'passwords');\n const networkClient = new NetworkClient(\n _PUBLIC_TOKEN,\n this._dataLayer,\n config.endpoints.liveAPIURL,\n config.endpoints.testAPIURL,\n additionalTelemetryDataFn,\n );\n this._networkClient = networkClient;\n\n const bootstrap = new BootstrapDataManager(_PUBLIC_TOKEN, this._networkClient, this._dataLayer);\n const captcha = new CaptchaProvider(bootstrap.getAsync());\n const dfpProtectedAuth = new DFPProtectedAuthProvider(\n _PUBLIC_TOKEN,\n config.endpoints.dfpBackendURL,\n config.endpoints.dfpCdnURL,\n bootstrap.getAsync(),\n captcha.executeRecaptcha,\n );\n const clientsideServices = new ClientsideServicesProvider(config.endpoints.clientsideServicesIframeURL);\n const oneTap = new OneTapProvider(_PUBLIC_TOKEN, clientsideServices);\n const searchManager = new SearchDataManager(this._networkClient, dfpProtectedAuth);\n\n this.user = new HeadlessUserClient(this._networkClient, this._subscriptionService);\n this.session = new HeadlessSessionClient(this._networkClient, this._subscriptionService);\n this.magicLinks = new HeadlessMagicLinksClient(\n this._networkClient,\n this._subscriptionService,\n new PKCEManager(this._dataLayer, 'magic_links'),\n passwordsPKCEManager,\n bootstrap.getAsync(),\n dfpProtectedAuth,\n );\n this.otps = new HeadlessOTPClient(\n this._networkClient,\n this._subscriptionService,\n captcha.executeRecaptcha,\n dfpProtectedAuth,\n );\n this.oauth = new HeadlessOAuthClient(\n this._networkClient,\n this._subscriptionService,\n new PKCEManager(this._dataLayer, 'oauth'),\n bootstrap.getAsync(),\n {\n publicToken: _PUBLIC_TOKEN,\n testAPIURL: config.endpoints.testAPIURL,\n liveAPIURL: config.endpoints.liveAPIURL,\n },\n oneTap,\n );\n this.cryptoWallets = new HeadlessCryptoWalletClient(\n this._networkClient,\n this._networkClient,\n this._subscriptionService,\n captcha.executeRecaptcha,\n dfpProtectedAuth,\n bootstrap.getAsync(),\n );\n this.totps = new HeadlessTOTPClient(this._networkClient, this._subscriptionService, dfpProtectedAuth);\n this.webauthn = new HeadlessWebAuthnClient(this._networkClient, this._subscriptionService, dfpProtectedAuth);\n this.passwords = new HeadlessPasswordClient(\n this._networkClient,\n this._subscriptionService,\n passwordsPKCEManager,\n bootstrap.getAsync(),\n dfpProtectedAuth,\n );\n this.impersonation = new HeadlessImpersonationClient(\n this._networkClient,\n this._subscriptionService,\n dfpProtectedAuth,\n );\n\n this.rbac = new HeadlessRBACClient(bootstrap.getSync(), bootstrap.getAsync(), this._subscriptionService);\n this.idp = new HeadlessIDPClient(this._networkClient);\n this._sessionManager = new SessionManager(this._subscriptionService, this.session, _PUBLIC_TOKEN, {\n keepSessionAlive: config.keepSessionAlive,\n });\n\n // If the session does not exist in localstorage (like if we are in an iframe)\n // then the cookie might still be set and we can retrieve the session via an API call.\n // If a custom API endpoint is being used, the session may be being managed by\n // HttpOnly cookies, which we can't detect.\n if (usingCustomApiEndpoint || this._dataLayer.readSessionCookie().session_token) {\n this._sessionManager.performBackgroundRefresh();\n }\n\n this._networkClient.logEvent({\n name: 'sdk_instance_instantiated',\n details: {\n event_callback_registered: false,\n error_callback_registered: false,\n success_callback_registered: false,\n },\n });\n\n bootstrap.getAsync().then((bootstrapData) => {\n if (bootstrapData.vertical === VERTICAL_B2B) {\n logger.error(\n 'This application is using a Stytch client for Consumer projects, but the public token is for a Stytch B2B project. Use a B2B Stytch client instead, or verify that the public token is correct.',\n );\n }\n });\n\n const { authenticateByUrl, parseAuthenticateUrl } = createAuthUrlHandler({\n magic_links: (token, options) => this.magicLinks.authenticate(token, options),\n oauth: (token, options) => this.oauth.authenticate(token, options),\n impersonation: (token: string) => this.impersonation.authenticate({ impersonation_token: token }),\n });\n\n this.authenticateByUrl = authenticateByUrl;\n this.parseAuthenticateUrl = parseAuthenticateUrl;\n\n writeB2CInternals(this, {\n bootstrap,\n clientsideServices,\n captcha,\n oneTap,\n searchManager,\n publicToken: _PUBLIC_TOKEN,\n dataLayer: this._dataLayer,\n networkClient: this._networkClient,\n });\n }\n}\n","import { StytchClient } from './StytchClient';\nimport { ssrSafeClientFactory } from './ui/react/bindings/StytchSSRProxy';\n\n/**\n * Creates a Headless Stytch client object to call the stytch APIs.\n * The Stytch client is not available serverside.\n * @example\n * const stytch = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * return (\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>\n * )\n * @returns A {@link StytchClient}\n */\nexport const createStytchClient = ssrSafeClientFactory(StytchClient);\n\n/**\n * @deprecated Use createStytchClient instead\n */\nexport const createStytchHeadlessClient = createStytchClient;\n\n/**\n * @deprecated Use StytchClient instead\n */\nexport const StytchHeadlessClient = StytchClient;\n\nexport { StytchClient };\n\nexport { parseOAuthAuthorizeParams, parseOAuthLogoutParams } from './utils/idpHelpers';\nexport type { OAuthAuthorizeParams, OAuthLogoutParams } from './utils/idpHelpers';\n\nexport * from '@stytch/core/public';\n"],"names":["HeadlessUserClient","constructor","_subscriptionService","_networkClient","get","resp","fetchSDK","url","method","user","removeResponseCommon","updateUser","getSync","getUser","getInfo","fromCache","getFromCache","update","options","body","__user","omitUser","deleteEmail","emailId","deletePhoneNumber","phoneId","deleteTOTP","totpId","deleteCryptoWallet","cryptoWalletId","deleteOAuthRegistration","oauthUserRegistrationId","deleteWebauthnRegistration","webAuthnId","deleteBiometricRegistration","biometricRegistrationId","onChange","callback","lastVal","listener","state","subscribeToState","getConnectedApps","revokedConnectedApp","connectedAppId","HeadlessSessionClient","authenticate","exchangeAccessToken","attest","getSession","session","revoke","destroyState","error","forceClear","UNRECOVERABLE_ERROR_TYPES","includes","error_type","_authenticate","initialSession","isSessionStale","session_id","requestBody","session_duration_minutes","destroySession","withUpdateSession","data","getTokens","updateSession","tokens","updateTokens","HeadlessOTPClient","executeRecaptcha","Promise","resolve","undefined","dfpProtectedAuth","sms","loginOrCreate","phone_number","dfp_telemetry_id","captcha_token","getDFPTelemetryIDAndCaptcha","retriableFetchSDK","retryCallback","retryWithCaptchaAndDFP","send","isLoggedIn","endpoint","whatsapp","email","code","method_id","token","HeadlessOAuthClient","_pkceManager","_config","_dynamicConfig","google","start","startOAuthFlow","OAuthProviders","Google","apple","Apple","microsoft","Microsoft","github","Github","gitlab","GitLab","facebook","Facebook","discord","Discord","salesforce","Salesforce","slack","Slack","amazon","Amazon","bitbucket","Bitbucket","linkedin","LinkedIn","coinbase","Coinbase","twitch","Twitch","twitter","Twitter","tiktok","TikTok","snapchat","Snapchat","figma","Figma","yahoo","Yahoo","keyPair","getPKPair","logger","warn","code_verifier","clearPKPair","attach","provider","getBaseApiUrl","cnameDomain","isTestPublicToken","publicToken","testAPIURL","liveAPIURL","providerType","login_redirect_url","signup_redirect_url","custom_scopes","provider_params","oauth_attach_token","pkceRequiredForOAuth","baseURL","logEvent","name","details","provider_type","cname_domain","pkce","oauthUrl","URL","searchParams","set","startPKCETransaction","code_challenge","join","key","navigate","window","location","href","toString","HeadlessTOTPClient","recover","totp_code","recovery_code","create","expiration_minutes","recoveryCodes","HeadlessWebAuthnClient","register","checkEligibleInputs","eligibleInputs","document","querySelectorAll","length","startResp","domain","hostname","authenticator_type","return_passkey_credential_options","is_passkey","override_id","override_name","override_display_name","user_agent","navigator","userAgent","use_base64_url_encoding","publicKeyCredentialCreationOptions","public_key_credential_creation_options","publicKey","JSON","parse","credential","webauthnJson","public_key_credential","stringify","conditional_mediation","browserSupportsAutofill","disable_input_check","publicKeyCredentialRequestOptions","public_key_credential_request_options","abortController","AbortController","credReqOptions","signal","conditionalMediationCredReqOption","mediation","authenticationData","webauthn_registration_id","PublicKeyCredential","isConditionalMediationAvailable","HeadlessImpersonationClient","HeadlessRBACClient","cachedPolicy","policyPromise","cachedConfig","dynamicConfig","isAuthorizedSync","resourceId","action","callerIsAuthorized","roleIds","isAuthorized","then","policy","rbacPolicy","RBACPolicy","fromJSON","allPermissions","allPermissionsForCaller","roles","HeadlessIDPClient","oauthAuthorizeStart","oauthAuthorizeSubmit","oauthLogoutStart","BaseHeadlessOAuthClient","_oneTap","startOneTap","clientResult","createOneTapClient","success","Error","reason","client","onSuccessCallback","createOnSuccessHandler","signupRedirectUrl","loginRedirectUrl","onSuccess","redirectOnSuccess","render","style","position","OneTapPositions","floating","onOneTapCancelled","cancelOnTapOutside","cancel_on_tap_outside","googleOneTap","StytchClient","_sessionManager","_dataLayer","_stateChangeClient","magicLinks","otps","oauth","cryptoWallets","totps","webauthn","passwords","impersonation","rbac","idp","onStateChange","parseAuthenticateUrl","authenticateByUrl","publicTokenRaw","checkNotSSR","checkPublicToken","_PUBLIC_TOKEN","config","buildFinalConfig","usingCustomApiEndpoint","hasCustomApiEndpoint","getConsumerDataLayer","ConsumerSubscriptionService","StateChangeClient","args","additionalTelemetryDataFn","stytch_user_id","user_id","stytch_session_id","passwordsPKCEManager","PKCEManager","networkClient","NetworkClient","endpoints","bootstrap","BootstrapDataManager","captcha","CaptchaProvider","getAsync","DFPProtectedAuthProvider","dfpBackendURL","dfpCdnURL","clientsideServices","ClientsideServicesProvider","clientsideServicesIframeURL","oneTap","OneTapProvider","searchManager","SearchDataManager","HeadlessMagicLinksClient","HeadlessCryptoWalletClient","HeadlessPasswordClient","SessionManager","keepSessionAlive","readSessionCookie","session_token","performBackgroundRefresh","event_callback_registered","error_callback_registered","success_callback_registered","bootstrapData","vertical","VERTICAL_B2B","createAuthUrlHandler","magic_links","impersonation_token","writeB2CInternals","dataLayer","createStytchClient","ssrSafeClientFactory","createStytchHeadlessClient","StytchHeadlessClient"],"mappings":"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","x_google_ignoreList":[5]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var StytchSSRProxy = require('./StytchSSRProxy-
|
|
3
|
+
var StytchSSRProxy = require('./StytchSSRProxy-Bz6LNYdq.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
|
|
6
6
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -2155,4 +2155,4 @@ exports.passwordManagerDisableAutofillProps = passwordManagerDisableAutofillProp
|
|
|
2155
2155
|
exports.useAsyncState = useAsyncState;
|
|
2156
2156
|
exports.useLingui = useLingui;
|
|
2157
2157
|
exports.useUniqueId = useUniqueId;
|
|
2158
|
-
//# sourceMappingURL=passwordManagerDisableAutofillProps-
|
|
2158
|
+
//# sourceMappingURL=passwordManagerDisableAutofillProps-DV31RTL_.js.map
|