@swype-org/react-sdk 0.1.172 → 0.1.180
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 +467 -351
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -2
- package/dist/index.d.ts +12 -2
- package/dist/index.js +465 -352
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -27,9 +27,9 @@ var darkTheme = {
|
|
|
27
27
|
textInverse: "#052027",
|
|
28
28
|
border: "#2b4551",
|
|
29
29
|
borderFocus: "#28b67a",
|
|
30
|
-
accent: "#
|
|
31
|
-
accentHover: "#
|
|
32
|
-
accentText: "#
|
|
30
|
+
accent: "#B2FF93",
|
|
31
|
+
accentHover: "#8FD974",
|
|
32
|
+
accentText: "#1B4332",
|
|
33
33
|
success: "#0f9d73",
|
|
34
34
|
successBg: "#0f2f2a",
|
|
35
35
|
error: "#d46a72",
|
|
@@ -54,9 +54,9 @@ var lightTheme = {
|
|
|
54
54
|
textInverse: "#ffffff",
|
|
55
55
|
border: "#d2e4ea",
|
|
56
56
|
borderFocus: "#28b67a",
|
|
57
|
-
accent: "#
|
|
58
|
-
accentHover: "#
|
|
59
|
-
accentText: "#
|
|
57
|
+
accent: "#B2FF93",
|
|
58
|
+
accentHover: "#8FD974",
|
|
59
|
+
accentText: "#1B4332",
|
|
60
60
|
success: "#0f9d73",
|
|
61
61
|
successBg: "#e6f7f1",
|
|
62
62
|
error: "#ce6670",
|
|
@@ -2214,6 +2214,16 @@ var SWYPE_SVG = `<svg width="100" height="100" viewBox="0 0 100 100" fill="none"
|
|
|
2214
2214
|
</defs>
|
|
2215
2215
|
</svg>`;
|
|
2216
2216
|
var SWYPE_LOGO = svgToDataUri(SWYPE_SVG);
|
|
2217
|
+
var SWYPE_MASCOT_SVG = `<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2218
|
+
<path d="M64.0138 36.6191C68.3952 36.7025 70.2512 42.3038 65.1932 44.0399C61.4251 44.2617 60.8419 41.8557 61.3059 38.6113C62.3258 37.4916 62.6562 37.2326 64.0138 36.6191Z" fill="#1a5c2a"/>
|
|
2219
|
+
<path d="M34.7441 36.6714C36.6646 36.3309 38.4839 37.6898 38.813 39.71C39.1407 41.7302 37.8542 43.6499 35.9352 43.9994C34.7427 44.2169 33.5274 43.7774 32.7154 42.8325C31.8492 41.8262 31.5728 40.4029 31.9959 39.1191C32.419 37.8367 33.4719 36.8979 34.7441 36.6714Z" fill="#1a5c2a"/>
|
|
2220
|
+
<path d="M37.719 72.0299C39.0372 70.605 40.611 68.9843 41.7888 67.4312L50.1528 61.6651L57.6601 61.4468C57.4965 63.5289 61.7342 75.3729 61.6981 77.5158C62.154 77.0628 63.0658 76.3318 63.567 75.9876C65.9954 74.3365 68.8384 73.8223 71.4833 74.5554C72.8167 74.9328 73.9331 75.9251 74.58 77.3075C75.2967 78.8451 75.3771 80.3207 74.9127 82.0281C73.8912 85.7844 71.5792 88.6365 68.624 90.5357C66.125 92.1415 61.7077 93.9276 58.9822 93.0828C58.078 92.7956 56.4567 92.015 55.9204 91.1399C55.1385 89.8648 54.5613 88.8907 54.1469 87.3736C53.3686 84.4709 53.3459 86.0793 52.7439 77.9085C52.8102 75.0919 52.9961 69.1199 52.9088 66.782C52.1044 67.8121 48.6686 72.1053 47.7896 73.7937L43.7186 79.5555C45.2316 79.4947 47.0626 79.5314 48.354 80.4535C49.2813 81.1277 49.9192 82.2144 50.1273 83.4755C50.2332 83.8294 50.3132 84.6855 50.3258 85.0634C50.4307 88.2051 49.4337 91.7462 46.8974 93.4764C45.8189 94.2126 44.2654 94.598 43.01 94.7341C37.9909 95.3115 33.0817 93.5835 29.3502 89.9257C28.3222 88.8994 27.4875 87.705 27.4333 86.0333C27.4046 85.1165 27.6099 84.1963 28.0241 83.3859C28.6301 82.2147 30.2471 80.3005 31.0794 79.3156C33.2057 76.7997 35.4975 74.4306 37.719 72.0299Z" fill="#4ABA5A"/>
|
|
2221
|
+
<path d="M25.2815 30.5666C25.6441 30.6182 25.869 30.0928 25.5864 29.8598C23.1701 27.868 21.5484 25.4469 21.0444 22.6545C20.3641 19.1251 21.516 15.5212 24.2422 12.6488C26.8514 9.91783 30.7518 8.12575 35.0552 7.68041C40.5681 7.11357 44.9544 9.44386 49.0355 11.908C49.1016 11.9479 49.1793 11.964 49.2559 11.9535L49.6641 11.8975C49.7772 11.882 49.8729 11.8099 49.9313 11.7118C50.7042 10.4132 53.3609 9.13558 54.9428 8.55183C63.274 5.47733 72.1015 8.67608 75.6217 15.0543C77.4169 18.3043 77.4637 21.9922 75.7515 25.2845C74.8719 26.99 73.8277 28.1868 72.3742 29.4156C72.1074 29.6412 72.3057 30.099 72.652 30.0534C78.3434 29.3036 83.6958 29.6535 88.1602 33.0995C88.1743 33.1104 88.1896 33.1204 88.2051 33.1289C94.9326 36.8336 95.4063 45.4019 90.8735 50.5016C88.6438 53.0434 85.3883 54.9193 81.641 55.8268C81.4786 55.8662 81.3675 56.017 81.3778 56.1837C81.627 60.2197 80.6407 63.7049 77.0957 66.8558C74.3594 69.31 72.2572 70.905 68.1242 71.1594C66.1317 71.2671 64.5824 71.0823 61.0405 69.4728C57.7759 67.9894 53.6996 61.9918 52.509 57.7058C52.4204 57.3871 51.9326 57.3204 51.7644 57.6052C49.4075 61.5961 43.2088 67.6787 38.7227 69.4728C35.1404 70.8919 32.2895 71.8779 28.5005 70.8789C24.3706 69.7951 20.9698 67.4623 19.0499 64.3964C18.0021 62.7282 16.7577 59.3144 17.4723 57.5087C17.4921 57.4587 17.5023 57.4056 17.4951 57.3522C17.4647 57.1259 17.359 56.7067 17.1377 56.6504C8.17592 54.367 2.58735 48.0815 5.03045 40.4013C6.14562 36.9784 8.95444 34.0395 12.8321 32.2381C16.7957 30.3763 20.9323 29.9475 25.2815 30.5666Z" fill="#4ABA5A"/>
|
|
2222
|
+
<rect x="44.3433" y="56.4863" width="10.1195" height="9.10751" fill="#4ABA5A"/>
|
|
2223
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M45.6929 25.6221C49.2323 25.6223 52.1021 31.512 52.1021 38.7773C52.102 46.0426 49.2323 51.9323 45.6929 51.9326C42.2373 51.9326 39.4213 46.3188 39.2896 39.292C41.4308 38.8166 43.9097 38.7264 46.1079 39.1299C47.0121 39.2956 47.8949 38.5389 47.4956 37.7109C46.0273 34.6668 42.4111 34.0327 39.686 34.1816C40.5942 29.1824 42.9408 25.6221 45.6929 25.6221Z" fill="#1a5c2a"/>
|
|
2224
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M63.2471 25.6216C66.7865 25.6219 69.6562 31.5116 69.6562 38.7769C69.6562 46.0422 66.7865 51.9319 63.2471 51.9321C59.7916 51.9321 56.9756 46.319 56.8438 39.2925C58.985 38.8171 61.4639 38.7259 63.6621 39.1294C64.5663 39.2952 65.4491 38.5394 65.0498 37.7114C63.5816 34.6669 59.9654 34.0322 57.2402 34.1812C58.1484 29.1821 60.4951 25.6216 63.2471 25.6216Z" fill="#1a5c2a"/>
|
|
2225
|
+
</svg>`;
|
|
2226
|
+
var SWYPE_MASCOT = svgToDataUri(SWYPE_MASCOT_SVG);
|
|
2217
2227
|
var BASE_LOGO = svgToDataUri(BASE_SVG);
|
|
2218
2228
|
var METAMASK_LOGO = svgToDataUri(METAMASK_SVG);
|
|
2219
2229
|
var TRUST_WALLET_LOGO = svgToDataUri(TRUST_WALLET_SVG);
|
|
@@ -2241,7 +2251,7 @@ var containerStyle2 = (bg) => ({
|
|
|
2241
2251
|
maxWidth: 420,
|
|
2242
2252
|
width: "100%",
|
|
2243
2253
|
margin: "0 auto",
|
|
2244
|
-
background: bg
|
|
2254
|
+
background: `linear-gradient(to top, rgba(178, 255, 147, 0.15), transparent 40%), ${bg}`,
|
|
2245
2255
|
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
2246
2256
|
boxSizing: "border-box"
|
|
2247
2257
|
});
|
|
@@ -2259,14 +2269,69 @@ var footerStyle = {
|
|
|
2259
2269
|
paddingRight: 24,
|
|
2260
2270
|
marginTop: "auto"
|
|
2261
2271
|
};
|
|
2272
|
+
var FlowPhaseContext = createContext(null);
|
|
2273
|
+
function FlowPhaseProvider({
|
|
2274
|
+
phase,
|
|
2275
|
+
children
|
|
2276
|
+
}) {
|
|
2277
|
+
return /* @__PURE__ */ jsx(FlowPhaseContext.Provider, { value: phase, children });
|
|
2278
|
+
}
|
|
2279
|
+
function useFlowPhase() {
|
|
2280
|
+
return useContext(FlowPhaseContext);
|
|
2281
|
+
}
|
|
2282
|
+
function StepProgress({ phase }) {
|
|
2283
|
+
const { tokens } = useSwypeConfig();
|
|
2284
|
+
if (phase === "deposit") {
|
|
2285
|
+
return /* @__PURE__ */ jsxs("div", { style: containerStyle3, children: [
|
|
2286
|
+
/* @__PURE__ */ jsx("span", { style: dotStyle(tokens.textMuted) }),
|
|
2287
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle(tokens.textMuted), children: "Link" }),
|
|
2288
|
+
/* @__PURE__ */ jsx("span", { style: lineStyle(tokens.textMuted) }),
|
|
2289
|
+
/* @__PURE__ */ jsx("span", { style: dotStyle(tokens.accent) }),
|
|
2290
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle(tokens.text), children: "Deposit" })
|
|
2291
|
+
] });
|
|
2292
|
+
}
|
|
2293
|
+
return /* @__PURE__ */ jsxs("div", { style: containerStyle3, children: [
|
|
2294
|
+
/* @__PURE__ */ jsx("span", { style: dotStyle(tokens.accent) }),
|
|
2295
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle(tokens.text), children: "Link" }),
|
|
2296
|
+
/* @__PURE__ */ jsx("span", { style: lineStyle(tokens.textMuted) }),
|
|
2297
|
+
/* @__PURE__ */ jsx("span", { style: dotStyle(tokens.textMuted) }),
|
|
2298
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle(tokens.textMuted), children: "Deposit" })
|
|
2299
|
+
] });
|
|
2300
|
+
}
|
|
2301
|
+
var containerStyle3 = {
|
|
2302
|
+
display: "flex",
|
|
2303
|
+
alignItems: "center",
|
|
2304
|
+
gap: 6
|
|
2305
|
+
};
|
|
2306
|
+
var dotStyle = (color) => ({
|
|
2307
|
+
width: 8,
|
|
2308
|
+
height: 8,
|
|
2309
|
+
borderRadius: "50%",
|
|
2310
|
+
backgroundColor: color,
|
|
2311
|
+
flexShrink: 0
|
|
2312
|
+
});
|
|
2313
|
+
var lineStyle = (color) => ({
|
|
2314
|
+
width: 32,
|
|
2315
|
+
height: 0,
|
|
2316
|
+
borderTop: `2px dashed ${color}`,
|
|
2317
|
+
opacity: 0.4,
|
|
2318
|
+
flexShrink: 0
|
|
2319
|
+
});
|
|
2320
|
+
var labelStyle = (color) => ({
|
|
2321
|
+
fontSize: "0.82rem",
|
|
2322
|
+
fontWeight: 600,
|
|
2323
|
+
color,
|
|
2324
|
+
whiteSpace: "nowrap"
|
|
2325
|
+
});
|
|
2262
2326
|
function ScreenHeader({ title, right, onBack, badge }) {
|
|
2263
2327
|
const { tokens } = useSwypeConfig();
|
|
2328
|
+
const flowPhase = useFlowPhase();
|
|
2264
2329
|
return /* @__PURE__ */ jsxs("div", { style: headerStyle, children: [
|
|
2265
2330
|
/* @__PURE__ */ jsx("div", { style: leftSlotStyle, children: onBack && /* @__PURE__ */ jsx("button", { type: "button", onClick: onBack, style: backButtonStyle(tokens.text), "aria-label": "Go back", children: /* @__PURE__ */ jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M15 18l-6-6 6-6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }) }),
|
|
2266
|
-
/* @__PURE__ */
|
|
2331
|
+
/* @__PURE__ */ jsx("div", { style: centerSlotStyle, children: flowPhase ? /* @__PURE__ */ jsx(StepProgress, { phase: flowPhase }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2267
2332
|
title && /* @__PURE__ */ jsx("span", { style: titleStyle(tokens.text), children: title }),
|
|
2268
2333
|
badge && /* @__PURE__ */ jsx("span", { style: badgeStyle(tokens.textMuted), children: badge })
|
|
2269
|
-
] }),
|
|
2334
|
+
] }) }),
|
|
2270
2335
|
/* @__PURE__ */ jsx("div", { style: rightSlotStyle, children: right })
|
|
2271
2336
|
] });
|
|
2272
2337
|
}
|
|
@@ -2308,7 +2373,7 @@ var badgeStyle = (color) => ({
|
|
|
2308
2373
|
});
|
|
2309
2374
|
function PoweredByFooter() {
|
|
2310
2375
|
const { tokens } = useSwypeConfig();
|
|
2311
|
-
return /* @__PURE__ */ jsxs("div", { style:
|
|
2376
|
+
return /* @__PURE__ */ jsxs("div", { style: containerStyle4(tokens.textMuted), children: [
|
|
2312
2377
|
/* @__PURE__ */ jsxs("div", { style: rowStyle, children: [
|
|
2313
2378
|
/* @__PURE__ */ jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx(
|
|
2314
2379
|
"path",
|
|
@@ -2322,7 +2387,7 @@ function PoweredByFooter() {
|
|
|
2322
2387
|
/* @__PURE__ */ jsx("span", { style: pillStyle(tokens.textMuted, tokens.border), children: "Beta Version" })
|
|
2323
2388
|
] });
|
|
2324
2389
|
}
|
|
2325
|
-
var
|
|
2390
|
+
var containerStyle4 = (color) => ({
|
|
2326
2391
|
display: "flex",
|
|
2327
2392
|
flexDirection: "column",
|
|
2328
2393
|
alignItems: "center",
|
|
@@ -2375,7 +2440,7 @@ var buttonStyle = (tokens, disabled) => ({
|
|
|
2375
2440
|
opacity: disabled ? 0.5 : 1,
|
|
2376
2441
|
transition: "filter 0.15s ease, transform 0.15s ease",
|
|
2377
2442
|
fontFamily: "inherit",
|
|
2378
|
-
boxShadow: "0 8px 18px rgba(
|
|
2443
|
+
boxShadow: "0 8px 18px rgba(178, 255, 147, 0.35)",
|
|
2379
2444
|
display: "flex",
|
|
2380
2445
|
alignItems: "center",
|
|
2381
2446
|
justifyContent: "center",
|
|
@@ -2421,12 +2486,12 @@ var defaultIcon = /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBo
|
|
|
2421
2486
|
) });
|
|
2422
2487
|
function InfoBanner({ children, icon }) {
|
|
2423
2488
|
const { tokens } = useSwypeConfig();
|
|
2424
|
-
return /* @__PURE__ */ jsxs("div", { style:
|
|
2489
|
+
return /* @__PURE__ */ jsxs("div", { style: containerStyle5(tokens.accent), children: [
|
|
2425
2490
|
/* @__PURE__ */ jsx("span", { style: iconStyle, children: icon ?? defaultIcon }),
|
|
2426
2491
|
/* @__PURE__ */ jsx("span", { style: textStyle, children })
|
|
2427
2492
|
] });
|
|
2428
2493
|
}
|
|
2429
|
-
var
|
|
2494
|
+
var containerStyle5 = (accent) => ({
|
|
2430
2495
|
display: "flex",
|
|
2431
2496
|
alignItems: "flex-start",
|
|
2432
2497
|
gap: 10,
|
|
@@ -2444,7 +2509,7 @@ var iconStyle = {
|
|
|
2444
2509
|
};
|
|
2445
2510
|
var textStyle = { flex: 1 };
|
|
2446
2511
|
function WarningBanner({ title, children }) {
|
|
2447
|
-
return /* @__PURE__ */ jsxs("div", { style:
|
|
2512
|
+
return /* @__PURE__ */ jsxs("div", { style: containerStyle6, children: [
|
|
2448
2513
|
/* @__PURE__ */ jsxs("div", { style: headerStyle2, children: [
|
|
2449
2514
|
/* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", style: iconStyle2, children: /* @__PURE__ */ jsx("path", { d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z", fill: "#F57C00" }) }),
|
|
2450
2515
|
/* @__PURE__ */ jsx("strong", { children: title })
|
|
@@ -2452,7 +2517,7 @@ function WarningBanner({ title, children }) {
|
|
|
2452
2517
|
/* @__PURE__ */ jsx("div", { style: bodyStyle2, children })
|
|
2453
2518
|
] });
|
|
2454
2519
|
}
|
|
2455
|
-
var
|
|
2520
|
+
var containerStyle6 = {
|
|
2456
2521
|
padding: "14px 16px",
|
|
2457
2522
|
background: "#FFF8E1",
|
|
2458
2523
|
border: "1px solid #FFE082",
|
|
@@ -2531,7 +2596,7 @@ function OtpInput({ value, onChange, length = 6, disabled }) {
|
|
|
2531
2596
|
onChange(pasted);
|
|
2532
2597
|
focusInput(Math.min(pasted.length, length - 1));
|
|
2533
2598
|
}, [onChange, length, focusInput]);
|
|
2534
|
-
return /* @__PURE__ */ jsx("div", { style:
|
|
2599
|
+
return /* @__PURE__ */ jsx("div", { style: containerStyle7, children: digits.map((digit, i) => /* @__PURE__ */ jsx(
|
|
2535
2600
|
"input",
|
|
2536
2601
|
{
|
|
2537
2602
|
ref: (el) => {
|
|
@@ -2552,7 +2617,7 @@ function OtpInput({ value, onChange, length = 6, disabled }) {
|
|
|
2552
2617
|
i
|
|
2553
2618
|
)) });
|
|
2554
2619
|
}
|
|
2555
|
-
var
|
|
2620
|
+
var containerStyle7 = {
|
|
2556
2621
|
display: "flex",
|
|
2557
2622
|
gap: 8,
|
|
2558
2623
|
justifyContent: "center",
|
|
@@ -2943,7 +3008,7 @@ function StepList({ steps }) {
|
|
|
2943
3008
|
}
|
|
2944
3009
|
),
|
|
2945
3010
|
/* @__PURE__ */ jsxs("div", { style: labelContainerStyle, children: [
|
|
2946
|
-
/* @__PURE__ */ jsx("span", { style:
|
|
3011
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle2(isComplete || isActive ? tokens.text : tokens.textMuted), children: step.label }),
|
|
2947
3012
|
step.detail && /* @__PURE__ */ jsx("span", { style: detailStyle(tokens.textMuted), children: step.detail })
|
|
2948
3013
|
] })
|
|
2949
3014
|
] }, i);
|
|
@@ -2979,7 +3044,7 @@ var labelContainerStyle = {
|
|
|
2979
3044
|
display: "flex",
|
|
2980
3045
|
flexDirection: "column"
|
|
2981
3046
|
};
|
|
2982
|
-
var
|
|
3047
|
+
var labelStyle2 = (color) => ({
|
|
2983
3048
|
fontSize: "0.9rem",
|
|
2984
3049
|
fontWeight: 500,
|
|
2985
3050
|
color
|
|
@@ -3003,7 +3068,7 @@ function SettingsMenu({ onLogout }) {
|
|
|
3003
3068
|
document.addEventListener("mousedown", handleClickOutside);
|
|
3004
3069
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
3005
3070
|
}, [open]);
|
|
3006
|
-
return /* @__PURE__ */ jsxs("div", { ref: menuRef, style:
|
|
3071
|
+
return /* @__PURE__ */ jsxs("div", { ref: menuRef, style: containerStyle8, children: [
|
|
3007
3072
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: toggle, style: triggerStyle(tokens.text), "aria-label": "Settings", children: /* @__PURE__ */ jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", children: [
|
|
3008
3073
|
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "5", r: "2", fill: "currentColor" }),
|
|
3009
3074
|
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "2", fill: "currentColor" }),
|
|
@@ -3030,7 +3095,7 @@ function SettingsMenu({ onLogout }) {
|
|
|
3030
3095
|
) })
|
|
3031
3096
|
] });
|
|
3032
3097
|
}
|
|
3033
|
-
var
|
|
3098
|
+
var containerStyle8 = {
|
|
3034
3099
|
position: "relative"
|
|
3035
3100
|
};
|
|
3036
3101
|
var triggerStyle = (color) => ({
|
|
@@ -3115,7 +3180,7 @@ function LoginScreen({
|
|
|
3115
3180
|
),
|
|
3116
3181
|
/* @__PURE__ */ jsxs("div", { style: contentStyle2, children: [
|
|
3117
3182
|
/* @__PURE__ */ jsx("img", { src: SWYPE_LOGO, alt: "Swype", style: logoStyle }),
|
|
3118
|
-
/* @__PURE__ */ jsx("h2", { style: headingStyle(tokens.text), children: "Your Money
|
|
3183
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle(tokens.text), children: "Your Money. Any App.\nOne Tap." }),
|
|
3119
3184
|
error && /* @__PURE__ */ jsx("div", { style: errorStyle(tokens), children: error }),
|
|
3120
3185
|
/* @__PURE__ */ jsx(
|
|
3121
3186
|
"input",
|
|
@@ -3157,8 +3222,8 @@ var contentStyle2 = {
|
|
|
3157
3222
|
justifyContent: "center"
|
|
3158
3223
|
};
|
|
3159
3224
|
var logoStyle = {
|
|
3160
|
-
width:
|
|
3161
|
-
height:
|
|
3225
|
+
width: 50,
|
|
3226
|
+
height: 50
|
|
3162
3227
|
};
|
|
3163
3228
|
var headingStyle = (color) => ({
|
|
3164
3229
|
fontSize: "1.45rem",
|
|
@@ -3796,15 +3861,12 @@ var dividerTextStyle = (color) => ({
|
|
|
3796
3861
|
});
|
|
3797
3862
|
var DEFAULT_MAX = 1e7;
|
|
3798
3863
|
var ABSOLUTE_MIN = 0.01;
|
|
3864
|
+
var PRESETS = [100, 250, 1e3];
|
|
3799
3865
|
function SetupScreen({
|
|
3800
3866
|
availableBalance,
|
|
3801
|
-
tokenCount,
|
|
3802
|
-
sourceName,
|
|
3803
3867
|
onSetupOneTap,
|
|
3804
3868
|
onBack,
|
|
3805
|
-
onLogout,
|
|
3806
3869
|
onAdvanced,
|
|
3807
|
-
selectedSourceLabel,
|
|
3808
3870
|
loading,
|
|
3809
3871
|
error
|
|
3810
3872
|
}) {
|
|
@@ -3827,6 +3889,14 @@ function SetupScreen({
|
|
|
3827
3889
|
}
|
|
3828
3890
|
setEditing(false);
|
|
3829
3891
|
}, [inputValue, effectiveMax, effectiveMin]);
|
|
3892
|
+
const selectPreset = (value) => {
|
|
3893
|
+
setLimit(Math.min(value, effectiveMax));
|
|
3894
|
+
};
|
|
3895
|
+
const selectMax = () => {
|
|
3896
|
+
setLimit(Math.min(availableBalance, effectiveMax));
|
|
3897
|
+
};
|
|
3898
|
+
const isPresetActive = (value) => Math.abs(limit - value) < 5e-3;
|
|
3899
|
+
const isMaxActive = Math.abs(limit - Math.min(availableBalance, effectiveMax)) < 5e-3 && !PRESETS.some((p) => isPresetActive(p));
|
|
3830
3900
|
return /* @__PURE__ */ jsxs(
|
|
3831
3901
|
ScreenLayout,
|
|
3832
3902
|
{
|
|
@@ -3843,45 +3913,11 @@ function SetupScreen({
|
|
|
3843
3913
|
/* @__PURE__ */ jsx(PoweredByFooter, {})
|
|
3844
3914
|
] }),
|
|
3845
3915
|
children: [
|
|
3846
|
-
/* @__PURE__ */ jsx(ScreenHeader, {
|
|
3916
|
+
/* @__PURE__ */ jsx(ScreenHeader, { onBack }),
|
|
3847
3917
|
/* @__PURE__ */ jsx("h2", { style: headingStyle5(tokens.text), children: "Set Spending Limit" }),
|
|
3848
3918
|
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle3(tokens), children: error }),
|
|
3849
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
3850
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
3851
|
-
/* @__PURE__ */ jsx("div", { style: coinIconStyle(tokens.accent), children: /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [
|
|
3852
|
-
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor" }),
|
|
3853
|
-
/* @__PURE__ */ jsx("text", { x: "12", y: "16", textAnchor: "middle", fontSize: "12", fill: "#fff", fontWeight: "700", children: "$" })
|
|
3854
|
-
] }) }),
|
|
3855
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
3856
|
-
/* @__PURE__ */ jsx("div", { style: balanceLabelStyle(tokens.textMuted), children: "Available" }),
|
|
3857
|
-
/* @__PURE__ */ jsxs("div", { style: balanceValueStyle(tokens.text), children: [
|
|
3858
|
-
"$",
|
|
3859
|
-
availableBalance.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })
|
|
3860
|
-
] })
|
|
3861
|
-
] })
|
|
3862
|
-
] }),
|
|
3863
|
-
tokenCount > 0 && /* @__PURE__ */ jsxs(
|
|
3864
|
-
"button",
|
|
3865
|
-
{
|
|
3866
|
-
type: "button",
|
|
3867
|
-
onClick: onAdvanced,
|
|
3868
|
-
style: tokenBadgeButtonStyle(tokens, !!onAdvanced),
|
|
3869
|
-
children: [
|
|
3870
|
-
/* @__PURE__ */ jsx("span", { style: tokenDotStyle(tokens.accent) }),
|
|
3871
|
-
tokenCount,
|
|
3872
|
-
" ",
|
|
3873
|
-
/* @__PURE__ */ jsx("span", { style: chevronStyle, children: ">" })
|
|
3874
|
-
]
|
|
3875
|
-
}
|
|
3876
|
-
)
|
|
3877
|
-
] }),
|
|
3878
|
-
selectedSourceLabel && /* @__PURE__ */ jsxs("div", { style: selectedSourceStyle(tokens.textSecondary), children: [
|
|
3879
|
-
"Source: ",
|
|
3880
|
-
/* @__PURE__ */ jsx("strong", { children: selectedSourceLabel })
|
|
3881
|
-
] }),
|
|
3882
|
-
/* @__PURE__ */ jsxs("div", { style: limitSectionStyle, children: [
|
|
3883
|
-
/* @__PURE__ */ jsx("div", { style: limitLabelStyle(tokens.textMuted), children: "Your One-Tap limit" }),
|
|
3884
|
-
editing ? /* @__PURE__ */ jsxs("div", { style: limitValueStyle(tokens.text), children: [
|
|
3919
|
+
/* @__PURE__ */ jsxs("div", { style: amountRowStyle, children: [
|
|
3920
|
+
/* @__PURE__ */ jsx("div", { style: { flex: 1 }, children: editing ? /* @__PURE__ */ jsxs("div", { style: limitValueStyle(tokens.text), children: [
|
|
3885
3921
|
"$",
|
|
3886
3922
|
/* @__PURE__ */ jsx(
|
|
3887
3923
|
"input",
|
|
@@ -3906,12 +3942,53 @@ function SetupScreen({
|
|
|
3906
3942
|
onClick: startEditing,
|
|
3907
3943
|
children: [
|
|
3908
3944
|
"$",
|
|
3909
|
-
limit.
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3945
|
+
limit.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })
|
|
3946
|
+
]
|
|
3947
|
+
}
|
|
3948
|
+
) }),
|
|
3949
|
+
/* @__PURE__ */ jsxs(
|
|
3950
|
+
"button",
|
|
3951
|
+
{
|
|
3952
|
+
type: "button",
|
|
3953
|
+
onClick: onAdvanced,
|
|
3954
|
+
style: tokenIconButtonStyle(!!onAdvanced),
|
|
3955
|
+
children: [
|
|
3956
|
+
/* @__PURE__ */ jsxs("div", { style: tokenIconWrapStyle, children: [
|
|
3957
|
+
/* @__PURE__ */ jsxs("svg", { width: "36", height: "36", viewBox: "0 0 36 36", fill: "none", children: [
|
|
3958
|
+
/* @__PURE__ */ jsx("circle", { cx: "18", cy: "18", r: "18", fill: "#2DB84B" }),
|
|
3959
|
+
/* @__PURE__ */ jsx("text", { x: "18", y: "23", textAnchor: "middle", fontSize: "18", fill: "#fff", fontWeight: "700", children: "$" })
|
|
3960
|
+
] }),
|
|
3961
|
+
/* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", style: checkBadgeStyle, children: [
|
|
3962
|
+
/* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "8", fill: "#2775CA" }),
|
|
3963
|
+
/* @__PURE__ */ jsx("path", { d: "M5 8l2 2 4-4", stroke: "#fff", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
3964
|
+
] })
|
|
3965
|
+
] }),
|
|
3966
|
+
/* @__PURE__ */ jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", style: { opacity: 0.5 }, children: /* @__PURE__ */ jsx("path", { d: "M6 9l6 6 6-6", stroke: tokens.textMuted, strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }) })
|
|
3967
|
+
]
|
|
3968
|
+
}
|
|
3969
|
+
)
|
|
3970
|
+
] }),
|
|
3971
|
+
/* @__PURE__ */ jsxs("div", { style: presetsRowStyle, children: [
|
|
3972
|
+
PRESETS.map((value) => /* @__PURE__ */ jsxs(
|
|
3973
|
+
"button",
|
|
3974
|
+
{
|
|
3975
|
+
type: "button",
|
|
3976
|
+
onClick: () => selectPreset(value),
|
|
3977
|
+
style: presetButtonStyle(tokens, isPresetActive(value)),
|
|
3978
|
+
children: [
|
|
3979
|
+
"$",
|
|
3980
|
+
value.toLocaleString()
|
|
3914
3981
|
]
|
|
3982
|
+
},
|
|
3983
|
+
value
|
|
3984
|
+
)),
|
|
3985
|
+
/* @__PURE__ */ jsx(
|
|
3986
|
+
"button",
|
|
3987
|
+
{
|
|
3988
|
+
type: "button",
|
|
3989
|
+
onClick: selectMax,
|
|
3990
|
+
style: presetButtonStyle(tokens, isMaxActive),
|
|
3991
|
+
children: "Max"
|
|
3915
3992
|
}
|
|
3916
3993
|
)
|
|
3917
3994
|
] })
|
|
@@ -3920,11 +3997,11 @@ function SetupScreen({
|
|
|
3920
3997
|
);
|
|
3921
3998
|
}
|
|
3922
3999
|
var headingStyle5 = (color) => ({
|
|
3923
|
-
fontSize: "1.
|
|
4000
|
+
fontSize: "1.1rem",
|
|
3924
4001
|
fontWeight: 700,
|
|
3925
4002
|
letterSpacing: "-0.02em",
|
|
3926
4003
|
color,
|
|
3927
|
-
margin: "
|
|
4004
|
+
margin: "8px 0 24px",
|
|
3928
4005
|
textAlign: "center"
|
|
3929
4006
|
});
|
|
3930
4007
|
var errorBannerStyle3 = (tokens) => ({
|
|
@@ -3937,148 +4014,113 @@ var errorBannerStyle3 = (tokens) => ({
|
|
|
3937
4014
|
marginBottom: 14,
|
|
3938
4015
|
lineHeight: 1.5
|
|
3939
4016
|
});
|
|
3940
|
-
var
|
|
4017
|
+
var amountRowStyle = {
|
|
3941
4018
|
display: "flex",
|
|
3942
4019
|
alignItems: "center",
|
|
3943
4020
|
justifyContent: "space-between",
|
|
3944
|
-
marginBottom: 24
|
|
3945
|
-
|
|
3946
|
-
var balanceLeftStyle = {
|
|
3947
|
-
display: "flex",
|
|
3948
|
-
alignItems: "center",
|
|
3949
|
-
gap: 10
|
|
3950
|
-
};
|
|
3951
|
-
var coinIconStyle = (color) => ({
|
|
3952
|
-
color,
|
|
3953
|
-
display: "flex",
|
|
3954
|
-
alignItems: "center"
|
|
3955
|
-
});
|
|
3956
|
-
var balanceLabelStyle = (color) => ({
|
|
3957
|
-
fontSize: "0.72rem",
|
|
3958
|
-
color,
|
|
3959
|
-
fontWeight: 500
|
|
3960
|
-
});
|
|
3961
|
-
var balanceValueStyle = (color) => ({
|
|
3962
|
-
fontSize: "1.1rem",
|
|
3963
|
-
fontWeight: 700,
|
|
3964
|
-
color
|
|
3965
|
-
});
|
|
3966
|
-
var tokenBadgeButtonStyle = (tokens, clickable) => ({
|
|
3967
|
-
display: "flex",
|
|
3968
|
-
alignItems: "center",
|
|
3969
|
-
gap: 4,
|
|
3970
|
-
fontSize: "0.78rem",
|
|
3971
|
-
color: tokens.textMuted,
|
|
3972
|
-
border: `1px solid ${tokens.border}`,
|
|
3973
|
-
borderRadius: 999,
|
|
3974
|
-
padding: "4px 10px",
|
|
3975
|
-
background: "transparent",
|
|
3976
|
-
fontFamily: "inherit",
|
|
3977
|
-
cursor: clickable ? "pointer" : "default"
|
|
3978
|
-
});
|
|
3979
|
-
var selectedSourceStyle = (color) => ({
|
|
3980
|
-
fontSize: "0.8rem",
|
|
3981
|
-
color,
|
|
3982
|
-
marginBottom: 16,
|
|
3983
|
-
textAlign: "center"
|
|
3984
|
-
});
|
|
3985
|
-
var tokenDotStyle = (color) => ({
|
|
3986
|
-
width: 8,
|
|
3987
|
-
height: 8,
|
|
3988
|
-
borderRadius: "50%",
|
|
3989
|
-
background: color,
|
|
3990
|
-
display: "inline-block"
|
|
3991
|
-
});
|
|
3992
|
-
var chevronStyle = { fontSize: "0.68rem", marginLeft: 2 };
|
|
3993
|
-
var limitSectionStyle = {
|
|
3994
|
-
textAlign: "center",
|
|
3995
|
-
marginBottom: 24
|
|
4021
|
+
marginBottom: 24,
|
|
4022
|
+
gap: 12
|
|
3996
4023
|
};
|
|
3997
|
-
var limitLabelStyle = (color) => ({
|
|
3998
|
-
fontSize: "0.8rem",
|
|
3999
|
-
color,
|
|
4000
|
-
marginBottom: 4
|
|
4001
|
-
});
|
|
4002
4024
|
var limitValueStyle = (color) => ({
|
|
4003
|
-
fontSize: "2.
|
|
4025
|
+
fontSize: "2.4rem",
|
|
4004
4026
|
fontWeight: 700,
|
|
4005
4027
|
color,
|
|
4006
|
-
|
|
4028
|
+
letterSpacing: "-0.02em",
|
|
4029
|
+
display: "flex",
|
|
4030
|
+
alignItems: "baseline"
|
|
4007
4031
|
});
|
|
4008
4032
|
var editableLimitStyle = (color) => ({
|
|
4009
4033
|
...limitValueStyle(color),
|
|
4010
|
-
cursor: "pointer"
|
|
4011
|
-
display: "inline-flex",
|
|
4012
|
-
alignItems: "center",
|
|
4013
|
-
gap: 6
|
|
4014
|
-
});
|
|
4015
|
-
var pencilIconStyle = (color) => ({
|
|
4016
|
-
color,
|
|
4017
|
-
opacity: 0.6,
|
|
4018
|
-
flexShrink: 0
|
|
4034
|
+
cursor: "pointer"
|
|
4019
4035
|
});
|
|
4020
4036
|
var limitInputStyle = (color) => ({
|
|
4021
|
-
fontSize: "2.
|
|
4037
|
+
fontSize: "2.4rem",
|
|
4022
4038
|
fontWeight: 700,
|
|
4023
4039
|
color,
|
|
4024
4040
|
background: "transparent",
|
|
4025
4041
|
border: "none",
|
|
4026
4042
|
borderBottom: "2px solid currentColor",
|
|
4027
4043
|
outline: "none",
|
|
4028
|
-
|
|
4029
|
-
width: "5ch",
|
|
4044
|
+
width: "6ch",
|
|
4030
4045
|
fontFamily: "inherit",
|
|
4031
|
-
padding: 0
|
|
4046
|
+
padding: 0,
|
|
4047
|
+
letterSpacing: "-0.02em"
|
|
4048
|
+
});
|
|
4049
|
+
var tokenIconButtonStyle = (clickable) => ({
|
|
4050
|
+
display: "flex",
|
|
4051
|
+
alignItems: "center",
|
|
4052
|
+
gap: 4,
|
|
4053
|
+
background: "transparent",
|
|
4054
|
+
border: "none",
|
|
4055
|
+
cursor: clickable ? "pointer" : "default",
|
|
4056
|
+
padding: 0,
|
|
4057
|
+
flexShrink: 0
|
|
4058
|
+
});
|
|
4059
|
+
var tokenIconWrapStyle = {
|
|
4060
|
+
position: "relative",
|
|
4061
|
+
width: 36,
|
|
4062
|
+
height: 36
|
|
4063
|
+
};
|
|
4064
|
+
var checkBadgeStyle = {
|
|
4065
|
+
position: "absolute",
|
|
4066
|
+
bottom: -1,
|
|
4067
|
+
right: -3
|
|
4068
|
+
};
|
|
4069
|
+
var presetsRowStyle = {
|
|
4070
|
+
display: "flex",
|
|
4071
|
+
gap: 10,
|
|
4072
|
+
marginBottom: 24
|
|
4073
|
+
};
|
|
4074
|
+
var presetButtonStyle = (tokens, active) => ({
|
|
4075
|
+
flex: 1,
|
|
4076
|
+
padding: "10px 0",
|
|
4077
|
+
borderRadius: 999,
|
|
4078
|
+
fontSize: "0.88rem",
|
|
4079
|
+
fontWeight: 600,
|
|
4080
|
+
fontFamily: "inherit",
|
|
4081
|
+
cursor: "pointer",
|
|
4082
|
+
transition: "background 0.15s ease, border-color 0.15s ease",
|
|
4083
|
+
...active ? {
|
|
4084
|
+
background: `${tokens.accent}30`,
|
|
4085
|
+
border: `1.5px solid ${tokens.accent}`,
|
|
4086
|
+
color: tokens.text
|
|
4087
|
+
} : {
|
|
4088
|
+
background: "transparent",
|
|
4089
|
+
border: `1.5px solid ${tokens.border}`,
|
|
4090
|
+
color: tokens.text
|
|
4091
|
+
}
|
|
4032
4092
|
});
|
|
4033
4093
|
function SetupStatusScreen({
|
|
4034
4094
|
complete,
|
|
4035
|
-
limit,
|
|
4036
|
-
tokensApproved,
|
|
4037
|
-
merchantName,
|
|
4038
4095
|
onContinue,
|
|
4039
4096
|
onLogout,
|
|
4040
4097
|
error
|
|
4041
4098
|
}) {
|
|
4042
4099
|
const { tokens } = useSwypeConfig();
|
|
4043
|
-
|
|
4044
|
-
{
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
},
|
|
4100
|
+
if (complete) {
|
|
4101
|
+
return /* @__PURE__ */ jsxs(ScreenLayout, { footer: /* @__PURE__ */ jsx(PoweredByFooter, {}), children: [
|
|
4102
|
+
/* @__PURE__ */ jsx(ScreenHeader, { onBack: onContinue }),
|
|
4103
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle5, children: [
|
|
4104
|
+
/* @__PURE__ */ jsx("img", { src: SWYPE_MASCOT, alt: "Swype", style: mascotStyle }),
|
|
4105
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle6(tokens.text), children: "Done!" }),
|
|
4106
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle3(tokens.textSecondary), children: "Return to the app to try one-tap deposits." })
|
|
4107
|
+
] })
|
|
4108
|
+
] });
|
|
4109
|
+
}
|
|
4110
|
+
const steps = [
|
|
4111
|
+
{ label: "Setting up Wallet", status: "active" },
|
|
4055
4112
|
{ label: "Done", status: "pending" }
|
|
4056
4113
|
];
|
|
4057
|
-
return /* @__PURE__ */ jsxs(
|
|
4058
|
-
|
|
4059
|
-
{
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
children:
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
complete ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4068
|
-
/* @__PURE__ */ jsx(IconCircle, { variant: "success", size: 64, children: /* @__PURE__ */ jsx("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z", fill: tokens.success }) }) }),
|
|
4069
|
-
/* @__PURE__ */ jsx("h2", { style: headingStyle6(tokens.text), children: "You're all set!" })
|
|
4070
|
-
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4071
|
-
/* @__PURE__ */ jsx(Spinner, { size: 48 }),
|
|
4072
|
-
/* @__PURE__ */ jsx("h2", { style: headingStyle6(tokens.text), children: "Setting up One-Tap..." })
|
|
4073
|
-
] }),
|
|
4074
|
-
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle4(tokens), children: error }),
|
|
4075
|
-
/* @__PURE__ */ jsx("div", { style: stepsWrapStyle, children: /* @__PURE__ */ jsx(StepList, { steps }) }),
|
|
4076
|
-
!complete && /* @__PURE__ */ jsx("p", { style: waitHintStyle(tokens.textMuted), children: "Usually takes a few seconds" }),
|
|
4077
|
-
complete && /* @__PURE__ */ jsx("p", { style: readyHintStyle(tokens.textSecondary), children: "You can now deposit instantly from any partner app." })
|
|
4078
|
-
] })
|
|
4079
|
-
]
|
|
4080
|
-
}
|
|
4081
|
-
);
|
|
4114
|
+
return /* @__PURE__ */ jsxs(ScreenLayout, { children: [
|
|
4115
|
+
/* @__PURE__ */ jsx(ScreenHeader, { right: /* @__PURE__ */ jsx(SettingsMenu, { onLogout }) }),
|
|
4116
|
+
/* @__PURE__ */ jsxs("div", { style: contentStyle5, children: [
|
|
4117
|
+
/* @__PURE__ */ jsx(Spinner, { size: 48 }),
|
|
4118
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle6(tokens.text), children: "Setting up One-Tap..." }),
|
|
4119
|
+
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle4(tokens), children: error }),
|
|
4120
|
+
/* @__PURE__ */ jsx("div", { style: stepsWrapStyle, children: /* @__PURE__ */ jsx(StepList, { steps }) }),
|
|
4121
|
+
/* @__PURE__ */ jsx("p", { style: waitHintStyle(tokens.textMuted), children: "Usually takes a few seconds" })
|
|
4122
|
+
] })
|
|
4123
|
+
] });
|
|
4082
4124
|
}
|
|
4083
4125
|
var contentStyle5 = {
|
|
4084
4126
|
flex: 1,
|
|
@@ -4089,12 +4131,23 @@ var contentStyle5 = {
|
|
|
4089
4131
|
textAlign: "center",
|
|
4090
4132
|
padding: "0 24px 32px"
|
|
4091
4133
|
};
|
|
4134
|
+
var mascotStyle = {
|
|
4135
|
+
width: 56,
|
|
4136
|
+
height: 56
|
|
4137
|
+
};
|
|
4092
4138
|
var headingStyle6 = (color) => ({
|
|
4093
4139
|
fontSize: "1.45rem",
|
|
4094
4140
|
fontWeight: 700,
|
|
4095
4141
|
letterSpacing: "-0.02em",
|
|
4096
4142
|
color,
|
|
4097
|
-
margin: "20px 0
|
|
4143
|
+
margin: "20px 0 8px"
|
|
4144
|
+
});
|
|
4145
|
+
var subtitleStyle3 = (color) => ({
|
|
4146
|
+
fontSize: "0.9rem",
|
|
4147
|
+
color,
|
|
4148
|
+
margin: "0 0 28px",
|
|
4149
|
+
lineHeight: 1.5,
|
|
4150
|
+
maxWidth: 260
|
|
4098
4151
|
});
|
|
4099
4152
|
var errorBannerStyle4 = (tokens) => ({
|
|
4100
4153
|
background: tokens.errorBg,
|
|
@@ -4119,19 +4172,6 @@ var waitHintStyle = (color) => ({
|
|
|
4119
4172
|
color,
|
|
4120
4173
|
margin: 0
|
|
4121
4174
|
});
|
|
4122
|
-
var readyHintStyle = (color) => ({
|
|
4123
|
-
fontSize: "0.88rem",
|
|
4124
|
-
color,
|
|
4125
|
-
margin: "8px 0 0",
|
|
4126
|
-
lineHeight: 1.5,
|
|
4127
|
-
maxWidth: 280
|
|
4128
|
-
});
|
|
4129
|
-
var swipeHintStyle = (color) => ({
|
|
4130
|
-
textAlign: "center",
|
|
4131
|
-
fontSize: "0.8rem",
|
|
4132
|
-
color,
|
|
4133
|
-
margin: "12px 0 0"
|
|
4134
|
-
});
|
|
4135
4175
|
var MIN_DEPOSIT = 0.25;
|
|
4136
4176
|
function DepositScreen({
|
|
4137
4177
|
merchantName,
|
|
@@ -4142,8 +4182,6 @@ function DepositScreen({
|
|
|
4142
4182
|
remainingLimit,
|
|
4143
4183
|
tokenCount,
|
|
4144
4184
|
initialAmount,
|
|
4145
|
-
estimatedFeePct,
|
|
4146
|
-
estimatedFeeUsd,
|
|
4147
4185
|
processing,
|
|
4148
4186
|
error,
|
|
4149
4187
|
onDeposit,
|
|
@@ -4192,19 +4230,19 @@ function DepositScreen({
|
|
|
4192
4230
|
onAddProvider
|
|
4193
4231
|
}
|
|
4194
4232
|
),
|
|
4195
|
-
/* @__PURE__ */ jsx("div", { style:
|
|
4233
|
+
/* @__PURE__ */ jsx("div", { style: lowBalanceAmountDisplayStyle, children: /* @__PURE__ */ jsxs("span", { style: lowBalanceAmountStyle, children: [
|
|
4196
4234
|
"$",
|
|
4197
4235
|
amount.toFixed(2)
|
|
4198
4236
|
] }) }),
|
|
4199
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
4200
|
-
/* @__PURE__ */ jsxs("div", { style:
|
|
4201
|
-
/* @__PURE__ */ jsx("div", { style:
|
|
4237
|
+
/* @__PURE__ */ jsxs("div", { style: lowBalanceRowStyle, children: [
|
|
4238
|
+
/* @__PURE__ */ jsxs("div", { style: lowBalanceLeftStyle, children: [
|
|
4239
|
+
/* @__PURE__ */ jsx("div", { style: lowBalanceCoinStyle(tokens.warning), children: /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [
|
|
4202
4240
|
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor" }),
|
|
4203
4241
|
/* @__PURE__ */ jsx("text", { x: "12", y: "16", textAnchor: "middle", fontSize: "12", fill: "#fff", fontWeight: "700", children: "$" })
|
|
4204
4242
|
] }) }),
|
|
4205
4243
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
4206
|
-
/* @__PURE__ */ jsx("div", { style:
|
|
4207
|
-
/* @__PURE__ */ jsxs("div", { style: {
|
|
4244
|
+
/* @__PURE__ */ jsx("div", { style: lowBalanceLabelStyle(tokens.textMuted), children: selectedSourceLabel ?? "Available" }),
|
|
4245
|
+
/* @__PURE__ */ jsxs("div", { style: { fontSize: "1rem", fontWeight: 700, color: tokens.warning }, children: [
|
|
4208
4246
|
"$",
|
|
4209
4247
|
availableBalance.toFixed(2)
|
|
4210
4248
|
] })
|
|
@@ -4223,6 +4261,7 @@ function DepositScreen({
|
|
|
4223
4261
|
}
|
|
4224
4262
|
);
|
|
4225
4263
|
}
|
|
4264
|
+
const providerLogo = KNOWN_LOGOS[sourceName.toLowerCase()];
|
|
4226
4265
|
return /* @__PURE__ */ jsxs(
|
|
4227
4266
|
ScreenLayout,
|
|
4228
4267
|
{
|
|
@@ -4236,138 +4275,150 @@ function DepositScreen({
|
|
|
4236
4275
|
remainingLimit.toFixed(2),
|
|
4237
4276
|
". Increase your limit to continue."
|
|
4238
4277
|
] })
|
|
4239
|
-
] }) : /* @__PURE__ */ jsx(
|
|
4240
|
-
"Deposit $",
|
|
4241
|
-
amount.toFixed(2)
|
|
4242
|
-
] }) }),
|
|
4278
|
+
] }) : /* @__PURE__ */ jsx(PrimaryButton, { onClick: () => onDeposit(amount), disabled: !canDeposit, loading: processing, children: "Confirm" }),
|
|
4243
4279
|
/* @__PURE__ */ jsx(PoweredByFooter, {})
|
|
4244
4280
|
] }),
|
|
4245
4281
|
children: [
|
|
4246
|
-
/* @__PURE__ */ jsx(ScreenHeader, {
|
|
4247
|
-
/* @__PURE__ */ jsx(
|
|
4248
|
-
|
|
4249
|
-
{
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
] })
|
|
4277
|
-
] })
|
|
4282
|
+
/* @__PURE__ */ jsx(ScreenHeader, { onBack }),
|
|
4283
|
+
/* @__PURE__ */ jsx("div", { style: mascotWrapStyle, children: /* @__PURE__ */ jsx("img", { src: SWYPE_MASCOT, alt: "Swype", style: mascotStyle2 }) }),
|
|
4284
|
+
/* @__PURE__ */ jsxs("div", { style: depositCardStyle(tokens), children: [
|
|
4285
|
+
/* @__PURE__ */ jsx("div", { style: depositLabelStyle(tokens.textMuted), children: "Depositing" }),
|
|
4286
|
+
/* @__PURE__ */ jsxs("div", { style: amountRowStyle2, children: [
|
|
4287
|
+
/* @__PURE__ */ jsxs("div", { style: amountValueStyle(tokens.text), children: [
|
|
4288
|
+
"$",
|
|
4289
|
+
amount.toLocaleString("en-US", { minimumFractionDigits: 0, maximumFractionDigits: 2 })
|
|
4290
|
+
] }),
|
|
4291
|
+
/* @__PURE__ */ jsxs(
|
|
4292
|
+
"button",
|
|
4293
|
+
{
|
|
4294
|
+
type: "button",
|
|
4295
|
+
onClick: onSelectToken,
|
|
4296
|
+
style: tokenIconButtonStyle2(!!onSelectToken),
|
|
4297
|
+
children: [
|
|
4298
|
+
/* @__PURE__ */ jsxs("div", { style: tokenIconWrapStyle2, children: [
|
|
4299
|
+
/* @__PURE__ */ jsxs("svg", { width: "36", height: "36", viewBox: "0 0 36 36", fill: "none", children: [
|
|
4300
|
+
/* @__PURE__ */ jsx("circle", { cx: "18", cy: "18", r: "18", fill: "#2DB84B" }),
|
|
4301
|
+
/* @__PURE__ */ jsx("text", { x: "18", y: "23", textAnchor: "middle", fontSize: "18", fill: "#fff", fontWeight: "700", children: "$" })
|
|
4302
|
+
] }),
|
|
4303
|
+
/* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", style: checkBadgeStyle2, children: [
|
|
4304
|
+
/* @__PURE__ */ jsx("circle", { cx: "8", cy: "8", r: "8", fill: "#2775CA" }),
|
|
4305
|
+
/* @__PURE__ */ jsx("path", { d: "M5 8l2 2 4-4", stroke: "#fff", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
4306
|
+
] })
|
|
4307
|
+
] }),
|
|
4308
|
+
/* @__PURE__ */ jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", style: { opacity: 0.5 }, children: /* @__PURE__ */ jsx("path", { d: "M6 9l6 6 6-6", stroke: tokens.textMuted, strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }) })
|
|
4309
|
+
]
|
|
4310
|
+
}
|
|
4311
|
+
)
|
|
4278
4312
|
] }),
|
|
4279
|
-
|
|
4280
|
-
"
|
|
4281
|
-
{
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
tokenCount,
|
|
4288
|
-
" ",
|
|
4289
|
-
/* @__PURE__ */ jsx("span", { style: chevronInlineStyle, children: ">" })
|
|
4290
|
-
]
|
|
4291
|
-
}
|
|
4292
|
-
)
|
|
4313
|
+
/* @__PURE__ */ jsxs("div", { style: walletBalanceRowStyle, children: [
|
|
4314
|
+
providerLogo ? /* @__PURE__ */ jsx("img", { src: providerLogo, alt: sourceName, style: providerLogoStyle }) : /* @__PURE__ */ jsx("div", { style: providerFallbackStyle(tokens.textMuted), children: sourceName.charAt(0) }),
|
|
4315
|
+
/* @__PURE__ */ jsxs("span", { style: walletBalanceStyle(tokens.text), children: [
|
|
4316
|
+
"$",
|
|
4317
|
+
availableBalance.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })
|
|
4318
|
+
] }),
|
|
4319
|
+
/* @__PURE__ */ jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", style: { opacity: 0.4 }, children: /* @__PURE__ */ jsx("path", { d: "M7 10l5-5 5 5M7 14l5 5 5-5", stroke: tokens.textMuted, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })
|
|
4320
|
+
] })
|
|
4293
4321
|
] }),
|
|
4294
|
-
/* @__PURE__ */
|
|
4295
|
-
"
|
|
4322
|
+
/* @__PURE__ */ jsxs("div", { style: spendingLimitStyle(tokens.textMuted), children: [
|
|
4323
|
+
"Spending Limit",
|
|
4324
|
+
" ",
|
|
4296
4325
|
/* @__PURE__ */ jsxs("strong", { style: { color: tokens.text }, children: [
|
|
4297
4326
|
"$",
|
|
4298
|
-
remainingLimit.
|
|
4327
|
+
remainingLimit.toLocaleString("en-US", { minimumFractionDigits: 0, maximumFractionDigits: 0 })
|
|
4299
4328
|
] })
|
|
4300
|
-
] })
|
|
4329
|
+
] }),
|
|
4301
4330
|
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle5(tokens), children: error })
|
|
4302
4331
|
]
|
|
4303
4332
|
}
|
|
4304
4333
|
);
|
|
4305
4334
|
}
|
|
4306
|
-
var
|
|
4307
|
-
textAlign: "center",
|
|
4308
|
-
padding: "20px 0 8px"
|
|
4309
|
-
};
|
|
4310
|
-
var amountStyle = (opts) => ({
|
|
4311
|
-
fontSize: "2.5rem",
|
|
4312
|
-
fontWeight: 700,
|
|
4313
|
-
color: opts.dimmed ? "#ccc" : opts.text ?? "#12222b",
|
|
4314
|
-
letterSpacing: "-0.02em"
|
|
4315
|
-
});
|
|
4316
|
-
var balanceRowStyle2 = {
|
|
4335
|
+
var mascotWrapStyle = {
|
|
4317
4336
|
display: "flex",
|
|
4318
|
-
|
|
4319
|
-
justifyContent: "space-between",
|
|
4337
|
+
justifyContent: "center",
|
|
4320
4338
|
marginBottom: 16
|
|
4321
4339
|
};
|
|
4322
|
-
var
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
-
gap: 10
|
|
4340
|
+
var mascotStyle2 = {
|
|
4341
|
+
width: 36,
|
|
4342
|
+
height: 36
|
|
4326
4343
|
};
|
|
4327
|
-
var
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4344
|
+
var depositCardStyle = (tokens) => ({
|
|
4345
|
+
background: tokens.bgInput,
|
|
4346
|
+
border: `1px solid ${tokens.border}`,
|
|
4347
|
+
borderRadius: tokens.radiusLg,
|
|
4348
|
+
padding: "16px 20px",
|
|
4349
|
+
marginBottom: 20
|
|
4331
4350
|
});
|
|
4332
|
-
var
|
|
4333
|
-
fontSize: "0.
|
|
4351
|
+
var depositLabelStyle = (color) => ({
|
|
4352
|
+
fontSize: "0.75rem",
|
|
4353
|
+
fontWeight: 500,
|
|
4334
4354
|
color,
|
|
4335
|
-
|
|
4355
|
+
marginBottom: 4
|
|
4336
4356
|
});
|
|
4337
|
-
var
|
|
4338
|
-
|
|
4339
|
-
|
|
4357
|
+
var amountRowStyle2 = {
|
|
4358
|
+
display: "flex",
|
|
4359
|
+
alignItems: "center",
|
|
4360
|
+
justifyContent: "space-between",
|
|
4361
|
+
marginBottom: 12
|
|
4340
4362
|
};
|
|
4341
|
-
var
|
|
4363
|
+
var amountValueStyle = (color) => ({
|
|
4364
|
+
fontSize: "2.4rem",
|
|
4365
|
+
fontWeight: 700,
|
|
4366
|
+
letterSpacing: "-0.02em",
|
|
4367
|
+
color
|
|
4368
|
+
});
|
|
4369
|
+
var tokenIconButtonStyle2 = (clickable) => ({
|
|
4342
4370
|
display: "flex",
|
|
4343
4371
|
alignItems: "center",
|
|
4344
4372
|
gap: 4,
|
|
4345
|
-
fontSize: "0.78rem",
|
|
4346
|
-
color: tokens.textMuted,
|
|
4347
|
-
border: `1px solid ${tokens.border}`,
|
|
4348
|
-
borderRadius: 999,
|
|
4349
|
-
padding: "4px 10px",
|
|
4350
4373
|
background: "transparent",
|
|
4351
|
-
|
|
4352
|
-
cursor: clickable ? "pointer" : "default"
|
|
4374
|
+
border: "none",
|
|
4375
|
+
cursor: clickable ? "pointer" : "default",
|
|
4376
|
+
padding: 0,
|
|
4377
|
+
flexShrink: 0
|
|
4353
4378
|
});
|
|
4354
|
-
var
|
|
4355
|
-
|
|
4356
|
-
|
|
4379
|
+
var tokenIconWrapStyle2 = {
|
|
4380
|
+
position: "relative",
|
|
4381
|
+
width: 36,
|
|
4382
|
+
height: 36
|
|
4383
|
+
};
|
|
4384
|
+
var checkBadgeStyle2 = {
|
|
4385
|
+
position: "absolute",
|
|
4386
|
+
bottom: -1,
|
|
4387
|
+
right: -3
|
|
4388
|
+
};
|
|
4389
|
+
var walletBalanceRowStyle = {
|
|
4390
|
+
display: "flex",
|
|
4391
|
+
alignItems: "center",
|
|
4392
|
+
gap: 8
|
|
4393
|
+
};
|
|
4394
|
+
var providerLogoStyle = {
|
|
4395
|
+
width: 18,
|
|
4396
|
+
height: 18,
|
|
4397
|
+
borderRadius: "50%",
|
|
4398
|
+
objectFit: "contain"
|
|
4399
|
+
};
|
|
4400
|
+
var providerFallbackStyle = (color) => ({
|
|
4401
|
+
width: 18,
|
|
4402
|
+
height: 18,
|
|
4357
4403
|
borderRadius: "50%",
|
|
4358
|
-
|
|
4359
|
-
|
|
4404
|
+
display: "flex",
|
|
4405
|
+
alignItems: "center",
|
|
4406
|
+
justifyContent: "center",
|
|
4407
|
+
fontSize: "0.65rem",
|
|
4408
|
+
fontWeight: 700,
|
|
4409
|
+
color,
|
|
4410
|
+
flexShrink: 0
|
|
4411
|
+
});
|
|
4412
|
+
var walletBalanceStyle = (color) => ({
|
|
4413
|
+
fontSize: "0.9rem",
|
|
4414
|
+
fontWeight: 600,
|
|
4415
|
+
color
|
|
4360
4416
|
});
|
|
4361
|
-
var
|
|
4362
|
-
var detailsStyle = {
|
|
4417
|
+
var spendingLimitStyle = (color) => ({
|
|
4363
4418
|
textAlign: "center",
|
|
4364
|
-
|
|
4365
|
-
marginBottom: 8
|
|
4366
|
-
};
|
|
4367
|
-
var detailRowStyle = (color) => ({
|
|
4368
|
-
fontSize: "0.8rem",
|
|
4419
|
+
fontSize: "0.84rem",
|
|
4369
4420
|
color,
|
|
4370
|
-
marginBottom:
|
|
4421
|
+
marginBottom: 8
|
|
4371
4422
|
});
|
|
4372
4423
|
var errorBannerStyle5 = (tokens) => ({
|
|
4373
4424
|
background: tokens.errorBg,
|
|
@@ -4395,6 +4446,37 @@ var switchHintStyle = (color) => ({
|
|
|
4395
4446
|
var outlineBtnWrapStyle = {
|
|
4396
4447
|
marginBottom: 8
|
|
4397
4448
|
};
|
|
4449
|
+
var lowBalanceAmountDisplayStyle = {
|
|
4450
|
+
textAlign: "center",
|
|
4451
|
+
padding: "20px 0 8px"
|
|
4452
|
+
};
|
|
4453
|
+
var lowBalanceAmountStyle = {
|
|
4454
|
+
fontSize: "2.5rem",
|
|
4455
|
+
fontWeight: 700,
|
|
4456
|
+
color: "#ccc",
|
|
4457
|
+
letterSpacing: "-0.02em"
|
|
4458
|
+
};
|
|
4459
|
+
var lowBalanceRowStyle = {
|
|
4460
|
+
display: "flex",
|
|
4461
|
+
alignItems: "center",
|
|
4462
|
+
justifyContent: "space-between",
|
|
4463
|
+
marginBottom: 16
|
|
4464
|
+
};
|
|
4465
|
+
var lowBalanceLeftStyle = {
|
|
4466
|
+
display: "flex",
|
|
4467
|
+
alignItems: "center",
|
|
4468
|
+
gap: 10
|
|
4469
|
+
};
|
|
4470
|
+
var lowBalanceCoinStyle = (color) => ({
|
|
4471
|
+
color,
|
|
4472
|
+
display: "flex",
|
|
4473
|
+
alignItems: "center"
|
|
4474
|
+
});
|
|
4475
|
+
var lowBalanceLabelStyle = (color) => ({
|
|
4476
|
+
fontSize: "0.72rem",
|
|
4477
|
+
color,
|
|
4478
|
+
fontWeight: 500
|
|
4479
|
+
});
|
|
4398
4480
|
function SuccessScreen({
|
|
4399
4481
|
amount,
|
|
4400
4482
|
currency,
|
|
@@ -4464,14 +4546,14 @@ function SuccessScreen({
|
|
|
4464
4546
|
amount.toFixed(2),
|
|
4465
4547
|
" deposited"
|
|
4466
4548
|
] }),
|
|
4467
|
-
merchantName && /* @__PURE__ */ jsxs("p", { style:
|
|
4549
|
+
merchantName && /* @__PURE__ */ jsxs("p", { style: subtitleStyle4(tokens.textSecondary), children: [
|
|
4468
4550
|
"to ",
|
|
4469
4551
|
merchantName
|
|
4470
4552
|
] })
|
|
4471
4553
|
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4472
4554
|
/* @__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 }) }) }),
|
|
4473
4555
|
/* @__PURE__ */ jsx("h2", { style: headingStyle7(tokens.text), children: "Transfer failed" }),
|
|
4474
|
-
error && /* @__PURE__ */ jsx("p", { style:
|
|
4556
|
+
error && /* @__PURE__ */ jsx("p", { style: subtitleStyle4(tokens.error), children: error })
|
|
4475
4557
|
] }),
|
|
4476
4558
|
/* @__PURE__ */ jsxs("div", { style: summaryCardStyle(tokens), children: [
|
|
4477
4559
|
sourceName && /* @__PURE__ */ jsxs("div", { style: summaryRowStyle, children: [
|
|
@@ -4517,7 +4599,7 @@ var headingStyle7 = (color) => ({
|
|
|
4517
4599
|
color,
|
|
4518
4600
|
margin: "20px 0 4px"
|
|
4519
4601
|
});
|
|
4520
|
-
var
|
|
4602
|
+
var subtitleStyle4 = (color) => ({
|
|
4521
4603
|
fontSize: "0.9rem",
|
|
4522
4604
|
color,
|
|
4523
4605
|
margin: "0 0 20px"
|
|
@@ -4625,8 +4707,8 @@ function SelectSourceScreen({
|
|
|
4625
4707
|
right: /* @__PURE__ */ jsx(SettingsMenu, { onLogout })
|
|
4626
4708
|
}
|
|
4627
4709
|
),
|
|
4628
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
4629
|
-
/* @__PURE__ */ jsx("label", { style:
|
|
4710
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle5(tokens.textMuted), children: "Choose which chain and token to pay from." }),
|
|
4711
|
+
/* @__PURE__ */ jsx("label", { style: labelStyle3(tokens.textSecondary), children: "Chain" }),
|
|
4630
4712
|
/* @__PURE__ */ jsx("div", { style: optionListStyle, children: choices.map((chain) => {
|
|
4631
4713
|
const isSelected = chain.chainName === selectedChainName;
|
|
4632
4714
|
const isRecommended = chain.chainName === recommended?.chainName;
|
|
@@ -4654,7 +4736,7 @@ function SelectSourceScreen({
|
|
|
4654
4736
|
);
|
|
4655
4737
|
}) }),
|
|
4656
4738
|
tokenChoices.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4657
|
-
/* @__PURE__ */ jsx("label", { style:
|
|
4739
|
+
/* @__PURE__ */ jsx("label", { style: labelStyle3(tokens.textSecondary), children: "Token" }),
|
|
4658
4740
|
/* @__PURE__ */ jsx("div", { style: optionListStyle, children: tokenChoices.map((token) => {
|
|
4659
4741
|
const isSelected = token.tokenSymbol === selectedTokenSymbol;
|
|
4660
4742
|
return /* @__PURE__ */ jsxs(
|
|
@@ -4682,13 +4764,13 @@ function SelectSourceScreen({
|
|
|
4682
4764
|
}
|
|
4683
4765
|
);
|
|
4684
4766
|
}
|
|
4685
|
-
var
|
|
4767
|
+
var subtitleStyle5 = (color) => ({
|
|
4686
4768
|
fontSize: "0.85rem",
|
|
4687
4769
|
color,
|
|
4688
4770
|
margin: "0 0 20px",
|
|
4689
4771
|
lineHeight: 1.5
|
|
4690
4772
|
});
|
|
4691
|
-
var
|
|
4773
|
+
var labelStyle3 = (color) => ({
|
|
4692
4774
|
display: "block",
|
|
4693
4775
|
fontSize: "0.75rem",
|
|
4694
4776
|
fontWeight: 600,
|
|
@@ -4798,8 +4880,8 @@ function AdvancedSourceScreen({
|
|
|
4798
4880
|
}
|
|
4799
4881
|
),
|
|
4800
4882
|
/* @__PURE__ */ jsx("h2", { style: headingStyle8(tokens.text), children: "Set up One-Tap deposits" }),
|
|
4801
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
4802
|
-
/* @__PURE__ */ jsx("label", { style:
|
|
4883
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle6(tokens.textSecondary), children: "Select a token source for your One-Tap deposits." }),
|
|
4884
|
+
/* @__PURE__ */ jsx("label", { style: labelStyle4(tokens.textSecondary), children: "Select tokens to approve" }),
|
|
4803
4885
|
/* @__PURE__ */ jsx("div", { style: chainListStyle, children: choices.map((chain) => {
|
|
4804
4886
|
const isExpanded = expandedChain === chain.chainName;
|
|
4805
4887
|
const chainHasSelection = localChain === chain.chainName;
|
|
@@ -4868,13 +4950,13 @@ var headingStyle8 = (color) => ({
|
|
|
4868
4950
|
color,
|
|
4869
4951
|
margin: "8px 0 4px"
|
|
4870
4952
|
});
|
|
4871
|
-
var
|
|
4953
|
+
var subtitleStyle6 = (color) => ({
|
|
4872
4954
|
fontSize: "0.86rem",
|
|
4873
4955
|
color,
|
|
4874
4956
|
margin: "0 0 20px",
|
|
4875
4957
|
lineHeight: 1.5
|
|
4876
4958
|
});
|
|
4877
|
-
var
|
|
4959
|
+
var labelStyle4 = (color) => ({
|
|
4878
4960
|
display: "block",
|
|
4879
4961
|
fontSize: "0.75rem",
|
|
4880
4962
|
fontWeight: 600,
|
|
@@ -4989,19 +5071,17 @@ function buildSteps(phase) {
|
|
|
4989
5071
|
}
|
|
4990
5072
|
function TransferStatusScreen({
|
|
4991
5073
|
phase,
|
|
4992
|
-
error
|
|
4993
|
-
onLogout
|
|
5074
|
+
error
|
|
4994
5075
|
}) {
|
|
4995
5076
|
const { tokens } = useSwypeConfig();
|
|
4996
5077
|
const steps = buildSteps(phase);
|
|
4997
|
-
return /* @__PURE__ */ jsxs(ScreenLayout, { children: [
|
|
4998
|
-
/* @__PURE__ */ jsx(ScreenHeader, {
|
|
5078
|
+
return /* @__PURE__ */ jsxs(ScreenLayout, { footer: /* @__PURE__ */ jsx(PoweredByFooter, {}), children: [
|
|
5079
|
+
/* @__PURE__ */ jsx(ScreenHeader, {}),
|
|
4999
5080
|
/* @__PURE__ */ jsxs("div", { style: contentStyle7, children: [
|
|
5000
|
-
/* @__PURE__ */ jsx(Spinner, { size:
|
|
5001
|
-
/* @__PURE__ */ jsx("h2", { style: headingStyle9(tokens.text), children: "
|
|
5081
|
+
/* @__PURE__ */ jsx(Spinner, { size: 64 }),
|
|
5082
|
+
/* @__PURE__ */ jsx("h2", { style: headingStyle9(tokens.text), children: "Depositing your money..." }),
|
|
5002
5083
|
error && /* @__PURE__ */ jsx("div", { style: errorBannerStyle6(tokens), children: error }),
|
|
5003
|
-
/* @__PURE__ */ jsx("div", { style: stepsWrapStyle2, children: /* @__PURE__ */ jsx(StepList, { steps }) })
|
|
5004
|
-
/* @__PURE__ */ jsx("p", { style: waitHintStyle2(tokens.textMuted), children: "Usually takes a few seconds" })
|
|
5084
|
+
/* @__PURE__ */ jsx("div", { style: stepsWrapStyle2, children: /* @__PURE__ */ jsx(StepList, { steps }) })
|
|
5005
5085
|
] })
|
|
5006
5086
|
] });
|
|
5007
5087
|
}
|
|
@@ -5039,11 +5119,6 @@ var stepsWrapStyle2 = {
|
|
|
5039
5119
|
textAlign: "left",
|
|
5040
5120
|
marginBottom: 16
|
|
5041
5121
|
};
|
|
5042
|
-
var waitHintStyle2 = (color) => ({
|
|
5043
|
-
fontSize: "0.82rem",
|
|
5044
|
-
color,
|
|
5045
|
-
margin: 0
|
|
5046
|
-
});
|
|
5047
5122
|
|
|
5048
5123
|
// src/deeplink.ts
|
|
5049
5124
|
var IFRAME_CLEANUP_DELAY_MS = 3e3;
|
|
@@ -5100,14 +5175,15 @@ function OpenWalletScreen({
|
|
|
5100
5175
|
displayName
|
|
5101
5176
|
] }),
|
|
5102
5177
|
error && onRetryStatus && /* @__PURE__ */ jsx(OutlineButton, { onClick: onRetryStatus, children: "Retry status check" }),
|
|
5103
|
-
/* @__PURE__ */ jsx("p", { style: hintStyle(tokens.textMuted), children: loading ? "Preparing authorization..." : error ? "Retry the status check after returning to the browser, or reopen your wallet if needed." : "If your wallet didn't open automatically, tap the button above" })
|
|
5178
|
+
/* @__PURE__ */ jsx("p", { style: hintStyle(tokens.textMuted), children: loading ? "Preparing authorization..." : error ? "Retry the status check after returning to the browser, or reopen your wallet if needed." : "If your wallet didn't open automatically, tap the button above" }),
|
|
5179
|
+
/* @__PURE__ */ jsx(PoweredByFooter, {})
|
|
5104
5180
|
] }),
|
|
5105
5181
|
children: [
|
|
5106
5182
|
/* @__PURE__ */ jsx(ScreenHeader, { onBack, right: /* @__PURE__ */ jsx(SettingsMenu, { onLogout }) }),
|
|
5107
5183
|
/* @__PURE__ */ jsxs("div", { style: contentStyle8, children: [
|
|
5108
|
-
logoSrc ? /* @__PURE__ */ jsx("img", { src: logoSrc, alt: displayName, style: logoStyle2 }) : /* @__PURE__ */ jsx(Spinner, { size:
|
|
5184
|
+
/* @__PURE__ */ jsx("div", { style: logoCircleStyle(tokens.bgInput), children: logoSrc ? /* @__PURE__ */ jsx("img", { src: logoSrc, alt: displayName, style: logoStyle2 }) : /* @__PURE__ */ jsx(Spinner, { size: 32 }) }),
|
|
5109
5185
|
/* @__PURE__ */ jsx("h2", { style: headingStyle10(tokens.text), children: loading ? "Connecting..." : `Open ${displayName}` }),
|
|
5110
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
5186
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle7(tokens.textSecondary), children: loading ? "Creating transfer and preparing your wallet link..." : `Continue in ${displayName} to authorize this connection.` }),
|
|
5111
5187
|
!loading && /* @__PURE__ */ jsxs("div", { style: waitingBadgeStyle(tokens), children: [
|
|
5112
5188
|
/* @__PURE__ */ jsx(Spinner, { size: 14 }),
|
|
5113
5189
|
/* @__PURE__ */ jsx("span", { children: "Waiting for authorization..." })
|
|
@@ -5131,10 +5207,20 @@ var footerContentStyle = {
|
|
|
5131
5207
|
flexDirection: "column",
|
|
5132
5208
|
gap: 12
|
|
5133
5209
|
};
|
|
5210
|
+
var logoCircleStyle = (bg) => ({
|
|
5211
|
+
width: 80,
|
|
5212
|
+
height: 80,
|
|
5213
|
+
borderRadius: "50%",
|
|
5214
|
+
background: bg,
|
|
5215
|
+
display: "flex",
|
|
5216
|
+
alignItems: "center",
|
|
5217
|
+
justifyContent: "center",
|
|
5218
|
+
flexShrink: 0
|
|
5219
|
+
});
|
|
5134
5220
|
var logoStyle2 = {
|
|
5135
|
-
width:
|
|
5136
|
-
height:
|
|
5137
|
-
borderRadius:
|
|
5221
|
+
width: 48,
|
|
5222
|
+
height: 48,
|
|
5223
|
+
borderRadius: 12,
|
|
5138
5224
|
objectFit: "contain"
|
|
5139
5225
|
};
|
|
5140
5226
|
var headingStyle10 = (color) => ({
|
|
@@ -5144,7 +5230,7 @@ var headingStyle10 = (color) => ({
|
|
|
5144
5230
|
color,
|
|
5145
5231
|
margin: "20px 0 8px"
|
|
5146
5232
|
});
|
|
5147
|
-
var
|
|
5233
|
+
var subtitleStyle7 = (color) => ({
|
|
5148
5234
|
fontSize: "0.9rem",
|
|
5149
5235
|
color,
|
|
5150
5236
|
margin: "0 0 24px",
|
|
@@ -5191,7 +5277,7 @@ function ConfirmSignScreen({
|
|
|
5191
5277
|
/* @__PURE__ */ jsxs("div", { style: contentStyle9, children: [
|
|
5192
5278
|
logoSrc ? /* @__PURE__ */ jsx("img", { src: logoSrc, alt: displayName, style: logoStyle3 }) : /* @__PURE__ */ jsx(Spinner, { size: 48 }),
|
|
5193
5279
|
/* @__PURE__ */ jsx("h2", { style: headingStyle11(tokens.text), children: "Wallet authorized" }),
|
|
5194
|
-
/* @__PURE__ */ jsxs("p", { style:
|
|
5280
|
+
/* @__PURE__ */ jsxs("p", { style: subtitleStyle8(tokens.textSecondary), children: [
|
|
5195
5281
|
displayName,
|
|
5196
5282
|
" approved the connection. Tap below to confirm your payment."
|
|
5197
5283
|
] }),
|
|
@@ -5226,7 +5312,7 @@ var headingStyle11 = (color) => ({
|
|
|
5226
5312
|
color,
|
|
5227
5313
|
margin: "20px 0 8px"
|
|
5228
5314
|
});
|
|
5229
|
-
var
|
|
5315
|
+
var subtitleStyle8 = (color) => ({
|
|
5230
5316
|
fontSize: "0.9rem",
|
|
5231
5317
|
color,
|
|
5232
5318
|
margin: "0 0 24px",
|
|
@@ -5324,7 +5410,7 @@ function TokenPickerScreen({
|
|
|
5324
5410
|
] }),
|
|
5325
5411
|
children: [
|
|
5326
5412
|
/* @__PURE__ */ jsx(ScreenHeader, { title: "Select Token", onBack }),
|
|
5327
|
-
/* @__PURE__ */ jsx("p", { style:
|
|
5413
|
+
/* @__PURE__ */ jsx("p", { style: subtitleStyle9(themeTokens.textSecondary), children: "Choose a token to deposit with. Tokens that haven't been authorized yet will require a one-time wallet approval." }),
|
|
5328
5414
|
/* @__PURE__ */ jsx("div", { style: chainListStyle2, children: [...chainGroups.entries()].map(([chainName, chainEntries]) => {
|
|
5329
5415
|
const isExpanded = expandedChain === chainName;
|
|
5330
5416
|
const chainTotal = chainEntries.reduce((sum, e) => sum + e.balance, 0);
|
|
@@ -5343,7 +5429,7 @@ function TokenPickerScreen({
|
|
|
5343
5429
|
chainTotal.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })
|
|
5344
5430
|
] })
|
|
5345
5431
|
] }),
|
|
5346
|
-
/* @__PURE__ */ jsx("span", { style:
|
|
5432
|
+
/* @__PURE__ */ jsx("span", { style: chevronStyle(themeTokens.textMuted), children: isExpanded ? "\u25BE" : "\u25B8" })
|
|
5347
5433
|
]
|
|
5348
5434
|
}
|
|
5349
5435
|
),
|
|
@@ -5380,7 +5466,7 @@ function TokenPickerScreen({
|
|
|
5380
5466
|
}
|
|
5381
5467
|
);
|
|
5382
5468
|
}
|
|
5383
|
-
var
|
|
5469
|
+
var subtitleStyle9 = (color) => ({
|
|
5384
5470
|
fontSize: "0.86rem",
|
|
5385
5471
|
color,
|
|
5386
5472
|
margin: "0 0 20px",
|
|
@@ -5423,7 +5509,7 @@ var chainBalanceStyle2 = (color) => ({
|
|
|
5423
5509
|
fontSize: "0.76rem",
|
|
5424
5510
|
color
|
|
5425
5511
|
});
|
|
5426
|
-
var
|
|
5512
|
+
var chevronStyle = (color) => ({
|
|
5427
5513
|
fontSize: "0.9rem",
|
|
5428
5514
|
color
|
|
5429
5515
|
});
|
|
@@ -5491,7 +5577,34 @@ var radioDotStyle3 = (color) => ({
|
|
|
5491
5577
|
borderRadius: "50%",
|
|
5492
5578
|
background: color
|
|
5493
5579
|
});
|
|
5494
|
-
|
|
5580
|
+
var LINK_STEPS = /* @__PURE__ */ new Set([
|
|
5581
|
+
"create-passkey",
|
|
5582
|
+
"verify-passkey",
|
|
5583
|
+
"wallet-picker",
|
|
5584
|
+
"open-wallet",
|
|
5585
|
+
"setup-status",
|
|
5586
|
+
"setup",
|
|
5587
|
+
"confirm-sign"
|
|
5588
|
+
]);
|
|
5589
|
+
var DEPOSIT_STEPS = /* @__PURE__ */ new Set([
|
|
5590
|
+
"deposit",
|
|
5591
|
+
"low-balance",
|
|
5592
|
+
"processing",
|
|
5593
|
+
"success"
|
|
5594
|
+
]);
|
|
5595
|
+
function getFlowPhase(step, previousStep) {
|
|
5596
|
+
if (LINK_STEPS.has(step)) return "link";
|
|
5597
|
+
if (DEPOSIT_STEPS.has(step)) return "deposit";
|
|
5598
|
+
if (step === "token-picker" || step === "select-source") {
|
|
5599
|
+
return previousStep === "setup" ? "link" : "deposit";
|
|
5600
|
+
}
|
|
5601
|
+
return null;
|
|
5602
|
+
}
|
|
5603
|
+
function StepRenderer(props) {
|
|
5604
|
+
const phase = getFlowPhase(props.state.step, props.state.previousStep);
|
|
5605
|
+
return /* @__PURE__ */ jsx(FlowPhaseProvider, { phase, children: /* @__PURE__ */ jsx(StepRendererContent, { ...props }) });
|
|
5606
|
+
}
|
|
5607
|
+
function StepRendererContent({
|
|
5495
5608
|
state,
|
|
5496
5609
|
ready,
|
|
5497
5610
|
authenticated,
|
|
@@ -5838,7 +5951,7 @@ var PaymentErrorBoundary = class extends Component {
|
|
|
5838
5951
|
if (!this.state.hasError) {
|
|
5839
5952
|
return this.props.children;
|
|
5840
5953
|
}
|
|
5841
|
-
return /* @__PURE__ */ jsxs("div", { style:
|
|
5954
|
+
return /* @__PURE__ */ jsxs("div", { style: containerStyle9, children: [
|
|
5842
5955
|
/* @__PURE__ */ jsx("div", { style: iconStyle4, children: /* @__PURE__ */ jsxs("svg", { width: "48", height: "48", viewBox: "0 0 24 24", fill: "none", children: [
|
|
5843
5956
|
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", stroke: "#ef4444", strokeWidth: "1.5" }),
|
|
5844
5957
|
/* @__PURE__ */ jsx("path", { d: "M12 8v5", stroke: "#ef4444", strokeWidth: "1.5", strokeLinecap: "round" }),
|
|
@@ -5850,7 +5963,7 @@ var PaymentErrorBoundary = class extends Component {
|
|
|
5850
5963
|
] });
|
|
5851
5964
|
}
|
|
5852
5965
|
};
|
|
5853
|
-
var
|
|
5966
|
+
var containerStyle9 = {
|
|
5854
5967
|
display: "flex",
|
|
5855
5968
|
flexDirection: "column",
|
|
5856
5969
|
alignItems: "center",
|
|
@@ -7827,6 +7940,6 @@ function SwypePaymentInner({
|
|
|
7827
7940
|
);
|
|
7828
7941
|
}
|
|
7829
7942
|
|
|
7830
|
-
export { AdvancedSourceScreen, IconCircle, InfoBanner, OutlineButton, PasskeyIframeBlockedError, PasskeyScreen, PoweredByFooter, PrimaryButton, ScreenHeader, ScreenLayout, SelectSourceScreen, SettingsMenu, SetupScreen, Spinner, StepList, SwypeLoadingScreen, SwypePayment, SwypeProvider, TokenPickerScreen, buildPasskeyPopupOptions, createPasskeyCredential, createPasskeyViaPopup, darkTheme, deviceHasPasskey, findDevicePasskey, findDevicePasskeyViaPopup, getTheme, lightTheme, resolvePasskeyRpId, api_exports as swypeApi, useAuthorizationExecutor, useSwypeConfig, useSwypeDepositAmount, useTransferPolling, useTransferSigning };
|
|
7943
|
+
export { AdvancedSourceScreen, FlowPhaseProvider, IconCircle, InfoBanner, OutlineButton, PasskeyIframeBlockedError, PasskeyScreen, PoweredByFooter, PrimaryButton, SWYPE_LOGO, SWYPE_MASCOT, ScreenHeader, ScreenLayout, SelectSourceScreen, SettingsMenu, SetupScreen, Spinner, StepList, SwypeLoadingScreen, SwypePayment, SwypeProvider, TokenPickerScreen, buildPasskeyPopupOptions, createPasskeyCredential, createPasskeyViaPopup, darkTheme, deviceHasPasskey, findDevicePasskey, findDevicePasskeyViaPopup, getTheme, lightTheme, resolvePasskeyRpId, api_exports as swypeApi, useAuthorizationExecutor, useSwypeConfig, useSwypeDepositAmount, useTransferPolling, useTransferSigning };
|
|
7831
7944
|
//# sourceMappingURL=index.js.map
|
|
7832
7945
|
//# sourceMappingURL=index.js.map
|