@stytch/react 20.0.0-next.2 → 20.0.0-next.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 (190) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -1
  3. package/dist/cjs/adminPortal/index.cjs +1 -1
  4. package/dist/cjs/b2b/index.cjs +28 -20
  5. package/dist/cjs/b2b/index.cjs.map +1 -1
  6. package/dist/cjs/compat.cjs +2 -0
  7. package/dist/cjs/compat.cjs.map +1 -1
  8. package/dist/cjs/{index-Ni_dyEsz.js → index-BIjXBvf_.js} +2 -2
  9. package/dist/cjs/index-BIjXBvf_.js.map +1 -0
  10. package/dist/cjs/index.cjs +521 -542
  11. package/dist/cjs/index.cjs.map +1 -1
  12. package/dist/cjs/{shadcn-B8TEzQMT.js → shadcn-aVU6Lm9q.js} +255 -235
  13. package/dist/cjs/shadcn-aVU6Lm9q.js.map +1 -0
  14. package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js +438 -0
  15. package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js.map +1 -0
  16. package/dist/cjs-dev/adminPortal/index.cjs +54 -53
  17. package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
  18. package/dist/cjs-dev/b2b/index.cjs +94 -75
  19. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  20. package/dist/cjs-dev/b2b/index.headless.cjs +89 -88
  21. package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
  22. package/dist/cjs-dev/compat.cjs +15 -14
  23. package/dist/cjs-dev/compat.cjs.map +1 -1
  24. package/dist/cjs-dev/{StytchSSRProxy-CxXsyme4.js → dev-DaCGDI6V.js} +60 -426
  25. package/dist/cjs-dev/dev-DaCGDI6V.js.map +1 -0
  26. package/dist/cjs-dev/{idpHelpers-BVMUYvt1.js → idpHelpers-DOYYSxsX.js} +45 -102
  27. package/dist/cjs-dev/idpHelpers-DOYYSxsX.js.map +1 -0
  28. package/dist/cjs-dev/{index-DdK3Jt4u.js → index-rquGmIlv.js} +4 -4
  29. package/dist/cjs-dev/index-rquGmIlv.js.map +1 -0
  30. package/dist/cjs-dev/index.cjs +667 -667
  31. package/dist/cjs-dev/index.cjs.map +1 -1
  32. package/dist/cjs-dev/index.headless.cjs +70 -69
  33. package/dist/cjs-dev/index.headless.cjs.map +1 -1
  34. package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js → passwordManagerDisableAutofillProps-CgiK2M_U.js} +2 -2
  35. package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js.map → passwordManagerDisableAutofillProps-CgiK2M_U.js.map} +1 -1
  36. package/dist/cjs-dev/{shadcn-C9ClUju1.js → shadcn-DMk6ZSoD.js} +265 -244
  37. package/dist/cjs-dev/shadcn-DMk6ZSoD.js.map +1 -0
  38. package/dist/esm/_virtual/index3.mjs +5 -3
  39. package/dist/esm/_virtual/index3.mjs.map +1 -1
  40. package/dist/esm/_virtual/index4.mjs +3 -5
  41. package/dist/esm/_virtual/index4.mjs.map +1 -1
  42. package/dist/esm/b2b/StytchB2BContext.mjs +5 -5
  43. package/dist/esm/b2b/StytchB2BContext.mjs.map +1 -1
  44. package/dist/esm/packages/core/src/public/b2b/ui.mjs.map +1 -1
  45. package/dist/esm/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  46. package/dist/esm/packages/web/src/ui/b2b/App.mjs +2 -2
  47. package/dist/esm/packages/web/src/ui/b2b/App.mjs.map +1 -1
  48. package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
  49. package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
  50. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +6 -3
  51. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  52. package/dist/esm/packages/web/src/ui/b2b/components/SSOButton.mjs +5 -3
  53. package/dist/esm/packages/web/src/ui/b2b/components/SSOButton.mjs.map +1 -1
  54. package/dist/esm/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +6 -3
  55. package/dist/esm/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs.map +1 -1
  56. package/dist/esm/packages/web/src/ui/b2b/types/authMethodKeys.mjs +2 -2
  57. package/dist/esm/packages/web/src/ui/b2b/types/authMethodKeys.mjs.map +1 -1
  58. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
  59. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  60. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs +1 -1
  61. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  62. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
  63. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  64. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
  65. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  66. package/dist/esm/packages/web/src/ui/b2c/components/OAuthButton.mjs +6 -3
  67. package/dist/esm/packages/web/src/ui/b2c/components/OAuthButton.mjs.map +1 -1
  68. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +20 -39
  69. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
  70. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +15 -15
  71. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
  72. package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs +2 -0
  73. package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
  74. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs +6 -1
  75. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  76. package/dist/esm/packages/web/src/ui/components/atoms/Button.mjs.map +1 -1
  77. package/dist/esm/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
  78. package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
  79. package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
  80. package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs +1 -1
  81. package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
  82. package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
  83. package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
  84. package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
  85. package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
  86. package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
  87. package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
  88. package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
  89. package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
  90. package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
  91. package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
  92. package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
  93. package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
  94. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
  95. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
  96. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
  97. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
  98. package/dist/esm/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
  99. package/dist/esm/packages/web/src/utils/crypto.mjs +19 -14
  100. package/dist/esm/packages/web/src/utils/crypto.mjs.map +1 -1
  101. package/dist/esm/packages/web/src/utils/oauthProviderType.mjs +1 -1
  102. package/dist/esm/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
  103. package/dist/esm-dev/_virtual/index3.mjs +3 -5
  104. package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
  105. package/dist/esm-dev/_virtual/index4.mjs +5 -3
  106. package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
  107. package/dist/esm-dev/b2b/StytchB2BContext.mjs +5 -5
  108. package/dist/esm-dev/b2b/StytchB2BContext.mjs.map +1 -1
  109. package/dist/esm-dev/packages/core/src/public/b2b/ui.mjs.map +1 -1
  110. package/dist/esm-dev/packages/core/src/utils/dev.mjs +7 -1
  111. package/dist/esm-dev/packages/core/src/utils/dev.mjs.map +1 -1
  112. package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  113. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +14 -2
  114. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs.map +1 -1
  115. package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
  116. package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
  117. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +6 -3
  118. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  119. package/dist/esm-dev/packages/web/src/ui/b2b/components/SSOButton.mjs +5 -3
  120. package/dist/esm-dev/packages/web/src/ui/b2b/components/SSOButton.mjs.map +1 -1
  121. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +6 -3
  122. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs.map +1 -1
  123. package/dist/esm-dev/packages/web/src/ui/b2b/types/authMethodKeys.mjs +2 -2
  124. package/dist/esm-dev/packages/web/src/ui/b2b/types/authMethodKeys.mjs.map +1 -1
  125. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +8 -1
  126. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  127. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +8 -1
  128. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  129. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +8 -1
  130. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  131. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +8 -1
  132. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  133. package/dist/esm-dev/packages/web/src/ui/b2c/components/OAuthButton.mjs +6 -3
  134. package/dist/esm-dev/packages/web/src/ui/b2c/components/OAuthButton.mjs.map +1 -1
  135. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +20 -39
  136. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
  137. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +15 -15
  138. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
  139. package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs +15 -14
  140. package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
  141. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +9 -3
  142. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  143. package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.mjs.map +1 -1
  144. package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
  145. package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
  146. package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
  147. package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs +1 -1
  148. package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
  149. package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
  150. package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
  151. package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
  152. package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
  153. package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
  154. package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
  155. package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
  156. package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
  157. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
  158. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
  159. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
  160. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
  161. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
  162. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
  163. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
  164. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
  165. package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs +8 -4
  166. package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
  167. package/dist/esm-dev/packages/web/src/utils/crypto.mjs +19 -14
  168. package/dist/esm-dev/packages/web/src/utils/crypto.mjs.map +1 -1
  169. package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs +1 -1
  170. package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
  171. package/dist/types/{PresentationConfig-Bqzf8zr3.d.ts → PresentationConfig-B2jX85oV.d.ts} +13 -2
  172. package/dist/types/{StytchB2BClient-CsY7ZNKh.d.ts → StytchB2BClient-D16e_lp1.d.ts} +2 -2
  173. package/dist/types/{StytchClient-DZRM_fM4.d.ts → StytchClient-BwQdJzdj.d.ts} +2 -2
  174. package/dist/types/adminPortal/index.d.ts +5 -5
  175. package/dist/types/b2b/index.d.ts +27 -19
  176. package/dist/types/b2b/index.headless.d.ts +5 -5
  177. package/dist/types/compat.d.ts +2 -2
  178. package/dist/types/{createAuthUrlHandler-BZoD2LDF.d.ts → createAuthUrlHandler-R1kNNQD_.d.ts} +2 -2
  179. package/dist/types/{idpHelpers-CD5sSDzA.d.ts → idpHelpers-BQP76WgZ.d.ts} +1 -1
  180. package/dist/types/index.d.ts +36 -16
  181. package/dist/types/index.headless.d.ts +5 -5
  182. package/dist/types/{shadcn-4-5byj93.d.ts → shadcn-CGdmyIUF.d.ts} +9 -6
  183. package/dist/types/{ui-DXrQ-gA8.d.ts → ui-B7IvSGQf.d.ts} +1 -1
  184. package/package.json +1 -1
  185. package/dist/cjs/index-Ni_dyEsz.js.map +0 -1
  186. package/dist/cjs/shadcn-B8TEzQMT.js.map +0 -1
  187. package/dist/cjs-dev/StytchSSRProxy-CxXsyme4.js.map +0 -1
  188. package/dist/cjs-dev/idpHelpers-BVMUYvt1.js.map +0 -1
  189. package/dist/cjs-dev/index-DdK3Jt4u.js.map +0 -1
  190. package/dist/cjs-dev/shadcn-C9ClUju1.js.map +0 -1
@@ -2,12 +2,13 @@
2
2
 
3
3
  var b2b_index_headless = require('./index.headless.cjs');
4
4
  var React = require('react');
5
- var index$1 = require('../index-DdK3Jt4u.js');
6
- var passwordManagerDisableAutofillProps = require('../passwordManagerDisableAutofillProps-D70WyvIu.js');
7
- var shadcn = require('../shadcn-C9ClUju1.js');
8
- var StytchSSRProxy = require('../StytchSSRProxy-CxXsyme4.js');
9
- var idpHelpers = require('../idpHelpers-BVMUYvt1.js');
5
+ var index$1 = require('../index-rquGmIlv.js');
6
+ var passwordManagerDisableAutofillProps = require('../passwordManagerDisableAutofillProps-CgiK2M_U.js');
7
+ var shadcn = require('../shadcn-DMk6ZSoD.js');
8
+ var StytchSSRProxy = require('../StytchSSRProxy-d553KgcY.js');
9
+ var dev = require('../dev-DaCGDI6V.js');
10
10
  var logger = require('../logger-CvOATP4R.js');
11
+ var idpHelpers = require('../idpHelpers-DOYYSxsX.js');
11
12
  var ReactDOM = require('react-dom');
12
13
 
13
14
  function _interopNamespace(e) {
@@ -1205,7 +1206,7 @@ const getParamsFromB2BOAuthProviderConfig = (provider)=>{
1205
1206
  providerType = provider;
1206
1207
  } else {
1207
1208
  providerType = provider.type;
1208
- if (provider.type === StytchSSRProxy.B2BOAuthProviders.Google && 'one_tap' in provider) {
1209
+ if (provider.type === StytchSSRProxy.B2BOAuthProviders.Google && provider.one_tap) {
1209
1210
  oneTap = provider.one_tap;
1210
1211
  cancelOnTapOutside = provider.cancel_on_tap_outside;
1211
1212
  }
@@ -1813,7 +1814,7 @@ const MFAEnrollmentSelectionScreen = ()=>{
1813
1814
  const DEFAULT_COUNTRY_CODE = 'US';
1814
1815
  /**
1815
1816
  * Thrown when the user provides a phone number that cannot be parsed.
1816
- */ class InvalidPhoneNumberError extends StytchSSRProxy.StytchSDKError {
1817
+ */ class InvalidPhoneNumberError extends dev.StytchSDKError {
1817
1818
  constructor(){
1818
1819
  // eslint-disable-next-line lingui/no-unlocalized-strings
1819
1820
  super('InvalidPhoneNumberError', 'Invalid phone number');
@@ -2690,7 +2691,9 @@ const OAuthB2BButton = ({ providerType, loginRedirectUrl, signupRedirectUrl, dis
2690
2691
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
2691
2692
  const stytchClient = shadcn.useStytch();
2692
2693
  const [state] = shadcn.useGlobalReducer();
2693
- const iconRegistry = shadcn.usePresentation().iconRegistry;
2694
+ const presentation = shadcn.usePresentation();
2695
+ const iconRegistry = presentation.iconRegistry;
2696
+ const id = shadcn.getButtonId(`sso-${providerType}`, presentation.options);
2694
2697
  const provider = providerInfo[providerType];
2695
2698
  let label = providerType;
2696
2699
  let icon = null;
@@ -2722,7 +2725,8 @@ const OAuthB2BButton = ({ providerType, loginRedirectUrl, signupRedirectUrl, dis
2722
2725
  return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
2723
2726
  onClick: onButtonClick,
2724
2727
  variant: "outline",
2725
- icon: icon
2728
+ icon: icon,
2729
+ id: id
2726
2730
  }, label);
2727
2731
  };
2728
2732
 
@@ -2864,7 +2868,7 @@ const B2BGoogleOneTap = ({ customScopes, providerParams, cancelOnTapOutside })=>
2864
2868
  });
2865
2869
  const fallbackWithLastUsed = lastUsedMethod === StytchSSRProxy.B2BOAuthProviders.Google ? /*#__PURE__*/ React__namespace.default.createElement(shadcn.LastUsed, null, fallbackButton) : fallbackButton;
2866
2870
  if (oneTapError) {
2867
- return /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, idpHelpers.DEV(/*#__PURE__*/ React__namespace.default.createElement(shadcn.ErrorMessages, {
2871
+ return /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, dev.DEV(/*#__PURE__*/ React__namespace.default.createElement(shadcn.ErrorMessages, {
2868
2872
  error: oneTapError
2869
2873
  })), fallbackWithLastUsed);
2870
2874
  }
@@ -3567,8 +3571,9 @@ const SSOButton = ({ connection, onStart })=>{
3567
3571
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
3568
3572
  const stytchClient = shadcn.useStytch();
3569
3573
  const { ssoOptions } = shadcn.useConfig();
3570
- const { iconRegistry } = shadcn.usePresentation();
3574
+ const { iconRegistry, options } = shadcn.usePresentation();
3571
3575
  const { connection_id, display_name, identity_provider } = connection;
3576
+ const id = shadcn.getButtonId(`sso-${display_name}`, options);
3572
3577
  const onButtonClick = ()=>stytchClient.sso.start({
3573
3578
  connection_id,
3574
3579
  signup_redirect_url: ssoOptions?.signupRedirectURL,
@@ -3581,7 +3586,8 @@ const SSOButton = ({ connection, onStart })=>{
3581
3586
  return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
3582
3587
  variant: "outline",
3583
3588
  onClick: onButtonClick,
3584
- icon: /*#__PURE__*/ React__namespace.default.createElement(Icon, null)
3589
+ icon: /*#__PURE__*/ React__namespace.default.createElement(Icon, null),
3590
+ id: id
3585
3591
  }, $__i18n._({
3586
3592
  id: "provider.continueWith",
3587
3593
  message: "Continue with {display_name}",
@@ -3597,7 +3603,7 @@ const SSOButton = ({ connection, onStart })=>{
3597
3603
  function extractConnectionId(method) {
3598
3604
  return method?.startsWith('sso:') ? method.slice(4) : undefined;
3599
3605
  }
3600
- function getButtonId(button) {
3606
+ function getButtonKey(button) {
3601
3607
  if (button.type === 'oauth') {
3602
3608
  return button.provider.type;
3603
3609
  } else if (button.type === 'sso') {
@@ -4716,6 +4722,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4716
4722
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
4717
4723
  const [state, dispatch] = shadcn.useGlobalReducer();
4718
4724
  const { oauthProviderSettings = [] } = useEffectiveAuthConfig();
4725
+ const presentation = shadcn.usePresentation();
4719
4726
  const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();
4720
4727
  const config = shadcn.useConfig();
4721
4728
  const { loginRedirectURL, signupRedirectURL, discoveryRedirectURL, customScopes, providerParams } = config.oauthOptions ?? {};
@@ -4743,7 +4750,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4743
4750
  return null;
4744
4751
  }
4745
4752
  // Reorder providers based on last used
4746
- const [reorderedButtons, foundLastUsedOAuth] = shadcn.arrayUtils.moveToFront(authButtons, (button)=>getButtonId(button) === lastUsedMethod);
4753
+ const [reorderedButtons, foundLastUsedOAuth] = shadcn.arrayUtils.moveToFront(authButtons, (button)=>getButtonKey(button) === lastUsedMethod);
4747
4754
  // Helper function to create OAuth button component
4748
4755
  const createOAuthButton = (oauthProvider)=>{
4749
4756
  const providerProps = {
@@ -4782,6 +4789,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4782
4789
  return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
4783
4790
  key: "sso-discovery",
4784
4791
  variant: "outline",
4792
+ id: shadcn.getButtonId('sso-discovery', presentation.options),
4785
4793
  onClick: ()=>{
4786
4794
  dispatch({
4787
4795
  type: 'transition',
@@ -4798,7 +4806,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4798
4806
  }
4799
4807
  })();
4800
4808
  return foundLastUsedOAuth && index === 0 ? /*#__PURE__*/ React__namespace.default.createElement(shadcn.LastUsed, {
4801
- key: getButtonId(button)
4809
+ key: getButtonKey(button)
4802
4810
  }, buttonComponent) : buttonComponent;
4803
4811
  }));
4804
4812
  };
@@ -4817,7 +4825,8 @@ const ssoIcons = {
4817
4825
  };
4818
4826
  const emailIcons = {
4819
4827
  gmail: shadcn.GmailIcon,
4820
- outlook: shadcn.OutlookIcon
4828
+ outlook: shadcn.OutlookIcon,
4829
+ yahoo: shadcn.YahooIcon
4821
4830
  };
4822
4831
 
4823
4832
  const EmailFormWithoutPassword = ()=>/*#__PURE__*/ React__namespace.default.createElement(EmailForm, {
@@ -5037,7 +5046,7 @@ const EnsureMemberIsLoggedIn = ({ children })=>{
5037
5046
  ]);
5038
5047
  React.useEffect(()=>{
5039
5048
  if (member) return;
5040
- onErrorRef.current(new StytchSSRProxy.NoCurrentSessionError());
5049
+ onErrorRef.current(new dev.NoCurrentSessionError());
5041
5050
  }, [
5042
5051
  member
5043
5052
  ]);
@@ -5059,7 +5068,12 @@ const EnsureMemberIsLoggedIn = ({ children })=>{
5059
5068
  * Wrapper to add default organizationProducts value. This is done to preserve the ability for a future
5060
5069
  * component that doesn't do this, allowing B2B products to be properly tree-shaken (which is also why this is currently
5061
5070
  * in a completely different file)
5062
- */ const AppContainer = ({ config, ...props })=>{
5071
+ */ const AppContainer = ({ config, styles, ...props })=>{
5072
+ dev.RUN_IN_DEV(()=>{
5073
+ if (styles) {
5074
+ logger.logger.error('styles is deprecated and has no effect. Use the presentation prop instead.\n' + 'See https://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide');
5075
+ }
5076
+ });
5063
5077
  const internalConfig = {
5064
5078
  ...config,
5065
5079
  organizationProducts: Object.values(B2BProducts)
@@ -5069,7 +5083,7 @@ const EnsureMemberIsLoggedIn = ({ children })=>{
5069
5083
  ...props
5070
5084
  });
5071
5085
  };
5072
- const B2BIDPContainer = ({ client, presentation, callbacks, strings, getIDPConsentManifest, trustedAuthTokenParams })=>{
5086
+ const B2BIDPContainer = ({ client, presentation, callbacks, strings, getIDPConsentManifest, trustedAuthTokenParams, styles })=>{
5073
5087
  const presentationValue = shadcn.usePresentationWithDefault(presentation, false, []);
5074
5088
  React.useEffect(()=>{
5075
5089
  StytchSSRProxy.readB2BInternals(client).bootstrap.getAsync().then((data)=>{
@@ -5083,6 +5097,11 @@ const B2BIDPContainer = ({ client, presentation, callbacks, strings, getIDPConse
5083
5097
  }, [
5084
5098
  client
5085
5099
  ]);
5100
+ dev.RUN_IN_DEV(()=>{
5101
+ if (styles) {
5102
+ logger.logger.error('styles is deprecated and has no effect. Use the presentation prop instead.\n' + 'See https://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide');
5103
+ }
5104
+ });
5086
5105
  return /*#__PURE__*/ React__namespace.default.createElement(shadcn.GlobalContextProvider, {
5087
5106
  client: client,
5088
5107
  config: {},
@@ -5171,7 +5190,7 @@ function createB2BComponent(name, Component) {
5171
5190
  * onEvent: (event) => console.log(event)
5172
5191
  * }}
5173
5192
  * />
5174
- */ const StytchB2B = createB2BComponent('StytchB2B', AppContainer);
5193
+ */ const StytchB2B = /* @__PURE__ */ createB2BComponent('StytchB2B', AppContainer);
5175
5194
 
5176
5195
  /**
5177
5196
  * The Stytch B2B IDP component.
@@ -5192,7 +5211,7 @@ function createB2BComponent(name, Component) {
5192
5211
  * onEvent: (event) => console.log(event)
5193
5212
  * }}
5194
5213
  * />
5195
- */ const B2BIdentityProvider = createB2BComponent('B2BIdentityProvider', B2BIDPContainer);
5214
+ */ const B2BIdentityProvider = /* @__PURE__ */ createB2BComponent('B2BIdentityProvider', B2BIDPContainer);
5196
5215
 
5197
5216
  /**
5198
5217
  * Returns the active Member.
@@ -5202,7 +5221,7 @@ function createB2BComponent(name, Component) {
5202
5221
  * @example
5203
5222
  * const {member, isInitialized, fromCache} = useStytchMember();
5204
5223
  * if (!isInitialized) {
5205
- * return <p>Loading...</p>;
5224
+ * return <p>Loading...</p>;
5206
5225
  * }
5207
5226
  * return (<h1>Welcome, {member.name}</h1>);
5208
5227
  */ const useStytchMember = index$1.useStytchMember;
@@ -5218,7 +5237,7 @@ function createB2BComponent(name, Component) {
5218
5237
  * return;
5219
5238
  * }
5220
5239
  * if (!session) {
5221
- * router.replace('/login')
5240
+ * router.replace('/login');
5222
5241
  * }
5223
5242
  * }, [session, isInitialized]);
5224
5243
  */ const useStytchMemberSession = index$1.useStytchMemberSession;
@@ -5230,9 +5249,9 @@ function createB2BComponent(name, Component) {
5230
5249
  * @example
5231
5250
  * const {organization, isInitialized, fromCache} = useStytchOrganization();
5232
5251
  * if (!isInitialized) {
5233
- * return <p>Loading...</p>;
5252
+ * return <p>Loading...</p>;
5234
5253
  * }
5235
- * return (<p>Welcome to {organization.organization_name}</p>);
5254
+ * return <p>Welcome to {organization.organization_name}</p>;
5236
5255
  */ const useStytchOrganization = index$1.useStytchOrganization;
5237
5256
  /**
5238
5257
  * Determines whether the logged-in member is allowed to perform the specified action on the specified resource.
@@ -5243,7 +5262,7 @@ function createB2BComponent(name, Component) {
5243
5262
  *
5244
5263
  * Remember - authorization checks for sensitive actions should always occur on the backend as well.
5245
5264
  * @example
5246
- * const { isAuthorized } = useStytchIsAuthorized<Permissions>('documents', 'edit');
5265
+ * const { isAuthorized } = useStytchIsAuthorized('documents', 'edit');
5247
5266
  * return <button disabled={!isAuthorized}>Edit</button>
5248
5267
  */ const useStytchIsAuthorized = index$1.useStytchIsAuthorized;
5249
5268
  const withStytchMember = index$1.withStytchMember;
@@ -5285,62 +5304,62 @@ exports.shadcnTheme = shadcn.shadcnTheme;
5285
5304
  exports.AuthFlowType = StytchSSRProxy.AuthFlowType;
5286
5305
  exports.B2BMFAProducts = StytchSSRProxy.B2BMFAProducts;
5287
5306
  exports.B2BOAuthProviders = StytchSSRProxy.B2BOAuthProviders;
5288
- exports.BiometricRegistrationIdIsNullOrBlank = StytchSSRProxy.BiometricRegistrationIdIsNullOrBlank;
5289
- exports.BiometricsAlreadyEnrolledError = StytchSSRProxy.BiometricsAlreadyEnrolledError;
5290
- exports.BiometricsFailedError = StytchSSRProxy.BiometricsFailedError;
5291
- exports.BiometricsUnavailableError = StytchSSRProxy.BiometricsUnavailableError;
5292
- exports.ChallengeSigningFailedError = StytchSSRProxy.ChallengeSigningFailedError;
5293
- exports.DFPNotConfigured = StytchSSRProxy.DFPNotConfigured;
5294
- exports.DeviceCredentialsNotAllowedError = StytchSSRProxy.DeviceCredentialsNotAllowedError;
5295
- exports.FailedCodeChallengeError = StytchSSRProxy.FailedCodeChallengeError;
5296
- exports.FailedToDecryptDataError = StytchSSRProxy.FailedToDecryptDataError;
5297
- exports.IDPOAuthFlowMissingParamError = StytchSSRProxy.IDPOAuthFlowMissingParamError;
5298
- exports.InternalError = StytchSSRProxy.InternalError;
5299
- exports.InvalidAuthorizationCredentialError = StytchSSRProxy.InvalidAuthorizationCredentialError;
5300
- exports.InvalidCredentialTypeError = StytchSSRProxy.InvalidCredentialTypeError;
5301
- exports.InvalidPrivateKeyLength = StytchSSRProxy.InvalidPrivateKeyLength;
5302
- exports.InvalidRedirectSchemeError = StytchSSRProxy.InvalidRedirectSchemeError;
5303
- exports.InvalidStartUrlError = StytchSSRProxy.InvalidStartUrlError;
5304
- exports.JSONDataNotConvertibleToStringError = StytchSSRProxy.JSONDataNotConvertibleToStringError;
5305
- exports.KeyInvalidatedError = StytchSSRProxy.KeyInvalidatedError;
5306
- exports.KeystoreUnavailableError = StytchSSRProxy.KeystoreUnavailableError;
5307
- exports.MissingAttestationObjectError = StytchSSRProxy.MissingAttestationObjectError;
5308
- exports.MissingAuthorizationCredentialIDTokenError = StytchSSRProxy.MissingAuthorizationCredentialIDTokenError;
5309
- exports.MissingCipherIv = StytchSSRProxy.MissingCipherIv;
5310
- exports.MissingGoogleClientIDError = StytchSSRProxy.MissingGoogleClientIDError;
5311
- exports.MissingPKCEError = StytchSSRProxy.MissingPKCEError;
5312
- exports.MissingPublicKeyError = StytchSSRProxy.MissingPublicKeyError;
5313
- exports.MissingUrlError = StytchSSRProxy.MissingUrlError;
5314
- exports.NoBiometricsEnrolledError = StytchSSRProxy.NoBiometricsEnrolledError;
5315
- exports.NoBiometricsRegistrationError = StytchSSRProxy.NoBiometricsRegistrationError;
5316
- exports.NoCredentialsPresentError = StytchSSRProxy.NoCredentialsPresentError;
5317
- exports.NoCurrentSessionError = StytchSSRProxy.NoCurrentSessionError;
5318
5307
  exports.OAuthProviders = StytchSSRProxy.OAuthProviders;
5319
5308
  exports.OTPMethods = StytchSSRProxy.OTPMethods;
5320
5309
  exports.OneTapPositions = StytchSSRProxy.OneTapPositions;
5321
- exports.PasskeysInvalidEncoding = StytchSSRProxy.PasskeysInvalidEncoding;
5322
- exports.PasskeysMisconfigured = StytchSSRProxy.PasskeysMisconfigured;
5323
- exports.PasskeysUnsupportedError = StytchSSRProxy.PasskeysUnsupportedError;
5324
5310
  exports.RNUIProducts = StytchSSRProxy.RNUIProducts;
5325
- exports.RandomNumberGenerationFailed = StytchSSRProxy.RandomNumberGenerationFailed;
5326
5311
  exports.RedirectURLType = StytchSSRProxy.RedirectURLType;
5327
- exports.SDKAPIUnreachableError = StytchSSRProxy.SDKAPIUnreachableError;
5328
- exports.SDKNotConfiguredError = StytchSSRProxy.SDKNotConfiguredError;
5329
- exports.SignInWithAppleMisconfigured = StytchSSRProxy.SignInWithAppleMisconfigured;
5330
- exports.StytchAPIError = StytchSSRProxy.StytchAPIError;
5331
- exports.StytchAPISchemaError = StytchSSRProxy.StytchAPISchemaError;
5332
- exports.StytchAPIUnreachableError = StytchSSRProxy.StytchAPIUnreachableError;
5333
- exports.StytchError = StytchSSRProxy.StytchError;
5334
5312
  exports.StytchEventType = StytchSSRProxy.StytchEventType;
5335
- exports.StytchSDKAPIError = StytchSSRProxy.StytchSDKAPIError;
5336
- exports.StytchSDKError = StytchSSRProxy.StytchSDKError;
5337
- exports.StytchSDKSchemaError = StytchSSRProxy.StytchSDKSchemaError;
5338
- exports.StytchSDKUsageError = StytchSSRProxy.StytchSDKUsageError;
5339
- exports.UNRECOVERABLE_ERROR_TYPES = StytchSSRProxy.UNRECOVERABLE_ERROR_TYPES;
5340
- exports.UserCancellationError = StytchSSRProxy.UserCancellationError;
5341
- exports.UserLockedOutError = StytchSSRProxy.UserLockedOutError;
5342
5313
  exports.Wallets = StytchSSRProxy.Wallets;
5343
- exports.errorToStytchError = StytchSSRProxy.errorToStytchError;
5314
+ exports.BiometricRegistrationIdIsNullOrBlank = dev.BiometricRegistrationIdIsNullOrBlank;
5315
+ exports.BiometricsAlreadyEnrolledError = dev.BiometricsAlreadyEnrolledError;
5316
+ exports.BiometricsFailedError = dev.BiometricsFailedError;
5317
+ exports.BiometricsUnavailableError = dev.BiometricsUnavailableError;
5318
+ exports.ChallengeSigningFailedError = dev.ChallengeSigningFailedError;
5319
+ exports.DFPNotConfigured = dev.DFPNotConfigured;
5320
+ exports.DeviceCredentialsNotAllowedError = dev.DeviceCredentialsNotAllowedError;
5321
+ exports.FailedCodeChallengeError = dev.FailedCodeChallengeError;
5322
+ exports.FailedToDecryptDataError = dev.FailedToDecryptDataError;
5323
+ exports.IDPOAuthFlowMissingParamError = dev.IDPOAuthFlowMissingParamError;
5324
+ exports.InternalError = dev.InternalError;
5325
+ exports.InvalidAuthorizationCredentialError = dev.InvalidAuthorizationCredentialError;
5326
+ exports.InvalidCredentialTypeError = dev.InvalidCredentialTypeError;
5327
+ exports.InvalidPrivateKeyLength = dev.InvalidPrivateKeyLength;
5328
+ exports.InvalidRedirectSchemeError = dev.InvalidRedirectSchemeError;
5329
+ exports.InvalidStartUrlError = dev.InvalidStartUrlError;
5330
+ exports.JSONDataNotConvertibleToStringError = dev.JSONDataNotConvertibleToStringError;
5331
+ exports.KeyInvalidatedError = dev.KeyInvalidatedError;
5332
+ exports.KeystoreUnavailableError = dev.KeystoreUnavailableError;
5333
+ exports.MissingAttestationObjectError = dev.MissingAttestationObjectError;
5334
+ exports.MissingAuthorizationCredentialIDTokenError = dev.MissingAuthorizationCredentialIDTokenError;
5335
+ exports.MissingCipherIv = dev.MissingCipherIv;
5336
+ exports.MissingGoogleClientIDError = dev.MissingGoogleClientIDError;
5337
+ exports.MissingPKCEError = dev.MissingPKCEError;
5338
+ exports.MissingPublicKeyError = dev.MissingPublicKeyError;
5339
+ exports.MissingUrlError = dev.MissingUrlError;
5340
+ exports.NoBiometricsEnrolledError = dev.NoBiometricsEnrolledError;
5341
+ exports.NoBiometricsRegistrationError = dev.NoBiometricsRegistrationError;
5342
+ exports.NoCredentialsPresentError = dev.NoCredentialsPresentError;
5343
+ exports.NoCurrentSessionError = dev.NoCurrentSessionError;
5344
+ exports.PasskeysInvalidEncoding = dev.PasskeysInvalidEncoding;
5345
+ exports.PasskeysMisconfigured = dev.PasskeysMisconfigured;
5346
+ exports.PasskeysUnsupportedError = dev.PasskeysUnsupportedError;
5347
+ exports.RandomNumberGenerationFailed = dev.RandomNumberGenerationFailed;
5348
+ exports.SDKAPIUnreachableError = dev.SDKAPIUnreachableError;
5349
+ exports.SDKNotConfiguredError = dev.SDKNotConfiguredError;
5350
+ exports.SignInWithAppleMisconfigured = dev.SignInWithAppleMisconfigured;
5351
+ exports.StytchAPIError = dev.StytchAPIError;
5352
+ exports.StytchAPISchemaError = dev.StytchAPISchemaError;
5353
+ exports.StytchAPIUnreachableError = dev.StytchAPIUnreachableError;
5354
+ exports.StytchError = dev.StytchError;
5355
+ exports.StytchSDKAPIError = dev.StytchSDKAPIError;
5356
+ exports.StytchSDKError = dev.StytchSDKError;
5357
+ exports.StytchSDKSchemaError = dev.StytchSDKSchemaError;
5358
+ exports.StytchSDKUsageError = dev.StytchSDKUsageError;
5359
+ exports.UNRECOVERABLE_ERROR_TYPES = dev.UNRECOVERABLE_ERROR_TYPES;
5360
+ exports.UserCancellationError = dev.UserCancellationError;
5361
+ exports.UserLockedOutError = dev.UserLockedOutError;
5362
+ exports.errorToStytchError = dev.errorToStytchError;
5344
5363
  exports.parseOAuthAuthorizeParams = idpHelpers.parseOAuthAuthorizeParams;
5345
5364
  exports.parseOAuthLogoutParams = idpHelpers.parseOAuthLogoutParams;
5346
5365
  exports.B2BIdentityProvider = B2BIdentityProvider;