@stytch/vanilla-js 6.0.10 → 6.0.11
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 +6 -0
- package/dist/cjs/{StytchSSRProxy-BDhupJ0b.js → StytchSSRProxy-BG8v1Uf6.js} +2 -2
- package/dist/cjs/{StytchSSRProxy-BDhupJ0b.js.map → StytchSSRProxy-BG8v1Uf6.js.map} +1 -1
- package/dist/cjs/b2b/index.cjs +47 -39
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/b2b/index.headless.cjs +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.headless.cjs +1 -1
- package/dist/cjs/{shadcn-DbBiekGp.js → shadcn-Ds1x7jpl.js} +2 -2
- package/dist/cjs/{shadcn-DbBiekGp.js.map → shadcn-Ds1x7jpl.js.map} +1 -1
- package/dist/cjs-dev/{StytchSSRProxy-hF1s3Or9.js → StytchSSRProxy-CCpBazSd.js} +2 -2
- package/dist/cjs-dev/{StytchSSRProxy-hF1s3Or9.js.map → StytchSSRProxy-CCpBazSd.js.map} +1 -1
- package/dist/cjs-dev/b2b/index.cjs +47 -39
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.headless.cjs +1 -1
- package/dist/cjs-dev/index.cjs +2 -2
- package/dist/cjs-dev/index.headless.cjs +1 -1
- package/dist/cjs-dev/{shadcn-Dc0M3w2t.js → shadcn-YlPYvF-0.js} +2 -2
- package/dist/cjs-dev/{shadcn-Dc0M3w2t.js.map → shadcn-YlPYvF-0.js.map} +1 -1
- package/dist/esm/packages/web/src/NetworkClient.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/EmailForm.mjs +1 -20
- package/dist/esm/packages/web/src/ui/b2b/screens/EmailForm.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs +42 -37
- package/dist/esm/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs +28 -0
- package/dist/esm/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs.map +1 -0
- package/dist/esm-dev/_virtual/index3.mjs +3 -5
- package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index4.mjs +5 -3
- package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/NetworkClient.mjs +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailForm.mjs +1 -20
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailForm.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs +42 -37
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs +28 -0
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs.map +1 -0
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs +1 -1
- package/dist/iife/b2b/index.headless.js +1 -1
- package/dist/iife/b2b/index.js +3 -3
- package/dist/iife/b2b/index.js.map +1 -1
- package/dist/iife/index.headless.js +1 -1
- package/dist/iife/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var shadcn = require('../shadcn-
|
|
3
|
+
var shadcn = require('../shadcn-YlPYvF-0.js');
|
|
4
4
|
var uniqueId = require('../uniqueId-WccE1cND.js');
|
|
5
5
|
var storage = require('../storage-oBuQ7FjD.js');
|
|
6
6
|
var index$1 = require('../index-BqBnZFEu.js');
|
|
7
7
|
var dev = require('../dev-DSQ2JLWy.js');
|
|
8
|
-
var StytchSSRProxy = require('../StytchSSRProxy-
|
|
8
|
+
var StytchSSRProxy = require('../StytchSSRProxy-CCpBazSd.js');
|
|
9
9
|
var SDKErrors = require('../SDKErrors-CyFa69Ys.js');
|
|
10
10
|
var b2b_index_headless = require('./index.headless.cjs');
|
|
11
11
|
|
|
@@ -1735,7 +1735,9 @@ const JIT_PROVISIONING_ERRORS = [
|
|
|
1735
1735
|
'email_jit_provisioning_not_allowed',
|
|
1736
1736
|
'invalid_email_for_jit_provisioning'
|
|
1737
1737
|
];
|
|
1738
|
-
|
|
1738
|
+
/**
|
|
1739
|
+
* Translates error message to user friendlier format including handling for JIT errors
|
|
1740
|
+
*/ const useParseErrorMessage = ()=>{
|
|
1739
1741
|
const { i18n: $__i18n, _: $__ } = uniqueId.useLingui();
|
|
1740
1742
|
return (error, { email, org: organizationName })=>{
|
|
1741
1743
|
if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {
|
|
@@ -1751,6 +1753,7 @@ const useParseErrorMessage = ()=>{
|
|
|
1751
1753
|
return shadcn.getTranslatedError(error, $__);
|
|
1752
1754
|
};
|
|
1753
1755
|
};
|
|
1756
|
+
|
|
1754
1757
|
const EmailForm = ({ showPasswordButton })=>{
|
|
1755
1758
|
const [state, dispatch] = shadcn.useGlobalReducer();
|
|
1756
1759
|
const [emailInput, setEmailInput] = uniqueId.h(state.formState.passwordState.email);
|
|
@@ -2332,48 +2335,52 @@ const PasswordsAuthenticate = ()=>{
|
|
|
2332
2335
|
const PasswordsEmailForm = ()=>{
|
|
2333
2336
|
const [, dispatch] = shadcn.useGlobalReducer();
|
|
2334
2337
|
const { i18n: $__i18n, _: $__ } = uniqueId.useLingui();
|
|
2338
|
+
const parseErrorMessages = useParseErrorMessage();
|
|
2335
2339
|
const { stytch, email, setEmail, password, setPassword, organization, errorMessage, setErrorMessage, isSubmitting, setIsSubmitting, submitPassword, submitDiscoveryPassword, handleNonMemberReset } = usePasswordInput();
|
|
2336
2340
|
const [hideInput, setHideInput] = uniqueId.h(!!organization && !email);
|
|
2337
2341
|
const handleSubmit = async (e)=>{
|
|
2338
2342
|
e.preventDefault();
|
|
2339
|
-
if (organization) {
|
|
2340
|
-
const organization_id = organization.organization_id;
|
|
2341
|
-
// If we have processed the email, submit the password field
|
|
2342
|
-
if (!hideInput) {
|
|
2343
|
-
submitPassword(organization_id);
|
|
2344
|
-
return;
|
|
2345
|
-
}
|
|
2346
|
-
// Validate we have a member with a password. Otherwise, check if we can jit
|
|
2347
|
-
// provision and kickoff verification and session reset
|
|
2348
|
-
if (!email.match(storage.EMAIL_REGEX)) {
|
|
2349
|
-
setErrorMessage($__i18n._({
|
|
2350
|
-
id: "error.invalidEmailAddress",
|
|
2351
|
-
message: "Invalid email address"
|
|
2352
|
-
}));
|
|
2353
|
-
return;
|
|
2354
|
-
}
|
|
2355
|
-
setErrorMessage('');
|
|
2356
|
-
setIsSubmitting(true);
|
|
2357
|
-
storage.readB2BInternals(stytch).searchManager.searchMember(email, organization.organization_id).then(({ member })=>{
|
|
2358
|
-
if (member) {
|
|
2359
|
-
setHideInput(false);
|
|
2360
|
-
setIsSubmitting(false);
|
|
2361
|
-
dispatch({
|
|
2362
|
-
type: 'set_password_state',
|
|
2363
|
-
email
|
|
2364
|
-
});
|
|
2365
|
-
return;
|
|
2366
|
-
}
|
|
2367
|
-
// No member password flow: verify email and use reset by session
|
|
2368
|
-
handleNonMemberReset();
|
|
2369
|
-
}).catch((err)=>{
|
|
2370
|
-
setIsSubmitting(false);
|
|
2371
|
-
setErrorMessage(shadcn.getTranslatedError(err, $__));
|
|
2372
|
-
});
|
|
2373
|
-
} else {
|
|
2343
|
+
if (!organization) {
|
|
2374
2344
|
// Discovery flow
|
|
2375
2345
|
submitDiscoveryPassword();
|
|
2346
|
+
return;
|
|
2376
2347
|
}
|
|
2348
|
+
const organization_id = organization.organization_id;
|
|
2349
|
+
// If we have processed the email, submit the password field
|
|
2350
|
+
if (!hideInput) {
|
|
2351
|
+
submitPassword(organization_id);
|
|
2352
|
+
return;
|
|
2353
|
+
}
|
|
2354
|
+
// Validate we have a member with a password. Otherwise, check if we can jit
|
|
2355
|
+
// provision and kickoff verification and session reset
|
|
2356
|
+
if (!email.match(storage.EMAIL_REGEX)) {
|
|
2357
|
+
setErrorMessage($__i18n._({
|
|
2358
|
+
id: "error.invalidEmailAddress",
|
|
2359
|
+
message: "Invalid email address"
|
|
2360
|
+
}));
|
|
2361
|
+
return;
|
|
2362
|
+
}
|
|
2363
|
+
setErrorMessage('');
|
|
2364
|
+
setIsSubmitting(true);
|
|
2365
|
+
storage.readB2BInternals(stytch).searchManager.searchMember(email, organization.organization_id).then(({ member })=>{
|
|
2366
|
+
if (member) {
|
|
2367
|
+
setHideInput(false);
|
|
2368
|
+
setIsSubmitting(false);
|
|
2369
|
+
dispatch({
|
|
2370
|
+
type: 'set_password_state',
|
|
2371
|
+
email
|
|
2372
|
+
});
|
|
2373
|
+
return;
|
|
2374
|
+
}
|
|
2375
|
+
// No member password flow: verify email and use reset by session
|
|
2376
|
+
handleNonMemberReset();
|
|
2377
|
+
}).catch((err)=>{
|
|
2378
|
+
setIsSubmitting(false);
|
|
2379
|
+
setErrorMessage(parseErrorMessages(err, {
|
|
2380
|
+
email,
|
|
2381
|
+
org: organization_id
|
|
2382
|
+
}));
|
|
2383
|
+
});
|
|
2377
2384
|
};
|
|
2378
2385
|
const onGetHelp = ()=>{
|
|
2379
2386
|
dispatch({
|
|
@@ -2391,7 +2398,8 @@ const PasswordsEmailForm = ()=>{
|
|
|
2391
2398
|
gap: 2
|
|
2392
2399
|
}, /*#__PURE__*/ uniqueId.wn.createElement(shadcn.EmailInput, {
|
|
2393
2400
|
email: email,
|
|
2394
|
-
setEmail: setEmail
|
|
2401
|
+
setEmail: setEmail,
|
|
2402
|
+
error: hideInput ? errorMessage : undefined
|
|
2395
2403
|
}), !hideInput && /*#__PURE__*/ uniqueId.wn.createElement(shadcn.PasswordInput, {
|
|
2396
2404
|
password: password,
|
|
2397
2405
|
setPassword: setPassword,
|