@stytch/react 20.0.0-next.2 → 20.0.0-next.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 (149) hide show
  1. package/CHANGELOG.md +6 -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 +14 -13
  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 +508 -518
  11. package/dist/cjs/index.cjs.map +1 -1
  12. package/dist/cjs/{shadcn-B8TEzQMT.js → shadcn-Z4AvHriT.js} +247 -233
  13. package/dist/cjs/shadcn-Z4AvHriT.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 +80 -68
  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 +738 -727
  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-DnNfms7-.js} +257 -242
  37. package/dist/cjs-dev/shadcn-DnNfms7-.js.map +1 -0
  38. package/dist/esm/b2b/StytchB2BContext.mjs +5 -5
  39. package/dist/esm/b2b/StytchB2BContext.mjs.map +1 -1
  40. package/dist/esm/packages/core/src/public/b2b/ui.mjs.map +1 -1
  41. package/dist/esm/packages/web/src/ui/b2b/App.mjs +2 -2
  42. package/dist/esm/packages/web/src/ui/b2b/App.mjs.map +1 -1
  43. package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
  44. package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
  45. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
  46. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  47. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs +1 -1
  48. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  49. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
  50. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  51. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
  52. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  53. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +12 -11
  54. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
  55. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +12 -14
  56. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
  57. package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs +2 -0
  58. package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
  59. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  60. package/dist/esm/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
  61. package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
  62. package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
  63. package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
  64. package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
  65. package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
  66. package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
  67. package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
  68. package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
  69. package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
  70. package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
  71. package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
  72. package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
  73. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
  74. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
  75. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
  76. package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
  77. package/dist/esm/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
  78. package/dist/esm/packages/web/src/utils/crypto.mjs +15 -14
  79. package/dist/esm/packages/web/src/utils/crypto.mjs.map +1 -1
  80. package/dist/esm/packages/web/src/utils/oauthProviderType.mjs +1 -1
  81. package/dist/esm/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
  82. package/dist/esm-dev/b2b/StytchB2BContext.mjs +5 -5
  83. package/dist/esm-dev/b2b/StytchB2BContext.mjs.map +1 -1
  84. package/dist/esm-dev/packages/core/src/public/b2b/ui.mjs.map +1 -1
  85. package/dist/esm-dev/packages/core/src/utils/dev.mjs +7 -1
  86. package/dist/esm-dev/packages/core/src/utils/dev.mjs.map +1 -1
  87. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +14 -2
  88. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs.map +1 -1
  89. package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
  90. package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
  91. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +8 -1
  92. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  93. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +8 -1
  94. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  95. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +8 -1
  96. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  97. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +8 -1
  98. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  99. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +12 -11
  100. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
  101. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +12 -14
  102. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
  103. package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs +15 -14
  104. package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
  105. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +3 -2
  106. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  107. package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
  108. package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
  109. package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
  110. package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
  111. package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
  112. package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
  113. package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
  114. package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
  115. package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
  116. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
  117. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
  118. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
  119. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
  120. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
  121. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
  122. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
  123. package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
  124. package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs +8 -4
  125. package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
  126. package/dist/esm-dev/packages/web/src/utils/crypto.mjs +15 -14
  127. package/dist/esm-dev/packages/web/src/utils/crypto.mjs.map +1 -1
  128. package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs +1 -1
  129. package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
  130. package/dist/types/{PresentationConfig-Bqzf8zr3.d.ts → PresentationConfig-CcNEXkjS.d.ts} +5 -1
  131. package/dist/types/{StytchB2BClient-CsY7ZNKh.d.ts → StytchB2BClient-D16e_lp1.d.ts} +2 -2
  132. package/dist/types/{StytchClient-DZRM_fM4.d.ts → StytchClient-BwQdJzdj.d.ts} +2 -2
  133. package/dist/types/adminPortal/index.d.ts +5 -5
  134. package/dist/types/b2b/index.d.ts +27 -19
  135. package/dist/types/b2b/index.headless.d.ts +5 -5
  136. package/dist/types/compat.d.ts +2 -2
  137. package/dist/types/{createAuthUrlHandler-BZoD2LDF.d.ts → createAuthUrlHandler-R1kNNQD_.d.ts} +2 -2
  138. package/dist/types/{idpHelpers-CD5sSDzA.d.ts → idpHelpers-BQP76WgZ.d.ts} +1 -1
  139. package/dist/types/index.d.ts +36 -16
  140. package/dist/types/index.headless.d.ts +5 -5
  141. package/dist/types/{shadcn-4-5byj93.d.ts → shadcn-B04UXoBD.d.ts} +9 -6
  142. package/dist/types/{ui-DXrQ-gA8.d.ts → ui-B7IvSGQf.d.ts} +1 -1
  143. package/package.json +1 -1
  144. package/dist/cjs/index-Ni_dyEsz.js.map +0 -1
  145. package/dist/cjs/shadcn-B8TEzQMT.js.map +0 -1
  146. package/dist/cjs-dev/StytchSSRProxy-CxXsyme4.js.map +0 -1
  147. package/dist/cjs-dev/idpHelpers-BVMUYvt1.js.map +0 -1
  148. package/dist/cjs-dev/index-DdK3Jt4u.js.map +0 -1
  149. package/dist/cjs-dev/shadcn-C9ClUju1.js.map +0 -1
@@ -2,13 +2,14 @@
2
2
 
3
3
  var index_headless = require('./index.headless.cjs');
4
4
  var React = require('react');
5
- var passwordManagerDisableAutofillProps = require('./passwordManagerDisableAutofillProps-D70WyvIu.js');
6
- var StytchSSRProxy = require('./StytchSSRProxy-CxXsyme4.js');
7
- var shadcn = require('./shadcn-C9ClUju1.js');
8
- var idpHelpers = require('./idpHelpers-BVMUYvt1.js');
5
+ var passwordManagerDisableAutofillProps = require('./passwordManagerDisableAutofillProps-CgiK2M_U.js');
6
+ var StytchSSRProxy = require('./StytchSSRProxy-d553KgcY.js');
7
+ var shadcn = require('./shadcn-DnNfms7-.js');
8
+ var idpHelpers = require('./idpHelpers-DOYYSxsX.js');
9
+ var dev = require('./dev-DaCGDI6V.js');
10
+ var logger = require('./logger-CvOATP4R.js');
9
11
  var ReactDOM = require('react-dom');
10
12
  var jsxRuntime = require('react/jsx-runtime');
11
- var logger = require('./logger-CvOATP4R.js');
12
13
 
13
14
  function _interopNamespace(e) {
14
15
  if (e && e.__esModule) return e;
@@ -148,7 +149,7 @@ const withStytchSession$1 = (Component)=>{
148
149
  *
149
150
  * Remember - authorization checks for sensitive actions should always occur on the backend as well.
150
151
  * @example
151
- * const { isAuthorized } = useStytchIsAuthorized<Permissions>('documents', 'edit');
152
+ * const { isAuthorized } = useStytchIsAuthorized('documents', 'edit');
152
153
  * return <button disabled={!isAuthorized}>Edit</button>
153
154
  */ const useStytchIsAuthorized$1 = (resourceId, action)=>{
154
155
  passwordManagerDisableAutofillProps.invariant(useIsMounted__INTERNAL(), StytchSSRProxy.noProviderError('useStytchIsAuthorized', 'StytchProvider'));
@@ -1385,7 +1386,7 @@ const MainScreen = ()=>{
1385
1386
  if (hasPasskeys && products.length === 1) return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Typography, {
1386
1387
  variant: "helper",
1387
1388
  color: "destructive"
1388
- }, idpHelpers.DEV('Error: Cannot use Passkeys by itself, please add another product to the config.'));
1389
+ }, dev.DEV('Error: Cannot use Passkeys by itself, please add another product to the config.'));
1389
1390
  const props = {
1390
1391
  startPasskeyAuth
1391
1392
  };
@@ -1439,7 +1440,7 @@ const AppContainer$1 = ()=>{
1439
1440
  }), /*#__PURE__*/ React__namespace.default.createElement(ScreenComponent, null));
1440
1441
  };
1441
1442
 
1442
- const AppContainer = ({ client, config, presentation, callbacks, strings })=>{
1443
+ const AppContainer = ({ client, config, presentation, callbacks, strings, styles })=>{
1443
1444
  // Read the watermark out of sync storage, then read it out of async storage
1444
1445
  const [displayWatermark, setDisplayWatermark] = React.useState(()=>{
1445
1446
  const { displayWatermark } = StytchSSRProxy.readB2CInternals(client).bootstrap.getSync();
@@ -1460,6 +1461,11 @@ const AppContainer = ({ client, config, presentation, callbacks, strings })=>{
1460
1461
  }, [
1461
1462
  client
1462
1463
  ]);
1464
+ dev.RUN_IN_DEV(()=>{
1465
+ if (styles) {
1466
+ logger.logger.error('styles is deprecated and has no effect. Use the presentation prop instead.\n' + 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide');
1467
+ }
1468
+ });
1463
1469
  const presentationValue = shadcn.usePresentationWithDefault(presentation, displayWatermark, config.products, 'Products');
1464
1470
  return /*#__PURE__*/ React__namespace.default.createElement(GlobalContextProvider, {
1465
1471
  client: client,
@@ -1541,7 +1547,7 @@ function createB2CComponent(name, Component) {
1541
1547
  * onEvent: (event) => console.log(event)
1542
1548
  * }}
1543
1549
  * />
1544
- */ const StytchLogin = createB2CComponent('StytchLogin', AppContainer);
1550
+ */ const StytchLogin = /* @__PURE__ */ createB2CComponent('StytchLogin', AppContainer);
1545
1551
 
1546
1552
  const GenericWalletIcon = ({ size = shadcn.DEFAULT_ICON_SIZE, ...props })=>/*#__PURE__*/ React__namespace.default.createElement("svg", {
1547
1553
  width: size,
@@ -1896,449 +1902,171 @@ function requireBs58 () {
1896
1902
 
1897
1903
  var bs58Exports = requireBs58();
1898
1904
 
1899
- const AmazonIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1900
- xmlns: "http://www.w3.org/2000/svg",
1901
- width: 20,
1902
- height: 20,
1903
- fill: "none",
1904
- ...props
1905
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1906
- fill: "#F90",
1907
- d: "M16.5 15.53C9.2 19 4.69 16.1 1.8 14.33c-.19-.1-.5.03-.23.34.97 1.17 4.13 3.98 8.25 3.98s6.59-2.25 6.9-2.64c.3-.4.08-.6-.22-.48m2.04-1.13c-.2-.25-1.19-.3-1.81-.22s-1.57.45-1.49.68c.04.09.13.05.56.01s1.64-.2 1.9.14c.25.33-.4 1.9-.51 2.16s.04.32.25.15.6-.6.85-1.23c.25-.62.4-1.5.25-1.69"
1908
- }), /*#__PURE__*/ React__namespace.createElement("path", {
1909
- fill: "#000",
1910
- fillRule: "evenodd",
1911
- d: "M11.6 8.46c0 .9.02 1.67-.44 2.47-.37.66-.96 1.06-1.62 1.06-.9 0-1.42-.68-1.42-1.69 0-1.99 1.79-2.35 3.48-2.35zm2.35 5.69a.5.5 0 0 1-.55.05c-.78-.64-.91-.94-1.34-1.55-1.28 1.3-2.19 1.7-3.85 1.7-1.96 0-3.5-1.22-3.5-3.64 0-1.9 1.03-3.19 2.5-3.82 1.26-.56 3.03-.66 4.39-.81v-.3c0-.56.04-1.22-.29-1.7-.28-.43-.83-.6-1.3-.6-.9 0-1.7.45-1.89 1.4-.04.21-.19.42-.4.43l-2.27-.25c-.19-.04-.4-.2-.34-.49C5.63 1.83 8.1 1 10.33 1c1.13 0 2.62.3 3.52 1.16 1.13 1.06 1.02 2.48 1.02 4.02v3.64c0 1.1.46 1.57.88 2.16.16.21.19.47 0 .63-.48.4-1.33 1.13-1.8 1.55z",
1912
- clipRule: "evenodd",
1913
- className: shadcn.modules_73af8a26.darkInvert
1914
- }));
1915
-
1916
- const AppleIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1917
- xmlns: "http://www.w3.org/2000/svg",
1918
- width: 20,
1919
- height: 20,
1920
- fill: "none",
1921
- ...props
1922
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1923
- fill: "#000",
1924
- d: "M16.55 7.14c-.1.08-1.86 1.12-1.86 3.43A4 4 0 0 0 17 14.2c0 .06-.35 1.3-1.18 2.56-.74 1.1-1.5 2.21-2.67 2.21s-1.47-.7-2.82-.7c-1.32 0-1.79.73-2.86.73S5.66 17.97 4.8 16.7c-1-1.48-1.8-3.78-1.8-5.96C3 7.25 5.17 5.4 7.31 5.4c1.14 0 2.09.78 2.8.78.68 0 1.74-.83 3.03-.83.5 0 2.26.05 3.41 1.79m-4.02-3.27c.53-.66.91-1.59.91-2.5q0-.22-.03-.37c-.87.03-1.9.6-2.53 1.36-.49.59-.95 1.5-.95 2.44 0 .14.03.28.04.33l.23.02c.78 0 1.76-.54 2.33-1.28",
1925
- className: shadcn.modules_73af8a26.darkInvert
1926
- }));
1927
-
1928
- const BinanceIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1929
- xmlns: "http://www.w3.org/2000/svg",
1930
- width: 20,
1931
- height: 20,
1932
- fill: "none",
1933
- ...props
1934
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1935
- fill: "#F3BA2F",
1936
- d: "m6.43 8.56 3.5-3.5 3.49 3.5 2.03-2.03L9.92 1 4.4 6.53zM4.99 10 2.96 7.97.92 10l2.04 2.03zM6.43 11.44l3.5 3.5 3.49-3.5 2.03 2.03L9.92 19 4.4 13.47zM16.89 12.03 18.92 10 16.9 7.97 14.85 10z"
1937
- }), /*#__PURE__*/ React__namespace.createElement("path", {
1938
- fill: "#F3BA2F",
1939
- d: "M11.99 10 9.92 7.93 8.4 9.46l-.18.18-.36.36 2.06 2.07z"
1940
- }));
1941
-
1942
- const BitbucketIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1943
- xmlns: "http://www.w3.org/2000/svg",
1944
- width: 20,
1945
- height: 20,
1946
- fill: "none",
1947
- ...props
1948
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1949
- fill: "#1868DB",
1950
- d: "m17.96 9.14-1.34 8.08a.9.9 0 0 1-.93.78H4.3a.9.9 0 0 1-.93-.78L1.02 2.81c-.1-.5.17-.81.64-.81h16.68c.47 0 .73.32.64.8l-.64 3.8c-.09.55-.4.78-.93.78H7.37q-.23 0-.2.26l.79 4.78q.05.18.23.2h3.62q.17-.02.23-.2l.56-3.46c.05-.43.35-.6.75-.6h3.94c.58 0 .76.29.67.78"
1951
- }));
1952
-
1953
- const CoinbaseIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1954
- xmlns: "http://www.w3.org/2000/svg",
1955
- width: 20,
1956
- height: 20,
1957
- fill: "none",
1958
- ...props
1959
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1960
- fill: "#0052FF",
1961
- d: "M10.02 14.5a4.5 4.5 0 1 1 4.44-5.25H19a9 9 0 1 0 0 1.5h-4.54a4.5 4.5 0 0 1-4.44 3.75"
1962
- }));
1963
-
1964
- const DiscordIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1965
- xmlns: "http://www.w3.org/2000/svg",
1966
- width: 20,
1967
- height: 20,
1968
- fill: "none",
1969
- ...props
1970
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1971
- fill: "#5865F2",
1972
- d: "M12.53 3q-.26.44-.47.92a15 15 0 0 0-4.12 0q-.21-.47-.48-.92-1.93.3-3.72 1.1a13.8 13.8 0 0 0-2.66 9.72Q3.15 15.28 5.63 16q.56-.72.98-1.5a10 10 0 0 1-1.54-.7l.38-.27c2.88 1.3 6.22 1.3 9.1 0q.19.15.38.27a10 10 0 0 1-1.54.7q.41.8.98 1.5 2.48-.7 4.55-2.18c.38-3.69-.64-6.89-2.67-9.73a15 15 0 0 0-3.71-1.08zm-5.52 8.86c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.9 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72m5.98 0c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.91 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72"
1973
- }));
1974
-
1975
- const FacebookIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1976
- xmlns: "http://www.w3.org/2000/svg",
1977
- width: 20,
1978
- height: 20,
1979
- fill: "none",
1980
- ...props
1981
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1982
- fill: "#0866FF",
1983
- d: "M19 10a9 9 0 1 0-11.17 8.73v-5.98H5.97V10h1.86V8.81c0-3.06 1.38-4.48 4.39-4.48.57 0 1.55.11 1.96.23v2.49q-.35-.03-1.04-.03c-1.48 0-2.05.55-2.05 2V10h2.94l-.5 2.75h-2.44v6.18A9 9 0 0 0 19 10"
1984
- }), /*#__PURE__*/ React__namespace.createElement("path", {
1985
- fill: "#fff",
1986
- d: "m13.53 12.75.5-2.75h-2.94v-.97c0-1.46.57-2.01 2.05-2.01q.7 0 1.04.03v-2.5a10 10 0 0 0-1.96-.22c-3 0-4.4 1.42-4.4 4.48V10H5.98v2.75h1.86v5.98a9 9 0 0 0 3.26.2v-6.18z"
1987
- }));
1988
-
1989
- const FigmaIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
1990
- xmlns: "http://www.w3.org/2000/svg",
1991
- width: 20,
1992
- height: 20,
1993
- fill: "none",
1994
- ...props
1995
- }, /*#__PURE__*/ React__namespace.createElement("path", {
1996
- fill: "#24CB71",
1997
- d: "M4 16a3 3 0 0 1 3-3h3v3a3 3 0 0 1-6 0"
1998
- }), /*#__PURE__*/ React__namespace.createElement("path", {
1999
- fill: "#FF7237",
2000
- d: "M10 1v6h3a3 3 0 0 0 0-6z"
2001
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2002
- fill: "#00B6FF",
2003
- d: "M12.98 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6"
2004
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2005
- fill: "#FF3737",
2006
- d: "M4 4a3 3 0 0 0 3 3h3V1H7a3 3 0 0 0-3 3"
2007
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2008
- fill: "#874FFF",
2009
- d: "M4 10a3 3 0 0 0 3 3h3V7H7a3 3 0 0 0-3 3"
2010
- }));
2011
-
2012
- const GitlabIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2013
- xmlns: "http://www.w3.org/2000/svg",
2014
- width: 20,
2015
- height: 20,
2016
- fill: "none",
2017
- ...props
2018
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2019
- fill: "#E24329",
2020
- d: "m18.7 8.2-.03-.07-2.45-6.4A.65.65 0 0 0 15 1.8l-1.65 5.07h-6.7L5 1.8a.64.64 0 0 0-.97-.37.6.6 0 0 0-.25.3l-2.45 6.4-.03.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26"
2021
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2022
- fill: "#FC6D26",
2023
- d: "m18.7 8.2-.03-.07a8 8 0 0 0-3.29 1.48L10 13.68l3.43 2.59 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26"
2024
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2025
- fill: "#FCA326",
2026
- d: "m6.57 16.27 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4s-1.6-1.2-3.43-2.6c-1.83 1.4-3.43 2.6-3.43 2.6"
2027
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2028
- fill: "#FC6D26",
2029
- d: "M4.62 9.61a8 8 0 0 0-3.3-1.48l-.02.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8s1.6-1.2 3.43-2.6z"
2030
- }));
2031
-
2032
- const LinkedinIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2033
- xmlns: "http://www.w3.org/2000/svg",
2034
- width: 20,
2035
- height: 20,
2036
- fill: "none",
2037
- ...props
2038
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2039
- fill: "#007EBB",
2040
- fillRule: "evenodd",
2041
- d: "M3 19h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2",
2042
- clipRule: "evenodd"
2043
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2044
- fill: "#fff",
2045
- fillRule: "evenodd",
2046
- d: "M16.5 16.5h-2.67v-4.55c0-1.25-.48-1.94-1.46-1.94-1.08 0-1.64.72-1.64 1.94v4.55H8.16V7.83h2.57V9s.78-1.43 2.62-1.43c1.83 0 3.15 1.12 3.15 3.44zM5.09 6.7A1.6 1.6 0 0 1 3.5 5.1c0-.88.71-1.6 1.59-1.6.87 0 1.58.72 1.58 1.6s-.7 1.6-1.58 1.6m-1.33 9.8h2.68V7.83H3.76z",
2047
- clipRule: "evenodd"
2048
- }));
2049
-
2050
- const MetamaskIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2051
- xmlns: "http://www.w3.org/2000/svg",
2052
- width: 20,
2053
- height: 20,
2054
- fill: "none",
2055
- ...props
2056
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2057
- fill: "#FF5C16",
2058
- d: "m17.82 18.08-3.88-1.15-2.92 1.75H8.98l-2.93-1.75-3.87 1.15L1 14.1 2.18 9.7 1 5.95l1.18-4.63 6.05 3.62h3.54l6.05-3.62L19 5.95 17.82 9.7 19 14.1z"
2059
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2060
- fill: "#FF5C16",
2061
- d: "m2.18 1.32 6.06 3.62-.25 2.49zM6.06 14.1l2.66 2.03-2.66.8zM8.5 10.75 8 7.43 4.71 9.69V12l1.33-1.26zM17.82 1.32l-6.05 3.62.24 2.49zM13.95 14.1l-2.67 2.03 2.67.8zM15.29 9.69 12 7.43l-.52 3.32h2.46L15.28 12z"
2062
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2063
- fill: "#E34807",
2064
- d: "m6.05 16.93-3.87 1.15L1 14.1h5.05zM8.5 10.75l.75 4.8-1.03-2.67-3.5-.87 1.33-1.26zM13.95 16.93l3.87 1.15L19 14.1h-5.05zM11.5 10.75l-.75 4.8 1.03-2.67 3.5-.87-1.33-1.26z"
2065
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2066
- fill: "#FF8D5D",
2067
- d: "M1 14.1 2.18 9.7H4.7L4.72 12l3.5.87 1.03 2.66-.53.6-2.67-2.04zM19 14.1 17.82 9.7H15.3L15.28 12l-3.5.87-1.03 2.66.53.6 2.67-2.04z"
2068
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2069
- fill: "#FF8D5D",
2070
- d: "M11.77 4.94H8.23L8 7.43l1.26 8.11h1.5l1.26-8.11z"
2071
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2072
- fill: "#661800",
2073
- d: "M2.18 1.32 1 5.95 2.18 9.7H4.7L8 7.43zM7.77 11.71H6.62l-.62.61 2.22.56zM17.82 1.32 19 5.95 17.82 9.7H15.3L12 7.43zM12.23 11.71h1.15l.62.62-2.22.55zM11.02 17.1l.26-.97-.53-.58h-1.5l-.53.58.26.96"
2074
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2075
- fill: "#C0C4CD",
2076
- d: "M11.02 17.1v1.58H8.98v-1.59z"
2077
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2078
- fill: "#E7EBF6",
2079
- d: "m6.06 16.93 2.92 1.75v-1.59l-.26-.96zM13.95 16.93l-2.93 1.75v-1.59l.26-.96z"
2080
- }));
2081
-
2082
- const PhantomIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2083
- xmlns: "http://www.w3.org/2000/svg",
2084
- width: 20,
2085
- height: 20,
2086
- fill: "none",
2087
- ...props
2088
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2089
- fill: "#AB9FF2",
2090
- d: "M3.13 17.5c2.3 0 4.02-2 5.05-3.58q-.19.53-.2 1.04c0 .92.54 1.58 1.58 1.58 1.44 0 2.97-1.26 3.76-2.62a2 2 0 0 0-.08.55c0 .64.36 1.04 1.1 1.04 2.32 0 4.66-4.12 4.66-7.73 0-2.8-1.42-5.28-4.98-5.28C7.75 2.5 1 10.16 1 15.11c0 1.94 1.04 2.39 2.13 2.39m8.73-10.02c0-.7.39-1.2.96-1.2s.95.5.95 1.2-.4 1.2-.95 1.2c-.57 0-.96-.5-.96-1.2m2.98 0c0-.7.39-1.2.96-1.2.55 0 .94.5.94 1.2s-.38 1.2-.94 1.2c-.57 0-.96-.5-.96-1.2"
2091
- }));
2092
-
2093
- const SalesforceIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2094
- xmlns: "http://www.w3.org/2000/svg",
2095
- width: 20,
2096
- height: 20,
2097
- fill: "none",
2098
- ...props
2099
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2100
- fill: "#00A1E0",
2101
- fillRule: "evenodd",
2102
- d: "M8.49 4.92a3.1 3.1 0 0 1 2.28-1.01c1.2 0 2.22.68 2.78 1.7q.75-.35 1.57-.35c2.14 0 3.88 1.8 3.88 4.04a3.96 3.96 0 0 1-4.65 3.96c-.49.9-1.42 1.5-2.47 1.5q-.65 0-1.25-.3a3.2 3.2 0 0 1-2.97 2.04c-1.4 0-2.58-.9-3.04-2.18q-.3.06-.62.06c-1.66 0-3-1.4-3-3.13 0-1.16.6-2.17 1.5-2.71a4 4 0 0 1-.29-1.44c0-1.99 1.57-3.6 3.5-3.6 1.13 0 2.15.56 2.78 1.42",
2103
- clipRule: "evenodd"
2104
- }));
2105
-
2106
- const SnapchatIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2107
- xmlns: "http://www.w3.org/2000/svg",
2108
- width: 20,
2109
- height: 20,
2110
- fill: "none",
2111
- ...props
2112
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2113
- fill: "#fff",
2114
- d: "M17.72 14.26c-2.78-1.35-3.23-3.43-3.25-3.59-.02-.18-.05-.33.16-.52.2-.19 1.08-.73 1.32-.9q.63-.41.46-.92c-.1-.24-.32-.33-.56-.33l-.22.03c-.44.1-.87.32-1.12.38h-.1q-.19.02-.17-.21c.03-.49.1-1.44.02-2.32a3.7 3.7 0 0 0-.96-2.36A4.3 4.3 0 0 0 10 2.14a4.3 4.3 0 0 0-3.3 1.37 3.7 3.7 0 0 0-.96 2.36c-.08.89 0 1.84.02 2.33q.01.22-.17.22l-.1-.02c-.24-.06-.68-.28-1.12-.38L4.15 8c-.24 0-.46.1-.55.33-.14.35.04.63.45.91.24.17 1.13.72 1.33.9.2.2.18.34.15.53-.02.16-.46 2.24-3.25 3.59-.16.08-.44.24.05.51.77.43 1.28.38 1.68.64.34.22.14.69.38.86.3.2 1.2-.02 2.35.36.96.32 1.55 1.22 3.26 1.22s2.32-.9 3.27-1.22c1.15-.38 2.04-.16 2.34-.36.25-.17.05-.64.39-.86.4-.26.9-.21 1.68-.64.48-.26.2-.43.04-.5",
2115
- className: shadcn.modules_73af8a26.darkInvert
2116
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2117
- fill: "#000",
2118
- d: "M18.94 14.1a1.3 1.3 0 0 0-.64-.67l-.14-.07-.24-.13a5.4 5.4 0 0 1-1.97-1.68 4 4 0 0 1-.33-.6q-.06-.16-.01-.23l.1-.12.82-.53q.52-.36.74-.8a1.6 1.6 0 0 0 .08-1.3c-.23-.6-.8-.98-1.5-.98a2 2 0 0 0-.54.08q.01-.64-.04-1.29a4.83 4.83 0 0 0-2.44-3.93A5.6 5.6 0 0 0 10 1.15a5.6 5.6 0 0 0-2.82.72 4.8 4.8 0 0 0-2.44 3.93q-.06.66-.04 1.28a3 3 0 0 0-.55-.08 1.54 1.54 0 0 0-1.6 1.65q.01.33.18.64.23.43.74.8l.42.27.38.25q.08.04.12.12.05.07-.01.24-.14.3-.33.59a5.4 5.4 0 0 1-1.91 1.65c-.43.23-.89.39-1.08.9-.14.4-.05.84.32 1.21q.2.21.46.35.53.3 1.12.45.13.03.23.1c.13.12.12.3.3.55q.13.2.33.34c.37.26.78.27 1.23.3.4 0 .85.02 1.37.2q.3.11.7.36c.61.38 1.46.9 2.88.9s2.27-.52 2.9-.9q.37-.25.68-.36c.52-.17.97-.2 1.37-.2.44-.02.86-.04 1.23-.3q.24-.16.38-.41c.13-.22.13-.37.25-.47l.21-.1a5 5 0 0 0 1.14-.46q.28-.15.48-.37v-.01c.35-.37.44-.8.3-1.18m-1.27.68c-.77.42-1.28.38-1.67.64-.34.21-.14.68-.39.85-.3.21-1.2-.01-2.34.37-.95.31-1.56 1.21-3.27 1.21-1.7 0-2.3-.9-3.27-1.22-1.15-.38-2.04-.15-2.34-.36-.25-.17-.05-.64-.38-.86-.4-.25-.91-.2-1.68-.63-.5-.27-.21-.44-.05-.52 2.79-1.35 3.23-3.43 3.25-3.58.02-.2.05-.34-.16-.53-.2-.18-1.08-.73-1.32-.9-.4-.28-.59-.57-.46-.91.1-.25.32-.34.56-.34l.22.03c.44.1.87.32 1.12.38l.1.01q.19 0 .17-.22c-.03-.49-.1-1.43-.02-2.32.1-1.22.5-1.83.96-2.36A4.3 4.3 0 0 1 10 2.15a4.3 4.3 0 0 1 3.3 1.36c.46.54.86 1.14.96 2.36.08.89.01 1.84-.02 2.33q-.01.23.17.22l.1-.02c.24-.06.68-.28 1.12-.38l.22-.02c.24 0 .46.1.56.33q.17.5-.46.91c-.24.17-1.13.72-1.32.9-.21.2-.18.34-.16.53.02.16.46 2.24 3.25 3.59.17.08.44.25-.05.52",
2119
- className: shadcn.modules_73af8a26.darkInvert
2120
- }));
2121
-
2122
- const TiktokIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2123
- xmlns: "http://www.w3.org/2000/svg",
2124
- width: 20,
2125
- height: 20,
2126
- fill: "none",
2127
- ...props
2128
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2129
- fill: "#161823",
2130
- fillRule: "evenodd",
2131
- d: "M11.38 1.79h2.3A4.42 4.42 0 0 0 18 5.3v.68l.01 2.41a7.6 7.6 0 0 1-4.39-1.38v6.28c0 3.14-2.6 5.7-5.8 5.7a6 6 0 0 1-3.33-1.03A5.7 5.7 0 0 1 2 13.3a5.76 5.76 0 0 1 6.59-5.64v3.16q-.37-.11-.78-.12a2.63 2.63 0 0 0-2.66 2.6c0 1 .58 1.87 1.43 2.3q.55.3 1.23.3c1.42 0 2.59-1.1 2.64-2.5V1h3.16q0 .4.08.79z",
2132
- clipRule: "evenodd",
2133
- className: shadcn.modules_73af8a26.darkInvert
2134
- }));
2135
-
2136
- const TwitchIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2137
- xmlns: "http://www.w3.org/2000/svg",
2138
- width: 20,
2139
- height: 20,
2140
- fill: "none",
2141
- ...props
2142
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2143
- fill: "#fff",
2144
- d: "m16.25 9.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z"
2145
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2146
- fill: "#9146FF",
2147
- d: "M5.63 1 2.5 4.21V15.8h3.75V19l3.13-3.21h2.5L17.5 10V1zm10.62 8.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z"
2148
- }), /*#__PURE__*/ React__namespace.createElement("path", {
2149
- fill: "#9146FF",
2150
- d: "M14.38 4.54h-1.26v3.85h1.26zM10.94 4.54H9.69v3.85h1.25z"
2151
- }));
2152
-
2153
- const XTwitterIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2154
- xmlns: "http://www.w3.org/2000/svg",
2155
- width: 20,
2156
- height: 20,
2157
- fill: "none",
2158
- ...props
2159
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2160
- fill: "#000",
2161
- d: "M11.67 8.62 18.23 1h-1.55l-5.7 6.61L6.44 1H1.2l6.87 10-6.87 8h1.55l6.01-7 4.8 7h5.24zm-2.12 2.47-.7-1-5.54-7.92H5.7l4.47 6.4.7 1 5.8 8.3H14.3z",
2162
- className: shadcn.modules_73af8a26.darkInvert
2163
- }));
2164
-
2165
- const YahooIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
2166
- xmlns: "http://www.w3.org/2000/svg",
2167
- width: 20,
2168
- height: 20,
2169
- fill: "none",
2170
- ...props
2171
- }, /*#__PURE__*/ React__namespace.createElement("path", {
2172
- fill: "#5F01D2",
2173
- fillRule: "evenodd",
2174
- d: "M1 5.74 4.92 15l-1.4 3.33h3.44l5.23-12.6H8.76l-2.13 5.4-2.1-5.4zm9.47 7.24c0 1.16.9 2.1 2.1 2.1 1.25 0 2.19-.98 2.19-2.17 0-1.18-.9-2.11-2.11-2.11-1.25 0-2.18 1-2.18 2.18m4.68-11.31L11.7 9.99h3.85L19 1.67z",
2175
- clipRule: "evenodd"
2176
- }));
2177
-
2178
- const hasMultipleEthereumWallets = ()=>!!window.ethereum?.providers;
2179
- const hasMetaMask = ()=>!!(hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isMetaMask) : window.ethereum.isMetaMask);
2180
- const hasCoinbaseWallet = ()=>!!(hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isCoinbaseWallet) : window.ethereum?.isCoinbaseWallet);
2181
- const hasOtherEthereumWallet = ()=>!hasMetaMask() && !hasCoinbaseWallet() && !!window.ethereum;
2182
- const getMetaMaskProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isMetaMask) : window.ethereum;
2183
- const getCoinbaseProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isCoinbaseWallet) : window.ethereum;
2184
- const getOtherInjectedProvider = ()=>window.ethereum.providers?.find((wallet)=>!wallet.isCoinbaseWallet && !wallet.isMetaMask);
2185
- const WalletToIcon = {
2186
- [StytchSSRProxy.Wallets.Phantom]: PhantomIcon,
2187
- [StytchSSRProxy.Wallets.Binance]: BinanceIcon,
2188
- [StytchSSRProxy.Wallets.Coinbase]: CoinbaseIcon,
2189
- [StytchSSRProxy.Wallets.Metamask]: MetamaskIcon,
2190
- [StytchSSRProxy.Wallets.GenericEthereumWallet]: GenericWalletIcon,
2191
- [StytchSSRProxy.Wallets.GenericSolanaWallet]: GenericWalletIcon
2192
- };
2193
- const WalletToText = {
2194
- [StytchSSRProxy.Wallets.Phantom]: {
2195
- id: "crypto.wallet.phantom",
2196
- message: "Phantom"
2197
- },
2198
- [StytchSSRProxy.Wallets.Binance]: {
2199
- id: "crypto.wallet.binance",
2200
- message: "Binance"
2201
- },
2202
- [StytchSSRProxy.Wallets.Coinbase]: {
2203
- id: "crypto.wallet.coinbase",
2204
- message: "Coinbase"
2205
- },
2206
- [StytchSSRProxy.Wallets.Metamask]: {
2207
- id: "crypto.wallet.metamask",
2208
- message: "Metamask"
2209
- },
2210
- [StytchSSRProxy.Wallets.GenericEthereumWallet]: {
2211
- id: "crypto.wallet.otherEthereum",
2212
- message: "Other Ethereum Wallet"
2213
- },
2214
- [StytchSSRProxy.Wallets.GenericSolanaWallet]: {
2215
- id: "crypto.wallet.otherSolana",
2216
- message: "Other Solana Wallet"
2217
- }
2218
- };
2219
- const isWalletVisible = (wallet)=>{
2220
- switch(wallet){
2221
- case StytchSSRProxy.Wallets.Metamask:
2222
- return !!window.ethereum && hasMetaMask();
2223
- case StytchSSRProxy.Wallets.Phantom:
2224
- return (!!window.solana && window.solana?.isPhantom) ?? false;
2225
- case StytchSSRProxy.Wallets.Binance:
2226
- return !!window.BinanceChain;
2227
- case StytchSSRProxy.Wallets.Coinbase:
2228
- return !!window.ethereum && hasCoinbaseWallet();
2229
- case StytchSSRProxy.Wallets.GenericEthereumWallet:
2230
- return !!window.ethereum && hasOtherEthereumWallet();
2231
- case StytchSSRProxy.Wallets.GenericSolanaWallet:
2232
- return !!window.solana && !window.solana.isPhantom;
2233
- default:
2234
- return false;
2235
- }
2236
- };
2237
- const connectWithEthereumProvider = async (request)=>{
2238
- const [address] = await request({
2239
- method: 'eth_requestAccounts'
2240
- });
2241
- return address;
2242
- };
2243
- const connectWithWallet = async ({ wallet })=>{
2244
- switch(wallet){
2245
- case StytchSSRProxy.Wallets.Metamask:
2246
- {
2247
- const provider = getMetaMaskProvider();
2248
- return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
2249
- }
2250
- case StytchSSRProxy.Wallets.Phantom:
2251
- {
2252
- const connectResp = await window.solana.connect();
2253
- return connectResp.publicKey.toString();
2254
- }
2255
- case StytchSSRProxy.Wallets.Binance:
2256
- {
2257
- const provider = window.BinanceChain;
2258
- return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
2259
- }
2260
- case StytchSSRProxy.Wallets.Coinbase:
2261
- {
2262
- const provider = getCoinbaseProvider();
2263
- return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
2264
- }
2265
- case StytchSSRProxy.Wallets.GenericEthereumWallet:
2266
- {
2267
- const provider = getOtherInjectedProvider();
2268
- return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
2269
- }
2270
- case StytchSSRProxy.Wallets.GenericSolanaWallet:
2271
- {
2272
- const connectResp = await window.solana.connect();
2273
- return connectResp.publicKey.toString();
2274
- }
2275
- default:
2276
- return '';
2277
- }
2278
- };
2279
- const signMessageWithSolanaProvider = async (message)=>{
2280
- const encodedMessage = new TextEncoder().encode(message);
2281
- const signResp = await window.solana.request({
2282
- method: 'signMessage',
2283
- params: {
2284
- message: encodedMessage,
2285
- display: 'utf8'
2286
- }
2287
- });
2288
- return bs58Exports.encode(signResp.signature);
2289
- };
2290
- const signMessageWithEthereumProvider = async (request, message, address)=>{
2291
- const signature = await request({
2292
- method: 'personal_sign',
2293
- params: [
2294
- message,
2295
- address
2296
- ]
2297
- });
2298
- return signature;
2299
- };
2300
- const signMessageWithWallet = async ({ wallet, message, address })=>{
2301
- switch(wallet){
2302
- case StytchSSRProxy.Wallets.Phantom:
2303
- case StytchSSRProxy.Wallets.GenericSolanaWallet:
2304
- return signMessageWithSolanaProvider(message);
2305
- case StytchSSRProxy.Wallets.Metamask:
2306
- {
2307
- const provider = getMetaMaskProvider();
2308
- return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2309
- }
2310
- case StytchSSRProxy.Wallets.Binance:
2311
- {
2312
- const provider = window.BinanceChain;
2313
- return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2314
- }
2315
- case StytchSSRProxy.Wallets.Coinbase:
2316
- {
2317
- const provider = getCoinbaseProvider();
2318
- return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2319
- }
2320
- case StytchSSRProxy.Wallets.GenericEthereumWallet:
2321
- {
2322
- const provider = getOtherInjectedProvider();
2323
- return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2324
- }
2325
- default:
2326
- return '';
2327
- }
2328
- };
2329
- const isSolanaWallet = (wallet)=>{
2330
- const solanaWallets = [
2331
- StytchSSRProxy.Wallets.Phantom,
2332
- StytchSSRProxy.Wallets.GenericSolanaWallet
2333
- ];
2334
- return solanaWallets.includes(wallet);
2335
- };
1905
+ const hasMultipleEthereumWallets = ()=>!!window.ethereum?.providers;
1906
+ const hasMetaMask = ()=>!!(hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isMetaMask) : window.ethereum.isMetaMask);
1907
+ const hasCoinbaseWallet = ()=>!!(hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isCoinbaseWallet) : window.ethereum?.isCoinbaseWallet);
1908
+ const hasOtherEthereumWallet = ()=>!hasMetaMask() && !hasCoinbaseWallet() && !!window.ethereum;
1909
+ const getMetaMaskProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isMetaMask) : window.ethereum;
1910
+ const getCoinbaseProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isCoinbaseWallet) : window.ethereum;
1911
+ const getOtherInjectedProvider = ()=>window.ethereum.providers?.find((wallet)=>!wallet.isCoinbaseWallet && !wallet.isMetaMask);
1912
+ const walletIcons = {
1913
+ [StytchSSRProxy.Wallets.Phantom]: 'phantom',
1914
+ [StytchSSRProxy.Wallets.Binance]: 'binance',
1915
+ [StytchSSRProxy.Wallets.Coinbase]: 'coinbase',
1916
+ [StytchSSRProxy.Wallets.Metamask]: 'metamask'
1917
+ };
1918
+ const useCryptoIcon = ()=>{
1919
+ const iconRegistry = shadcn.usePresentation().iconRegistry;
1920
+ return (wallet)=>{
1921
+ const iconName = walletIcons[wallet];
1922
+ return iconName ? iconRegistry[iconName] : GenericWalletIcon;
1923
+ };
1924
+ };
1925
+ const WalletToText = {
1926
+ [StytchSSRProxy.Wallets.Phantom]: {
1927
+ id: "crypto.wallet.phantom",
1928
+ message: "Phantom"
1929
+ },
1930
+ [StytchSSRProxy.Wallets.Binance]: {
1931
+ id: "crypto.wallet.binance",
1932
+ message: "Binance"
1933
+ },
1934
+ [StytchSSRProxy.Wallets.Coinbase]: {
1935
+ id: "crypto.wallet.coinbase",
1936
+ message: "Coinbase"
1937
+ },
1938
+ [StytchSSRProxy.Wallets.Metamask]: {
1939
+ id: "crypto.wallet.metamask",
1940
+ message: "Metamask"
1941
+ },
1942
+ [StytchSSRProxy.Wallets.GenericEthereumWallet]: {
1943
+ id: "crypto.wallet.otherEthereum",
1944
+ message: "Other Ethereum Wallet"
1945
+ },
1946
+ [StytchSSRProxy.Wallets.GenericSolanaWallet]: {
1947
+ id: "crypto.wallet.otherSolana",
1948
+ message: "Other Solana Wallet"
1949
+ }
1950
+ };
1951
+ const isWalletVisible = (wallet)=>{
1952
+ switch(wallet){
1953
+ case StytchSSRProxy.Wallets.Metamask:
1954
+ return !!window.ethereum && hasMetaMask();
1955
+ case StytchSSRProxy.Wallets.Phantom:
1956
+ return (!!window.solana && window.solana?.isPhantom) ?? false;
1957
+ case StytchSSRProxy.Wallets.Binance:
1958
+ return !!window.BinanceChain;
1959
+ case StytchSSRProxy.Wallets.Coinbase:
1960
+ return !!window.ethereum && hasCoinbaseWallet();
1961
+ case StytchSSRProxy.Wallets.GenericEthereumWallet:
1962
+ return !!window.ethereum && hasOtherEthereumWallet();
1963
+ case StytchSSRProxy.Wallets.GenericSolanaWallet:
1964
+ return !!window.solana && !window.solana.isPhantom;
1965
+ default:
1966
+ return false;
1967
+ }
1968
+ };
1969
+ const connectWithEthereumProvider = async (request)=>{
1970
+ const [address] = await request({
1971
+ method: 'eth_requestAccounts'
1972
+ });
1973
+ return address;
1974
+ };
1975
+ const connectWithWallet = async ({ wallet })=>{
1976
+ switch(wallet){
1977
+ case StytchSSRProxy.Wallets.Metamask:
1978
+ {
1979
+ const provider = getMetaMaskProvider();
1980
+ return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
1981
+ }
1982
+ case StytchSSRProxy.Wallets.Phantom:
1983
+ {
1984
+ const connectResp = await window.solana.connect();
1985
+ return connectResp.publicKey.toString();
1986
+ }
1987
+ case StytchSSRProxy.Wallets.Binance:
1988
+ {
1989
+ const provider = window.BinanceChain;
1990
+ return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
1991
+ }
1992
+ case StytchSSRProxy.Wallets.Coinbase:
1993
+ {
1994
+ const provider = getCoinbaseProvider();
1995
+ return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
1996
+ }
1997
+ case StytchSSRProxy.Wallets.GenericEthereumWallet:
1998
+ {
1999
+ const provider = getOtherInjectedProvider();
2000
+ return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
2001
+ }
2002
+ case StytchSSRProxy.Wallets.GenericSolanaWallet:
2003
+ {
2004
+ const connectResp = await window.solana.connect();
2005
+ return connectResp.publicKey.toString();
2006
+ }
2007
+ default:
2008
+ return '';
2009
+ }
2010
+ };
2011
+ const signMessageWithSolanaProvider = async (message)=>{
2012
+ const encodedMessage = new TextEncoder().encode(message);
2013
+ const signResp = await window.solana.request({
2014
+ method: 'signMessage',
2015
+ params: {
2016
+ message: encodedMessage,
2017
+ display: 'utf8'
2018
+ }
2019
+ });
2020
+ return bs58Exports.encode(signResp.signature);
2021
+ };
2022
+ const signMessageWithEthereumProvider = async (request, message, address)=>{
2023
+ const signature = await request({
2024
+ method: 'personal_sign',
2025
+ params: [
2026
+ message,
2027
+ address
2028
+ ]
2029
+ });
2030
+ return signature;
2031
+ };
2032
+ const signMessageWithWallet = async ({ wallet, message, address })=>{
2033
+ switch(wallet){
2034
+ case StytchSSRProxy.Wallets.Phantom:
2035
+ case StytchSSRProxy.Wallets.GenericSolanaWallet:
2036
+ return signMessageWithSolanaProvider(message);
2037
+ case StytchSSRProxy.Wallets.Metamask:
2038
+ {
2039
+ const provider = getMetaMaskProvider();
2040
+ return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2041
+ }
2042
+ case StytchSSRProxy.Wallets.Binance:
2043
+ {
2044
+ const provider = window.BinanceChain;
2045
+ return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2046
+ }
2047
+ case StytchSSRProxy.Wallets.Coinbase:
2048
+ {
2049
+ const provider = getCoinbaseProvider();
2050
+ return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2051
+ }
2052
+ case StytchSSRProxy.Wallets.GenericEthereumWallet:
2053
+ {
2054
+ const provider = getOtherInjectedProvider();
2055
+ return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
2056
+ }
2057
+ default:
2058
+ return '';
2059
+ }
2060
+ };
2061
+ const isSolanaWallet = (wallet)=>{
2062
+ const solanaWallets = [
2063
+ StytchSSRProxy.Wallets.Phantom,
2064
+ StytchSSRProxy.Wallets.GenericSolanaWallet
2065
+ ];
2066
+ return solanaWallets.includes(wallet);
2067
+ };
2336
2068
 
2337
2069
  const MAX_BUTTONS = 6;
2338
- const WalletIconComponent = ({ wallet })=>{
2339
- const Icon = WalletToIcon[wallet];
2340
- return /*#__PURE__*/ React__namespace.createElement(Icon, null);
2341
- };
2342
2070
  const walletMessages = {
2343
2071
  [StytchSSRProxy.Wallets.Phantom]: {
2344
2072
  id: "crypto.wallet.continueWithPhantom",
@@ -2369,6 +2097,7 @@ const CryptoWalletButtons = ({ type })=>{
2369
2097
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
2370
2098
  const [state, dispatch] = useGlobalReducer();
2371
2099
  const config = useConfig();
2100
+ const getCryptoIcon = useCryptoIcon();
2372
2101
  const oAuthOptions = config.oauthOptions?.providers.length ?? 0;
2373
2102
  // Crypto Buttons on screen = Maximum Buttons - OAuth Buttons - 1 (Other crypto or set up new wallet)
2374
2103
  const cryptoButtonsOnMainScreen = MAX_BUTTONS - oAuthOptions - 1;
@@ -2390,18 +2119,18 @@ const CryptoWalletButtons = ({ type })=>{
2390
2119
  const mainWallets = allDetectedWallets.slice(0, cryptoButtonsOnMainScreen);
2391
2120
  const otherWallet = allDetectedWallets.slice(cryptoButtonsOnMainScreen);
2392
2121
  const walletsToRender = type === 'main' ? mainWallets : otherWallet;
2393
- return /*#__PURE__*/ React__namespace.createElement(shadcn.ButtonColumn, null, walletsToRender.map((wallet)=>/*#__PURE__*/ React__namespace.createElement(shadcn.Button, {
2122
+ return /*#__PURE__*/ React__namespace.createElement(shadcn.ButtonColumn, null, walletsToRender.map((wallet)=>{
2123
+ const walletEnum = StytchSSRProxy.Wallets[wallet];
2124
+ const Icon = getCryptoIcon(walletEnum);
2125
+ return /*#__PURE__*/ React__namespace.createElement(shadcn.Button, {
2394
2126
  key: wallet,
2395
2127
  variant: "outline",
2396
- icon: /*#__PURE__*/ React__namespace.createElement(WalletIconComponent, {
2397
- wallet: StytchSSRProxy.Wallets[wallet]
2398
- }),
2399
- onClick: ()=>onWalletStart(StytchSSRProxy.Wallets[wallet])
2400
- }, type === 'main' ? $__i18n._(walletMessages[StytchSSRProxy.Wallets[wallet]]) : $__i18n._(WalletToText[StytchSSRProxy.Wallets[wallet]]))), renderOtherScreenButton && type === 'main' ? /*#__PURE__*/ React__namespace.createElement(shadcn.Button, {
2128
+ icon: /*#__PURE__*/ React__namespace.createElement(Icon, null),
2129
+ onClick: ()=>onWalletStart(walletEnum)
2130
+ }, type === 'main' ? $__i18n._(walletMessages[walletEnum]) : $__i18n._(WalletToText[walletEnum]));
2131
+ }), renderOtherScreenButton && type === 'main' ? /*#__PURE__*/ React__namespace.createElement(shadcn.Button, {
2401
2132
  variant: "outline",
2402
- icon: /*#__PURE__*/ React__namespace.createElement(WalletIconComponent, {
2403
- wallet: StytchSSRProxy.Wallets.GenericEthereumWallet
2404
- }),
2133
+ icon: /*#__PURE__*/ React__namespace.createElement(GenericWalletIcon, null),
2405
2134
  onClick: ()=>dispatch({
2406
2135
  type: 'transition',
2407
2136
  screen: AppScreens.CryptoOtherScreen
@@ -3515,7 +3244,7 @@ const LoginForm = ()=>{
3515
3244
  if (hasEmailMagicLink && hasOTPEmail) return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Typography, {
3516
3245
  variant: "helper",
3517
3246
  color: "destructive"
3518
- }, idpHelpers.DEV('Error: Cannot use both EML and Email OTP'));
3247
+ }, dev.DEV('Error: Cannot use both EML and Email OTP'));
3519
3248
  return /*#__PURE__*/ React__namespace.default.createElement(Root2, {
3520
3249
  defaultValue: tabMethods[0]
3521
3250
  }, tabMethods.length > 1 && /*#__PURE__*/ React__namespace.default.createElement(List, {
@@ -3964,7 +3693,7 @@ const GoogleOneTap = ({ position, customScopes, providerParams, cancelOnTapOutsi
3964
3693
  });
3965
3694
  }
3966
3695
  if (oneTapError) {
3967
- return /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, idpHelpers.DEV(/*#__PURE__*/ React__namespace.default.createElement(shadcn.ErrorMessages, {
3696
+ return /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, dev.DEV(/*#__PURE__*/ React__namespace.default.createElement(shadcn.ErrorMessages, {
3968
3697
  error: oneTapError
3969
3698
  })), fallbackWithLastUsed);
3970
3699
  }
@@ -5179,7 +4908,7 @@ const PasskeyRegistrationSuccess = ()=>{
5179
4908
  update.catch((error)=>{
5180
4909
  logger.logger.error(error);
5181
4910
  shadcn.errorToast({
5182
- message: StytchSSRProxy.errorToStytchError(error).message
4911
+ message: dev.errorToStytchError(error).message
5183
4912
  });
5184
4913
  setEditableRowState(prevEditableRowState);
5185
4914
  }).then(()=>{
@@ -5336,27 +5065,216 @@ const ConnectWallet = ()=>{
5336
5065
  });
5337
5066
  dispatch({
5338
5067
  type: 'transition',
5339
- screen: AppScreens.CryptoSignMessage
5340
- });
5341
- }).catch(handleError);
5342
- };
5343
- shadcn.useMountEffect(()=>{
5344
- onConnectWallet();
5345
- });
5068
+ screen: AppScreens.CryptoSignMessage
5069
+ });
5070
+ }).catch(handleError);
5071
+ };
5072
+ shadcn.useMountEffect(()=>{
5073
+ onConnectWallet();
5074
+ });
5075
+ return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5076
+ gap: 6
5077
+ }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.TextColumn, {
5078
+ header: $__i18n._({
5079
+ id: "crypto.connectWallet.title",
5080
+ message: "Connecting to your wallet..."
5081
+ }),
5082
+ body: $__i18n._({
5083
+ id: "crypto.connectWallet.instructionPopup",
5084
+ message: "Complete sign in by connecting through the wallet pop up in the right corner of your screen."
5085
+ }),
5086
+ helper: $__i18n._({
5087
+ id: "crypto.troubleHelp",
5088
+ message: "If you are having trouble, go back to the main screen and try logging in again."
5089
+ })
5090
+ }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5091
+ variant: "outline",
5092
+ onClick: ()=>dispatch({
5093
+ type: 'transition',
5094
+ screen: AppScreens.Main
5095
+ })
5096
+ }, $__i18n._({
5097
+ id: "button.goBack",
5098
+ message: "Go back"
5099
+ })));
5100
+ };
5101
+
5102
+ const SignMessage = ()=>{
5103
+ const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5104
+ const onEvent = useEventCallback();
5105
+ const onError = useErrorCallback();
5106
+ const handleError = ()=>{
5107
+ // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback
5108
+ onError({
5109
+ message: '[Error] Could not sign message'
5110
+ });
5111
+ dispatch({
5112
+ type: 'transition',
5113
+ screen: AppScreens.CryptoError
5114
+ });
5115
+ };
5116
+ const stytchClient = useStytch();
5117
+ const config = useConfig();
5118
+ const [state, dispatch] = useGlobalReducer();
5119
+ const { walletChallenge, walletAddress, walletOption } = state.formState.cryptoState;
5120
+ const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';
5121
+ const onSignWallet = async ()=>{
5122
+ const signature = await signMessageWithWallet({
5123
+ wallet: walletOption,
5124
+ message: walletChallenge,
5125
+ address: walletAddress
5126
+ });
5127
+ stytchClient.cryptoWallets.authenticate({
5128
+ crypto_wallet_address: walletAddress,
5129
+ crypto_wallet_type: walletType,
5130
+ signature,
5131
+ session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
5132
+ }).then((data)=>{
5133
+ onEvent({
5134
+ type: StytchSSRProxy.StytchEventType.CryptoWalletAuthenticate,
5135
+ data
5136
+ });
5137
+ dispatch({
5138
+ type: 'transition',
5139
+ screen: AppScreens.CryptoConfirmation
5140
+ });
5141
+ }).catch(handleError);
5142
+ };
5143
+ shadcn.useMountEffect(()=>{
5144
+ onSignWallet();
5145
+ });
5146
+ return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5147
+ gap: 6
5148
+ }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.TextColumn, {
5149
+ header: $__i18n._({
5150
+ id: "crypto.signMessage.title",
5151
+ message: "Completing signature request..."
5152
+ }),
5153
+ body: $__i18n._({
5154
+ id: "crypto.signMessage.instruction",
5155
+ message: "Complete the signature request through the wallet pop up in the right corner of your screen."
5156
+ }),
5157
+ helper: $__i18n._({
5158
+ id: "crypto.troubleHelp",
5159
+ message: "If you are having trouble, go back to the main screen and try logging in again."
5160
+ })
5161
+ }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5162
+ variant: "outline",
5163
+ onClick: ()=>dispatch({
5164
+ type: 'transition',
5165
+ screen: AppScreens.Main
5166
+ })
5167
+ }, $__i18n._({
5168
+ id: "button.goBack",
5169
+ message: "Go back"
5170
+ })));
5171
+ };
5172
+
5173
+ const OtherCryptoWallets = ()=>{
5174
+ const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5175
+ const [, dispatch] = useGlobalReducer();
5176
+ return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5177
+ gap: 6
5178
+ }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Typography, {
5179
+ variant: "header"
5180
+ }, $__i18n._({
5181
+ id: "crypto.continueWithOtherWallet.title",
5182
+ message: "Continue with other wallet"
5183
+ })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(CryptoWalletButtons, {
5184
+ type: "other"
5185
+ }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5186
+ variant: "ghost",
5187
+ onClick: ()=>dispatch({
5188
+ type: 'transition',
5189
+ screen: AppScreens.Main
5190
+ })
5191
+ }, $__i18n._({
5192
+ id: "button.goBack",
5193
+ message: "Go back"
5194
+ }))));
5195
+ };
5196
+
5197
+ const commonButtonProps = {
5198
+ variant: 'outline',
5199
+ target: '_blank',
5200
+ rel: 'noreferrer'
5201
+ };
5202
+ const SetupNewWallet = ()=>{
5203
+ const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5204
+ const [, dispatch] = useGlobalReducer();
5205
+ const getCryptoIcon = useCryptoIcon();
5206
+ const MetamaskIcon = getCryptoIcon(StytchSSRProxy.Wallets.Metamask);
5207
+ const PhantomIcon = getCryptoIcon(StytchSSRProxy.Wallets.Phantom);
5208
+ const CoinbaseIcon = getCryptoIcon(StytchSSRProxy.Wallets.Coinbase);
5209
+ const BinanceIcon = getCryptoIcon(StytchSSRProxy.Wallets.Binance);
5210
+ return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5211
+ gap: 6
5212
+ }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.TextColumn, {
5213
+ header: $__i18n._({
5214
+ id: "crypto.setupNewWallet.title",
5215
+ message: "Set up a new crypto wallet"
5216
+ }),
5217
+ body: $__i18n._({
5218
+ id: "crypto.setupNewWallet.content",
5219
+ message: "Get started by downloading any Ethereum or Solana wallet."
5220
+ }),
5221
+ helper: $__i18n._({
5222
+ id: "crypto.setupNewWallet.instruction",
5223
+ message: "We’ve included a few examples of wallet extensions you can find below. Once you’ve set up your wallet, click “Go back” to use it and sign in."
5224
+ })
5225
+ }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5226
+ ...commonButtonProps,
5227
+ icon: /*#__PURE__*/ React__namespace.default.createElement(MetamaskIcon, null),
5228
+ href: "https://metamask.io/"
5229
+ }, $__i18n._({
5230
+ id: "crypto.wallet.metamask",
5231
+ message: "Metamask"
5232
+ })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5233
+ ...commonButtonProps,
5234
+ icon: /*#__PURE__*/ React__namespace.default.createElement(PhantomIcon, null),
5235
+ href: "https://phantom.com/"
5236
+ }, $__i18n._({
5237
+ id: "crypto.wallet.phantom",
5238
+ message: "Phantom"
5239
+ })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5240
+ ...commonButtonProps,
5241
+ icon: /*#__PURE__*/ React__namespace.default.createElement(CoinbaseIcon, null),
5242
+ href: "https://www.coinbase.com/wallet"
5243
+ }, $__i18n._({
5244
+ id: "crypto.wallet.coinbase",
5245
+ message: "Coinbase"
5246
+ })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5247
+ ...commonButtonProps,
5248
+ icon: /*#__PURE__*/ React__namespace.default.createElement(BinanceIcon, null),
5249
+ href: "https://web3.binance.com/en/about"
5250
+ }, $__i18n._({
5251
+ id: "crypto.wallet.binance",
5252
+ message: "Binance"
5253
+ })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5254
+ variant: "primary",
5255
+ onClick: ()=>dispatch({
5256
+ type: 'transition',
5257
+ screen: AppScreens.Main
5258
+ })
5259
+ }, $__i18n._({
5260
+ id: "button.goBack",
5261
+ message: "Go back"
5262
+ }))));
5263
+ };
5264
+
5265
+ const Error$1 = ()=>{
5266
+ const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5267
+ const [, dispatch] = useGlobalReducer();
5346
5268
  return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5347
5269
  gap: 6
5348
5270
  }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.TextColumn, {
5349
5271
  header: $__i18n._({
5350
- id: "crypto.connectWallet.title",
5351
- message: "Connecting to your wallet..."
5272
+ id: "crypto.error.title",
5273
+ message: "Looks like there was an error"
5352
5274
  }),
5353
5275
  body: $__i18n._({
5354
- id: "crypto.connectWallet.instructionPopup",
5355
- message: "Complete sign in by connecting through the wallet pop up in the right corner of your screen."
5356
- }),
5357
- helper: $__i18n._({
5358
- id: "crypto.troubleHelp",
5359
- message: "If you are having trouble, go back to the main screen and try logging in again."
5276
+ id: "crypto.error.content",
5277
+ message: "Your sign in request could not be completed. Go back to the main screen and try logging in again."
5360
5278
  })
5361
5279
  }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5362
5280
  variant: "outline",
@@ -5370,64 +5288,19 @@ const ConnectWallet = ()=>{
5370
5288
  })));
5371
5289
  };
5372
5290
 
5373
- const SignMessage = ()=>{
5291
+ const Success = ()=>{
5374
5292
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5375
- const onEvent = useEventCallback();
5376
- const onError = useErrorCallback();
5377
- const handleError = ()=>{
5378
- // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback
5379
- onError({
5380
- message: '[Error] Could not sign message'
5381
- });
5382
- dispatch({
5383
- type: 'transition',
5384
- screen: AppScreens.CryptoError
5385
- });
5386
- };
5387
- const stytchClient = useStytch();
5388
- const config = useConfig();
5389
- const [state, dispatch] = useGlobalReducer();
5390
- const { walletChallenge, walletAddress, walletOption } = state.formState.cryptoState;
5391
- const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';
5392
- const onSignWallet = async ()=>{
5393
- const signature = await signMessageWithWallet({
5394
- wallet: walletOption,
5395
- message: walletChallenge,
5396
- address: walletAddress
5397
- });
5398
- stytchClient.cryptoWallets.authenticate({
5399
- crypto_wallet_address: walletAddress,
5400
- crypto_wallet_type: walletType,
5401
- signature,
5402
- session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
5403
- }).then((data)=>{
5404
- onEvent({
5405
- type: StytchSSRProxy.StytchEventType.CryptoWalletAuthenticate,
5406
- data
5407
- });
5408
- dispatch({
5409
- type: 'transition',
5410
- screen: AppScreens.CryptoConfirmation
5411
- });
5412
- }).catch(handleError);
5413
- };
5414
- shadcn.useMountEffect(()=>{
5415
- onSignWallet();
5416
- });
5293
+ const [, dispatch] = useGlobalReducer();
5417
5294
  return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5418
5295
  gap: 6
5419
- }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.TextColumn, {
5296
+ }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Confirmation, {
5420
5297
  header: $__i18n._({
5421
- id: "crypto.signMessage.title",
5422
- message: "Completing signature request..."
5423
- }),
5424
- body: $__i18n._({
5425
- id: "crypto.signMessage.instruction",
5426
- message: "Complete the signature request through the wallet pop up in the right corner of your screen."
5298
+ id: "crypto.success.title",
5299
+ message: "Success!"
5427
5300
  }),
5428
- helper: $__i18n._({
5429
- id: "crypto.troubleHelp",
5430
- message: "If you are having trouble, go back to the main screen and try logging in again."
5301
+ text: $__i18n._({
5302
+ id: "crypto.success.content",
5303
+ message: "You have successfully connected your wallet."
5431
5304
  })
5432
5305
  }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5433
5306
  variant: "outline",
@@ -5441,148 +5314,271 @@ const SignMessage = ()=>{
5441
5314
  })));
5442
5315
  };
5443
5316
 
5444
- const OtherCryptoWallets = ()=>{
5445
- const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5446
- const [, dispatch] = useGlobalReducer();
5447
- return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5448
- gap: 6
5449
- }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Typography, {
5450
- variant: "header"
5451
- }, $__i18n._({
5452
- id: "crypto.continueWithOtherWallet.title",
5453
- message: "Continue with other wallet"
5454
- })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(CryptoWalletButtons, {
5455
- type: "other"
5456
- }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5457
- variant: "ghost",
5458
- onClick: ()=>dispatch({
5459
- type: 'transition',
5460
- screen: AppScreens.Main
5461
- })
5462
- }, $__i18n._({
5463
- id: "button.goBack",
5464
- message: "Go back"
5465
- }))));
5466
- };
5317
+ const AmazonIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5318
+ xmlns: "http://www.w3.org/2000/svg",
5319
+ width: 20,
5320
+ height: 20,
5321
+ fill: "none",
5322
+ ...props
5323
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5324
+ fill: "#F90",
5325
+ d: "M16.5 15.53C9.2 19 4.69 16.1 1.8 14.33c-.19-.1-.5.03-.23.34.97 1.17 4.13 3.98 8.25 3.98s6.59-2.25 6.9-2.64c.3-.4.08-.6-.22-.48m2.04-1.13c-.2-.25-1.19-.3-1.81-.22s-1.57.45-1.49.68c.04.09.13.05.56.01s1.64-.2 1.9.14c.25.33-.4 1.9-.51 2.16s.04.32.25.15.6-.6.85-1.23c.25-.62.4-1.5.25-1.69"
5326
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5327
+ fill: "#000",
5328
+ fillRule: "evenodd",
5329
+ d: "M11.6 8.46c0 .9.02 1.67-.44 2.47-.37.66-.96 1.06-1.62 1.06-.9 0-1.42-.68-1.42-1.69 0-1.99 1.79-2.35 3.48-2.35zm2.35 5.69a.5.5 0 0 1-.55.05c-.78-.64-.91-.94-1.34-1.55-1.28 1.3-2.19 1.7-3.85 1.7-1.96 0-3.5-1.22-3.5-3.64 0-1.9 1.03-3.19 2.5-3.82 1.26-.56 3.03-.66 4.39-.81v-.3c0-.56.04-1.22-.29-1.7-.28-.43-.83-.6-1.3-.6-.9 0-1.7.45-1.89 1.4-.04.21-.19.42-.4.43l-2.27-.25c-.19-.04-.4-.2-.34-.49C5.63 1.83 8.1 1 10.33 1c1.13 0 2.62.3 3.52 1.16 1.13 1.06 1.02 2.48 1.02 4.02v3.64c0 1.1.46 1.57.88 2.16.16.21.19.47 0 .63-.48.4-1.33 1.13-1.8 1.55z",
5330
+ clipRule: "evenodd",
5331
+ className: shadcn.modules_73af8a26.darkInvert
5332
+ }));
5333
+
5334
+ const AppleIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5335
+ xmlns: "http://www.w3.org/2000/svg",
5336
+ width: 20,
5337
+ height: 20,
5338
+ fill: "none",
5339
+ ...props
5340
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5341
+ fill: "#000",
5342
+ d: "M16.55 7.14c-.1.08-1.86 1.12-1.86 3.43A4 4 0 0 0 17 14.2c0 .06-.35 1.3-1.18 2.56-.74 1.1-1.5 2.21-2.67 2.21s-1.47-.7-2.82-.7c-1.32 0-1.79.73-2.86.73S5.66 17.97 4.8 16.7c-1-1.48-1.8-3.78-1.8-5.96C3 7.25 5.17 5.4 7.31 5.4c1.14 0 2.09.78 2.8.78.68 0 1.74-.83 3.03-.83.5 0 2.26.05 3.41 1.79m-4.02-3.27c.53-.66.91-1.59.91-2.5q0-.22-.03-.37c-.87.03-1.9.6-2.53 1.36-.49.59-.95 1.5-.95 2.44 0 .14.03.28.04.33l.23.02c.78 0 1.76-.54 2.33-1.28",
5343
+ className: shadcn.modules_73af8a26.darkInvert
5344
+ }));
5345
+
5346
+ const BinanceIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5347
+ xmlns: "http://www.w3.org/2000/svg",
5348
+ width: 20,
5349
+ height: 20,
5350
+ fill: "none",
5351
+ ...props
5352
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5353
+ fill: "#F3BA2F",
5354
+ d: "m6.43 8.56 3.5-3.5 3.49 3.5 2.03-2.03L9.92 1 4.4 6.53zM4.99 10 2.96 7.97.92 10l2.04 2.03zM6.43 11.44l3.5 3.5 3.49-3.5 2.03 2.03L9.92 19 4.4 13.47zM16.89 12.03 18.92 10 16.9 7.97 14.85 10z"
5355
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5356
+ fill: "#F3BA2F",
5357
+ d: "M11.99 10 9.92 7.93 8.4 9.46l-.18.18-.36.36 2.06 2.07z"
5358
+ }));
5359
+
5360
+ const BitbucketIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5361
+ xmlns: "http://www.w3.org/2000/svg",
5362
+ width: 20,
5363
+ height: 20,
5364
+ fill: "none",
5365
+ ...props
5366
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5367
+ fill: "#1868DB",
5368
+ d: "m17.96 9.14-1.34 8.08a.9.9 0 0 1-.93.78H4.3a.9.9 0 0 1-.93-.78L1.02 2.81c-.1-.5.17-.81.64-.81h16.68c.47 0 .73.32.64.8l-.64 3.8c-.09.55-.4.78-.93.78H7.37q-.23 0-.2.26l.79 4.78q.05.18.23.2h3.62q.17-.02.23-.2l.56-3.46c.05-.43.35-.6.75-.6h3.94c.58 0 .76.29.67.78"
5369
+ }));
5370
+
5371
+ const CoinbaseIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5372
+ xmlns: "http://www.w3.org/2000/svg",
5373
+ width: 20,
5374
+ height: 20,
5375
+ fill: "none",
5376
+ ...props
5377
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5378
+ fill: "#0052FF",
5379
+ d: "M10.02 14.5a4.5 4.5 0 1 1 4.44-5.25H19a9 9 0 1 0 0 1.5h-4.54a4.5 4.5 0 0 1-4.44 3.75"
5380
+ }));
5381
+
5382
+ const DiscordIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5383
+ xmlns: "http://www.w3.org/2000/svg",
5384
+ width: 20,
5385
+ height: 20,
5386
+ fill: "none",
5387
+ ...props
5388
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5389
+ fill: "#5865F2",
5390
+ d: "M12.53 3q-.26.44-.47.92a15 15 0 0 0-4.12 0q-.21-.47-.48-.92-1.93.3-3.72 1.1a13.8 13.8 0 0 0-2.66 9.72Q3.15 15.28 5.63 16q.56-.72.98-1.5a10 10 0 0 1-1.54-.7l.38-.27c2.88 1.3 6.22 1.3 9.1 0q.19.15.38.27a10 10 0 0 1-1.54.7q.41.8.98 1.5 2.48-.7 4.55-2.18c.38-3.69-.64-6.89-2.67-9.73a15 15 0 0 0-3.71-1.08zm-5.52 8.86c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.9 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72m5.98 0c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.91 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72"
5391
+ }));
5392
+
5393
+ const FacebookIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5394
+ xmlns: "http://www.w3.org/2000/svg",
5395
+ width: 20,
5396
+ height: 20,
5397
+ fill: "none",
5398
+ ...props
5399
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5400
+ fill: "#0866FF",
5401
+ d: "M19 10a9 9 0 1 0-11.17 8.73v-5.98H5.97V10h1.86V8.81c0-3.06 1.38-4.48 4.39-4.48.57 0 1.55.11 1.96.23v2.49q-.35-.03-1.04-.03c-1.48 0-2.05.55-2.05 2V10h2.94l-.5 2.75h-2.44v6.18A9 9 0 0 0 19 10"
5402
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5403
+ fill: "#fff",
5404
+ d: "m13.53 12.75.5-2.75h-2.94v-.97c0-1.46.57-2.01 2.05-2.01q.7 0 1.04.03v-2.5a10 10 0 0 0-1.96-.22c-3 0-4.4 1.42-4.4 4.48V10H5.98v2.75h1.86v5.98a9 9 0 0 0 3.26.2v-6.18z"
5405
+ }));
5406
+
5407
+ const FigmaIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5408
+ xmlns: "http://www.w3.org/2000/svg",
5409
+ width: 20,
5410
+ height: 20,
5411
+ fill: "none",
5412
+ ...props
5413
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5414
+ fill: "#24CB71",
5415
+ d: "M4 16a3 3 0 0 1 3-3h3v3a3 3 0 0 1-6 0"
5416
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5417
+ fill: "#FF7237",
5418
+ d: "M10 1v6h3a3 3 0 0 0 0-6z"
5419
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5420
+ fill: "#00B6FF",
5421
+ d: "M12.98 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6"
5422
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5423
+ fill: "#FF3737",
5424
+ d: "M4 4a3 3 0 0 0 3 3h3V1H7a3 3 0 0 0-3 3"
5425
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5426
+ fill: "#874FFF",
5427
+ d: "M4 10a3 3 0 0 0 3 3h3V7H7a3 3 0 0 0-3 3"
5428
+ }));
5429
+
5430
+ const GitlabIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5431
+ xmlns: "http://www.w3.org/2000/svg",
5432
+ width: 20,
5433
+ height: 20,
5434
+ fill: "none",
5435
+ ...props
5436
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5437
+ fill: "#E24329",
5438
+ d: "m18.7 8.2-.03-.07-2.45-6.4A.65.65 0 0 0 15 1.8l-1.65 5.07h-6.7L5 1.8a.64.64 0 0 0-.97-.37.6.6 0 0 0-.25.3l-2.45 6.4-.03.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26"
5439
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5440
+ fill: "#FC6D26",
5441
+ d: "m18.7 8.2-.03-.07a8 8 0 0 0-3.29 1.48L10 13.68l3.43 2.59 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26"
5442
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5443
+ fill: "#FCA326",
5444
+ d: "m6.57 16.27 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4s-1.6-1.2-3.43-2.6c-1.83 1.4-3.43 2.6-3.43 2.6"
5445
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5446
+ fill: "#FC6D26",
5447
+ d: "M4.62 9.61a8 8 0 0 0-3.3-1.48l-.02.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8s1.6-1.2 3.43-2.6z"
5448
+ }));
5449
+
5450
+ const LinkedinIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5451
+ xmlns: "http://www.w3.org/2000/svg",
5452
+ width: 20,
5453
+ height: 20,
5454
+ fill: "none",
5455
+ ...props
5456
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5457
+ fill: "#007EBB",
5458
+ fillRule: "evenodd",
5459
+ d: "M3 19h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2",
5460
+ clipRule: "evenodd"
5461
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5462
+ fill: "#fff",
5463
+ fillRule: "evenodd",
5464
+ d: "M16.5 16.5h-2.67v-4.55c0-1.25-.48-1.94-1.46-1.94-1.08 0-1.64.72-1.64 1.94v4.55H8.16V7.83h2.57V9s.78-1.43 2.62-1.43c1.83 0 3.15 1.12 3.15 3.44zM5.09 6.7A1.6 1.6 0 0 1 3.5 5.1c0-.88.71-1.6 1.59-1.6.87 0 1.58.72 1.58 1.6s-.7 1.6-1.58 1.6m-1.33 9.8h2.68V7.83H3.76z",
5465
+ clipRule: "evenodd"
5466
+ }));
5467
+
5468
+ const MetamaskIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5469
+ xmlns: "http://www.w3.org/2000/svg",
5470
+ width: 20,
5471
+ height: 20,
5472
+ fill: "none",
5473
+ ...props
5474
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5475
+ fill: "#FF5C16",
5476
+ d: "m17.82 18.08-3.88-1.15-2.92 1.75H8.98l-2.93-1.75-3.87 1.15L1 14.1 2.18 9.7 1 5.95l1.18-4.63 6.05 3.62h3.54l6.05-3.62L19 5.95 17.82 9.7 19 14.1z"
5477
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5478
+ fill: "#FF5C16",
5479
+ d: "m2.18 1.32 6.06 3.62-.25 2.49zM6.06 14.1l2.66 2.03-2.66.8zM8.5 10.75 8 7.43 4.71 9.69V12l1.33-1.26zM17.82 1.32l-6.05 3.62.24 2.49zM13.95 14.1l-2.67 2.03 2.67.8zM15.29 9.69 12 7.43l-.52 3.32h2.46L15.28 12z"
5480
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5481
+ fill: "#E34807",
5482
+ d: "m6.05 16.93-3.87 1.15L1 14.1h5.05zM8.5 10.75l.75 4.8-1.03-2.67-3.5-.87 1.33-1.26zM13.95 16.93l3.87 1.15L19 14.1h-5.05zM11.5 10.75l-.75 4.8 1.03-2.67 3.5-.87-1.33-1.26z"
5483
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5484
+ fill: "#FF8D5D",
5485
+ d: "M1 14.1 2.18 9.7H4.7L4.72 12l3.5.87 1.03 2.66-.53.6-2.67-2.04zM19 14.1 17.82 9.7H15.3L15.28 12l-3.5.87-1.03 2.66.53.6 2.67-2.04z"
5486
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5487
+ fill: "#FF8D5D",
5488
+ d: "M11.77 4.94H8.23L8 7.43l1.26 8.11h1.5l1.26-8.11z"
5489
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5490
+ fill: "#661800",
5491
+ d: "M2.18 1.32 1 5.95 2.18 9.7H4.7L8 7.43zM7.77 11.71H6.62l-.62.61 2.22.56zM17.82 1.32 19 5.95 17.82 9.7H15.3L12 7.43zM12.23 11.71h1.15l.62.62-2.22.55zM11.02 17.1l.26-.97-.53-.58h-1.5l-.53.58.26.96"
5492
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5493
+ fill: "#C0C4CD",
5494
+ d: "M11.02 17.1v1.58H8.98v-1.59z"
5495
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5496
+ fill: "#E7EBF6",
5497
+ d: "m6.06 16.93 2.92 1.75v-1.59l-.26-.96zM13.95 16.93l-2.93 1.75v-1.59l.26-.96z"
5498
+ }));
5467
5499
 
5468
- const commonButtonProps = {
5469
- variant: 'outline',
5470
- target: '_blank',
5471
- rel: 'noreferrer'
5472
- };
5473
- const walletIcon = (wallet)=>{
5474
- const Icon = WalletToIcon[wallet];
5475
- return /*#__PURE__*/ React__namespace.default.createElement(Icon, null);
5476
- };
5477
- const SetupNewWallet = ()=>{
5478
- const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5479
- const [, dispatch] = useGlobalReducer();
5480
- return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5481
- gap: 6
5482
- }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.TextColumn, {
5483
- header: $__i18n._({
5484
- id: "crypto.setupNewWallet.title",
5485
- message: "Set up a new crypto wallet"
5486
- }),
5487
- body: $__i18n._({
5488
- id: "crypto.setupNewWallet.content",
5489
- message: "Get started by downloading any Ethereum or Solana wallet."
5490
- }),
5491
- helper: $__i18n._({
5492
- id: "crypto.setupNewWallet.instruction",
5493
- message: "We’ve included a few examples of wallet extensions you can find below. Once you’ve set up your wallet, click “Go back” to use it and sign in."
5494
- })
5495
- }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5496
- ...commonButtonProps,
5497
- icon: walletIcon(StytchSSRProxy.Wallets.Metamask),
5498
- href: "https://metamask.io/"
5499
- }, $__i18n._({
5500
- id: "crypto.wallet.metamask",
5501
- message: "Metamask"
5502
- })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5503
- ...commonButtonProps,
5504
- icon: walletIcon(StytchSSRProxy.Wallets.Phantom),
5505
- href: "https://phantom.app/"
5506
- }, $__i18n._({
5507
- id: "crypto.wallet.phantom",
5508
- message: "Phantom"
5509
- })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5510
- ...commonButtonProps,
5511
- icon: walletIcon(StytchSSRProxy.Wallets.Coinbase),
5512
- href: "https://www.coinbase.com/wallet"
5513
- }, $__i18n._({
5514
- id: "crypto.wallet.coinbase",
5515
- message: "Coinbase"
5516
- })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
5517
- ...commonButtonProps,
5518
- icon: walletIcon(StytchSSRProxy.Wallets.Binance),
5519
- href: "https://www.bnbchain.world/en/binance-wallet"
5520
- }, $__i18n._({
5521
- id: "crypto.wallet.binance",
5522
- message: "Binance"
5523
- })), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5524
- variant: "primary",
5525
- onClick: ()=>dispatch({
5526
- type: 'transition',
5527
- screen: AppScreens.Main
5528
- })
5529
- }, $__i18n._({
5530
- id: "button.goBack",
5531
- message: "Go back"
5532
- }))));
5533
- };
5500
+ const PhantomIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5501
+ xmlns: "http://www.w3.org/2000/svg",
5502
+ width: 20,
5503
+ height: 20,
5504
+ fill: "none",
5505
+ ...props
5506
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5507
+ fill: "#AB9FF2",
5508
+ d: "M3.13 17.5c2.3 0 4.02-2 5.05-3.58q-.19.53-.2 1.04c0 .92.54 1.58 1.58 1.58 1.44 0 2.97-1.26 3.76-2.62a2 2 0 0 0-.08.55c0 .64.36 1.04 1.1 1.04 2.32 0 4.66-4.12 4.66-7.73 0-2.8-1.42-5.28-4.98-5.28C7.75 2.5 1 10.16 1 15.11c0 1.94 1.04 2.39 2.13 2.39m8.73-10.02c0-.7.39-1.2.96-1.2s.95.5.95 1.2-.4 1.2-.95 1.2c-.57 0-.96-.5-.96-1.2m2.98 0c0-.7.39-1.2.96-1.2.55 0 .94.5.94 1.2s-.38 1.2-.94 1.2c-.57 0-.96-.5-.96-1.2"
5509
+ }));
5534
5510
 
5535
- const Error$1 = ()=>{
5536
- const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5537
- const [, dispatch] = useGlobalReducer();
5538
- return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5539
- gap: 6
5540
- }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.TextColumn, {
5541
- header: $__i18n._({
5542
- id: "crypto.error.title",
5543
- message: "Looks like there was an error"
5544
- }),
5545
- body: $__i18n._({
5546
- id: "crypto.error.content",
5547
- message: "Your sign in request could not be completed. Go back to the main screen and try logging in again."
5548
- })
5549
- }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5550
- variant: "outline",
5551
- onClick: ()=>dispatch({
5552
- type: 'transition',
5553
- screen: AppScreens.Main
5554
- })
5555
- }, $__i18n._({
5556
- id: "button.goBack",
5557
- message: "Go back"
5558
- })));
5559
- };
5511
+ const SalesforceIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5512
+ xmlns: "http://www.w3.org/2000/svg",
5513
+ width: 20,
5514
+ height: 20,
5515
+ fill: "none",
5516
+ ...props
5517
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5518
+ fill: "#00A1E0",
5519
+ fillRule: "evenodd",
5520
+ d: "M8.49 4.92a3.1 3.1 0 0 1 2.28-1.01c1.2 0 2.22.68 2.78 1.7q.75-.35 1.57-.35c2.14 0 3.88 1.8 3.88 4.04a3.96 3.96 0 0 1-4.65 3.96c-.49.9-1.42 1.5-2.47 1.5q-.65 0-1.25-.3a3.2 3.2 0 0 1-2.97 2.04c-1.4 0-2.58-.9-3.04-2.18q-.3.06-.62.06c-1.66 0-3-1.4-3-3.13 0-1.16.6-2.17 1.5-2.71a4 4 0 0 1-.29-1.44c0-1.99 1.57-3.6 3.5-3.6 1.13 0 2.15.56 2.78 1.42",
5521
+ clipRule: "evenodd"
5522
+ }));
5560
5523
 
5561
- const Success = ()=>{
5562
- const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
5563
- const [, dispatch] = useGlobalReducer();
5564
- return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
5565
- gap: 6
5566
- }, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Confirmation, {
5567
- header: $__i18n._({
5568
- id: "crypto.success.title",
5569
- message: "Success!"
5570
- }),
5571
- text: $__i18n._({
5572
- id: "crypto.success.content",
5573
- message: "You have successfully connected your wallet."
5574
- })
5575
- }), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Button, {
5576
- variant: "outline",
5577
- onClick: ()=>dispatch({
5578
- type: 'transition',
5579
- screen: AppScreens.Main
5580
- })
5581
- }, $__i18n._({
5582
- id: "button.goBack",
5583
- message: "Go back"
5584
- })));
5585
- };
5524
+ const SnapchatIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5525
+ xmlns: "http://www.w3.org/2000/svg",
5526
+ width: 20,
5527
+ height: 20,
5528
+ fill: "none",
5529
+ ...props
5530
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5531
+ fill: "#fff",
5532
+ d: "M17.72 14.26c-2.78-1.35-3.23-3.43-3.25-3.59-.02-.18-.05-.33.16-.52.2-.19 1.08-.73 1.32-.9q.63-.41.46-.92c-.1-.24-.32-.33-.56-.33l-.22.03c-.44.1-.87.32-1.12.38h-.1q-.19.02-.17-.21c.03-.49.1-1.44.02-2.32a3.7 3.7 0 0 0-.96-2.36A4.3 4.3 0 0 0 10 2.14a4.3 4.3 0 0 0-3.3 1.37 3.7 3.7 0 0 0-.96 2.36c-.08.89 0 1.84.02 2.33q.01.22-.17.22l-.1-.02c-.24-.06-.68-.28-1.12-.38L4.15 8c-.24 0-.46.1-.55.33-.14.35.04.63.45.91.24.17 1.13.72 1.33.9.2.2.18.34.15.53-.02.16-.46 2.24-3.25 3.59-.16.08-.44.24.05.51.77.43 1.28.38 1.68.64.34.22.14.69.38.86.3.2 1.2-.02 2.35.36.96.32 1.55 1.22 3.26 1.22s2.32-.9 3.27-1.22c1.15-.38 2.04-.16 2.34-.36.25-.17.05-.64.39-.86.4-.26.9-.21 1.68-.64.48-.26.2-.43.04-.5",
5533
+ className: shadcn.modules_73af8a26.darkInvert
5534
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5535
+ fill: "#000",
5536
+ d: "M18.94 14.1a1.3 1.3 0 0 0-.64-.67l-.14-.07-.24-.13a5.4 5.4 0 0 1-1.97-1.68 4 4 0 0 1-.33-.6q-.06-.16-.01-.23l.1-.12.82-.53q.52-.36.74-.8a1.6 1.6 0 0 0 .08-1.3c-.23-.6-.8-.98-1.5-.98a2 2 0 0 0-.54.08q.01-.64-.04-1.29a4.83 4.83 0 0 0-2.44-3.93A5.6 5.6 0 0 0 10 1.15a5.6 5.6 0 0 0-2.82.72 4.8 4.8 0 0 0-2.44 3.93q-.06.66-.04 1.28a3 3 0 0 0-.55-.08 1.54 1.54 0 0 0-1.6 1.65q.01.33.18.64.23.43.74.8l.42.27.38.25q.08.04.12.12.05.07-.01.24-.14.3-.33.59a5.4 5.4 0 0 1-1.91 1.65c-.43.23-.89.39-1.08.9-.14.4-.05.84.32 1.21q.2.21.46.35.53.3 1.12.45.13.03.23.1c.13.12.12.3.3.55q.13.2.33.34c.37.26.78.27 1.23.3.4 0 .85.02 1.37.2q.3.11.7.36c.61.38 1.46.9 2.88.9s2.27-.52 2.9-.9q.37-.25.68-.36c.52-.17.97-.2 1.37-.2.44-.02.86-.04 1.23-.3q.24-.16.38-.41c.13-.22.13-.37.25-.47l.21-.1a5 5 0 0 0 1.14-.46q.28-.15.48-.37v-.01c.35-.37.44-.8.3-1.18m-1.27.68c-.77.42-1.28.38-1.67.64-.34.21-.14.68-.39.85-.3.21-1.2-.01-2.34.37-.95.31-1.56 1.21-3.27 1.21-1.7 0-2.3-.9-3.27-1.22-1.15-.38-2.04-.15-2.34-.36-.25-.17-.05-.64-.38-.86-.4-.25-.91-.2-1.68-.63-.5-.27-.21-.44-.05-.52 2.79-1.35 3.23-3.43 3.25-3.58.02-.2.05-.34-.16-.53-.2-.18-1.08-.73-1.32-.9-.4-.28-.59-.57-.46-.91.1-.25.32-.34.56-.34l.22.03c.44.1.87.32 1.12.38l.1.01q.19 0 .17-.22c-.03-.49-.1-1.43-.02-2.32.1-1.22.5-1.83.96-2.36A4.3 4.3 0 0 1 10 2.15a4.3 4.3 0 0 1 3.3 1.36c.46.54.86 1.14.96 2.36.08.89.01 1.84-.02 2.33q-.01.23.17.22l.1-.02c.24-.06.68-.28 1.12-.38l.22-.02c.24 0 .46.1.56.33q.17.5-.46.91c-.24.17-1.13.72-1.32.9-.21.2-.18.34-.16.53.02.16.46 2.24 3.25 3.59.17.08.44.25-.05.52",
5537
+ className: shadcn.modules_73af8a26.darkInvert
5538
+ }));
5539
+
5540
+ const TiktokIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5541
+ xmlns: "http://www.w3.org/2000/svg",
5542
+ width: 20,
5543
+ height: 20,
5544
+ fill: "none",
5545
+ ...props
5546
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5547
+ fill: "#161823",
5548
+ fillRule: "evenodd",
5549
+ d: "M11.38 1.79h2.3A4.42 4.42 0 0 0 18 5.3v.68l.01 2.41a7.6 7.6 0 0 1-4.39-1.38v6.28c0 3.14-2.6 5.7-5.8 5.7a6 6 0 0 1-3.33-1.03A5.7 5.7 0 0 1 2 13.3a5.76 5.76 0 0 1 6.59-5.64v3.16q-.37-.11-.78-.12a2.63 2.63 0 0 0-2.66 2.6c0 1 .58 1.87 1.43 2.3q.55.3 1.23.3c1.42 0 2.59-1.1 2.64-2.5V1h3.16q0 .4.08.79z",
5550
+ clipRule: "evenodd",
5551
+ className: shadcn.modules_73af8a26.darkInvert
5552
+ }));
5553
+
5554
+ const TwitchIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5555
+ xmlns: "http://www.w3.org/2000/svg",
5556
+ width: 20,
5557
+ height: 20,
5558
+ fill: "none",
5559
+ ...props
5560
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5561
+ fill: "#fff",
5562
+ d: "m16.25 9.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z"
5563
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5564
+ fill: "#9146FF",
5565
+ d: "M5.63 1 2.5 4.21V15.8h3.75V19l3.13-3.21h2.5L17.5 10V1zm10.62 8.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z"
5566
+ }), /*#__PURE__*/ React__namespace.createElement("path", {
5567
+ fill: "#9146FF",
5568
+ d: "M14.38 4.54h-1.26v3.85h1.26zM10.94 4.54H9.69v3.85h1.25z"
5569
+ }));
5570
+
5571
+ const XTwitterIcon = (props)=>/*#__PURE__*/ React__namespace.createElement("svg", {
5572
+ xmlns: "http://www.w3.org/2000/svg",
5573
+ width: 20,
5574
+ height: 20,
5575
+ fill: "none",
5576
+ ...props
5577
+ }, /*#__PURE__*/ React__namespace.createElement("path", {
5578
+ fill: "#000",
5579
+ d: "M11.67 8.62 18.23 1h-1.55l-5.7 6.61L6.44 1H1.2l6.87 10-6.87 8h1.55l6.01-7 4.8 7h5.24zm-2.12 2.47-.7-1-5.54-7.92H5.7l4.47 6.4.7 1 5.8 8.3H14.3z",
5580
+ className: shadcn.modules_73af8a26.darkInvert
5581
+ }));
5586
5582
 
5587
5583
  const oauthIcons = {
5588
5584
  amazon: AmazonIcon,
@@ -5603,7 +5599,7 @@ const oauthIcons = {
5603
5599
  tiktok: TiktokIcon,
5604
5600
  twitch: TwitchIcon,
5605
5601
  xTwitter: XTwitterIcon,
5606
- yahoo: YahooIcon
5602
+ yahoo: shadcn.YahooIcon
5607
5603
  };
5608
5604
  const cryptoIcons = {
5609
5605
  phantom: PhantomIcon,
@@ -5614,7 +5610,7 @@ const cryptoIcons = {
5614
5610
  const emailIcons = {
5615
5611
  gmail: shadcn.GmailIcon,
5616
5612
  outlook: shadcn.OutlookIcon,
5617
- yahoo: YahooIcon
5613
+ yahoo: shadcn.YahooIcon
5618
5614
  };
5619
5615
 
5620
5616
  const PhoneFormSMS = ()=>/*#__PURE__*/ React__namespace.default.createElement(PhoneForm, {
@@ -5730,7 +5726,7 @@ var Products = /*#__PURE__*/Object.freeze({
5730
5726
  passwords: passwords
5731
5727
  });
5732
5728
 
5733
- const ResetPasswordContainer = ({ client, config: rawConfig, presentation, callbacks, strings, passwordResetToken: rawToken })=>{
5729
+ const ResetPasswordContainer = ({ client, config: rawConfig, presentation, callbacks, strings, styles, passwordResetToken: rawToken })=>{
5734
5730
  const config = addProduct(rawConfig, passwords);
5735
5731
  // Default to reading token from URL if not provided
5736
5732
  let token = rawToken;
@@ -5752,6 +5748,11 @@ const ResetPasswordContainer = ({ client, config: rawConfig, presentation, callb
5752
5748
  }, [
5753
5749
  client
5754
5750
  ]);
5751
+ dev.RUN_IN_DEV(()=>{
5752
+ if (styles) {
5753
+ logger.logger.error('styles is deprecated and has no effect. Use the presentation prop instead.\n' + 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide');
5754
+ }
5755
+ });
5755
5756
  const initialState = {
5756
5757
  ...DEFAULT_STATE,
5757
5758
  screen: AppScreens.PasswordResetForm,
@@ -5801,9 +5802,9 @@ const ResetPasswordContainer = ({ client, config: rawConfig, presentation, callb
5801
5802
  * onEvent: (event) => console.log(event)
5802
5803
  * }}
5803
5804
  * />
5804
- */ const StytchPasswordReset = createB2CComponent('StytchPasswordReset', ResetPasswordContainer);
5805
+ */ const StytchPasswordReset = /* @__PURE__ */ createB2CComponent('StytchPasswordReset', ResetPasswordContainer);
5805
5806
 
5806
- const PasskeyRegistrationContainer = ({ client, config: rawConfig, presentation, callbacks, strings })=>{
5807
+ const PasskeyRegistrationContainer = ({ client, config: rawConfig, presentation, callbacks, strings, styles })=>{
5807
5808
  const config = addProduct(rawConfig, passkeyRegistration);
5808
5809
  /**
5809
5810
  * Read the watermark out of sync storage, then read it out of async storage
@@ -5818,6 +5819,11 @@ const PasskeyRegistrationContainer = ({ client, config: rawConfig, presentation,
5818
5819
  }, [
5819
5820
  client
5820
5821
  ]);
5822
+ dev.RUN_IN_DEV(()=>{
5823
+ if (styles) {
5824
+ logger.logger.error('styles is deprecated and has no effect. Use the presentation prop instead.\n' + 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide');
5825
+ }
5826
+ });
5821
5827
  const initialState = {
5822
5828
  ...DEFAULT_STATE,
5823
5829
  screen: AppScreens.PasskeyRegistrationStart,
@@ -5856,7 +5862,7 @@ const PasskeyRegistrationContainer = ({ client, config: rawConfig, presentation,
5856
5862
  * onEvent: (event) => console.log(event)
5857
5863
  * }}
5858
5864
  * />
5859
- */ const StytchPasskeyRegistration = createB2CComponent('StytchPasskeyRegistration', PasskeyRegistrationContainer);
5865
+ */ const StytchPasskeyRegistration = /* @__PURE__ */ createB2CComponent('StytchPasskeyRegistration', PasskeyRegistrationContainer);
5860
5866
 
5861
5867
  const IDPConsentScreenImpl = ({ initialError, initialParams })=>{
5862
5868
  const stytchClient = useStytch();
@@ -5975,7 +5981,7 @@ const EnsureUserIsLoggedIn = ({ children })=>{
5975
5981
  ]);
5976
5982
  React.useEffect(()=>{
5977
5983
  if (user) return;
5978
- onErrorRef.current(new StytchSSRProxy.NoCurrentSessionError());
5984
+ onErrorRef.current(new dev.NoCurrentSessionError());
5979
5985
  }, [
5980
5986
  user
5981
5987
  ]);
@@ -5993,7 +5999,7 @@ const EnsureUserIsLoggedIn = ({ children })=>{
5993
5999
  }
5994
6000
  };
5995
6001
 
5996
- const IDPContainer = ({ client, presentation, callbacks, strings, getIDPConsentManifest, authTokenParams })=>{
6002
+ const IDPContainer = ({ client, presentation, callbacks, strings, styles, getIDPConsentManifest, authTokenParams })=>{
5997
6003
  const presentationValue = shadcn.usePresentationWithDefault(presentation, false, []);
5998
6004
  React.useEffect(()=>{
5999
6005
  StytchSSRProxy.readB2CInternals(client).bootstrap.getAsync().then((data)=>{
@@ -6007,6 +6013,11 @@ const IDPContainer = ({ client, presentation, callbacks, strings, getIDPConsentM
6007
6013
  }, [
6008
6014
  client
6009
6015
  ]);
6016
+ dev.RUN_IN_DEV(()=>{
6017
+ if (styles) {
6018
+ logger.logger.error('styles is deprecated and has no effect. Use the presentation prop instead.\n' + 'See https://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide');
6019
+ }
6020
+ });
6010
6021
  return /*#__PURE__*/ React__namespace.default.createElement(GlobalContextProvider, {
6011
6022
  client: client,
6012
6023
  config: {},
@@ -6042,7 +6053,7 @@ const IDPContainer = ({ client, presentation, callbacks, strings, getIDPConsentM
6042
6053
  * onEvent: (event) => console.log(event)
6043
6054
  * }}
6044
6055
  * />
6045
- */ const IdentityProvider = createB2CComponent('IdentityProvider', IDPContainer);
6056
+ */ const IdentityProvider = /* @__PURE__ */ createB2CComponent('IdentityProvider', IDPContainer);
6046
6057
 
6047
6058
  /**
6048
6059
  * Returns the active User.
@@ -6104,62 +6115,13 @@ exports.createStytchHeadlessClient = index_headless.createStytchHeadlessClient;
6104
6115
  exports.AuthFlowType = StytchSSRProxy.AuthFlowType;
6105
6116
  exports.B2BMFAProducts = StytchSSRProxy.B2BMFAProducts;
6106
6117
  exports.B2BOAuthProviders = StytchSSRProxy.B2BOAuthProviders;
6107
- exports.BiometricRegistrationIdIsNullOrBlank = StytchSSRProxy.BiometricRegistrationIdIsNullOrBlank;
6108
- exports.BiometricsAlreadyEnrolledError = StytchSSRProxy.BiometricsAlreadyEnrolledError;
6109
- exports.BiometricsFailedError = StytchSSRProxy.BiometricsFailedError;
6110
- exports.BiometricsUnavailableError = StytchSSRProxy.BiometricsUnavailableError;
6111
- exports.ChallengeSigningFailedError = StytchSSRProxy.ChallengeSigningFailedError;
6112
- exports.DFPNotConfigured = StytchSSRProxy.DFPNotConfigured;
6113
- exports.DeviceCredentialsNotAllowedError = StytchSSRProxy.DeviceCredentialsNotAllowedError;
6114
- exports.FailedCodeChallengeError = StytchSSRProxy.FailedCodeChallengeError;
6115
- exports.FailedToDecryptDataError = StytchSSRProxy.FailedToDecryptDataError;
6116
- exports.IDPOAuthFlowMissingParamError = StytchSSRProxy.IDPOAuthFlowMissingParamError;
6117
- exports.InternalError = StytchSSRProxy.InternalError;
6118
- exports.InvalidAuthorizationCredentialError = StytchSSRProxy.InvalidAuthorizationCredentialError;
6119
- exports.InvalidCredentialTypeError = StytchSSRProxy.InvalidCredentialTypeError;
6120
- exports.InvalidPrivateKeyLength = StytchSSRProxy.InvalidPrivateKeyLength;
6121
- exports.InvalidRedirectSchemeError = StytchSSRProxy.InvalidRedirectSchemeError;
6122
- exports.InvalidStartUrlError = StytchSSRProxy.InvalidStartUrlError;
6123
- exports.JSONDataNotConvertibleToStringError = StytchSSRProxy.JSONDataNotConvertibleToStringError;
6124
- exports.KeyInvalidatedError = StytchSSRProxy.KeyInvalidatedError;
6125
- exports.KeystoreUnavailableError = StytchSSRProxy.KeystoreUnavailableError;
6126
- exports.MissingAttestationObjectError = StytchSSRProxy.MissingAttestationObjectError;
6127
- exports.MissingAuthorizationCredentialIDTokenError = StytchSSRProxy.MissingAuthorizationCredentialIDTokenError;
6128
- exports.MissingCipherIv = StytchSSRProxy.MissingCipherIv;
6129
- exports.MissingGoogleClientIDError = StytchSSRProxy.MissingGoogleClientIDError;
6130
- exports.MissingPKCEError = StytchSSRProxy.MissingPKCEError;
6131
- exports.MissingPublicKeyError = StytchSSRProxy.MissingPublicKeyError;
6132
- exports.MissingUrlError = StytchSSRProxy.MissingUrlError;
6133
- exports.NoBiometricsEnrolledError = StytchSSRProxy.NoBiometricsEnrolledError;
6134
- exports.NoBiometricsRegistrationError = StytchSSRProxy.NoBiometricsRegistrationError;
6135
- exports.NoCredentialsPresentError = StytchSSRProxy.NoCredentialsPresentError;
6136
- exports.NoCurrentSessionError = StytchSSRProxy.NoCurrentSessionError;
6137
6118
  exports.OAuthProviders = StytchSSRProxy.OAuthProviders;
6138
6119
  exports.OTPMethods = StytchSSRProxy.OTPMethods;
6139
6120
  exports.OneTapPositions = StytchSSRProxy.OneTapPositions;
6140
- exports.PasskeysInvalidEncoding = StytchSSRProxy.PasskeysInvalidEncoding;
6141
- exports.PasskeysMisconfigured = StytchSSRProxy.PasskeysMisconfigured;
6142
- exports.PasskeysUnsupportedError = StytchSSRProxy.PasskeysUnsupportedError;
6143
6121
  exports.RNUIProducts = StytchSSRProxy.RNUIProducts;
6144
- exports.RandomNumberGenerationFailed = StytchSSRProxy.RandomNumberGenerationFailed;
6145
6122
  exports.RedirectURLType = StytchSSRProxy.RedirectURLType;
6146
- exports.SDKAPIUnreachableError = StytchSSRProxy.SDKAPIUnreachableError;
6147
- exports.SDKNotConfiguredError = StytchSSRProxy.SDKNotConfiguredError;
6148
- exports.SignInWithAppleMisconfigured = StytchSSRProxy.SignInWithAppleMisconfigured;
6149
- exports.StytchAPIError = StytchSSRProxy.StytchAPIError;
6150
- exports.StytchAPISchemaError = StytchSSRProxy.StytchAPISchemaError;
6151
- exports.StytchAPIUnreachableError = StytchSSRProxy.StytchAPIUnreachableError;
6152
- exports.StytchError = StytchSSRProxy.StytchError;
6153
6123
  exports.StytchEventType = StytchSSRProxy.StytchEventType;
6154
- exports.StytchSDKAPIError = StytchSSRProxy.StytchSDKAPIError;
6155
- exports.StytchSDKError = StytchSSRProxy.StytchSDKError;
6156
- exports.StytchSDKSchemaError = StytchSSRProxy.StytchSDKSchemaError;
6157
- exports.StytchSDKUsageError = StytchSSRProxy.StytchSDKUsageError;
6158
- exports.UNRECOVERABLE_ERROR_TYPES = StytchSSRProxy.UNRECOVERABLE_ERROR_TYPES;
6159
- exports.UserCancellationError = StytchSSRProxy.UserCancellationError;
6160
- exports.UserLockedOutError = StytchSSRProxy.UserLockedOutError;
6161
6124
  exports.Wallets = StytchSSRProxy.Wallets;
6162
- exports.errorToStytchError = StytchSSRProxy.errorToStytchError;
6163
6125
  exports.defaultDarkTheme = shadcn.defaultDarkTheme;
6164
6126
  exports.defaultTheme = shadcn.defaultTheme;
6165
6127
  exports.iconsBlack = shadcn.iconsBlack;
@@ -6167,6 +6129,55 @@ exports.iconsWhite = shadcn.iconsWhite;
6167
6129
  exports.shadcnTheme = shadcn.shadcnTheme;
6168
6130
  exports.parseOAuthAuthorizeParams = idpHelpers.parseOAuthAuthorizeParams;
6169
6131
  exports.parseOAuthLogoutParams = idpHelpers.parseOAuthLogoutParams;
6132
+ exports.BiometricRegistrationIdIsNullOrBlank = dev.BiometricRegistrationIdIsNullOrBlank;
6133
+ exports.BiometricsAlreadyEnrolledError = dev.BiometricsAlreadyEnrolledError;
6134
+ exports.BiometricsFailedError = dev.BiometricsFailedError;
6135
+ exports.BiometricsUnavailableError = dev.BiometricsUnavailableError;
6136
+ exports.ChallengeSigningFailedError = dev.ChallengeSigningFailedError;
6137
+ exports.DFPNotConfigured = dev.DFPNotConfigured;
6138
+ exports.DeviceCredentialsNotAllowedError = dev.DeviceCredentialsNotAllowedError;
6139
+ exports.FailedCodeChallengeError = dev.FailedCodeChallengeError;
6140
+ exports.FailedToDecryptDataError = dev.FailedToDecryptDataError;
6141
+ exports.IDPOAuthFlowMissingParamError = dev.IDPOAuthFlowMissingParamError;
6142
+ exports.InternalError = dev.InternalError;
6143
+ exports.InvalidAuthorizationCredentialError = dev.InvalidAuthorizationCredentialError;
6144
+ exports.InvalidCredentialTypeError = dev.InvalidCredentialTypeError;
6145
+ exports.InvalidPrivateKeyLength = dev.InvalidPrivateKeyLength;
6146
+ exports.InvalidRedirectSchemeError = dev.InvalidRedirectSchemeError;
6147
+ exports.InvalidStartUrlError = dev.InvalidStartUrlError;
6148
+ exports.JSONDataNotConvertibleToStringError = dev.JSONDataNotConvertibleToStringError;
6149
+ exports.KeyInvalidatedError = dev.KeyInvalidatedError;
6150
+ exports.KeystoreUnavailableError = dev.KeystoreUnavailableError;
6151
+ exports.MissingAttestationObjectError = dev.MissingAttestationObjectError;
6152
+ exports.MissingAuthorizationCredentialIDTokenError = dev.MissingAuthorizationCredentialIDTokenError;
6153
+ exports.MissingCipherIv = dev.MissingCipherIv;
6154
+ exports.MissingGoogleClientIDError = dev.MissingGoogleClientIDError;
6155
+ exports.MissingPKCEError = dev.MissingPKCEError;
6156
+ exports.MissingPublicKeyError = dev.MissingPublicKeyError;
6157
+ exports.MissingUrlError = dev.MissingUrlError;
6158
+ exports.NoBiometricsEnrolledError = dev.NoBiometricsEnrolledError;
6159
+ exports.NoBiometricsRegistrationError = dev.NoBiometricsRegistrationError;
6160
+ exports.NoCredentialsPresentError = dev.NoCredentialsPresentError;
6161
+ exports.NoCurrentSessionError = dev.NoCurrentSessionError;
6162
+ exports.PasskeysInvalidEncoding = dev.PasskeysInvalidEncoding;
6163
+ exports.PasskeysMisconfigured = dev.PasskeysMisconfigured;
6164
+ exports.PasskeysUnsupportedError = dev.PasskeysUnsupportedError;
6165
+ exports.RandomNumberGenerationFailed = dev.RandomNumberGenerationFailed;
6166
+ exports.SDKAPIUnreachableError = dev.SDKAPIUnreachableError;
6167
+ exports.SDKNotConfiguredError = dev.SDKNotConfiguredError;
6168
+ exports.SignInWithAppleMisconfigured = dev.SignInWithAppleMisconfigured;
6169
+ exports.StytchAPIError = dev.StytchAPIError;
6170
+ exports.StytchAPISchemaError = dev.StytchAPISchemaError;
6171
+ exports.StytchAPIUnreachableError = dev.StytchAPIUnreachableError;
6172
+ exports.StytchError = dev.StytchError;
6173
+ exports.StytchSDKAPIError = dev.StytchSDKAPIError;
6174
+ exports.StytchSDKError = dev.StytchSDKError;
6175
+ exports.StytchSDKSchemaError = dev.StytchSDKSchemaError;
6176
+ exports.StytchSDKUsageError = dev.StytchSDKUsageError;
6177
+ exports.UNRECOVERABLE_ERROR_TYPES = dev.UNRECOVERABLE_ERROR_TYPES;
6178
+ exports.UserCancellationError = dev.UserCancellationError;
6179
+ exports.UserLockedOutError = dev.UserLockedOutError;
6180
+ exports.errorToStytchError = dev.errorToStytchError;
6170
6181
  exports.IdentityProvider = IdentityProvider;
6171
6182
  exports.Products = Products;
6172
6183
  exports.StytchLogin = StytchLogin;