@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-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');
@@ -3216,7 +3216,9 @@ const SSOButtons = ({ availableConnections })=>{
3216
3216
  connection: provider,
3217
3217
  onStart: (connection)=>setLastUsedMethod(getSsoMethodKey(connection))
3218
3218
  });
3219
- return foundLastUsed && index === 0 ? /*#__PURE__*/ React__namespace.createElement(shadcn.LastUsed, null, button) : button;
3219
+ return foundLastUsed && index === 0 ? /*#__PURE__*/ React__namespace.createElement(shadcn.LastUsed, {
3220
+ key: provider.display_name
3221
+ }, button) : button;
3220
3222
  }));
3221
3223
  };
3222
3224
  const SSODiscoveryMenu = ()=>{
@@ -3596,6 +3598,7 @@ const Discovery = ()=>{
3596
3598
  message: "Accept Invite"
3597
3599
  });
3598
3600
  return /*#__PURE__*/ React__namespace.default.createElement(OrganizationRow, {
3601
+ key: organization.organization_id,
3599
3602
  organization: organization,
3600
3603
  action: action,
3601
3604
  onClick: ()=>handleDiscoveryOrganizationStart(discoveredOrganization)
@@ -4500,21 +4503,29 @@ var modules_b00e876f = {"qr":"TOTPEnrollQRScreen_module_qr__ae8d607c"};
4500
4503
  const TOTPEnrollQRScreen = ()=>{
4501
4504
  const stytchClient = shadcn.useStytch();
4502
4505
  const [state, dispatch] = shadcn.useGlobalReducer();
4506
+ const onEvent = shadcn.useEventCallback();
4507
+ const onError = shadcn.useErrorCallback();
4503
4508
  const { i18n: $__i18n, _: $__ } = uniqueId.useLingui();
4504
- const { mfa: { totp: { createError, enrollment, isCreating } } } = state;
4505
4509
  // This screen should only be shown if primary info and TOTP enrollment are
4506
4510
  // available
4507
4511
  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({
4512
+ const { data } = StytchB2BContext.useSWR([
4513
+ 'stytch.totp.create',
4514
+ memberId,
4515
+ organizationId
4516
+ ], ()=>stytchClient.totp.create({
4513
4517
  member_id: memberId,
4514
4518
  organization_id: organizationId
4515
- });
4516
- }, {
4519
+ }), {
4520
+ revalidateOnFocus: false,
4521
+ revalidateOnReconnect: false,
4522
+ revalidateIfStale: false,
4517
4523
  onSuccess: (response)=>{
4524
+ onEvent({
4525
+ type: StytchSSRProxy.StytchEventType.B2BTOTPCreate,
4526
+ data: response
4527
+ });
4528
+ // Store the enrollment object so we can show recovery code after authenticating
4518
4529
  dispatch({
4519
4530
  type: 'totp/create_success',
4520
4531
  response,
@@ -4529,26 +4540,9 @@ const TOTPEnrollQRScreen = ()=>{
4529
4540
  message
4530
4541
  });
4531
4542
  }
4532
- dispatch({
4533
- type: 'totp/create_error',
4534
- error
4535
- });
4543
+ onError(error);
4536
4544
  }
4537
4545
  });
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
4546
  const handleShowManualCode = ()=>{
4553
4547
  dispatch({
4554
4548
  type: 'totp/show_code',
@@ -4574,12 +4568,12 @@ const TOTPEnrollQRScreen = ()=>{
4574
4568
  }, $__i18n._({
4575
4569
  id: "totp.setupQr.content",
4576
4570
  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", {
4571
+ })), data ? /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/ React__namespace.default.createElement("img", {
4578
4572
  alt: $__i18n._({
4579
4573
  id: "mfaTotpEnrollment.qrAltText",
4580
4574
  message: "QR code for TOTP enrollment"
4581
4575
  }),
4582
- src: enrollment.qrCode,
4576
+ src: data.qr_code,
4583
4577
  className: modules_b00e876f.qr
4584
4578
  }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
4585
4579
  variant: "primary",