@stytch/react 20.0.2 → 20.0.4

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.
Files changed (67) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/adminPortal/index.cjs +4 -2
  3. package/dist/cjs/adminPortal/index.cjs.map +1 -1
  4. package/dist/cjs/b2b/index.cjs +24 -30
  5. package/dist/cjs/b2b/index.cjs.map +1 -1
  6. package/dist/cjs/index.cjs +1 -1
  7. package/dist/cjs/{shadcn-DhFLwrw_.js → shadcn-CLGNjm4Z.js} +4 -35
  8. package/dist/cjs/shadcn-CLGNjm4Z.js.map +1 -0
  9. package/dist/cjs-dev/adminPortal/index.cjs +4 -2
  10. package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
  11. package/dist/cjs-dev/b2b/index.cjs +24 -30
  12. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  13. package/dist/cjs-dev/index.cjs +1 -1
  14. package/dist/cjs-dev/{shadcn-_aqkqkH3.js → shadcn-BDx_oy_4.js} +4 -35
  15. package/dist/cjs-dev/shadcn-BDx_oy_4.js.map +1 -0
  16. package/dist/esm/packages/web/src/adminPortal/components/Autocomplete.mjs +4 -2
  17. package/dist/esm/packages/web/src/adminPortal/components/Autocomplete.mjs.map +1 -1
  18. package/dist/esm/packages/web/src/ui/b2b/MfaState.mjs +0 -2
  19. package/dist/esm/packages/web/src/ui/b2b/MfaState.mjs.map +1 -1
  20. package/dist/esm/packages/web/src/ui/b2b/reducer/mfa.mjs +0 -29
  21. package/dist/esm/packages/web/src/ui/b2b/reducer/mfa.mjs.map +1 -1
  22. package/dist/esm/packages/web/src/ui/b2b/screens/Discovery.mjs +1 -0
  23. package/dist/esm/packages/web/src/ui/b2b/screens/Discovery.mjs.map +1 -1
  24. package/dist/esm/packages/web/src/ui/b2b/screens/SSODiscoveryMenu.mjs +3 -1
  25. package/dist/esm/packages/web/src/ui/b2b/screens/SSODiscoveryMenu.mjs.map +1 -1
  26. package/dist/esm/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs +23 -31
  27. package/dist/esm/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs.map +1 -1
  28. package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs +1 -1
  29. package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
  30. package/dist/esm/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
  31. package/dist/esm-dev/_virtual/index3.mjs +3 -5
  32. package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
  33. package/dist/esm-dev/_virtual/index4.mjs +5 -3
  34. package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
  35. package/dist/esm-dev/packages/web/src/adminPortal/components/Autocomplete.mjs +4 -2
  36. package/dist/esm-dev/packages/web/src/adminPortal/components/Autocomplete.mjs.map +1 -1
  37. package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  38. package/dist/esm-dev/packages/web/src/ui/b2b/MfaState.mjs +0 -2
  39. package/dist/esm-dev/packages/web/src/ui/b2b/MfaState.mjs.map +1 -1
  40. package/dist/esm-dev/packages/web/src/ui/b2b/reducer/mfa.mjs +0 -29
  41. package/dist/esm-dev/packages/web/src/ui/b2b/reducer/mfa.mjs.map +1 -1
  42. package/dist/esm-dev/packages/web/src/ui/b2b/screens/Discovery.mjs +1 -0
  43. package/dist/esm-dev/packages/web/src/ui/b2b/screens/Discovery.mjs.map +1 -1
  44. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SSODiscoveryMenu.mjs +3 -1
  45. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SSODiscoveryMenu.mjs.map +1 -1
  46. package/dist/esm-dev/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs +23 -31
  47. package/dist/esm-dev/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs.map +1 -1
  48. package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs +1 -1
  49. package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
  50. package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
  51. package/dist/esm-dev/packages/web/src/utils/crypto.mjs +1 -1
  52. package/dist/types/{PresentationConfig-pObjxHsN.d.ts → PresentationConfig-DBFprsM5.d.ts} +1 -1
  53. package/dist/types/{StytchB2BClient-p2ZqNv9V.d.ts → StytchB2BClient-CTb35env.d.ts} +2 -2
  54. package/dist/types/{StytchClient-B_DdOwoB.d.ts → StytchClient-BKWqorH0.d.ts} +2 -2
  55. package/dist/types/adminPortal/index.d.ts +5 -5
  56. package/dist/types/b2b/index.d.ts +10 -10
  57. package/dist/types/b2b/index.headless.d.ts +5 -5
  58. package/dist/types/compat.d.ts +2 -2
  59. package/dist/types/{createAuthUrlHandler-BsIjJ2yr.d.ts → createAuthUrlHandler-C88UIVHa.d.ts} +1 -1
  60. package/dist/types/{idpHelpers-B4PSMPVN.d.ts → idpHelpers-MkrLe57S.d.ts} +1 -1
  61. package/dist/types/index.d.ts +10 -10
  62. package/dist/types/index.headless.d.ts +5 -5
  63. package/dist/types/{themes-DkwKwIls.d.ts → themes-A86ys4Xj.d.ts} +5 -5
  64. package/dist/types/{ui-DJaKIn5q.d.ts → ui-CnoTcY2s.d.ts} +1 -0
  65. package/package.json +1 -1
  66. package/dist/cjs/shadcn-DhFLwrw_.js.map +0 -1
  67. package/dist/cjs-dev/shadcn-_aqkqkH3.js.map +0 -1
@@ -4,7 +4,7 @@ var b2b_index_headless = require('./index.headless.cjs');
4
4
  var React = require('react');
5
5
  var StytchB2BContext = require('../StytchB2BContext-CD6mLKq3.js');
6
6
  var StytchSSRProxy = require('../StytchSSRProxy-D0nfqCWX.js');
7
- var shadcn = require('../shadcn-_aqkqkH3.js');
7
+ var shadcn = require('../shadcn-BDx_oy_4.js');
8
8
  var uniqueId = require('../uniqueId-CrAScvCS.js');
9
9
  var dev = require('../dev-DaCGDI6V.js');
10
10
  var logger = require('../logger-CvOATP4R.js');
@@ -3220,7 +3220,9 @@ const SSOButtons = ({ availableConnections })=>{
3220
3220
  connection: provider,
3221
3221
  onStart: (connection)=>setLastUsedMethod(getSsoMethodKey(connection))
3222
3222
  });
3223
- return foundLastUsed && index === 0 ? /*#__PURE__*/ React__namespace.createElement(shadcn.LastUsed, null, button) : button;
3223
+ return foundLastUsed && index === 0 ? /*#__PURE__*/ React__namespace.createElement(shadcn.LastUsed, {
3224
+ key: provider.display_name
3225
+ }, button) : button;
3224
3226
  }));
3225
3227
  };
3226
3228
  const SSODiscoveryMenu = ()=>{
@@ -3600,6 +3602,7 @@ const Discovery = ()=>{
3600
3602
  message: "Accept Invite"
3601
3603
  });
3602
3604
  return /*#__PURE__*/ React__namespace.default.createElement(OrganizationRow, {
3605
+ key: organization.organization_id,
3603
3606
  organization: organization,
3604
3607
  action: action,
3605
3608
  onClick: ()=>handleDiscoveryOrganizationStart(discoveredOrganization)
@@ -4504,21 +4507,29 @@ var modules_b00e876f = {"qr":"TOTPEnrollQRScreen_module_qr__ae8d607c"};
4504
4507
  const TOTPEnrollQRScreen = ()=>{
4505
4508
  const stytchClient = shadcn.useStytch();
4506
4509
  const [state, dispatch] = shadcn.useGlobalReducer();
4510
+ const onEvent = shadcn.useEventCallback();
4511
+ const onError = shadcn.useErrorCallback();
4507
4512
  const { i18n: $__i18n, _: $__ } = uniqueId.useLingui();
4508
- const { mfa: { totp: { createError, enrollment, isCreating } } } = state;
4509
4513
  // This screen should only be shown if primary info and TOTP enrollment are
4510
4514
  // available
4511
4515
  const { memberId, organizationId } = state.mfa.primaryInfo;
4512
- const { trigger: createTotp } = useMutate('stytch.totp.create', (_, { arg: { memberId, organizationId } })=>{
4513
- dispatch({
4514
- type: 'totp/create'
4515
- });
4516
- return stytchClient.totp.create({
4516
+ const { data } = StytchB2BContext.useSWR([
4517
+ 'stytch.totp.create',
4518
+ memberId,
4519
+ organizationId
4520
+ ], ()=>stytchClient.totp.create({
4517
4521
  member_id: memberId,
4518
4522
  organization_id: organizationId
4519
- });
4520
- }, {
4523
+ }), {
4524
+ revalidateOnFocus: false,
4525
+ revalidateOnReconnect: false,
4526
+ revalidateIfStale: false,
4521
4527
  onSuccess: (response)=>{
4528
+ onEvent({
4529
+ type: StytchSSRProxy.StytchEventType.B2BTOTPCreate,
4530
+ data: response
4531
+ });
4532
+ // Store the enrollment object so we can show recovery code after authenticating
4522
4533
  dispatch({
4523
4534
  type: 'totp/create_success',
4524
4535
  response,
@@ -4533,26 +4544,9 @@ const TOTPEnrollQRScreen = ()=>{
4533
4544
  message
4534
4545
  });
4535
4546
  }
4536
- dispatch({
4537
- type: 'totp/create_error',
4538
- error
4539
- });
4547
+ onError(error);
4540
4548
  }
4541
4549
  });
4542
- const shouldCreate = !enrollment && !isCreating && !createError;
4543
- React.useEffect(()=>{
4544
- if (shouldCreate) {
4545
- createTotp({
4546
- memberId,
4547
- organizationId
4548
- });
4549
- }
4550
- }, [
4551
- createTotp,
4552
- memberId,
4553
- organizationId,
4554
- shouldCreate
4555
- ]);
4556
4550
  const handleShowManualCode = ()=>{
4557
4551
  dispatch({
4558
4552
  type: 'totp/show_code',
@@ -4578,12 +4572,12 @@ const TOTPEnrollQRScreen = ()=>{
4578
4572
  }, $__i18n._({
4579
4573
  id: "totp.setupQr.content",
4580
4574
  message: "Your organization requires an additional form of verification to make your account more secure. If you don’t have an authenticator app, you’ll need to install one first."
4581
- })), enrollment ? /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/ React__namespace.default.createElement("img", {
4575
+ })), data ? /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/ React__namespace.default.createElement("img", {
4582
4576
  alt: $__i18n._({
4583
4577
  id: "mfaTotpEnrollment.qrAltText",
4584
4578
  message: "QR code for TOTP enrollment"
4585
4579
  }),
4586
- src: enrollment.qrCode,
4580
+ src: data.qr_code,
4587
4581
  className: modules_b00e876f.qr
4588
4582
  }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
4589
4583
  variant: "primary",