@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.
- package/CHANGELOG.md +6 -0
- package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -1
- package/dist/cjs/adminPortal/index.cjs +1 -1
- package/dist/cjs/b2b/index.cjs +14 -13
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/compat.cjs +2 -0
- package/dist/cjs/compat.cjs.map +1 -1
- package/dist/cjs/{index-Ni_dyEsz.js → index-BIjXBvf_.js} +2 -2
- package/dist/cjs/index-BIjXBvf_.js.map +1 -0
- package/dist/cjs/index.cjs +508 -518
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/{shadcn-B8TEzQMT.js → shadcn-Z4AvHriT.js} +247 -233
- package/dist/cjs/shadcn-Z4AvHriT.js.map +1 -0
- package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js +438 -0
- package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js.map +1 -0
- package/dist/cjs-dev/adminPortal/index.cjs +54 -53
- package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.cjs +80 -68
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.headless.cjs +89 -88
- package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/compat.cjs +15 -14
- package/dist/cjs-dev/compat.cjs.map +1 -1
- package/dist/cjs-dev/{StytchSSRProxy-CxXsyme4.js → dev-DaCGDI6V.js} +60 -426
- package/dist/cjs-dev/dev-DaCGDI6V.js.map +1 -0
- package/dist/cjs-dev/{idpHelpers-BVMUYvt1.js → idpHelpers-DOYYSxsX.js} +45 -102
- package/dist/cjs-dev/idpHelpers-DOYYSxsX.js.map +1 -0
- package/dist/cjs-dev/{index-DdK3Jt4u.js → index-rquGmIlv.js} +4 -4
- package/dist/cjs-dev/index-rquGmIlv.js.map +1 -0
- package/dist/cjs-dev/index.cjs +738 -727
- package/dist/cjs-dev/index.cjs.map +1 -1
- package/dist/cjs-dev/index.headless.cjs +70 -69
- package/dist/cjs-dev/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js → passwordManagerDisableAutofillProps-CgiK2M_U.js} +2 -2
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js.map → passwordManagerDisableAutofillProps-CgiK2M_U.js.map} +1 -1
- package/dist/cjs-dev/{shadcn-C9ClUju1.js → shadcn-DnNfms7-.js} +257 -242
- package/dist/cjs-dev/shadcn-DnNfms7-.js.map +1 -0
- package/dist/esm/b2b/StytchB2BContext.mjs +5 -5
- package/dist/esm/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm/packages/core/src/public/b2b/ui.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/App.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2b/App.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
- package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +12 -11
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +12 -14
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs +2 -0
- package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/crypto.mjs +15 -14
- package/dist/esm/packages/web/src/utils/crypto.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/oauthProviderType.mjs +1 -1
- package/dist/esm/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
- package/dist/esm-dev/b2b/StytchB2BContext.mjs +5 -5
- package/dist/esm-dev/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/public/b2b/ui.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/utils/dev.mjs +7 -1
- package/dist/esm-dev/packages/core/src/utils/dev.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +14 -2
- package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +12 -11
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +12 -14
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs +15 -14
- package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +3 -2
- package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs +8 -4
- package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs +15 -14
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs +1 -1
- package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
- package/dist/types/{PresentationConfig-Bqzf8zr3.d.ts → PresentationConfig-CcNEXkjS.d.ts} +5 -1
- package/dist/types/{StytchB2BClient-CsY7ZNKh.d.ts → StytchB2BClient-D16e_lp1.d.ts} +2 -2
- package/dist/types/{StytchClient-DZRM_fM4.d.ts → StytchClient-BwQdJzdj.d.ts} +2 -2
- package/dist/types/adminPortal/index.d.ts +5 -5
- package/dist/types/b2b/index.d.ts +27 -19
- package/dist/types/b2b/index.headless.d.ts +5 -5
- package/dist/types/compat.d.ts +2 -2
- package/dist/types/{createAuthUrlHandler-BZoD2LDF.d.ts → createAuthUrlHandler-R1kNNQD_.d.ts} +2 -2
- package/dist/types/{idpHelpers-CD5sSDzA.d.ts → idpHelpers-BQP76WgZ.d.ts} +1 -1
- package/dist/types/index.d.ts +36 -16
- package/dist/types/index.headless.d.ts +5 -5
- package/dist/types/{shadcn-4-5byj93.d.ts → shadcn-B04UXoBD.d.ts} +9 -6
- package/dist/types/{ui-DXrQ-gA8.d.ts → ui-B7IvSGQf.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/cjs/index-Ni_dyEsz.js.map +0 -1
- package/dist/cjs/shadcn-B8TEzQMT.js.map +0 -1
- package/dist/cjs-dev/StytchSSRProxy-CxXsyme4.js.map +0 -1
- package/dist/cjs-dev/idpHelpers-BVMUYvt1.js.map +0 -1
- package/dist/cjs-dev/index-DdK3Jt4u.js.map +0 -1
- package/dist/cjs-dev/shadcn-C9ClUju1.js.map +0 -1
package/dist/cjs-dev/index.cjs
CHANGED
|
@@ -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-
|
|
6
|
-
var StytchSSRProxy = require('./StytchSSRProxy-
|
|
7
|
-
var shadcn = require('./shadcn-
|
|
8
|
-
var idpHelpers = require('./idpHelpers-
|
|
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
|
|
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
|
-
},
|
|
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
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
const
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
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)
|
|
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(
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
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(
|
|
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
|
-
},
|
|
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,
|
|
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:
|
|
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.
|
|
5351
|
-
message: "
|
|
5272
|
+
id: "crypto.error.title",
|
|
5273
|
+
message: "Looks like there was an error"
|
|
5352
5274
|
}),
|
|
5353
5275
|
body: $__i18n._({
|
|
5354
|
-
id: "crypto.
|
|
5355
|
-
message: "
|
|
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
|
|
5291
|
+
const Success = ()=>{
|
|
5374
5292
|
const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
|
|
5375
|
-
const
|
|
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.
|
|
5296
|
+
}, /*#__PURE__*/ React__namespace.default.createElement(shadcn.Confirmation, {
|
|
5420
5297
|
header: $__i18n._({
|
|
5421
|
-
id: "crypto.
|
|
5422
|
-
message: "
|
|
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
|
-
|
|
5429
|
-
id: "crypto.
|
|
5430
|
-
message: "
|
|
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
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
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
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
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
|
|
5536
|
-
|
|
5537
|
-
|
|
5538
|
-
|
|
5539
|
-
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
|
|
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
|
|
5562
|
-
|
|
5563
|
-
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
5571
|
-
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
})
|
|
5576
|
-
|
|
5577
|
-
|
|
5578
|
-
|
|
5579
|
-
|
|
5580
|
-
|
|
5581
|
-
|
|
5582
|
-
|
|
5583
|
-
|
|
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
|
|
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;
|