@stytch/react 20.0.2 → 20.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +7 -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 +21 -29
  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 +21 -29
  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/TOTPEnrollQRScreen.mjs +23 -31
  25. package/dist/esm/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs.map +1 -1
  26. package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs +1 -1
  27. package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
  28. package/dist/esm/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
  29. package/dist/esm-dev/packages/web/src/adminPortal/components/Autocomplete.mjs +4 -2
  30. package/dist/esm-dev/packages/web/src/adminPortal/components/Autocomplete.mjs.map +1 -1
  31. package/dist/esm-dev/packages/web/src/ui/b2b/MfaState.mjs +0 -2
  32. package/dist/esm-dev/packages/web/src/ui/b2b/MfaState.mjs.map +1 -1
  33. package/dist/esm-dev/packages/web/src/ui/b2b/reducer/mfa.mjs +0 -29
  34. package/dist/esm-dev/packages/web/src/ui/b2b/reducer/mfa.mjs.map +1 -1
  35. package/dist/esm-dev/packages/web/src/ui/b2b/screens/Discovery.mjs +1 -0
  36. package/dist/esm-dev/packages/web/src/ui/b2b/screens/Discovery.mjs.map +1 -1
  37. package/dist/esm-dev/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs +23 -31
  38. package/dist/esm-dev/packages/web/src/ui/b2b/screens/TOTPEnrollQRScreen.mjs.map +1 -1
  39. package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs +1 -1
  40. package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
  41. package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
  42. package/package.json +1 -1
  43. package/dist/cjs/shadcn-DhFLwrw_.js.map +0 -1
  44. 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-C7WFy1M0.js');
6
6
  var StytchSSRProxy = require('../StytchSSRProxy-9SPT89Z8.js');
7
- var shadcn = require('../shadcn-DhFLwrw_.js');
7
+ var shadcn = require('../shadcn-CLGNjm4Z.js');
8
8
  var uniqueId = require('../uniqueId-C-3bPIDs.js');
9
9
  var idpHelpers = require('../idpHelpers-ChdktIkr.js');
10
10
  var ReactDOM = require('react-dom');
@@ -3596,6 +3596,7 @@ const Discovery = ()=>{
3596
3596
  message: "Accept Invite"
3597
3597
  });
3598
3598
  return /*#__PURE__*/ React__namespace.default.createElement(OrganizationRow, {
3599
+ key: organization.organization_id,
3599
3600
  organization: organization,
3600
3601
  action: action,
3601
3602
  onClick: ()=>handleDiscoveryOrganizationStart(discoveredOrganization)
@@ -4500,21 +4501,29 @@ var modules_b00e876f = {"qr":"TOTPEnrollQRScreen_module_qr__ae8d607c"};
4500
4501
  const TOTPEnrollQRScreen = ()=>{
4501
4502
  const stytchClient = shadcn.useStytch();
4502
4503
  const [state, dispatch] = shadcn.useGlobalReducer();
4504
+ const onEvent = shadcn.useEventCallback();
4505
+ const onError = shadcn.useErrorCallback();
4503
4506
  const { i18n: $__i18n, _: $__ } = uniqueId.useLingui();
4504
- const { mfa: { totp: { createError, enrollment, isCreating } } } = state;
4505
4507
  // This screen should only be shown if primary info and TOTP enrollment are
4506
4508
  // available
4507
4509
  const { memberId, organizationId } = state.mfa.primaryInfo;
4508
- const { trigger: createTotp } = useMutate('stytch.totp.create', (_, { arg: { memberId, organizationId } })=>{
4509
- dispatch({
4510
- type: 'totp/create'
4511
- });
4512
- return stytchClient.totp.create({
4510
+ const { data } = StytchB2BContext.useSWR([
4511
+ 'stytch.totp.create',
4512
+ memberId,
4513
+ organizationId
4514
+ ], ()=>stytchClient.totp.create({
4513
4515
  member_id: memberId,
4514
4516
  organization_id: organizationId
4515
- });
4516
- }, {
4517
+ }), {
4518
+ revalidateOnFocus: false,
4519
+ revalidateOnReconnect: false,
4520
+ revalidateIfStale: false,
4517
4521
  onSuccess: (response)=>{
4522
+ onEvent({
4523
+ type: StytchSSRProxy.StytchEventType.B2BTOTPCreate,
4524
+ data: response
4525
+ });
4526
+ // Store the enrollment object so we can show recovery code after authenticating
4518
4527
  dispatch({
4519
4528
  type: 'totp/create_success',
4520
4529
  response,
@@ -4529,26 +4538,9 @@ const TOTPEnrollQRScreen = ()=>{
4529
4538
  message
4530
4539
  });
4531
4540
  }
4532
- dispatch({
4533
- type: 'totp/create_error',
4534
- error
4535
- });
4541
+ onError(error);
4536
4542
  }
4537
4543
  });
4538
- const shouldCreate = !enrollment && !isCreating && !createError;
4539
- React.useEffect(()=>{
4540
- if (shouldCreate) {
4541
- createTotp({
4542
- memberId,
4543
- organizationId
4544
- });
4545
- }
4546
- }, [
4547
- createTotp,
4548
- memberId,
4549
- organizationId,
4550
- shouldCreate
4551
- ]);
4552
4544
  const handleShowManualCode = ()=>{
4553
4545
  dispatch({
4554
4546
  type: 'totp/show_code',
@@ -4574,12 +4566,12 @@ const TOTPEnrollQRScreen = ()=>{
4574
4566
  }, $__i18n._({
4575
4567
  id: "totp.setupQr.content",
4576
4568
  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."
4577
- })), enrollment ? /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/ React__namespace.default.createElement("img", {
4569
+ })), data ? /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/ React__namespace.default.createElement("img", {
4578
4570
  alt: $__i18n._({
4579
4571
  id: "mfaTotpEnrollment.qrAltText",
4580
4572
  message: "QR code for TOTP enrollment"
4581
4573
  }),
4582
- src: enrollment.qrCode,
4574
+ src: data.qr_code,
4583
4575
  className: modules_b00e876f.qr
4584
4576
  }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
4585
4577
  variant: "primary",