@swype-org/react-sdk 0.2.311 → 0.2.315
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/dist/index.cjs +852 -202
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +53 -2
- package/dist/index.d.ts +53 -2
- package/dist/index.js +852 -204
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Buffer } from 'buffer';
|
|
2
|
-
import { createContext, forwardRef, memo, useContext, useState, useEffect, useRef, useCallback, useMemo, useSyncExternalStore, useReducer, Component } from 'react';
|
|
2
|
+
import { createContext, forwardRef, memo, useContext, useState, useEffect, useRef, useCallback, useMemo, useSyncExternalStore, useReducer, useLayoutEffect, Component } from 'react';
|
|
3
3
|
import { PrivyProvider, usePrivy, useLoginWithPasskey, useSignupWithPasskey } from '@privy-io/react-auth';
|
|
4
4
|
import { WagmiProvider, useConfig, useConnect, useSwitchChain, createConfig, http, useAccount } from 'wagmi';
|
|
5
5
|
import { mainnet, arbitrum, base, polygon, bsc, megaeth, monad, hyperliquid, baseSepolia } from 'wagmi/chains';
|
|
6
6
|
import { injected, coinbaseWallet } from 'wagmi/connectors';
|
|
7
7
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
8
|
+
import { FingerprintProvider, useVisitorData } from '@fingerprint/react';
|
|
8
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
10
|
import { getAccount, reconnect, disconnect, getWalletClient, getConnectors } from '@wagmi/core';
|
|
10
11
|
import { encodeFunctionData, recoverTypedDataAddress, decodeAbiParameters } from 'viem';
|
|
@@ -970,6 +971,12 @@ function bridgedWalletsToConnectors(wallets, staticRdns = /* @__PURE__ */ new Se
|
|
|
970
971
|
}
|
|
971
972
|
var BLINK_PRIVY_APP_ID = "cmlil87uv004n0ck0blwumwek";
|
|
972
973
|
var BLINK_WC_PROJECT_ID = "f6c60234412f94ef9108dc8f67f4362c";
|
|
974
|
+
var BLINK_FINGERPRINT_API_KEY = "nr4FvTsZ6M5z2141FqrM";
|
|
975
|
+
var BLINK_FINGERPRINT_REGION = "us";
|
|
976
|
+
function FingerprintVisitorPing() {
|
|
977
|
+
useVisitorData({ immediate: true });
|
|
978
|
+
return null;
|
|
979
|
+
}
|
|
973
980
|
function buildStaticConnectors() {
|
|
974
981
|
return [
|
|
975
982
|
// `unstable_shimAsyncInject` covers wallets whose content scripts wire
|
|
@@ -1064,25 +1071,33 @@ function BlinkProvider({
|
|
|
1064
1071
|
}),
|
|
1065
1072
|
[apiBaseUrl, theme, resolvedMinTransferAmountUsd, depositAmount, setDepositAmount, enableFullWidget, isMobileApp]
|
|
1066
1073
|
);
|
|
1067
|
-
return
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1074
|
+
return (
|
|
1075
|
+
// Outermost wrapper: loads the Fingerprint browser agent once per
|
|
1076
|
+
// provider mount, independent of wagmi/privy/query state. Visitor data
|
|
1077
|
+
// collection starts here; no hook is exposed yet (see SDK barrel).
|
|
1078
|
+
/* @__PURE__ */ jsxs(FingerprintProvider, { apiKey: BLINK_FINGERPRINT_API_KEY, region: BLINK_FINGERPRINT_REGION, children: [
|
|
1079
|
+
/* @__PURE__ */ jsx(FingerprintVisitorPing, {}),
|
|
1080
|
+
/* @__PURE__ */ jsx(QueryClientProvider, { client: queryClientRef.current, children: /* @__PURE__ */ jsx(WagmiProvider, { config: wagmiConfig, reconnectOnMount: false, children: /* @__PURE__ */ jsx(
|
|
1081
|
+
PrivyProvider,
|
|
1082
|
+
{
|
|
1083
|
+
appId: privyAppId ?? BLINK_PRIVY_APP_ID,
|
|
1084
|
+
config: {
|
|
1085
|
+
appearance: {
|
|
1086
|
+
theme: getThemeBase(theme),
|
|
1087
|
+
accentColor: getTheme(theme).accent
|
|
1088
|
+
},
|
|
1089
|
+
intl: {
|
|
1090
|
+
defaultCountry: "US"
|
|
1091
|
+
},
|
|
1092
|
+
embeddedWallets: {
|
|
1093
|
+
showWalletUIs: false
|
|
1094
|
+
}
|
|
1095
|
+
},
|
|
1096
|
+
children: /* @__PURE__ */ jsx(BlinkContext.Provider, { value, children })
|
|
1081
1097
|
}
|
|
1082
|
-
}
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
) }) });
|
|
1098
|
+
) }) })
|
|
1099
|
+
] })
|
|
1100
|
+
);
|
|
1086
1101
|
}
|
|
1087
1102
|
function useBlinkConfig() {
|
|
1088
1103
|
const ctx = useContext(BlinkContext);
|
|
@@ -1739,6 +1754,8 @@ function screenForPhase(phase) {
|
|
|
1739
1754
|
return "manual-transfer";
|
|
1740
1755
|
case "login":
|
|
1741
1756
|
return "login";
|
|
1757
|
+
case "welcome-back":
|
|
1758
|
+
return "welcome-back";
|
|
1742
1759
|
case "deposit-options":
|
|
1743
1760
|
return "deposit-options";
|
|
1744
1761
|
case "wallet-picker":
|
|
@@ -7521,6 +7538,9 @@ function deriveFreshPhase(state) {
|
|
|
7521
7538
|
if (state.loadingData && state.activeCredentialId != null) {
|
|
7522
7539
|
return { step: "data-loading" };
|
|
7523
7540
|
}
|
|
7541
|
+
if (state.enableFullWidget && state.authenticatedOnOpen && !state.welcomeBackAcknowledged && state.activeCredentialId != null && !hasActiveWallet(state.accounts) && !state.mobileFlow) {
|
|
7542
|
+
return { step: "welcome-back" };
|
|
7543
|
+
}
|
|
7524
7544
|
if (state.activeCredentialId != null && !hasActiveWallet(state.accounts) && !state.mobileFlow) {
|
|
7525
7545
|
return { step: "wallet-picker", reason: "link" };
|
|
7526
7546
|
}
|
|
@@ -7600,7 +7620,9 @@ function createInitialState(config) {
|
|
|
7600
7620
|
guestWalletDeeplinksPreparing: false,
|
|
7601
7621
|
amountTooLow: null,
|
|
7602
7622
|
enableFullWidget: config.enableFullWidget ?? false,
|
|
7603
|
-
requireAmountEntry: config.depositAmount == null
|
|
7623
|
+
requireAmountEntry: config.depositAmount == null,
|
|
7624
|
+
authenticatedOnOpen: false,
|
|
7625
|
+
welcomeBackAcknowledged: false
|
|
7604
7626
|
};
|
|
7605
7627
|
}
|
|
7606
7628
|
function clearAuthenticatedSessionState(state) {
|
|
@@ -7638,7 +7660,9 @@ function clearAuthenticatedSessionState(state) {
|
|
|
7638
7660
|
setupDepositToken: null,
|
|
7639
7661
|
guestWalletPrepared: null,
|
|
7640
7662
|
guestWalletDeeplinksPreparing: false,
|
|
7641
|
-
amountTooLow: null
|
|
7663
|
+
amountTooLow: null,
|
|
7664
|
+
authenticatedOnOpen: false,
|
|
7665
|
+
welcomeBackAcknowledged: false
|
|
7642
7666
|
};
|
|
7643
7667
|
}
|
|
7644
7668
|
function paymentReducer(state, action) {
|
|
@@ -7967,6 +7991,8 @@ function applyAction(state, action) {
|
|
|
7967
7991
|
};
|
|
7968
7992
|
case "CANCEL_LOGIN_REQUEST":
|
|
7969
7993
|
return { ...state, loginRequested: false, error: null };
|
|
7994
|
+
case "ACKNOWLEDGE_WELCOME_BACK":
|
|
7995
|
+
return { ...state, welcomeBackAcknowledged: true };
|
|
7970
7996
|
case "SET_ERROR":
|
|
7971
7997
|
return { ...state, error: action.error };
|
|
7972
7998
|
case "AMOUNT_TOO_LOW":
|
|
@@ -8064,7 +8090,13 @@ function applyAction(state, action) {
|
|
|
8064
8090
|
...state,
|
|
8065
8091
|
privyReady: action.ready,
|
|
8066
8092
|
privyAuthenticated: action.authenticated,
|
|
8067
|
-
...action.authenticated ? { loginRequested: false } : {}
|
|
8093
|
+
...action.authenticated ? { loginRequested: false } : {},
|
|
8094
|
+
// Latch "already authenticated when the flow opened" exactly once, on
|
|
8095
|
+
// the ready: false → true transition that carries an existing session.
|
|
8096
|
+
// A user who opens logged-out and signs in mid-session never hits this
|
|
8097
|
+
// branch (ready was already true), so the flag stays false and they
|
|
8098
|
+
// skip WelcomeBackScreen.
|
|
8099
|
+
...!state.privyReady && action.ready && action.authenticated ? { authenticatedOnOpen: true } : {}
|
|
8068
8100
|
};
|
|
8069
8101
|
case "SYNC_AMOUNT":
|
|
8070
8102
|
return {
|
|
@@ -10503,6 +10535,69 @@ var copyIconCircleStyle = (bgRecessed) => ({
|
|
|
10503
10535
|
justifyContent: "center",
|
|
10504
10536
|
width: 48
|
|
10505
10537
|
});
|
|
10538
|
+
function FitText({
|
|
10539
|
+
children,
|
|
10540
|
+
maxFontSize,
|
|
10541
|
+
minFontSize,
|
|
10542
|
+
color,
|
|
10543
|
+
fontWeight = 500
|
|
10544
|
+
}) {
|
|
10545
|
+
const containerRef = useRef(null);
|
|
10546
|
+
const textRef = useRef(null);
|
|
10547
|
+
const [fontSize, setFontSize] = useState(maxFontSize);
|
|
10548
|
+
useLayoutEffect(() => {
|
|
10549
|
+
const container = containerRef.current;
|
|
10550
|
+
const text = textRef.current;
|
|
10551
|
+
if (!container || !text) return void 0;
|
|
10552
|
+
const fit = () => {
|
|
10553
|
+
let size = maxFontSize;
|
|
10554
|
+
text.style.fontSize = `${size}px`;
|
|
10555
|
+
while (size > minFontSize && text.scrollWidth > container.clientWidth) {
|
|
10556
|
+
size -= 1;
|
|
10557
|
+
text.style.fontSize = `${size}px`;
|
|
10558
|
+
}
|
|
10559
|
+
setFontSize(size);
|
|
10560
|
+
};
|
|
10561
|
+
fit();
|
|
10562
|
+
const observer = new ResizeObserver(fit);
|
|
10563
|
+
observer.observe(container);
|
|
10564
|
+
return () => observer.disconnect();
|
|
10565
|
+
}, [children, maxFontSize, minFontSize]);
|
|
10566
|
+
return /* @__PURE__ */ jsx("span", { ref: containerRef, style: containerStyle8, children: /* @__PURE__ */ jsx("span", { ref: textRef, style: { ...textStyle2(color, fontWeight), fontSize }, children }) });
|
|
10567
|
+
}
|
|
10568
|
+
var containerStyle8 = {
|
|
10569
|
+
flex: 1,
|
|
10570
|
+
minWidth: 0,
|
|
10571
|
+
overflow: "hidden",
|
|
10572
|
+
display: "flex",
|
|
10573
|
+
alignItems: "center"
|
|
10574
|
+
};
|
|
10575
|
+
var textStyle2 = (color, fontWeight) => ({
|
|
10576
|
+
whiteSpace: "nowrap",
|
|
10577
|
+
overflow: "hidden",
|
|
10578
|
+
textOverflow: "ellipsis",
|
|
10579
|
+
color,
|
|
10580
|
+
fontWeight
|
|
10581
|
+
});
|
|
10582
|
+
|
|
10583
|
+
// src/deviceBiometricUnlockText.ts
|
|
10584
|
+
var FALLBACK = "Biometric verification";
|
|
10585
|
+
function getDeviceBiometricUnlockText() {
|
|
10586
|
+
const ua = typeof navigator !== "undefined" && typeof navigator.userAgent === "string" ? navigator.userAgent : "";
|
|
10587
|
+
if (/iPhone|iPad|iPod/i.test(ua)) {
|
|
10588
|
+
return "Face ID";
|
|
10589
|
+
}
|
|
10590
|
+
if (/Android/i.test(ua)) {
|
|
10591
|
+
return "Fingerprint or face unlock";
|
|
10592
|
+
}
|
|
10593
|
+
if (/Windows NT/i.test(ua)) {
|
|
10594
|
+
return "Windows Hello";
|
|
10595
|
+
}
|
|
10596
|
+
if (/Macintosh|Mac OS X/i.test(ua)) {
|
|
10597
|
+
return "Touch ID";
|
|
10598
|
+
}
|
|
10599
|
+
return FALLBACK;
|
|
10600
|
+
}
|
|
10506
10601
|
function LoginScreen({
|
|
10507
10602
|
onLoginWithPasskey,
|
|
10508
10603
|
onSignupWithPasskey,
|
|
@@ -10592,8 +10687,11 @@ function PasskeyInfoCard({ tokens }) {
|
|
|
10592
10687
|
/* @__PURE__ */ jsxs("div", { style: infoRowStyle, children: [
|
|
10593
10688
|
/* @__PURE__ */ jsx("div", { style: { color: tokens.text, flexShrink: 0, paddingTop: 2 }, children: /* @__PURE__ */ jsx(FaceIdIcon, { size: 24 }) }),
|
|
10594
10689
|
/* @__PURE__ */ jsxs("div", { style: infoRowTextStyle, children: [
|
|
10595
|
-
/* @__PURE__ */
|
|
10596
|
-
|
|
10690
|
+
/* @__PURE__ */ jsxs("div", { style: infoRowTitleStyle(tokens.text), children: [
|
|
10691
|
+
"Deposit with ",
|
|
10692
|
+
getDeviceBiometricUnlockText()
|
|
10693
|
+
] }),
|
|
10694
|
+
/* @__PURE__ */ jsx("div", { style: infoRowSubtitleStyle(tokens.text), children: "Everywhere Blink is enabled" })
|
|
10597
10695
|
] })
|
|
10598
10696
|
] })
|
|
10599
10697
|
] });
|
|
@@ -10731,25 +10829,6 @@ var avatarStyle = (tokens) => ({
|
|
|
10731
10829
|
color: tokens.textMuted,
|
|
10732
10830
|
background: "transparent"
|
|
10733
10831
|
});
|
|
10734
|
-
|
|
10735
|
-
// src/deviceBiometricUnlockText.ts
|
|
10736
|
-
var FALLBACK = "Biometric verification";
|
|
10737
|
-
function getDeviceBiometricUnlockText() {
|
|
10738
|
-
const ua = typeof navigator !== "undefined" && typeof navigator.userAgent === "string" ? navigator.userAgent : "";
|
|
10739
|
-
if (/iPhone|iPad|iPod/i.test(ua)) {
|
|
10740
|
-
return "Face ID";
|
|
10741
|
-
}
|
|
10742
|
-
if (/Android/i.test(ua)) {
|
|
10743
|
-
return "Fingerprint or face unlock";
|
|
10744
|
-
}
|
|
10745
|
-
if (/Windows NT/i.test(ua)) {
|
|
10746
|
-
return "Windows Hello";
|
|
10747
|
-
}
|
|
10748
|
-
if (/Macintosh|Mac OS X/i.test(ua)) {
|
|
10749
|
-
return "Touch ID";
|
|
10750
|
-
}
|
|
10751
|
-
return FALLBACK;
|
|
10752
|
-
}
|
|
10753
10832
|
var CLUSTER_LOGOS = [
|
|
10754
10833
|
METAMASK_LOGO,
|
|
10755
10834
|
PHANTOM_LOGO,
|
|
@@ -10798,7 +10877,7 @@ function DepositOptionsScreen({
|
|
|
10798
10877
|
onClick: onSignInWithBlink,
|
|
10799
10878
|
style: depositPillStyle(tokens.accent),
|
|
10800
10879
|
children: [
|
|
10801
|
-
/* @__PURE__ */ jsx(
|
|
10880
|
+
/* @__PURE__ */ jsx(FitText, { maxFontSize: 16, minFontSize: 11, color: tokens.accentText, children: depositLabel }),
|
|
10802
10881
|
/* @__PURE__ */ jsx("span", { style: clusterStyle, children: CLUSTER_LOGOS.map((logo, i) => /* @__PURE__ */ jsx(
|
|
10803
10882
|
"span",
|
|
10804
10883
|
{
|
|
@@ -10905,6 +10984,7 @@ var depositPillStyle = (bg) => ({
|
|
|
10905
10984
|
display: "flex",
|
|
10906
10985
|
alignItems: "center",
|
|
10907
10986
|
justifyContent: "space-between",
|
|
10987
|
+
gap: 8,
|
|
10908
10988
|
width: "100%",
|
|
10909
10989
|
height: 56,
|
|
10910
10990
|
padding: "12px 12px 12px 24px",
|
|
@@ -10915,16 +10995,11 @@ var depositPillStyle = (bg) => ({
|
|
|
10915
10995
|
boxSizing: "border-box",
|
|
10916
10996
|
fontFamily: "inherit"
|
|
10917
10997
|
});
|
|
10918
|
-
var depositPillLabelStyle = (color) => ({
|
|
10919
|
-
color,
|
|
10920
|
-
fontSize: 16,
|
|
10921
|
-
fontWeight: 500,
|
|
10922
|
-
whiteSpace: "nowrap"
|
|
10923
|
-
});
|
|
10924
10998
|
var clusterStyle = {
|
|
10925
10999
|
display: "inline-flex",
|
|
10926
11000
|
alignItems: "center",
|
|
10927
|
-
isolation: "isolate"
|
|
11001
|
+
isolation: "isolate",
|
|
11002
|
+
flexShrink: 0
|
|
10928
11003
|
};
|
|
10929
11004
|
var clusterChipStyle = (bg, last) => ({
|
|
10930
11005
|
width: 32,
|
|
@@ -11019,102 +11094,391 @@ var closeButtonStyle2 = (bg, color) => ({
|
|
|
11019
11094
|
cursor: "pointer",
|
|
11020
11095
|
padding: 0
|
|
11021
11096
|
});
|
|
11022
|
-
|
|
11023
|
-
|
|
11024
|
-
|
|
11025
|
-
|
|
11026
|
-
|
|
11097
|
+
var CLUSTER_LOGOS2 = [
|
|
11098
|
+
METAMASK_LOGO,
|
|
11099
|
+
PHANTOM_LOGO,
|
|
11100
|
+
RABBY_LOGO,
|
|
11101
|
+
OKX_WALLET_LOGO,
|
|
11102
|
+
TRUST_WALLET_LOGO,
|
|
11103
|
+
BASE_LOGO
|
|
11104
|
+
];
|
|
11105
|
+
function WelcomeBackScreen({
|
|
11106
|
+
onToAddress,
|
|
11107
|
+
onComplete,
|
|
11027
11108
|
onClose
|
|
11028
11109
|
}) {
|
|
11029
11110
|
const { tokens } = useBlinkConfig();
|
|
11030
|
-
const
|
|
11031
|
-
|
|
11032
|
-
{
|
|
11033
|
-
|
|
11034
|
-
|
|
11035
|
-
|
|
11036
|
-
style: closeButtonStyle3(tokens),
|
|
11037
|
-
children: /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
11038
|
-
"path",
|
|
11111
|
+
const depositLabel = `Deposit with ${getDeviceBiometricUnlockText()}`;
|
|
11112
|
+
return /* @__PURE__ */ jsx(ScreenLayout, { children: /* @__PURE__ */ jsx("div", { style: sheetStyle2, children: /* @__PURE__ */ jsxs("div", { style: contentStyle3, children: [
|
|
11113
|
+
/* @__PURE__ */ jsxs("div", { style: headerRowStyle2, children: [
|
|
11114
|
+
/* @__PURE__ */ jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style: wordmarkImgStyle2 }),
|
|
11115
|
+
onClose ? /* @__PURE__ */ jsx(
|
|
11116
|
+
"button",
|
|
11039
11117
|
{
|
|
11040
|
-
|
|
11041
|
-
|
|
11042
|
-
|
|
11043
|
-
|
|
11044
|
-
|
|
11118
|
+
type: "button",
|
|
11119
|
+
onClick: onClose,
|
|
11120
|
+
"aria-label": "Close",
|
|
11121
|
+
style: closeButtonStyle3(tokens.bgRecessed, tokens.text),
|
|
11122
|
+
children: /* @__PURE__ */ jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
11123
|
+
"path",
|
|
11124
|
+
{
|
|
11125
|
+
d: "M6 6l12 12M18 6L6 18",
|
|
11126
|
+
stroke: "currentColor",
|
|
11127
|
+
strokeWidth: "2",
|
|
11128
|
+
strokeLinecap: "round",
|
|
11129
|
+
strokeLinejoin: "round"
|
|
11130
|
+
}
|
|
11131
|
+
) })
|
|
11045
11132
|
}
|
|
11046
|
-
)
|
|
11047
|
-
}
|
|
11048
|
-
|
|
11049
|
-
|
|
11133
|
+
) : null
|
|
11134
|
+
] }),
|
|
11135
|
+
/* @__PURE__ */ jsx("img", { src: BLINK_PASSKEY_ILLUSTRATION, alt: "", "aria-hidden": "true", style: heroStyle2 }),
|
|
11136
|
+
/* @__PURE__ */ jsxs("div", { style: stackStyle2, children: [
|
|
11137
|
+
/* @__PURE__ */ jsxs("div", { style: depositPillWrapperStyle2, children: [
|
|
11138
|
+
/* @__PURE__ */ jsxs(
|
|
11139
|
+
"button",
|
|
11140
|
+
{
|
|
11141
|
+
type: "button",
|
|
11142
|
+
onClick: onComplete,
|
|
11143
|
+
style: depositFrameStyle(tokens.highlight),
|
|
11144
|
+
children: [
|
|
11145
|
+
/* @__PURE__ */ jsx("span", { style: completeSetupBandStyle(tokens.text), children: "Complete setup" }),
|
|
11146
|
+
/* @__PURE__ */ jsxs("span", { style: depositPillStyle2(tokens.accent), children: [
|
|
11147
|
+
/* @__PURE__ */ jsx(FitText, { maxFontSize: 16, minFontSize: 11, color: tokens.accentText, children: depositLabel }),
|
|
11148
|
+
/* @__PURE__ */ jsx("span", { style: clusterStyle2, children: CLUSTER_LOGOS2.map((logo, i) => /* @__PURE__ */ jsx(
|
|
11149
|
+
"span",
|
|
11150
|
+
{
|
|
11151
|
+
style: clusterChipStyle2(tokens.bgInput, i === CLUSTER_LOGOS2.length - 1),
|
|
11152
|
+
children: /* @__PURE__ */ jsx("img", { src: logo, alt: "", "aria-hidden": "true", style: clusterIconStyle2 })
|
|
11153
|
+
},
|
|
11154
|
+
logo
|
|
11155
|
+
)) })
|
|
11156
|
+
] })
|
|
11157
|
+
]
|
|
11158
|
+
}
|
|
11159
|
+
),
|
|
11160
|
+
/* @__PURE__ */ jsx("span", { style: feesBadgeStyle2(tokens.highlight, tokens.text), children: "0% FEES" })
|
|
11161
|
+
] }),
|
|
11162
|
+
/* @__PURE__ */ jsxs("div", { style: dividerRowStyle2, children: [
|
|
11163
|
+
/* @__PURE__ */ jsx("span", { style: dividerRuleStyle2(tokens.textTertiary) }),
|
|
11164
|
+
/* @__PURE__ */ jsx("span", { style: dividerLabelStyle2(tokens.textTertiary), children: "OR" }),
|
|
11165
|
+
/* @__PURE__ */ jsx("span", { style: dividerRuleStyle2(tokens.textTertiary) })
|
|
11166
|
+
] }),
|
|
11167
|
+
/* @__PURE__ */ jsxs(
|
|
11168
|
+
"button",
|
|
11169
|
+
{
|
|
11170
|
+
type: "button",
|
|
11171
|
+
onClick: onToAddress,
|
|
11172
|
+
style: manualRowStyle2(tokens.bgCardTranslucent),
|
|
11173
|
+
children: [
|
|
11174
|
+
/* @__PURE__ */ jsx("span", { style: manualLabelStyle2(tokens.text), children: "Send Crypto Manually" }),
|
|
11175
|
+
/* @__PURE__ */ jsx(QrIcon2, { color: tokens.text })
|
|
11176
|
+
]
|
|
11177
|
+
}
|
|
11178
|
+
)
|
|
11179
|
+
] })
|
|
11180
|
+
] }) }) });
|
|
11181
|
+
}
|
|
11182
|
+
function QrIcon2({ color }) {
|
|
11050
11183
|
return /* @__PURE__ */ jsxs(
|
|
11051
|
-
|
|
11184
|
+
"svg",
|
|
11052
11185
|
{
|
|
11053
|
-
|
|
11186
|
+
width: "24",
|
|
11187
|
+
height: "24",
|
|
11188
|
+
viewBox: "0 0 24 24",
|
|
11189
|
+
fill: "none",
|
|
11190
|
+
"aria-hidden": "true",
|
|
11191
|
+
style: { flexShrink: 0 },
|
|
11054
11192
|
children: [
|
|
11055
|
-
/* @__PURE__ */ jsx(
|
|
11056
|
-
/* @__PURE__ */
|
|
11057
|
-
|
|
11058
|
-
|
|
11059
|
-
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
),
|
|
11066
|
-
/* @__PURE__ */ jsx("h2", { style: headingStyle2(tokens.text), children: title }),
|
|
11067
|
-
message && /* @__PURE__ */ jsx("p", { style: messageStyle(tokens.text), children: message })
|
|
11068
|
-
] })
|
|
11193
|
+
/* @__PURE__ */ jsx("rect", { x: "3.5", y: "3.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
|
|
11194
|
+
/* @__PURE__ */ jsx("rect", { x: "6", y: "6", width: "2", height: "2", fill: color }),
|
|
11195
|
+
/* @__PURE__ */ jsx("rect", { x: "13.5", y: "3.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
|
|
11196
|
+
/* @__PURE__ */ jsx("rect", { x: "16", y: "6", width: "2", height: "2", fill: color }),
|
|
11197
|
+
/* @__PURE__ */ jsx("rect", { x: "3.5", y: "13.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
|
|
11198
|
+
/* @__PURE__ */ jsx("rect", { x: "6", y: "16", width: "2", height: "2", fill: color }),
|
|
11199
|
+
/* @__PURE__ */ jsx("rect", { x: "13.5", y: "13.5", width: "2.5", height: "2.5", fill: color }),
|
|
11200
|
+
/* @__PURE__ */ jsx("rect", { x: "18", y: "13.5", width: "2.5", height: "2.5", fill: color }),
|
|
11201
|
+
/* @__PURE__ */ jsx("rect", { x: "13.5", y: "18", width: "2.5", height: "2.5", fill: color }),
|
|
11202
|
+
/* @__PURE__ */ jsx("rect", { x: "18", y: "18", width: "2.5", height: "2.5", fill: color })
|
|
11069
11203
|
]
|
|
11070
11204
|
}
|
|
11071
11205
|
);
|
|
11072
11206
|
}
|
|
11207
|
+
var sheetStyle2 = {
|
|
11208
|
+
position: "relative",
|
|
11209
|
+
minHeight: "100%",
|
|
11210
|
+
display: "flex",
|
|
11211
|
+
flexDirection: "column",
|
|
11212
|
+
boxSizing: "border-box"
|
|
11213
|
+
};
|
|
11073
11214
|
var contentStyle3 = {
|
|
11074
|
-
textAlign: "center",
|
|
11075
|
-
flex: 1,
|
|
11076
11215
|
display: "flex",
|
|
11077
11216
|
flexDirection: "column",
|
|
11078
11217
|
alignItems: "center",
|
|
11079
|
-
|
|
11080
|
-
|
|
11218
|
+
gap: 32,
|
|
11219
|
+
padding: "32px 8px"
|
|
11081
11220
|
};
|
|
11082
|
-
var
|
|
11083
|
-
|
|
11084
|
-
|
|
11221
|
+
var headerRowStyle2 = {
|
|
11222
|
+
display: "flex",
|
|
11223
|
+
alignItems: "center",
|
|
11224
|
+
justifyContent: "space-between",
|
|
11225
|
+
width: "100%",
|
|
11226
|
+
minHeight: 44
|
|
11227
|
+
};
|
|
11228
|
+
var wordmarkImgStyle2 = {
|
|
11229
|
+
height: 31,
|
|
11230
|
+
width: "auto",
|
|
11231
|
+
display: "block"
|
|
11232
|
+
};
|
|
11233
|
+
var heroStyle2 = {
|
|
11234
|
+
width: 220,
|
|
11235
|
+
height: 220,
|
|
11236
|
+
maxWidth: "100%",
|
|
11085
11237
|
objectFit: "contain",
|
|
11086
11238
|
display: "block"
|
|
11087
11239
|
};
|
|
11088
|
-
var
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
|
|
11093
|
-
|
|
11094
|
-
|
|
11095
|
-
|
|
11096
|
-
|
|
11097
|
-
|
|
11098
|
-
|
|
11099
|
-
|
|
11100
|
-
|
|
11101
|
-
|
|
11102
|
-
|
|
11103
|
-
|
|
11104
|
-
|
|
11105
|
-
|
|
11106
|
-
height: 40,
|
|
11107
|
-
borderRadius: "50%",
|
|
11240
|
+
var stackStyle2 = {
|
|
11241
|
+
display: "flex",
|
|
11242
|
+
flexDirection: "column",
|
|
11243
|
+
gap: 16,
|
|
11244
|
+
width: "100%"
|
|
11245
|
+
};
|
|
11246
|
+
var depositPillWrapperStyle2 = {
|
|
11247
|
+
position: "relative",
|
|
11248
|
+
width: "100%",
|
|
11249
|
+
paddingBottom: 12
|
|
11250
|
+
};
|
|
11251
|
+
var depositFrameStyle = (bg) => ({
|
|
11252
|
+
display: "flex",
|
|
11253
|
+
flexDirection: "column",
|
|
11254
|
+
alignItems: "stretch",
|
|
11255
|
+
width: "100%",
|
|
11256
|
+
padding: "2px 4px 4px",
|
|
11257
|
+
background: bg,
|
|
11108
11258
|
border: "none",
|
|
11109
|
-
|
|
11110
|
-
|
|
11259
|
+
borderRadius: 32,
|
|
11260
|
+
cursor: "pointer",
|
|
11261
|
+
boxSizing: "border-box",
|
|
11262
|
+
fontFamily: "inherit"
|
|
11263
|
+
});
|
|
11264
|
+
var completeSetupBandStyle = (color) => ({
|
|
11111
11265
|
display: "flex",
|
|
11112
11266
|
alignItems: "center",
|
|
11113
11267
|
justifyContent: "center",
|
|
11114
|
-
|
|
11115
|
-
|
|
11268
|
+
height: 26,
|
|
11269
|
+
color,
|
|
11270
|
+
fontSize: 13,
|
|
11271
|
+
fontWeight: 600,
|
|
11272
|
+
letterSpacing: "0.01em"
|
|
11116
11273
|
});
|
|
11117
|
-
|
|
11274
|
+
var depositPillStyle2 = (bg) => ({
|
|
11275
|
+
display: "flex",
|
|
11276
|
+
alignItems: "center",
|
|
11277
|
+
justifyContent: "space-between",
|
|
11278
|
+
gap: 8,
|
|
11279
|
+
width: "100%",
|
|
11280
|
+
height: 56,
|
|
11281
|
+
padding: "12px 12px 12px 24px",
|
|
11282
|
+
background: bg,
|
|
11283
|
+
border: "none",
|
|
11284
|
+
borderRadius: 28,
|
|
11285
|
+
boxSizing: "border-box"
|
|
11286
|
+
});
|
|
11287
|
+
var clusterStyle2 = {
|
|
11288
|
+
display: "inline-flex",
|
|
11289
|
+
alignItems: "center",
|
|
11290
|
+
isolation: "isolate",
|
|
11291
|
+
flexShrink: 0
|
|
11292
|
+
};
|
|
11293
|
+
var clusterChipStyle2 = (bg, last) => ({
|
|
11294
|
+
width: 32,
|
|
11295
|
+
height: 32,
|
|
11296
|
+
borderRadius: "50%",
|
|
11297
|
+
background: bg,
|
|
11298
|
+
display: "inline-flex",
|
|
11299
|
+
alignItems: "center",
|
|
11300
|
+
justifyContent: "center",
|
|
11301
|
+
marginRight: last ? 0 : -12,
|
|
11302
|
+
filter: "drop-shadow(0 0 2px rgba(0, 0, 0, 0.24))",
|
|
11303
|
+
flexShrink: 0
|
|
11304
|
+
});
|
|
11305
|
+
var clusterIconStyle2 = {
|
|
11306
|
+
width: 24,
|
|
11307
|
+
height: 24,
|
|
11308
|
+
borderRadius: "50%",
|
|
11309
|
+
objectFit: "cover",
|
|
11310
|
+
display: "block"
|
|
11311
|
+
};
|
|
11312
|
+
var feesBadgeStyle2 = (bg, color) => ({
|
|
11313
|
+
position: "absolute",
|
|
11314
|
+
left: 131,
|
|
11315
|
+
top: 72,
|
|
11316
|
+
display: "inline-flex",
|
|
11317
|
+
alignItems: "center",
|
|
11318
|
+
justifyContent: "center",
|
|
11319
|
+
background: bg,
|
|
11320
|
+
color,
|
|
11321
|
+
fontSize: 12,
|
|
11322
|
+
fontWeight: 500,
|
|
11323
|
+
lineHeight: 1,
|
|
11324
|
+
padding: "4px 8px",
|
|
11325
|
+
borderRadius: 6,
|
|
11326
|
+
whiteSpace: "nowrap",
|
|
11327
|
+
transform: "rotate(-6.75deg)",
|
|
11328
|
+
boxShadow: "0 2px 4px rgba(0, 0, 0, 0.16)",
|
|
11329
|
+
pointerEvents: "none"
|
|
11330
|
+
});
|
|
11331
|
+
var dividerRowStyle2 = {
|
|
11332
|
+
display: "flex",
|
|
11333
|
+
alignItems: "center",
|
|
11334
|
+
justifyContent: "center",
|
|
11335
|
+
gap: 10,
|
|
11336
|
+
padding: "0 16px",
|
|
11337
|
+
width: "100%",
|
|
11338
|
+
boxSizing: "border-box"
|
|
11339
|
+
};
|
|
11340
|
+
var dividerRuleStyle2 = (color) => ({
|
|
11341
|
+
flex: 1,
|
|
11342
|
+
height: 1,
|
|
11343
|
+
background: color
|
|
11344
|
+
});
|
|
11345
|
+
var dividerLabelStyle2 = (color) => ({
|
|
11346
|
+
color,
|
|
11347
|
+
fontSize: 12,
|
|
11348
|
+
fontWeight: 500,
|
|
11349
|
+
whiteSpace: "nowrap"
|
|
11350
|
+
});
|
|
11351
|
+
var manualRowStyle2 = (bg) => ({
|
|
11352
|
+
display: "flex",
|
|
11353
|
+
alignItems: "center",
|
|
11354
|
+
gap: 8,
|
|
11355
|
+
width: "100%",
|
|
11356
|
+
height: 56,
|
|
11357
|
+
padding: "12px 24px",
|
|
11358
|
+
background: bg,
|
|
11359
|
+
border: "none",
|
|
11360
|
+
borderRadius: 28,
|
|
11361
|
+
cursor: "pointer",
|
|
11362
|
+
boxSizing: "border-box",
|
|
11363
|
+
fontFamily: "inherit"
|
|
11364
|
+
});
|
|
11365
|
+
var manualLabelStyle2 = (color) => ({
|
|
11366
|
+
flex: 1,
|
|
11367
|
+
minWidth: 0,
|
|
11368
|
+
color,
|
|
11369
|
+
fontSize: 16,
|
|
11370
|
+
fontWeight: 400
|
|
11371
|
+
});
|
|
11372
|
+
var closeButtonStyle3 = (bg, color) => ({
|
|
11373
|
+
flexShrink: 0,
|
|
11374
|
+
width: 44,
|
|
11375
|
+
height: 44,
|
|
11376
|
+
borderRadius: "50%",
|
|
11377
|
+
border: "none",
|
|
11378
|
+
background: bg,
|
|
11379
|
+
color,
|
|
11380
|
+
display: "flex",
|
|
11381
|
+
alignItems: "center",
|
|
11382
|
+
justifyContent: "center",
|
|
11383
|
+
cursor: "pointer",
|
|
11384
|
+
padding: 0
|
|
11385
|
+
});
|
|
11386
|
+
function BlinkErrorScreen({
|
|
11387
|
+
title,
|
|
11388
|
+
message,
|
|
11389
|
+
retryLabel,
|
|
11390
|
+
onRetry,
|
|
11391
|
+
onClose
|
|
11392
|
+
}) {
|
|
11393
|
+
const { tokens } = useBlinkConfig();
|
|
11394
|
+
const headerRight = onClose ? /* @__PURE__ */ jsx(
|
|
11395
|
+
"button",
|
|
11396
|
+
{
|
|
11397
|
+
type: "button",
|
|
11398
|
+
onClick: onClose,
|
|
11399
|
+
"aria-label": "Close",
|
|
11400
|
+
style: closeButtonStyle4(tokens),
|
|
11401
|
+
children: /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
11402
|
+
"path",
|
|
11403
|
+
{
|
|
11404
|
+
d: "M6 6l12 12M18 6L6 18",
|
|
11405
|
+
stroke: "currentColor",
|
|
11406
|
+
strokeWidth: "2",
|
|
11407
|
+
strokeLinecap: "round",
|
|
11408
|
+
strokeLinejoin: "round"
|
|
11409
|
+
}
|
|
11410
|
+
) })
|
|
11411
|
+
}
|
|
11412
|
+
) : void 0;
|
|
11413
|
+
const showRetry = retryLabel != null && onRetry != null;
|
|
11414
|
+
return /* @__PURE__ */ jsxs(
|
|
11415
|
+
ScreenLayout,
|
|
11416
|
+
{
|
|
11417
|
+
footer: showRetry ? /* @__PURE__ */ jsx(PrimaryButton, { onClick: onRetry, children: retryLabel }) : void 0,
|
|
11418
|
+
children: [
|
|
11419
|
+
/* @__PURE__ */ jsx(ScreenHeader, { right: headerRight }),
|
|
11420
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle4, children: [
|
|
11421
|
+
/* @__PURE__ */ jsx(
|
|
11422
|
+
"img",
|
|
11423
|
+
{
|
|
11424
|
+
src: BLINK_ERROR_ILLUSTRATION,
|
|
11425
|
+
alt: "",
|
|
11426
|
+
"aria-hidden": "true",
|
|
11427
|
+
style: illustrationStyle2
|
|
11428
|
+
}
|
|
11429
|
+
),
|
|
11430
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle2(tokens.text), children: title }),
|
|
11431
|
+
message && /* @__PURE__ */ jsx("p", { style: messageStyle(tokens.text), children: message })
|
|
11432
|
+
] })
|
|
11433
|
+
]
|
|
11434
|
+
}
|
|
11435
|
+
);
|
|
11436
|
+
}
|
|
11437
|
+
var contentStyle4 = {
|
|
11438
|
+
textAlign: "center",
|
|
11439
|
+
flex: 1,
|
|
11440
|
+
display: "flex",
|
|
11441
|
+
flexDirection: "column",
|
|
11442
|
+
alignItems: "center",
|
|
11443
|
+
justifyContent: "center",
|
|
11444
|
+
gap: 16
|
|
11445
|
+
};
|
|
11446
|
+
var illustrationStyle2 = {
|
|
11447
|
+
width: 200,
|
|
11448
|
+
height: 200,
|
|
11449
|
+
objectFit: "contain",
|
|
11450
|
+
display: "block"
|
|
11451
|
+
};
|
|
11452
|
+
var headingStyle2 = (color) => ({
|
|
11453
|
+
fontSize: "1.5rem",
|
|
11454
|
+
fontWeight: 700,
|
|
11455
|
+
lineHeight: 1.1,
|
|
11456
|
+
letterSpacing: "-0.01em",
|
|
11457
|
+
color,
|
|
11458
|
+
margin: 0
|
|
11459
|
+
});
|
|
11460
|
+
var messageStyle = (color) => ({
|
|
11461
|
+
fontSize: "1rem",
|
|
11462
|
+
fontWeight: 400,
|
|
11463
|
+
lineHeight: 1.4,
|
|
11464
|
+
color,
|
|
11465
|
+
margin: 0,
|
|
11466
|
+
maxWidth: 320
|
|
11467
|
+
});
|
|
11468
|
+
var closeButtonStyle4 = (tokens) => ({
|
|
11469
|
+
width: 40,
|
|
11470
|
+
height: 40,
|
|
11471
|
+
borderRadius: "50%",
|
|
11472
|
+
border: "none",
|
|
11473
|
+
background: tokens.bgRecessed,
|
|
11474
|
+
color: tokens.text,
|
|
11475
|
+
display: "flex",
|
|
11476
|
+
alignItems: "center",
|
|
11477
|
+
justifyContent: "center",
|
|
11478
|
+
cursor: "pointer",
|
|
11479
|
+
padding: 0
|
|
11480
|
+
});
|
|
11481
|
+
function AmountTooLowScreen({
|
|
11118
11482
|
minAmountUsd,
|
|
11119
11483
|
onRetry,
|
|
11120
11484
|
onClose
|
|
@@ -11183,7 +11547,7 @@ function OtpVerifyScreen({
|
|
|
11183
11547
|
] }),
|
|
11184
11548
|
children: [
|
|
11185
11549
|
/* @__PURE__ */ jsx(ScreenHeader, { onBack }),
|
|
11186
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
11550
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle5, children: [
|
|
11187
11551
|
/* @__PURE__ */ jsx("h2", { style: headingStyle3(tokens.text), children: "Confirm it is you" }),
|
|
11188
11552
|
/* @__PURE__ */ jsxs("p", { style: subtitleStyle2(tokens.textSecondary), children: [
|
|
11189
11553
|
"We sent a 6-digit code to",
|
|
@@ -11207,7 +11571,7 @@ function OtpVerifyScreen({
|
|
|
11207
11571
|
}
|
|
11208
11572
|
);
|
|
11209
11573
|
}
|
|
11210
|
-
var
|
|
11574
|
+
var contentStyle5 = {
|
|
11211
11575
|
textAlign: "center",
|
|
11212
11576
|
display: "flex",
|
|
11213
11577
|
flexDirection: "column",
|
|
@@ -11289,7 +11653,7 @@ function PasskeyScreen({
|
|
|
11289
11653
|
] }),
|
|
11290
11654
|
children: [
|
|
11291
11655
|
/* @__PURE__ */ jsx(ScreenHeader, { onBack, onLogout }),
|
|
11292
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
11656
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle6, children: [
|
|
11293
11657
|
/* @__PURE__ */ jsx("h2", { style: headingStyle4(tokens.text), children: "Secure your account with a passkey" }),
|
|
11294
11658
|
/* @__PURE__ */ jsx("p", { style: subtitleStyle3(tokens.textSecondary), children: "This enables secure one-tap deposits on this device" }),
|
|
11295
11659
|
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle2(tokens), children: error })
|
|
@@ -11298,7 +11662,7 @@ function PasskeyScreen({
|
|
|
11298
11662
|
}
|
|
11299
11663
|
);
|
|
11300
11664
|
}
|
|
11301
|
-
var
|
|
11665
|
+
var contentStyle6 = {
|
|
11302
11666
|
textAlign: "center",
|
|
11303
11667
|
flex: 1,
|
|
11304
11668
|
display: "flex",
|
|
@@ -11365,7 +11729,7 @@ function PasskeyPopupWelcomeScreen({
|
|
|
11365
11729
|
) }),
|
|
11366
11730
|
children: [
|
|
11367
11731
|
/* @__PURE__ */ jsx(ScreenHeader, { onBack, onLogout }),
|
|
11368
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
11732
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle7, children: [
|
|
11369
11733
|
/* @__PURE__ */ jsxs("div", { style: lockupStyle, children: [
|
|
11370
11734
|
/* @__PURE__ */ jsx("img", { src: BLINK_LOGO, alt: "", "aria-hidden": true, style: lockupMarkStyle }),
|
|
11371
11735
|
/* @__PURE__ */ jsx("span", { style: wordmarkStyle(tokens.text), children: "Blink" })
|
|
@@ -11405,7 +11769,7 @@ function PasskeyIcon() {
|
|
|
11405
11769
|
)
|
|
11406
11770
|
] });
|
|
11407
11771
|
}
|
|
11408
|
-
var
|
|
11772
|
+
var contentStyle7 = {
|
|
11409
11773
|
flex: 1,
|
|
11410
11774
|
minHeight: 0,
|
|
11411
11775
|
display: "flex",
|
|
@@ -11481,7 +11845,7 @@ function VerifyPasskeyScreen({
|
|
|
11481
11845
|
] }),
|
|
11482
11846
|
children: [
|
|
11483
11847
|
/* @__PURE__ */ jsx(ScreenHeader, { onBack }),
|
|
11484
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
11848
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle8, children: [
|
|
11485
11849
|
/* @__PURE__ */ jsx(IconCircle, { variant: "accent", size: 64, children: /* @__PURE__ */ jsxs("svg", { width: "36", height: "36", viewBox: "0 0 24 24", fill: "none", children: [
|
|
11486
11850
|
/* @__PURE__ */ jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "3", stroke: tokens.accent, strokeWidth: "1.5", strokeDasharray: "3 2" }),
|
|
11487
11851
|
/* @__PURE__ */ jsx("circle", { cx: "9", cy: "10", r: "1", fill: tokens.accent }),
|
|
@@ -11497,7 +11861,7 @@ function VerifyPasskeyScreen({
|
|
|
11497
11861
|
}
|
|
11498
11862
|
);
|
|
11499
11863
|
}
|
|
11500
|
-
var
|
|
11864
|
+
var contentStyle8 = {
|
|
11501
11865
|
textAlign: "center",
|
|
11502
11866
|
flex: 1,
|
|
11503
11867
|
display: "flex",
|
|
@@ -12194,6 +12558,260 @@ var errorBannerStyle5 = (tokens) => ({
|
|
|
12194
12558
|
marginBottom: 14,
|
|
12195
12559
|
lineHeight: 1.5
|
|
12196
12560
|
});
|
|
12561
|
+
function ManualTransferPasskeyScreen({
|
|
12562
|
+
onCreatePasskey,
|
|
12563
|
+
onNoThanks,
|
|
12564
|
+
amountUsd,
|
|
12565
|
+
loading = false,
|
|
12566
|
+
error,
|
|
12567
|
+
onBack,
|
|
12568
|
+
onClose
|
|
12569
|
+
}) {
|
|
12570
|
+
const { tokens } = useBlinkConfig();
|
|
12571
|
+
const title = "Deposit complete";
|
|
12572
|
+
return /* @__PURE__ */ jsxs("div", { style: containerStyle9(tokens), children: [
|
|
12573
|
+
onBack && /* @__PURE__ */ jsx(
|
|
12574
|
+
"button",
|
|
12575
|
+
{
|
|
12576
|
+
type: "button",
|
|
12577
|
+
onClick: onBack,
|
|
12578
|
+
"aria-label": "Go back",
|
|
12579
|
+
style: { ...navButtonStyle(tokens.bgRecessed, tokens.text), left: 16 },
|
|
12580
|
+
children: /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
12581
|
+
"path",
|
|
12582
|
+
{
|
|
12583
|
+
d: "M15 18l-6-6 6-6",
|
|
12584
|
+
stroke: "currentColor",
|
|
12585
|
+
strokeWidth: "2",
|
|
12586
|
+
strokeLinecap: "round",
|
|
12587
|
+
strokeLinejoin: "round"
|
|
12588
|
+
}
|
|
12589
|
+
) })
|
|
12590
|
+
}
|
|
12591
|
+
),
|
|
12592
|
+
onClose && /* @__PURE__ */ jsx(
|
|
12593
|
+
"button",
|
|
12594
|
+
{
|
|
12595
|
+
type: "button",
|
|
12596
|
+
onClick: onClose,
|
|
12597
|
+
"aria-label": "Close",
|
|
12598
|
+
style: { ...navButtonStyle(tokens.bgRecessed, tokens.text), right: 16 },
|
|
12599
|
+
children: /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
12600
|
+
"path",
|
|
12601
|
+
{
|
|
12602
|
+
d: "M6 6l12 12M18 6L6 18",
|
|
12603
|
+
stroke: "currentColor",
|
|
12604
|
+
strokeWidth: "2",
|
|
12605
|
+
strokeLinecap: "round",
|
|
12606
|
+
strokeLinejoin: "round"
|
|
12607
|
+
}
|
|
12608
|
+
) })
|
|
12609
|
+
}
|
|
12610
|
+
),
|
|
12611
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle9, children: [
|
|
12612
|
+
/* @__PURE__ */ jsxs("div", { style: heroStyle3, children: [
|
|
12613
|
+
/* @__PURE__ */ jsx("h2", { style: titleStyle4(tokens.text), children: title }),
|
|
12614
|
+
/* @__PURE__ */ jsx(
|
|
12615
|
+
"img",
|
|
12616
|
+
{
|
|
12617
|
+
src: BLINK_PASSKEY_ILLUSTRATION,
|
|
12618
|
+
alt: "",
|
|
12619
|
+
"aria-hidden": "true",
|
|
12620
|
+
style: illustrationStyle3
|
|
12621
|
+
}
|
|
12622
|
+
),
|
|
12623
|
+
/* @__PURE__ */ jsxs("div", { style: infoCardStyle2(tokens.bgCardTranslucent), children: [
|
|
12624
|
+
/* @__PURE__ */ jsx("div", { style: { color: tokens.text, flexShrink: 0, paddingTop: 2 }, children: /* @__PURE__ */ jsx(FaceIdIcon, { size: 24 }) }),
|
|
12625
|
+
/* @__PURE__ */ jsxs("div", { style: infoTextStyle, children: [
|
|
12626
|
+
/* @__PURE__ */ jsxs("div", { style: infoTitleStyle(tokens.text), children: [
|
|
12627
|
+
"Deposit with ",
|
|
12628
|
+
getDeviceBiometricUnlockText(),
|
|
12629
|
+
" next time"
|
|
12630
|
+
] }),
|
|
12631
|
+
/* @__PURE__ */ jsxs("div", { style: infoSubtitleStyle(tokens.text), children: [
|
|
12632
|
+
"Deposit with ",
|
|
12633
|
+
getDeviceBiometricUnlockText(),
|
|
12634
|
+
" \u2014 your wallet stays sealed"
|
|
12635
|
+
] })
|
|
12636
|
+
] })
|
|
12637
|
+
] }),
|
|
12638
|
+
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle6(tokens), children: error })
|
|
12639
|
+
] }),
|
|
12640
|
+
/* @__PURE__ */ jsxs("div", { style: footerStackStyle2, children: [
|
|
12641
|
+
/* @__PURE__ */ jsx(
|
|
12642
|
+
"button",
|
|
12643
|
+
{
|
|
12644
|
+
type: "button",
|
|
12645
|
+
onClick: onCreatePasskey,
|
|
12646
|
+
disabled: loading,
|
|
12647
|
+
style: ctaStyle(tokens, loading),
|
|
12648
|
+
children: "Create passkey"
|
|
12649
|
+
}
|
|
12650
|
+
),
|
|
12651
|
+
/* @__PURE__ */ jsx(
|
|
12652
|
+
"button",
|
|
12653
|
+
{
|
|
12654
|
+
type: "button",
|
|
12655
|
+
onClick: onNoThanks,
|
|
12656
|
+
disabled: loading,
|
|
12657
|
+
style: noThanksStyle(tokens.text, loading),
|
|
12658
|
+
children: "No thanks"
|
|
12659
|
+
}
|
|
12660
|
+
)
|
|
12661
|
+
] })
|
|
12662
|
+
] })
|
|
12663
|
+
] });
|
|
12664
|
+
}
|
|
12665
|
+
var containerStyle9 = (tokens) => ({
|
|
12666
|
+
position: "relative",
|
|
12667
|
+
display: "flex",
|
|
12668
|
+
flexDirection: "column",
|
|
12669
|
+
width: "100%",
|
|
12670
|
+
maxWidth: 420,
|
|
12671
|
+
height: "100%",
|
|
12672
|
+
margin: "0 auto",
|
|
12673
|
+
overflow: "hidden",
|
|
12674
|
+
borderRadius: tokens.radiusLg,
|
|
12675
|
+
background: tokens.bgCard,
|
|
12676
|
+
backdropFilter: "blur(16px)",
|
|
12677
|
+
WebkitBackdropFilter: "blur(16px)",
|
|
12678
|
+
fontFamily: tokens.fontFamily,
|
|
12679
|
+
boxSizing: "border-box"
|
|
12680
|
+
});
|
|
12681
|
+
var contentStyle9 = {
|
|
12682
|
+
flex: 1,
|
|
12683
|
+
minHeight: 0,
|
|
12684
|
+
display: "flex",
|
|
12685
|
+
flexDirection: "column",
|
|
12686
|
+
justifyContent: "space-between",
|
|
12687
|
+
alignItems: "center",
|
|
12688
|
+
padding: "72px 32px 32px",
|
|
12689
|
+
gap: 24,
|
|
12690
|
+
boxSizing: "border-box"
|
|
12691
|
+
};
|
|
12692
|
+
var heroStyle3 = {
|
|
12693
|
+
flex: 1,
|
|
12694
|
+
minHeight: 0,
|
|
12695
|
+
display: "flex",
|
|
12696
|
+
flexDirection: "column",
|
|
12697
|
+
justifyContent: "center",
|
|
12698
|
+
alignItems: "center",
|
|
12699
|
+
gap: 16,
|
|
12700
|
+
width: "100%"
|
|
12701
|
+
};
|
|
12702
|
+
var titleStyle4 = (color) => ({
|
|
12703
|
+
margin: 0,
|
|
12704
|
+
color,
|
|
12705
|
+
fontSize: 24,
|
|
12706
|
+
fontWeight: 700,
|
|
12707
|
+
lineHeight: 1.05,
|
|
12708
|
+
letterSpacing: 0,
|
|
12709
|
+
textAlign: "center"
|
|
12710
|
+
});
|
|
12711
|
+
var illustrationStyle3 = {
|
|
12712
|
+
width: 160,
|
|
12713
|
+
height: 160,
|
|
12714
|
+
objectFit: "contain",
|
|
12715
|
+
display: "block"
|
|
12716
|
+
};
|
|
12717
|
+
var infoCardStyle2 = (bg) => ({
|
|
12718
|
+
display: "flex",
|
|
12719
|
+
gap: 12,
|
|
12720
|
+
alignItems: "flex-start",
|
|
12721
|
+
width: "100%",
|
|
12722
|
+
padding: 20,
|
|
12723
|
+
borderRadius: 24,
|
|
12724
|
+
background: bg,
|
|
12725
|
+
boxSizing: "border-box"
|
|
12726
|
+
});
|
|
12727
|
+
var infoTextStyle = {
|
|
12728
|
+
display: "flex",
|
|
12729
|
+
flexDirection: "column",
|
|
12730
|
+
gap: 4,
|
|
12731
|
+
flex: 1,
|
|
12732
|
+
minWidth: 0,
|
|
12733
|
+
paddingTop: 2
|
|
12734
|
+
};
|
|
12735
|
+
var infoTitleStyle = (color) => ({
|
|
12736
|
+
color,
|
|
12737
|
+
fontSize: 16,
|
|
12738
|
+
fontWeight: 700,
|
|
12739
|
+
lineHeight: 1.2
|
|
12740
|
+
});
|
|
12741
|
+
var infoSubtitleStyle = (color) => ({
|
|
12742
|
+
color,
|
|
12743
|
+
fontSize: 16,
|
|
12744
|
+
fontWeight: 400,
|
|
12745
|
+
lineHeight: 1.2
|
|
12746
|
+
});
|
|
12747
|
+
var footerStackStyle2 = {
|
|
12748
|
+
display: "flex",
|
|
12749
|
+
flexDirection: "column",
|
|
12750
|
+
gap: 8,
|
|
12751
|
+
width: "100%"
|
|
12752
|
+
};
|
|
12753
|
+
var ctaStyle = (tokens, disabled) => ({
|
|
12754
|
+
display: "flex",
|
|
12755
|
+
alignItems: "center",
|
|
12756
|
+
justifyContent: "center",
|
|
12757
|
+
width: "100%",
|
|
12758
|
+
height: 56,
|
|
12759
|
+
padding: "4px 24px",
|
|
12760
|
+
border: "none",
|
|
12761
|
+
borderRadius: 48,
|
|
12762
|
+
background: `linear-gradient(180deg, ${tokens.accent}, ${tokens.accentHover})`,
|
|
12763
|
+
color: tokens.accentText,
|
|
12764
|
+
fontSize: 16,
|
|
12765
|
+
fontWeight: 700,
|
|
12766
|
+
fontFamily: "inherit",
|
|
12767
|
+
cursor: disabled ? "default" : "pointer",
|
|
12768
|
+
opacity: disabled ? 0.5 : 1,
|
|
12769
|
+
transition: "opacity 0.15s ease",
|
|
12770
|
+
boxSizing: "border-box"
|
|
12771
|
+
});
|
|
12772
|
+
var noThanksStyle = (color, disabled) => ({
|
|
12773
|
+
width: "100%",
|
|
12774
|
+
height: 56,
|
|
12775
|
+
padding: "0 16px",
|
|
12776
|
+
background: "transparent",
|
|
12777
|
+
color,
|
|
12778
|
+
border: "none",
|
|
12779
|
+
borderRadius: 48,
|
|
12780
|
+
fontSize: 16,
|
|
12781
|
+
fontWeight: 400,
|
|
12782
|
+
fontFamily: "inherit",
|
|
12783
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
12784
|
+
opacity: disabled ? 0.5 : 1,
|
|
12785
|
+
transition: "opacity 0.15s ease"
|
|
12786
|
+
});
|
|
12787
|
+
var navButtonStyle = (bg, color) => ({
|
|
12788
|
+
position: "absolute",
|
|
12789
|
+
top: 16,
|
|
12790
|
+
zIndex: 1,
|
|
12791
|
+
width: 44,
|
|
12792
|
+
height: 44,
|
|
12793
|
+
border: "none",
|
|
12794
|
+
borderRadius: 40,
|
|
12795
|
+
background: bg,
|
|
12796
|
+
color,
|
|
12797
|
+
display: "flex",
|
|
12798
|
+
alignItems: "center",
|
|
12799
|
+
justifyContent: "center",
|
|
12800
|
+
cursor: "pointer",
|
|
12801
|
+
padding: 0
|
|
12802
|
+
});
|
|
12803
|
+
var errorBannerStyle6 = (tokens) => ({
|
|
12804
|
+
width: "100%",
|
|
12805
|
+
borderRadius: 16,
|
|
12806
|
+
padding: "11px 14px",
|
|
12807
|
+
background: tokens.errorBg,
|
|
12808
|
+
border: `1px solid ${tokens.error}66`,
|
|
12809
|
+
color: tokens.error,
|
|
12810
|
+
fontSize: "0.84rem",
|
|
12811
|
+
lineHeight: 1.5,
|
|
12812
|
+
textAlign: "left",
|
|
12813
|
+
boxSizing: "border-box"
|
|
12814
|
+
});
|
|
12197
12815
|
var SHIMMER_ROWS = 3;
|
|
12198
12816
|
function LinkTokensScreen({
|
|
12199
12817
|
entries: entries2,
|
|
@@ -12216,7 +12834,7 @@ function LinkTokensScreen({
|
|
|
12216
12834
|
ScreenLayout,
|
|
12217
12835
|
{
|
|
12218
12836
|
scrollableBody: false,
|
|
12219
|
-
footer: /* @__PURE__ */ jsxs("div", { style:
|
|
12837
|
+
footer: /* @__PURE__ */ jsxs("div", { style: footerStackStyle3, children: [
|
|
12220
12838
|
/* @__PURE__ */ jsxs("div", { style: lockBannerStyle, children: [
|
|
12221
12839
|
/* @__PURE__ */ jsx("span", { style: lockIconWrapStyle(t.text), children: /* @__PURE__ */ jsx(LockIcon2, {}) }),
|
|
12222
12840
|
/* @__PURE__ */ jsx("p", { style: lockBannerTextStyle(t.text), children: "Your passkey is required each time you deposit. Funds cannot move without your approval." })
|
|
@@ -12250,11 +12868,11 @@ function LinkTokensScreen({
|
|
|
12250
12868
|
{
|
|
12251
12869
|
onBack,
|
|
12252
12870
|
onLogout,
|
|
12253
|
-
center: /* @__PURE__ */ jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style:
|
|
12871
|
+
center: /* @__PURE__ */ jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style: wordmarkImgStyle3 })
|
|
12254
12872
|
}
|
|
12255
12873
|
),
|
|
12256
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
12257
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
12874
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle10, children: [
|
|
12875
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle6(t.text), children: "Pick your asset for passkey deposits" }),
|
|
12258
12876
|
/* @__PURE__ */ jsxs("div", { className: "blink-link-tokens-list", style: listCardStyle(t.bgRecessed), children: [
|
|
12259
12877
|
showShimmer ? Array.from({ length: SHIMMER_ROWS }).map((_, i) => /* @__PURE__ */ jsxs(
|
|
12260
12878
|
"div",
|
|
@@ -12306,7 +12924,7 @@ function LockIcon2() {
|
|
|
12306
12924
|
}
|
|
12307
12925
|
) });
|
|
12308
12926
|
}
|
|
12309
|
-
var
|
|
12927
|
+
var contentStyle10 = {
|
|
12310
12928
|
display: "flex",
|
|
12311
12929
|
flexDirection: "column",
|
|
12312
12930
|
alignItems: "center",
|
|
@@ -12316,14 +12934,14 @@ var contentStyle9 = {
|
|
|
12316
12934
|
minHeight: 0,
|
|
12317
12935
|
width: "100%"
|
|
12318
12936
|
};
|
|
12319
|
-
var
|
|
12937
|
+
var wordmarkImgStyle3 = {
|
|
12320
12938
|
height: 22,
|
|
12321
12939
|
width: "auto",
|
|
12322
12940
|
display: "block",
|
|
12323
12941
|
pointerEvents: "none",
|
|
12324
12942
|
userSelect: "none"
|
|
12325
12943
|
};
|
|
12326
|
-
var
|
|
12944
|
+
var headingStyle6 = (color) => ({
|
|
12327
12945
|
fontSize: 24,
|
|
12328
12946
|
fontWeight: 700,
|
|
12329
12947
|
lineHeight: "normal",
|
|
@@ -12391,7 +13009,7 @@ var bannerSlotStyle = {
|
|
|
12391
13009
|
justifyContent: "center",
|
|
12392
13010
|
width: "100%"
|
|
12393
13011
|
};
|
|
12394
|
-
var
|
|
13012
|
+
var footerStackStyle3 = {
|
|
12395
13013
|
display: "flex",
|
|
12396
13014
|
flexDirection: "column",
|
|
12397
13015
|
gap: 16,
|
|
@@ -12427,7 +13045,7 @@ function DepositCompleteScreen({ amount }) {
|
|
|
12427
13045
|
const { tokens } = useBlinkConfig();
|
|
12428
13046
|
return /* @__PURE__ */ jsxs(ScreenLayout, { children: [
|
|
12429
13047
|
/* @__PURE__ */ jsx(ScreenHeader, {}),
|
|
12430
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
13048
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle11, children: [
|
|
12431
13049
|
/* @__PURE__ */ jsx(
|
|
12432
13050
|
"img",
|
|
12433
13051
|
{
|
|
@@ -12437,12 +13055,12 @@ function DepositCompleteScreen({ amount }) {
|
|
|
12437
13055
|
style: illustrationStyle4
|
|
12438
13056
|
}
|
|
12439
13057
|
),
|
|
12440
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
12441
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
13058
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle7(tokens.text), children: `$${amount.toFixed(2)} Deposited` }),
|
|
13059
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle5(tokens.textSecondary), children: "You\u2019re all set for one-tap deposits now. Next time, just use your passkey." })
|
|
12442
13060
|
] })
|
|
12443
13061
|
] });
|
|
12444
13062
|
}
|
|
12445
|
-
var
|
|
13063
|
+
var contentStyle11 = {
|
|
12446
13064
|
flex: 1,
|
|
12447
13065
|
display: "flex",
|
|
12448
13066
|
flexDirection: "column",
|
|
@@ -12458,7 +13076,7 @@ var illustrationStyle4 = {
|
|
|
12458
13076
|
objectFit: "contain",
|
|
12459
13077
|
display: "block"
|
|
12460
13078
|
};
|
|
12461
|
-
var
|
|
13079
|
+
var headingStyle7 = (color) => ({
|
|
12462
13080
|
fontSize: "2rem",
|
|
12463
13081
|
fontWeight: 700,
|
|
12464
13082
|
lineHeight: 1.05,
|
|
@@ -12466,7 +13084,7 @@ var headingStyle8 = (color) => ({
|
|
|
12466
13084
|
color,
|
|
12467
13085
|
margin: 0
|
|
12468
13086
|
});
|
|
12469
|
-
var
|
|
13087
|
+
var subtitleStyle5 = (color) => ({
|
|
12470
13088
|
fontSize: "1rem",
|
|
12471
13089
|
color,
|
|
12472
13090
|
margin: 0,
|
|
@@ -12599,7 +13217,7 @@ function SelectDepositSourceScreen({
|
|
|
12599
13217
|
footer,
|
|
12600
13218
|
children: [
|
|
12601
13219
|
/* @__PURE__ */ jsx(ScreenHeader, { title: "Select source", onBack: onBack ?? onDone, onLogout }),
|
|
12602
|
-
/* @__PURE__ */ jsxs("div", { "data-testid": "select-deposit-source-scroll-content", style:
|
|
13220
|
+
/* @__PURE__ */ jsxs("div", { "data-testid": "select-deposit-source-scroll-content", style: contentStyle12, children: [
|
|
12603
13221
|
orderedAccounts.map((account) => {
|
|
12604
13222
|
const authRows = authorized.filter((opt) => rowAccountId(opt) === account.id);
|
|
12605
13223
|
const reqRows = requiresAuth.filter((opt) => rowAccountId(opt) === account.id);
|
|
@@ -12642,7 +13260,7 @@ function SelectDepositSourceScreen({
|
|
|
12642
13260
|
label: "Send manually",
|
|
12643
13261
|
color: tokens.text,
|
|
12644
13262
|
onClick: onSendManually,
|
|
12645
|
-
icon: /* @__PURE__ */ jsx(
|
|
13263
|
+
icon: /* @__PURE__ */ jsx(QrIcon3, { color: tokens.text })
|
|
12646
13264
|
}
|
|
12647
13265
|
),
|
|
12648
13266
|
onAddProvider && /* @__PURE__ */ jsx(
|
|
@@ -12660,7 +13278,7 @@ function SelectDepositSourceScreen({
|
|
|
12660
13278
|
}
|
|
12661
13279
|
);
|
|
12662
13280
|
}
|
|
12663
|
-
var
|
|
13281
|
+
var contentStyle12 = {
|
|
12664
13282
|
display: "flex",
|
|
12665
13283
|
flexDirection: "column",
|
|
12666
13284
|
gap: 8,
|
|
@@ -12752,7 +13370,7 @@ function ActionRow({
|
|
|
12752
13370
|
}
|
|
12753
13371
|
);
|
|
12754
13372
|
}
|
|
12755
|
-
function
|
|
13373
|
+
function QrIcon3({ color }) {
|
|
12756
13374
|
return /* @__PURE__ */ jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
|
|
12757
13375
|
/* @__PURE__ */ jsx("rect", { x: "3.5", y: "3.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
|
|
12758
13376
|
/* @__PURE__ */ jsx("rect", { x: "6", y: "6", width: "2", height: "2", fill: color }),
|
|
@@ -13450,7 +14068,7 @@ function SuccessScreen({
|
|
|
13450
14068
|
type: "button",
|
|
13451
14069
|
onClick: onDone,
|
|
13452
14070
|
"aria-label": "Close",
|
|
13453
|
-
style:
|
|
14071
|
+
style: closeButtonStyle5(tokens),
|
|
13454
14072
|
children: /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
13455
14073
|
"path",
|
|
13456
14074
|
{
|
|
@@ -13485,7 +14103,7 @@ function SuccessScreen({
|
|
|
13485
14103
|
style: illustrationStyle5
|
|
13486
14104
|
}
|
|
13487
14105
|
),
|
|
13488
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
14106
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle8(tokens.text), children: "You\u2019re all set" })
|
|
13489
14107
|
] }) : /* @__PURE__ */ jsxs("div", { style: screenContentStyle, children: [
|
|
13490
14108
|
/* @__PURE__ */ jsx(IconCircle, { variant: "error", size: 64, children: /* @__PURE__ */ jsx("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z", fill: tokens.error }) }) }),
|
|
13491
14109
|
/* @__PURE__ */ jsx("h2", { style: failureHeadingStyle(tokens.text), children: "Transfer failed" }),
|
|
@@ -13494,7 +14112,7 @@ function SuccessScreen({
|
|
|
13494
14112
|
/* @__PURE__ */ jsx("span", { style: summaryLabelStyle(tokens.textMuted), children: "From" }),
|
|
13495
14113
|
/* @__PURE__ */ jsx("span", { style: summaryValueStyle(tokens.text), children: sourceName })
|
|
13496
14114
|
] }) }),
|
|
13497
|
-
!sourceName && merchantName && /* @__PURE__ */ jsxs("p", { style:
|
|
14115
|
+
!sourceName && merchantName && /* @__PURE__ */ jsxs("p", { style: subtitleStyle6(tokens.textSecondary), children: [
|
|
13498
14116
|
"to ",
|
|
13499
14117
|
merchantName,
|
|
13500
14118
|
" \u2014 $",
|
|
@@ -13520,7 +14138,7 @@ var illustrationStyle5 = {
|
|
|
13520
14138
|
objectFit: "contain",
|
|
13521
14139
|
display: "block"
|
|
13522
14140
|
};
|
|
13523
|
-
var
|
|
14141
|
+
var headingStyle8 = (color) => ({
|
|
13524
14142
|
fontSize: "2rem",
|
|
13525
14143
|
fontWeight: 700,
|
|
13526
14144
|
lineHeight: 1.05,
|
|
@@ -13535,7 +14153,7 @@ var screenContentStyle = {
|
|
|
13535
14153
|
alignItems: "center",
|
|
13536
14154
|
paddingTop: 16
|
|
13537
14155
|
};
|
|
13538
|
-
var
|
|
14156
|
+
var subtitleStyle6 = (color) => ({
|
|
13539
14157
|
fontSize: "0.9rem",
|
|
13540
14158
|
color,
|
|
13541
14159
|
margin: "0 0 28px",
|
|
@@ -13585,7 +14203,7 @@ var returnMessageStyle = (color) => ({
|
|
|
13585
14203
|
margin: "0 0 4px",
|
|
13586
14204
|
lineHeight: 1.5
|
|
13587
14205
|
});
|
|
13588
|
-
var
|
|
14206
|
+
var closeButtonStyle5 = (tokens) => ({
|
|
13589
14207
|
width: 40,
|
|
13590
14208
|
height: 40,
|
|
13591
14209
|
borderRadius: "50%",
|
|
@@ -13630,7 +14248,7 @@ function SelectSourceScreen({
|
|
|
13630
14248
|
onLogout
|
|
13631
14249
|
}
|
|
13632
14250
|
),
|
|
13633
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
14251
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle7(tokens.textMuted), children: "Choose which chain and token to pay from." }),
|
|
13634
14252
|
/* @__PURE__ */ jsx("label", { style: labelStyle5(tokens.textSecondary), children: "Chain" }),
|
|
13635
14253
|
/* @__PURE__ */ jsx("div", { style: optionListStyle, children: choices.map((chain) => {
|
|
13636
14254
|
const isSelected = chain.chainName === selectedChainName;
|
|
@@ -13692,7 +14310,7 @@ function SelectSourceScreen({
|
|
|
13692
14310
|
}
|
|
13693
14311
|
);
|
|
13694
14312
|
}
|
|
13695
|
-
var
|
|
14313
|
+
var subtitleStyle7 = (color) => ({
|
|
13696
14314
|
fontSize: "0.85rem",
|
|
13697
14315
|
color,
|
|
13698
14316
|
margin: "0 0 20px",
|
|
@@ -13834,8 +14452,8 @@ function AdvancedSourceScreen({
|
|
|
13834
14452
|
right: /* @__PURE__ */ jsx("span", { style: advancedBadgeStyle(tokens.accent), children: "Advanced" })
|
|
13835
14453
|
}
|
|
13836
14454
|
),
|
|
13837
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
13838
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
14455
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle9(tokens.text), children: "Set up One-Tap deposits" }),
|
|
14456
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle8(tokens.textSecondary), children: "Select a token source for your One-Tap deposits." }),
|
|
13839
14457
|
/* @__PURE__ */ jsx("label", { style: labelStyle6(tokens.textSecondary), children: "Select tokens to approve" }),
|
|
13840
14458
|
/* @__PURE__ */ jsx("div", { style: chainListStyle, children: choices.map((chain) => {
|
|
13841
14459
|
const isExpanded = expandedChain === chain.chainName;
|
|
@@ -13898,14 +14516,14 @@ var advancedBadgeStyle = (color) => ({
|
|
|
13898
14516
|
padding: "3px 10px",
|
|
13899
14517
|
letterSpacing: "0.02em"
|
|
13900
14518
|
});
|
|
13901
|
-
var
|
|
14519
|
+
var headingStyle9 = (color) => ({
|
|
13902
14520
|
fontSize: "1.3rem",
|
|
13903
14521
|
fontWeight: 700,
|
|
13904
14522
|
letterSpacing: "-0.02em",
|
|
13905
14523
|
color,
|
|
13906
14524
|
margin: "8px 0 4px"
|
|
13907
14525
|
});
|
|
13908
|
-
var
|
|
14526
|
+
var subtitleStyle8 = (color) => ({
|
|
13909
14527
|
fontSize: "0.86rem",
|
|
13910
14528
|
color,
|
|
13911
14529
|
margin: "0 0 20px",
|
|
@@ -14039,8 +14657,8 @@ function TransferStatusLayout({
|
|
|
14039
14657
|
footer: showRetry && onRetry ? /* @__PURE__ */ jsx(OutlineButton, { onClick: onRetry, children: retryLabel }) : void 0,
|
|
14040
14658
|
children: /* @__PURE__ */ jsxs("div", { style: wrapperStyle, children: [
|
|
14041
14659
|
onLogout && /* @__PURE__ */ jsx("div", { style: menuOverlayStyle, children: /* @__PURE__ */ jsx(SettingsMenu, { onLogout }) }),
|
|
14042
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
14043
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
14660
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle13, children: [
|
|
14661
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle10(tokens.text), children: heading }),
|
|
14044
14662
|
visibleError && /* @__PURE__ */ jsx("div", { style: errorBannerStyle7(tokens), children: visibleError }),
|
|
14045
14663
|
children
|
|
14046
14664
|
] })
|
|
@@ -14117,7 +14735,7 @@ var menuOverlayStyle = {
|
|
|
14117
14735
|
right: 0,
|
|
14118
14736
|
zIndex: 1
|
|
14119
14737
|
};
|
|
14120
|
-
var
|
|
14738
|
+
var contentStyle13 = {
|
|
14121
14739
|
flex: 1,
|
|
14122
14740
|
display: "flex",
|
|
14123
14741
|
flexDirection: "column",
|
|
@@ -14127,7 +14745,7 @@ var contentStyle12 = {
|
|
|
14127
14745
|
padding: "32px 0",
|
|
14128
14746
|
width: "100%"
|
|
14129
14747
|
};
|
|
14130
|
-
var
|
|
14748
|
+
var headingStyle10 = (color) => ({
|
|
14131
14749
|
fontSize: "1.5rem",
|
|
14132
14750
|
fontWeight: 700,
|
|
14133
14751
|
lineHeight: "normal",
|
|
@@ -14234,7 +14852,7 @@ function DepositAddressScreen({
|
|
|
14234
14852
|
) : void 0
|
|
14235
14853
|
}
|
|
14236
14854
|
),
|
|
14237
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
14855
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle14, children: [
|
|
14238
14856
|
/* @__PURE__ */ jsx("h2", { style: depositTitleStyle(tokens.text), children: "Deposit Address" }),
|
|
14239
14857
|
qrReady && session && selectedOption ? /* @__PURE__ */ jsx(
|
|
14240
14858
|
DepositQrCode,
|
|
@@ -14329,7 +14947,7 @@ var FeeRow = memo(function FeeRow2({
|
|
|
14329
14947
|
}) {
|
|
14330
14948
|
return /* @__PURE__ */ jsx("p", { style: bodyStyle3(color), children: feeCopy2 });
|
|
14331
14949
|
});
|
|
14332
|
-
var
|
|
14950
|
+
var contentStyle14 = {
|
|
14333
14951
|
alignItems: "center",
|
|
14334
14952
|
display: "flex",
|
|
14335
14953
|
flex: 1,
|
|
@@ -14561,7 +15179,7 @@ function OpenWalletScreen({
|
|
|
14561
15179
|
return /* @__PURE__ */ jsxs(
|
|
14562
15180
|
ScreenLayout,
|
|
14563
15181
|
{
|
|
14564
|
-
footer: error ? /* @__PURE__ */ jsxs("div", { style:
|
|
15182
|
+
footer: error ? /* @__PURE__ */ jsxs("div", { style: footerStackStyle4, children: [
|
|
14565
15183
|
/* @__PURE__ */ jsx(InfoBanner, { children: error }),
|
|
14566
15184
|
onRetryAuthorization && /* @__PURE__ */ jsx(OutlineButton, { onClick: onRetryAuthorization, children: "Retry" })
|
|
14567
15185
|
] }) : void 0,
|
|
@@ -14579,7 +15197,7 @@ function OpenWalletScreen({
|
|
|
14579
15197
|
/* @__PURE__ */ jsxs("div", { style: desktopContentStyle, children: [
|
|
14580
15198
|
/* @__PURE__ */ jsxs("div", { style: primaryClusterStyle, children: [
|
|
14581
15199
|
logoBlock,
|
|
14582
|
-
/* @__PURE__ */ jsxs("h2", { style:
|
|
15200
|
+
/* @__PURE__ */ jsxs("h2", { style: headingStyle11(tokens.text), children: [
|
|
14583
15201
|
"Setting up ",
|
|
14584
15202
|
displayName,
|
|
14585
15203
|
"\u2026"
|
|
@@ -14611,7 +15229,7 @@ function OpenWalletScreen({
|
|
|
14611
15229
|
return /* @__PURE__ */ jsxs(
|
|
14612
15230
|
ScreenLayout,
|
|
14613
15231
|
{
|
|
14614
|
-
footer: /* @__PURE__ */ jsxs("div", { style:
|
|
15232
|
+
footer: /* @__PURE__ */ jsxs("div", { style: footerStackStyle4, children: [
|
|
14615
15233
|
error && /* @__PURE__ */ jsx(InfoBanner, { children: error }),
|
|
14616
15234
|
/* @__PURE__ */ jsxs(
|
|
14617
15235
|
SecondaryButton,
|
|
@@ -14642,7 +15260,7 @@ function OpenWalletScreen({
|
|
|
14642
15260
|
{
|
|
14643
15261
|
type: "button",
|
|
14644
15262
|
onClick: onLogout,
|
|
14645
|
-
style:
|
|
15263
|
+
style: closeButtonStyle6(tokens.bgRecessed, tokens.text),
|
|
14646
15264
|
"aria-label": "Close",
|
|
14647
15265
|
children: /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
14648
15266
|
"path",
|
|
@@ -14684,7 +15302,7 @@ function useDelayedStatusRetry(enabled, deeplinkUri) {
|
|
|
14684
15302
|
}, [deeplinkUri, enabled]);
|
|
14685
15303
|
return visible;
|
|
14686
15304
|
}
|
|
14687
|
-
var
|
|
15305
|
+
var contentStyle15 = {
|
|
14688
15306
|
flex: 1,
|
|
14689
15307
|
display: "flex",
|
|
14690
15308
|
flexDirection: "column",
|
|
@@ -14694,7 +15312,7 @@ var contentStyle14 = {
|
|
|
14694
15312
|
gap: 12
|
|
14695
15313
|
};
|
|
14696
15314
|
var desktopContentStyle = {
|
|
14697
|
-
...
|
|
15315
|
+
...contentStyle15,
|
|
14698
15316
|
gap: 32
|
|
14699
15317
|
};
|
|
14700
15318
|
var primaryClusterStyle = {
|
|
@@ -14704,7 +15322,7 @@ var primaryClusterStyle = {
|
|
|
14704
15322
|
textAlign: "center",
|
|
14705
15323
|
gap: 12
|
|
14706
15324
|
};
|
|
14707
|
-
var
|
|
15325
|
+
var footerStackStyle4 = {
|
|
14708
15326
|
display: "flex",
|
|
14709
15327
|
flexDirection: "column",
|
|
14710
15328
|
gap: 8
|
|
@@ -14753,7 +15371,7 @@ var reownLogoStyle = {
|
|
|
14753
15371
|
borderRadius: "50%",
|
|
14754
15372
|
objectFit: "cover"
|
|
14755
15373
|
};
|
|
14756
|
-
var
|
|
15374
|
+
var headingStyle11 = (color) => ({
|
|
14757
15375
|
fontSize: "1.5rem",
|
|
14758
15376
|
fontWeight: 700,
|
|
14759
15377
|
lineHeight: 1.1,
|
|
@@ -14869,7 +15487,7 @@ var mobileBodyStyle = (color) => ({
|
|
|
14869
15487
|
margin: 0,
|
|
14870
15488
|
maxWidth: 350
|
|
14871
15489
|
});
|
|
14872
|
-
var
|
|
15490
|
+
var closeButtonStyle6 = (bg, color) => ({
|
|
14873
15491
|
width: 44,
|
|
14874
15492
|
height: 44,
|
|
14875
15493
|
borderRadius: "50%",
|
|
@@ -14905,7 +15523,7 @@ function ApprovingInWalletScreen({
|
|
|
14905
15523
|
ScreenLayout,
|
|
14906
15524
|
{
|
|
14907
15525
|
scrollableBody: false,
|
|
14908
|
-
footer: /* @__PURE__ */ jsxs("div", { style:
|
|
15526
|
+
footer: /* @__PURE__ */ jsxs("div", { style: footerStackStyle5, children: [
|
|
14909
15527
|
/* @__PURE__ */ jsxs("div", { style: lockBannerStyle2, children: [
|
|
14910
15528
|
/* @__PURE__ */ jsx("span", { style: lockIconWrapStyle2(t.text), children: /* @__PURE__ */ jsx(LockIcon3, {}) }),
|
|
14911
15529
|
/* @__PURE__ */ jsx("p", { style: lockBannerTextStyle2(t.text), children: "Your passkey is required each time you deposit. Funds cannot move without your approval." })
|
|
@@ -14921,11 +15539,11 @@ function ApprovingInWalletScreen({
|
|
|
14921
15539
|
{
|
|
14922
15540
|
onBack,
|
|
14923
15541
|
onLogout,
|
|
14924
|
-
center: /* @__PURE__ */ jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style:
|
|
15542
|
+
center: /* @__PURE__ */ jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style: wordmarkImgStyle4 })
|
|
14925
15543
|
}
|
|
14926
15544
|
),
|
|
14927
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
14928
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
15545
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle16, children: [
|
|
15546
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle12(t.text), children: `Authorizing ${token} for passkey deposits` }),
|
|
14929
15547
|
/* @__PURE__ */ jsxs("div", { style: cardStyle2(t.bgRecessed, t.radiusLg), children: [
|
|
14930
15548
|
/* @__PURE__ */ jsx("style", { children: SPIN_KEYFRAMES_CSS2 }),
|
|
14931
15549
|
steps.map((s, i) => /* @__PURE__ */ jsx(ChecklistRow, { step: s }, i))
|
|
@@ -15019,14 +15637,14 @@ function LockIcon3() {
|
|
|
15019
15637
|
}
|
|
15020
15638
|
) });
|
|
15021
15639
|
}
|
|
15022
|
-
var
|
|
15640
|
+
var wordmarkImgStyle4 = {
|
|
15023
15641
|
height: 22,
|
|
15024
15642
|
width: "auto",
|
|
15025
15643
|
display: "block",
|
|
15026
15644
|
pointerEvents: "none",
|
|
15027
15645
|
userSelect: "none"
|
|
15028
15646
|
};
|
|
15029
|
-
var
|
|
15647
|
+
var contentStyle16 = {
|
|
15030
15648
|
display: "flex",
|
|
15031
15649
|
flexDirection: "column",
|
|
15032
15650
|
alignItems: "center",
|
|
@@ -15036,7 +15654,7 @@ var contentStyle15 = {
|
|
|
15036
15654
|
minHeight: 0,
|
|
15037
15655
|
width: "100%"
|
|
15038
15656
|
};
|
|
15039
|
-
var
|
|
15657
|
+
var headingStyle12 = (color) => ({
|
|
15040
15658
|
fontSize: 24,
|
|
15041
15659
|
fontWeight: 700,
|
|
15042
15660
|
lineHeight: "normal",
|
|
@@ -15087,7 +15705,7 @@ var labelStyle7 = (color) => ({
|
|
|
15087
15705
|
lineHeight: 1.25,
|
|
15088
15706
|
color
|
|
15089
15707
|
});
|
|
15090
|
-
var
|
|
15708
|
+
var footerStackStyle5 = {
|
|
15091
15709
|
display: "flex",
|
|
15092
15710
|
flexDirection: "column",
|
|
15093
15711
|
gap: 16,
|
|
@@ -15151,10 +15769,10 @@ function ConfirmSignScreen({
|
|
|
15151
15769
|
] }),
|
|
15152
15770
|
children: [
|
|
15153
15771
|
/* @__PURE__ */ jsx(ScreenHeader, { onLogout }),
|
|
15154
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
15772
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle17, children: [
|
|
15155
15773
|
logoSrc ? /* @__PURE__ */ jsx("img", { src: logoSrc, alt: displayName, style: logoStyle3 }) : /* @__PURE__ */ jsx(Spinner, { size: 48 }),
|
|
15156
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
15157
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
15774
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle13(tokens.text), children: heading }),
|
|
15775
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle9(tokens.textSecondary), children: subtitle }),
|
|
15158
15776
|
/* @__PURE__ */ jsxs("div", { style: successBadgeStyle(tokens), children: [
|
|
15159
15777
|
/* @__PURE__ */ jsx("span", { style: checkmarkStyle, children: "\u2713" }),
|
|
15160
15778
|
/* @__PURE__ */ jsx("span", { children: badge })
|
|
@@ -15164,7 +15782,7 @@ function ConfirmSignScreen({
|
|
|
15164
15782
|
}
|
|
15165
15783
|
);
|
|
15166
15784
|
}
|
|
15167
|
-
var
|
|
15785
|
+
var contentStyle17 = {
|
|
15168
15786
|
flex: 1,
|
|
15169
15787
|
display: "flex",
|
|
15170
15788
|
flexDirection: "column",
|
|
@@ -15179,14 +15797,14 @@ var logoStyle3 = {
|
|
|
15179
15797
|
borderRadius: 14,
|
|
15180
15798
|
objectFit: "contain"
|
|
15181
15799
|
};
|
|
15182
|
-
var
|
|
15800
|
+
var headingStyle13 = (color) => ({
|
|
15183
15801
|
fontSize: "1.45rem",
|
|
15184
15802
|
fontWeight: 700,
|
|
15185
15803
|
letterSpacing: "-0.02em",
|
|
15186
15804
|
color,
|
|
15187
15805
|
margin: "20px 0 8px"
|
|
15188
15806
|
});
|
|
15189
|
-
var
|
|
15807
|
+
var subtitleStyle9 = (color) => ({
|
|
15190
15808
|
fontSize: "0.9rem",
|
|
15191
15809
|
color,
|
|
15192
15810
|
margin: "0 0 24px",
|
|
@@ -15543,10 +16161,10 @@ function GuestTokenPickerScreen({
|
|
|
15543
16161
|
] }),
|
|
15544
16162
|
children: [
|
|
15545
16163
|
/* @__PURE__ */ jsx(ScreenHeader, { onBack }),
|
|
15546
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
15547
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
16164
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle18, children: [
|
|
16165
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle14(tokens.text), children: title }),
|
|
15548
16166
|
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle8(tokens), children: error }),
|
|
15549
|
-
entries2.length === 0 ? /* @__PURE__ */ jsx("p", { style:
|
|
16167
|
+
entries2.length === 0 ? /* @__PURE__ */ jsx("p", { style: subtitleStyle10(tokens.textMuted), children: emptyMessage ?? "No tokens available." }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
15550
16168
|
/* @__PURE__ */ jsx("label", { style: labelStyle8(tokens.textSecondary), children: "Token" }),
|
|
15551
16169
|
/* @__PURE__ */ jsx(
|
|
15552
16170
|
"button",
|
|
@@ -15620,21 +16238,21 @@ function TokenRow({
|
|
|
15620
16238
|
] })
|
|
15621
16239
|
] });
|
|
15622
16240
|
}
|
|
15623
|
-
var
|
|
16241
|
+
var contentStyle18 = {
|
|
15624
16242
|
flex: 1,
|
|
15625
16243
|
display: "flex",
|
|
15626
16244
|
flexDirection: "column",
|
|
15627
16245
|
padding: "0 20px 16px",
|
|
15628
16246
|
gap: 12
|
|
15629
16247
|
};
|
|
15630
|
-
var
|
|
16248
|
+
var headingStyle14 = (color) => ({
|
|
15631
16249
|
fontSize: "1.25rem",
|
|
15632
16250
|
fontWeight: 700,
|
|
15633
16251
|
color,
|
|
15634
16252
|
margin: "0 0 8px",
|
|
15635
16253
|
textAlign: "center"
|
|
15636
16254
|
});
|
|
15637
|
-
var
|
|
16255
|
+
var subtitleStyle10 = (color) => ({
|
|
15638
16256
|
fontSize: "0.9rem",
|
|
15639
16257
|
color,
|
|
15640
16258
|
textAlign: "center"
|
|
@@ -15728,6 +16346,7 @@ var errorBannerStyle8 = (themeTokens) => ({
|
|
|
15728
16346
|
});
|
|
15729
16347
|
function ManualTransferFlow({
|
|
15730
16348
|
hasMerchantAuthorization,
|
|
16349
|
+
authenticated = false,
|
|
15731
16350
|
onCreatePasskey,
|
|
15732
16351
|
createPasskeyLoading = false,
|
|
15733
16352
|
createPasskeyError = null,
|
|
@@ -15771,8 +16390,8 @@ function ManualTransferFlow({
|
|
|
15771
16390
|
if (!hasMerchantAuthorization) {
|
|
15772
16391
|
screenContent = /* @__PURE__ */ jsxs(ScreenLayout, { footer: /* @__PURE__ */ jsx(PrimaryButton, { onClick: onBack, children: "Back" }), children: [
|
|
15773
16392
|
/* @__PURE__ */ jsx(ScreenHeader, { onBack }),
|
|
15774
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
15775
|
-
/* @__PURE__ */ jsx("h2", { style:
|
|
16393
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle19, children: [
|
|
16394
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle15(tokens.text), children: "Manual transfer unavailable" }),
|
|
15776
16395
|
/* @__PURE__ */ jsx("p", { style: bodyStyle5(tokens.textMuted), children: "merchantAuthorization is required." })
|
|
15777
16396
|
] })
|
|
15778
16397
|
] });
|
|
@@ -15806,7 +16425,19 @@ function ManualTransferFlow({
|
|
|
15806
16425
|
);
|
|
15807
16426
|
} else if (screen === "deposit-complete") {
|
|
15808
16427
|
const transferAmount = Number(session?.deliveredAmountUsd ?? session?.minAmountUsd ?? 0);
|
|
15809
|
-
|
|
16428
|
+
const showPasskeyUpsell = !authenticated && !passkeyCreated;
|
|
16429
|
+
screenContent = showPasskeyUpsell ? /* @__PURE__ */ jsx(
|
|
16430
|
+
ManualTransferPasskeyScreen,
|
|
16431
|
+
{
|
|
16432
|
+
onCreatePasskey: onCreatePasskey ?? (() => void 0),
|
|
16433
|
+
onNoThanks: onDismiss ?? onLogout ?? (() => void 0),
|
|
16434
|
+
amountUsd: transferAmount,
|
|
16435
|
+
loading: createPasskeyLoading,
|
|
16436
|
+
error: createPasskeyError,
|
|
16437
|
+
onBack,
|
|
16438
|
+
onClose: onDismiss ?? onLogout
|
|
16439
|
+
}
|
|
16440
|
+
) : /* @__PURE__ */ jsx(
|
|
15810
16441
|
SuccessScreen,
|
|
15811
16442
|
{
|
|
15812
16443
|
amount: transferAmount,
|
|
@@ -15815,7 +16446,7 @@ function ManualTransferFlow({
|
|
|
15815
16446
|
onDone: onDismiss,
|
|
15816
16447
|
onLogout
|
|
15817
16448
|
}
|
|
15818
|
-
)
|
|
16449
|
+
);
|
|
15819
16450
|
} else if (screen === "deposit-failed") {
|
|
15820
16451
|
screenContent = /* @__PURE__ */ jsx(
|
|
15821
16452
|
BlinkErrorScreen,
|
|
@@ -15840,7 +16471,7 @@ function ManualTransferFlow({
|
|
|
15840
16471
|
}
|
|
15841
16472
|
return screenContent;
|
|
15842
16473
|
}
|
|
15843
|
-
var
|
|
16474
|
+
var contentStyle19 = {
|
|
15844
16475
|
alignItems: "center",
|
|
15845
16476
|
display: "flex",
|
|
15846
16477
|
flex: 1,
|
|
@@ -15851,7 +16482,7 @@ var contentStyle18 = {
|
|
|
15851
16482
|
paddingBottom: 24,
|
|
15852
16483
|
width: "100%"
|
|
15853
16484
|
};
|
|
15854
|
-
var
|
|
16485
|
+
var headingStyle15 = (color) => ({
|
|
15855
16486
|
color,
|
|
15856
16487
|
fontSize: "2rem",
|
|
15857
16488
|
lineHeight: 1.05,
|
|
@@ -15876,7 +16507,7 @@ function GenericLoadingShimmer() {
|
|
|
15876
16507
|
role: "status",
|
|
15877
16508
|
"aria-label": "Loading payment flow",
|
|
15878
16509
|
"aria-busy": "true",
|
|
15879
|
-
style:
|
|
16510
|
+
style: sheetStyle3(tokens),
|
|
15880
16511
|
children: [
|
|
15881
16512
|
/* @__PURE__ */ jsx("style", { children: `
|
|
15882
16513
|
@keyframes blink-loading-shimmer {
|
|
@@ -15922,7 +16553,7 @@ function ShimmerBlock2({
|
|
|
15922
16553
|
}
|
|
15923
16554
|
);
|
|
15924
16555
|
}
|
|
15925
|
-
var
|
|
16556
|
+
var sheetStyle3 = (tokens) => ({
|
|
15926
16557
|
display: "flex",
|
|
15927
16558
|
flexDirection: "column",
|
|
15928
16559
|
height: "100%",
|
|
@@ -15983,6 +16614,19 @@ function buildDepositOptionsScreenProps({ flow, handlers }) {
|
|
|
15983
16614
|
onClose: flow.isMobileApp ? void 0 : flow.onBack
|
|
15984
16615
|
};
|
|
15985
16616
|
}
|
|
16617
|
+
function buildWelcomeBackScreenProps({ flow, handlers }) {
|
|
16618
|
+
return {
|
|
16619
|
+
// "Complete setup & Deposit" advances the returning user to the wallet
|
|
16620
|
+
// picker (ACKNOWLEDGE_WELCOME_BACK releases the welcome-back derivation).
|
|
16621
|
+
onComplete: handlers.onAcknowledgeWelcomeBack,
|
|
16622
|
+
// "Send Crypto Manually" enters the manual-transfer flow, same target as
|
|
16623
|
+
// the logged-in source sheet's "Send manually" row.
|
|
16624
|
+
onToAddress: () => handlers.onSetPhase({ step: "manual-transfer" }),
|
|
16625
|
+
// Inside a native mobile in-app browser the host chrome handles dismissal,
|
|
16626
|
+
// so suppress the in-screen (X) close button.
|
|
16627
|
+
onClose: flow.isMobileApp ? void 0 : flow.onBack
|
|
16628
|
+
};
|
|
16629
|
+
}
|
|
15986
16630
|
function buildWalletPickerScreenProps({
|
|
15987
16631
|
flow,
|
|
15988
16632
|
handlers
|
|
@@ -16403,6 +17047,7 @@ function StepRendererContent({
|
|
|
16403
17047
|
ManualTransferFlow,
|
|
16404
17048
|
{
|
|
16405
17049
|
hasMerchantAuthorization: flow.merchantAuthorization != null,
|
|
17050
|
+
authenticated: flow.authenticated,
|
|
16406
17051
|
onCreatePasskey: handlers.onSignupWithPasskey,
|
|
16407
17052
|
createPasskeyLoading: flow.passkeyLoading,
|
|
16408
17053
|
createPasskeyError: flow.state.error,
|
|
@@ -16417,6 +17062,8 @@ function StepRendererContent({
|
|
|
16417
17062
|
return /* @__PURE__ */ jsx(LoginScreen, { ...buildLoginScreenProps(input) });
|
|
16418
17063
|
case "deposit-options":
|
|
16419
17064
|
return /* @__PURE__ */ jsx(DepositOptionsScreen, { ...buildDepositOptionsScreenProps(input) });
|
|
17065
|
+
case "welcome-back":
|
|
17066
|
+
return /* @__PURE__ */ jsx(WelcomeBackScreen, { ...buildWelcomeBackScreenProps(input) });
|
|
16420
17067
|
case "wallet-picker":
|
|
16421
17068
|
return /* @__PURE__ */ jsx(WalletPickerScreen, { ...buildWalletPickerScreenProps(input) });
|
|
16422
17069
|
case "open-wallet":
|
|
@@ -19743,6 +20390,7 @@ function BlinkPaymentInner({
|
|
|
19743
20390
|
onCommitTokenAuthorization: provider.handleCommitTokenAuthorization,
|
|
19744
20391
|
onLogin: () => dispatch({ type: "REQUEST_LOGIN" }),
|
|
19745
20392
|
onCancelLogin: () => dispatch({ type: "CANCEL_LOGIN_REQUEST" }),
|
|
20393
|
+
onAcknowledgeWelcomeBack: () => dispatch({ type: "ACKNOWLEDGE_WELCOME_BACK" }),
|
|
19746
20394
|
onSetDepositToken: handleSetDepositToken,
|
|
19747
20395
|
onConfirmSetupDeposit: handleConfirmSetupDeposit,
|
|
19748
20396
|
onAmountInput: (value) => dispatch({ type: "SET_AMOUNT_INPUT", value }),
|
|
@@ -19835,6 +20483,6 @@ function BlinkPaymentInner({
|
|
|
19835
20483
|
) });
|
|
19836
20484
|
}
|
|
19837
20485
|
|
|
19838
|
-
export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, AdvancedSourceScreen, ApprovingInWalletScreen, AuthorizationSessionCancelledError, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, BlinkProvider, ConfirmSignScreen, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, LinkTokensScreen, LoginScreen, OpenWalletScreen, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, PoweredByFooter, PrimaryButton, ScreenHeader, ScreenLayout, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, Spinner, StepList, StepRenderer, SuccessScreen, TokenPickerScreen, VerifyPasskeyScreen, WalletPickerScreen, appendDebug, api_exports as blinkApi, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useTransferPolling, useTransferSigning };
|
|
20486
|
+
export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, AdvancedSourceScreen, ApprovingInWalletScreen, AuthorizationSessionCancelledError, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, BlinkProvider, ConfirmSignScreen, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, LinkTokensScreen, LoginScreen, ManualTransferPasskeyScreen, OpenWalletScreen, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, PoweredByFooter, PrimaryButton, ScreenHeader, ScreenLayout, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, Spinner, StepList, StepRenderer, SuccessScreen, TokenPickerScreen, VerifyPasskeyScreen, WalletPickerScreen, WelcomeBackScreen, appendDebug, api_exports as blinkApi, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useTransferPolling, useTransferSigning };
|
|
19839
20487
|
//# sourceMappingURL=index.js.map
|
|
19840
20488
|
//# sourceMappingURL=index.js.map
|