@swype-org/react-sdk 0.2.360 → 0.2.364

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 CHANGED
@@ -8607,25 +8607,45 @@ function SettingsMenu({ onLogout }) {
8607
8607
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "2", fill: "currentColor" }),
8608
8608
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "19", r: "2", fill: "currentColor" })
8609
8609
  ] }) }),
8610
- open && /* @__PURE__ */ jsxRuntime.jsx("div", { style: dropdownStyle(tokens), children: /* @__PURE__ */ jsxRuntime.jsxs(
8611
- "button",
8612
- {
8613
- type: "button",
8614
- onClick: () => {
8615
- setOpen(false);
8616
- onLogout();
8617
- },
8618
- style: menuItemStyle(tokens),
8619
- children: [
8620
- /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", style: { marginRight: 8, flexShrink: 0 }, children: [
8621
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4", stroke: tokens.error, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
8622
- /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "16 17 21 12 16 7", stroke: tokens.error, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
8623
- /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "21", y1: "12", x2: "9", y2: "12", stroke: tokens.error, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })
8624
- ] }),
8625
- "Log out"
8626
- ]
8627
- }
8628
- ) })
8610
+ open && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: dropdownStyle(tokens), children: [
8611
+ /* @__PURE__ */ jsxRuntime.jsxs(
8612
+ "a",
8613
+ {
8614
+ href: "https://intercom.help/blinkcash/en/",
8615
+ target: "_blank",
8616
+ rel: "noopener noreferrer",
8617
+ onClick: () => setOpen(false),
8618
+ style: menuItemStyle(tokens.text),
8619
+ children: [
8620
+ /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", style: { marginRight: 8, flexShrink: 0 }, children: [
8621
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9", stroke: tokens.text, strokeWidth: "2" }),
8622
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.5 9a2.5 2.5 0 014.5 1.5c0 1.5-2 2-2 3", stroke: tokens.text, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
8623
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: tokens.text })
8624
+ ] }),
8625
+ "Help"
8626
+ ]
8627
+ }
8628
+ ),
8629
+ /* @__PURE__ */ jsxRuntime.jsxs(
8630
+ "button",
8631
+ {
8632
+ type: "button",
8633
+ onClick: () => {
8634
+ setOpen(false);
8635
+ onLogout();
8636
+ },
8637
+ style: menuItemStyle(tokens.error),
8638
+ children: [
8639
+ /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", style: { marginRight: 8, flexShrink: 0 }, children: [
8640
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4", stroke: tokens.error, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
8641
+ /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "16 17 21 12 16 7", stroke: tokens.error, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
8642
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "21", y1: "12", x2: "9", y2: "12", stroke: tokens.error, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })
8643
+ ] }),
8644
+ "Log out"
8645
+ ]
8646
+ }
8647
+ )
8648
+ ] })
8629
8649
  ] });
8630
8650
  }
8631
8651
  var containerStyle2 = {
@@ -8644,7 +8664,7 @@ var dropdownStyle = (tokens) => ({
8644
8664
  zIndex: 100,
8645
8665
  overflow: "hidden"
8646
8666
  });
8647
- var menuItemStyle = (tokens) => ({
8667
+ var menuItemStyle = (color) => ({
8648
8668
  width: "100%",
8649
8669
  display: "flex",
8650
8670
  alignItems: "center",
@@ -8655,7 +8675,9 @@ var menuItemStyle = (tokens) => ({
8655
8675
  fontFamily: "inherit",
8656
8676
  fontSize: "0.85rem",
8657
8677
  fontWeight: 500,
8658
- color: tokens.error
8678
+ color,
8679
+ textDecoration: "none",
8680
+ boxSizing: "border-box"
8659
8681
  });
8660
8682
  function ScreenHeader({ title, right, onBack, left, badge, onLogout, center }) {
8661
8683
  const { tokens } = useBlinkConfig();
@@ -9168,8 +9190,11 @@ var TOKEN_LOGOS = {
9168
9190
  };
9169
9191
  var CHAIN_LOGOS = {
9170
9192
  base: BASE_CHAIN_LOGO,
9193
+ // Testnets use the parent chain's logo (sandbox/smokebox environments).
9194
+ "base sepolia": BASE_CHAIN_LOGO,
9171
9195
  ethereum: ETHEREUM_CHAIN_LOGO,
9172
9196
  "ethereum mainnet": ETHEREUM_CHAIN_LOGO,
9197
+ sepolia: ETHEREUM_CHAIN_LOGO,
9173
9198
  polygon: POLYGON_CHAIN_LOGO,
9174
9199
  "polygon mainnet": POLYGON_CHAIN_LOGO,
9175
9200
  arbitrum: ARBITRUM_CHAIN_LOGO,
@@ -10604,6 +10629,38 @@ function FaceIdIcon({ size = 24 }) {
10604
10629
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.5 16c.7.6 1.6 1 2.5 1s1.8-.4 2.5-1", stroke: "currentColor", strokeWidth: "1.7", strokeLinecap: "round" })
10605
10630
  ] });
10606
10631
  }
10632
+ function WalletIcon() {
10633
+ return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
10634
+ /* @__PURE__ */ jsxRuntime.jsx(
10635
+ "path",
10636
+ {
10637
+ d: "M4 7.5A2.5 2.5 0 0 1 6.5 5h11A2.5 2.5 0 0 1 20 7.5v9A2.5 2.5 0 0 1 17.5 19h-11A2.5 2.5 0 0 1 4 16.5v-9Zm2.5-1a1 1 0 0 0-1 1V9h13v-1.5a1 1 0 0 0-1-1h-11ZM5.5 10.5v6a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1v-6h-13Z",
10638
+ fill: "currentColor"
10639
+ }
10640
+ ),
10641
+ /* @__PURE__ */ jsxRuntime.jsx(
10642
+ "path",
10643
+ {
10644
+ d: "M14.5 13.75a.75.75 0 0 1 .75-.75h2a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1-.75-.75Z",
10645
+ fill: "currentColor"
10646
+ }
10647
+ )
10648
+ ] });
10649
+ }
10650
+ function QrIcon({ color = "currentColor" } = {}) {
10651
+ return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
10652
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3.5", y: "3.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
10653
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "6", y: "6", width: "2", height: "2", fill: color }),
10654
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13.5", y: "3.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
10655
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "16", y: "6", width: "2", height: "2", fill: color }),
10656
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3.5", y: "13.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
10657
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "6", y: "16", width: "2", height: "2", fill: color }),
10658
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13.5", y: "13.5", width: "2.5", height: "2.5", fill: color }),
10659
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "18", y: "13.5", width: "2.5", height: "2.5", fill: color }),
10660
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13.5", y: "18", width: "2.5", height: "2.5", fill: color }),
10661
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "18", y: "18", width: "2.5", height: "2.5", fill: color })
10662
+ ] });
10663
+ }
10607
10664
  function LogoCircle({ src, fallback, preserveShape, size = 36 }) {
10608
10665
  const { tokens } = useBlinkConfig();
10609
10666
  return /* @__PURE__ */ jsxRuntime.jsx("span", { style: logoCircleStyle(size, tokens.bgCard, tokens.textMuted), children: src ? /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt: "", style: logoImageStyle(preserveShape) }) : fallback });
@@ -11289,7 +11346,7 @@ function DepositOptionsScreen({
11289
11346
  ),
11290
11347
  children: [
11291
11348
  /* @__PURE__ */ jsxRuntime.jsx("span", { style: manualLabelStyle(tokens.text), children: "Send Crypto Manually" }),
11292
- /* @__PURE__ */ jsxRuntime.jsx(QrIcon, { color: tokens.text })
11349
+ /* @__PURE__ */ jsxRuntime.jsx(QrIcon2, { color: tokens.text })
11293
11350
  ]
11294
11351
  }
11295
11352
  )
@@ -11297,7 +11354,7 @@ function DepositOptionsScreen({
11297
11354
  ] })
11298
11355
  ] });
11299
11356
  }
11300
- function QrIcon({ color }) {
11357
+ function QrIcon2({ color }) {
11301
11358
  return /* @__PURE__ */ jsxRuntime.jsxs(
11302
11359
  "svg",
11303
11360
  {
@@ -11487,7 +11544,7 @@ function WelcomeBackScreen({
11487
11544
  ),
11488
11545
  children: [
11489
11546
  /* @__PURE__ */ jsxRuntime.jsx("span", { style: manualLabelStyle2(tokens.text), children: "Send Crypto Manually" }),
11490
- /* @__PURE__ */ jsxRuntime.jsx(QrIcon2, { color: tokens.text })
11547
+ /* @__PURE__ */ jsxRuntime.jsx(QrIcon3, { color: tokens.text })
11491
11548
  ]
11492
11549
  }
11493
11550
  )
@@ -11495,7 +11552,7 @@ function WelcomeBackScreen({
11495
11552
  ] })
11496
11553
  ] });
11497
11554
  }
11498
- function QrIcon2({ color }) {
11555
+ function QrIcon3({ color }) {
11499
11556
  return /* @__PURE__ */ jsxRuntime.jsxs(
11500
11557
  "svg",
11501
11558
  {
@@ -13605,7 +13662,7 @@ function SelectDepositSourceScreen({
13605
13662
  label: "Send manually",
13606
13663
  color: tokens.text,
13607
13664
  onClick: onSendManually,
13608
- icon: /* @__PURE__ */ jsxRuntime.jsx(QrIcon3, { color: tokens.text })
13665
+ icon: /* @__PURE__ */ jsxRuntime.jsx(QrIcon, { color: tokens.text })
13609
13666
  }
13610
13667
  ),
13611
13668
  onAddProvider && /* @__PURE__ */ jsxRuntime.jsx(
@@ -13721,38 +13778,6 @@ function ActionRow({
13721
13778
  }
13722
13779
  );
13723
13780
  }
13724
- function QrIcon3({ color }) {
13725
- return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
13726
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3.5", y: "3.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
13727
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "6", y: "6", width: "2", height: "2", fill: color }),
13728
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13.5", y: "3.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
13729
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "16", y: "6", width: "2", height: "2", fill: color }),
13730
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3.5", y: "13.5", width: "7", height: "7", rx: "1", stroke: color, strokeWidth: "1.4" }),
13731
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "6", y: "16", width: "2", height: "2", fill: color }),
13732
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13.5", y: "13.5", width: "2.5", height: "2.5", fill: color }),
13733
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "18", y: "13.5", width: "2.5", height: "2.5", fill: color }),
13734
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13.5", y: "18", width: "2.5", height: "2.5", fill: color }),
13735
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "18", y: "18", width: "2.5", height: "2.5", fill: color })
13736
- ] });
13737
- }
13738
- function WalletIcon() {
13739
- return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
13740
- /* @__PURE__ */ jsxRuntime.jsx(
13741
- "path",
13742
- {
13743
- d: "M4 7.5A2.5 2.5 0 0 1 6.5 5h11A2.5 2.5 0 0 1 20 7.5v9A2.5 2.5 0 0 1 17.5 19h-11A2.5 2.5 0 0 1 4 16.5v-9Zm2.5-1a1 1 0 0 0-1 1V9h13v-1.5a1 1 0 0 0-1-1h-11ZM5.5 10.5v6a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1v-6h-13Z",
13744
- fill: "currentColor"
13745
- }
13746
- ),
13747
- /* @__PURE__ */ jsxRuntime.jsx(
13748
- "path",
13749
- {
13750
- d: "M14.5 13.75a.75.75 0 0 1 .75-.75h2a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1-.75-.75Z",
13751
- fill: "currentColor"
13752
- }
13753
- )
13754
- ] });
13755
- }
13756
13781
  var actionRowStyle = (color, hovered) => ({
13757
13782
  display: "flex",
13758
13783
  alignItems: "center",
@@ -13992,7 +14017,13 @@ function DepositScreen({
13992
14017
  100% { background-position: -200% 0; }
13993
14018
  }
13994
14019
  ` }),
13995
- /* @__PURE__ */ jsxRuntime.jsx(ScreenHeader, { onLogout }),
14020
+ /* @__PURE__ */ jsxRuntime.jsx(
14021
+ ScreenHeader,
14022
+ {
14023
+ left: /* @__PURE__ */ jsxRuntime.jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style: wordmarkImgStyle4 }),
14024
+ onLogout
14025
+ }
14026
+ ),
13996
14027
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: redesignHeroStackStyle(mobileEntryWithKeypad), children: [
13997
14028
  showDesktopInputHero ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: entryDesktopHeroRowStyle(desktopInputHeroColor, getDesktopHeroFontSize(liveMobileHeroValue)), children: [
13998
14029
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", style: entryDollarStyle(isZero), children: "$" }),
@@ -14132,6 +14163,11 @@ function FaceIdIcon2() {
14132
14163
  )
14133
14164
  ] });
14134
14165
  }
14166
+ var wordmarkImgStyle4 = {
14167
+ height: 31,
14168
+ width: "auto",
14169
+ display: "block"
14170
+ };
14135
14171
  var bannerSlotStyle2 = {
14136
14172
  display: "flex",
14137
14173
  justifyContent: "center",
@@ -15351,6 +15387,7 @@ function OpenWalletScreen({
15351
15387
  onLogout
15352
15388
  }) {
15353
15389
  const { tokens } = useBlinkConfig();
15390
+ const [showQrView, setShowQrView] = react.useState(false);
15354
15391
  const displayName = walletName ?? "your wallet";
15355
15392
  const logoSrc = walletLogoUrl ?? (walletName ? KNOWN_LOGOS[walletName.toLowerCase()] : void 0);
15356
15393
  const autoOpenedRef = react.useRef(null);
@@ -15368,61 +15405,6 @@ function OpenWalletScreen({
15368
15405
  const handleOpen = react.useCallback(() => {
15369
15406
  openDeeplink(deeplinkUri);
15370
15407
  }, [deeplinkUri]);
15371
- const logoBlock = /* @__PURE__ */ jsxRuntime.jsxs("div", { style: logoFrameStyle, children: [
15372
- /* @__PURE__ */ jsxRuntime.jsx(
15373
- "svg",
15374
- {
15375
- width: "96",
15376
- height: "96",
15377
- viewBox: "0 0 96 96",
15378
- fill: "none",
15379
- style: logoRingSvgStyle,
15380
- "aria-hidden": true,
15381
- children: /* @__PURE__ */ jsxRuntime.jsx(
15382
- "circle",
15383
- {
15384
- cx: "48",
15385
- cy: "48",
15386
- r: "47",
15387
- stroke: tokens.textMuted,
15388
- strokeOpacity: "0.18",
15389
- strokeWidth: "2",
15390
- fill: "none"
15391
- }
15392
- )
15393
- }
15394
- ),
15395
- /* @__PURE__ */ jsxRuntime.jsx(
15396
- "svg",
15397
- {
15398
- width: "96",
15399
- height: "96",
15400
- viewBox: "0 0 96 96",
15401
- fill: "none",
15402
- style: spinningRingSvgStyle,
15403
- "aria-hidden": true,
15404
- children: /* @__PURE__ */ jsxRuntime.jsx(
15405
- "path",
15406
- {
15407
- d: "M 71.7 89.04 A 47 47 0 1 1 89.04 71.7",
15408
- stroke: tokens.textMuted,
15409
- strokeOpacity: "0.65",
15410
- strokeWidth: "2",
15411
- fill: "none",
15412
- strokeLinecap: "round"
15413
- }
15414
- )
15415
- }
15416
- ),
15417
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: logoCircleStyle2(tokens.bgRecessed), children: logoSrc && /* @__PURE__ */ jsxRuntime.jsx(
15418
- "img",
15419
- {
15420
- src: logoSrc,
15421
- alt: displayName,
15422
- style: walletLogoUrl ? reownLogoStyle : logoStyle2
15423
- }
15424
- ) })
15425
- ] });
15426
15408
  const heroBlock = /* @__PURE__ */ jsxRuntime.jsxs("div", { style: heroFrameStyle, "aria-hidden": true, children: [
15427
15409
  /* @__PURE__ */ jsxRuntime.jsx(
15428
15410
  "svg",
@@ -15471,42 +15453,25 @@ function OpenWalletScreen({
15471
15453
  ] });
15472
15454
  if (!useDeeplink) {
15473
15455
  const hasQr = !!deeplinkUri;
15474
- const qrCaption = hasQr ? `Wallet on your phone? Scan to open ${displayName} and finish there.` : "Wallet on your phone? Your QR code is being prepared.";
15475
- return /* @__PURE__ */ jsxRuntime.jsxs(
15476
- ScreenLayout,
15477
- {
15478
- footer: error ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: footerStackStyle5, children: [
15479
- /* @__PURE__ */ jsxRuntime.jsx(InfoBanner, { children: error }),
15480
- onRetryAuthorization && /* @__PURE__ */ jsxRuntime.jsx(OutlineButton, { onClick: onRetryAuthorization, children: "Retry" })
15481
- ] }) : void 0,
15482
- children: [
15483
- /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
15484
- @keyframes blink-open-wallet-qr-shimmer {
15485
- 0% { background-position: 200% 0; }
15486
- 100% { background-position: -200% 0; }
15487
- }
15488
- @keyframes blink-open-wallet-ring-spin {
15489
- to { transform: rotate(360deg); }
15490
- }
15491
- ` }),
15492
- /* @__PURE__ */ jsxRuntime.jsx(ScreenHeader, { onBack, onLogout }),
15493
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: desktopContentStyle, children: [
15494
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: primaryClusterStyle, children: [
15495
- logoBlock,
15496
- /* @__PURE__ */ jsxRuntime.jsxs("h2", { style: headingStyle12(tokens.text), children: [
15497
- "Setting up ",
15498
- displayName,
15499
- "\u2026"
15500
- ] }),
15501
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: bodyStyle4(tokens.text), children: "Approve the connection in your wallet extension." }),
15502
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: inlineWaitStyle(tokens.textMuted), children: [
15503
- /* @__PURE__ */ jsxRuntime.jsx(Spinner, { size: 14 }),
15504
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Waiting for authorization\u2026" })
15505
- ] })
15506
- ] }),
15507
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: qrSectionStyle, children: [
15508
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: qrDividerLabelStyle(tokens.textMuted), children: "or scan with your phone" }),
15509
- hasQr ? /* @__PURE__ */ jsxRuntime.jsx(QrCode, { value: deeplinkUri, size: 180 }) : /* @__PURE__ */ jsxRuntime.jsx(
15456
+ const sharedStyles = /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
15457
+ @keyframes blink-open-wallet-qr-shimmer {
15458
+ 0% { background-position: 200% 0; }
15459
+ 100% { background-position: -200% 0; }
15460
+ }
15461
+ @keyframes blink-open-wallet-ring-spin {
15462
+ to { transform: rotate(360deg); }
15463
+ }
15464
+ ` });
15465
+ if (showQrView) {
15466
+ return /* @__PURE__ */ jsxRuntime.jsxs(
15467
+ ScreenLayout,
15468
+ {
15469
+ footer: error ? /* @__PURE__ */ jsxRuntime.jsx(InfoBanner, { children: error }) : void 0,
15470
+ children: [
15471
+ sharedStyles,
15472
+ /* @__PURE__ */ jsxRuntime.jsx(ScreenHeader, { onBack: () => setShowQrView(false), onLogout }),
15473
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: desktopContentStyle, children: [
15474
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: qrCardStyle, children: hasQr ? /* @__PURE__ */ jsxRuntime.jsx(QrCode, { value: deeplinkUri, size: 180 }) : /* @__PURE__ */ jsxRuntime.jsx(
15510
15475
  "div",
15511
15476
  {
15512
15477
  role: "status",
@@ -15514,10 +15479,63 @@ function OpenWalletScreen({
15514
15479
  "aria-busy": "true",
15515
15480
  style: qrShimmerStyle2(tokens.bgHover, tokens.border)
15516
15481
  }
15517
- ),
15518
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: qrCaptionStyle(tokens.textMuted), children: qrCaption })
15482
+ ) }),
15483
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: primaryClusterStyle, children: [
15484
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { style: headingStyle12(tokens.text), children: "Authorize Your Passkey" }),
15485
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { style: bodyStyle4(tokens.text), children: [
15486
+ "Scan the QR code to open ",
15487
+ displayName,
15488
+ "."
15489
+ ] })
15490
+ ] })
15519
15491
  ] })
15520
- ] })
15492
+ ]
15493
+ }
15494
+ );
15495
+ }
15496
+ return /* @__PURE__ */ jsxRuntime.jsxs(
15497
+ ScreenLayout,
15498
+ {
15499
+ footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { style: footerStackStyle5, children: [
15500
+ error && /* @__PURE__ */ jsxRuntime.jsx(InfoBanner, { children: error }),
15501
+ /* @__PURE__ */ jsxRuntime.jsxs(
15502
+ SecondaryButton,
15503
+ {
15504
+ onClick: onRetryAuthorization,
15505
+ disabled: !onRetryAuthorization,
15506
+ children: [
15507
+ /* @__PURE__ */ jsxRuntime.jsx(WalletIcon, {}),
15508
+ "Open ",
15509
+ displayName,
15510
+ " Extension"
15511
+ ]
15512
+ }
15513
+ ),
15514
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: orDividerStyle, children: [
15515
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: orDividerRuleStyle(tokens.textTertiary) }),
15516
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: orDividerLabelStyle(tokens.textMuted), children: "OR" }),
15517
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: orDividerRuleStyle(tokens.textTertiary) })
15518
+ ] }),
15519
+ /* @__PURE__ */ jsxRuntime.jsxs(
15520
+ SecondaryButton,
15521
+ {
15522
+ onClick: () => setShowQrView(true),
15523
+ disabled: !hasQr,
15524
+ children: [
15525
+ /* @__PURE__ */ jsxRuntime.jsx(QrIcon, {}),
15526
+ "Continue on your phone"
15527
+ ]
15528
+ }
15529
+ )
15530
+ ] }),
15531
+ children: [
15532
+ sharedStyles,
15533
+ /* @__PURE__ */ jsxRuntime.jsx(ScreenHeader, { onBack, onLogout }),
15534
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: desktopContentStyle, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { style: primaryClusterStyle, children: [
15535
+ heroBlock,
15536
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { style: headingStyle12(tokens.text), children: "Authorize Your Passkey" }),
15537
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: bodyStyle4(tokens.text), children: "If your wallet didn\u2019t open automatically, tap below." })
15538
+ ] }) })
15521
15539
  ]
15522
15540
  }
15523
15541
  );
@@ -15614,50 +15632,33 @@ var footerStackStyle5 = {
15614
15632
  flexDirection: "column",
15615
15633
  gap: 8
15616
15634
  };
15617
- var logoFrameStyle = {
15618
- position: "relative",
15619
- width: 96,
15620
- height: 96,
15635
+ var qrCardStyle = {
15621
15636
  display: "flex",
15622
15637
  alignItems: "center",
15623
15638
  justifyContent: "center",
15639
+ background: "#FFFFFF",
15640
+ padding: 16,
15641
+ borderRadius: 16,
15624
15642
  flexShrink: 0
15625
15643
  };
15626
- var logoRingSvgStyle = {
15627
- position: "absolute",
15628
- top: "50%",
15629
- left: "50%",
15630
- transform: "translate(-50%, -50%)"
15631
- };
15632
- var spinningRingSvgStyle = {
15633
- position: "absolute",
15634
- top: 0,
15635
- left: 0,
15636
- transformOrigin: "center",
15637
- animation: "blink-open-wallet-ring-spin 0.9s linear infinite"
15638
- };
15639
- var logoCircleStyle2 = (bg) => ({
15640
- width: 80,
15641
- height: 80,
15642
- borderRadius: "50%",
15643
- background: bg,
15644
+ var orDividerStyle = {
15644
15645
  display: "flex",
15645
15646
  alignItems: "center",
15646
15647
  justifyContent: "center",
15647
- flexShrink: 0
15648
- });
15649
- var logoStyle2 = {
15650
- width: 48,
15651
- height: 48,
15652
- borderRadius: 12,
15653
- objectFit: "contain"
15654
- };
15655
- var reownLogoStyle = {
15656
- width: 48,
15657
- height: 48,
15658
- borderRadius: "50%",
15659
- objectFit: "cover"
15648
+ gap: 10,
15649
+ paddingLeft: 16,
15650
+ paddingRight: 16
15660
15651
  };
15652
+ var orDividerRuleStyle = (color) => ({
15653
+ flex: 1,
15654
+ height: 1,
15655
+ background: color
15656
+ });
15657
+ var orDividerLabelStyle = (color) => ({
15658
+ fontSize: "0.75rem",
15659
+ fontWeight: 500,
15660
+ color
15661
+ });
15661
15662
  var headingStyle12 = (color) => ({
15662
15663
  fontSize: "1.5rem",
15663
15664
  fontWeight: 700,
@@ -15674,21 +15675,6 @@ var bodyStyle4 = (color) => ({
15674
15675
  margin: 0,
15675
15676
  maxWidth: 320
15676
15677
  });
15677
- var inlineWaitStyle = (color) => ({
15678
- display: "inline-flex",
15679
- alignItems: "center",
15680
- gap: 8,
15681
- color,
15682
- fontSize: "0.85rem"
15683
- });
15684
- var qrSectionStyle = {
15685
- display: "flex",
15686
- flexDirection: "column",
15687
- alignItems: "center",
15688
- gap: 12,
15689
- width: "100%",
15690
- maxWidth: 320
15691
- };
15692
15678
  var qrShimmerStyle2 = (baseColor, highlightColor) => ({
15693
15679
  width: 180,
15694
15680
  height: 180,
@@ -15697,21 +15683,6 @@ var qrShimmerStyle2 = (baseColor, highlightColor) => ({
15697
15683
  backgroundSize: "200% 100%",
15698
15684
  animation: "blink-open-wallet-qr-shimmer 1.4s ease-in-out infinite"
15699
15685
  });
15700
- var qrDividerLabelStyle = (color) => ({
15701
- fontSize: "0.75rem",
15702
- fontWeight: 600,
15703
- letterSpacing: "0.06em",
15704
- textTransform: "uppercase",
15705
- color
15706
- });
15707
- var qrCaptionStyle = (color) => ({
15708
- fontSize: "0.85rem",
15709
- color,
15710
- margin: 0,
15711
- textAlign: "center",
15712
- maxWidth: 320,
15713
- lineHeight: 1.4
15714
- });
15715
15686
  var mobileContentStyle = {
15716
15687
  flex: 1,
15717
15688
  display: "flex",
@@ -15833,7 +15804,7 @@ function ApprovingInWalletScreen({
15833
15804
  {
15834
15805
  onBack,
15835
15806
  onLogout,
15836
- center: /* @__PURE__ */ jsxRuntime.jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style: wordmarkImgStyle4 })
15807
+ center: /* @__PURE__ */ jsxRuntime.jsx("img", { src: BLINK_WORDMARK, alt: "Blink", style: wordmarkImgStyle5 })
15837
15808
  }
15838
15809
  ),
15839
15810
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: contentStyle16, children: [
@@ -15937,7 +15908,7 @@ function LockIcon4() {
15937
15908
  }
15938
15909
  ) });
15939
15910
  }
15940
- var wordmarkImgStyle4 = {
15911
+ var wordmarkImgStyle5 = {
15941
15912
  height: 22,
15942
15913
  width: "auto",
15943
15914
  display: "block",
@@ -16070,7 +16041,7 @@ function ConfirmSignScreen({
16070
16041
  children: [
16071
16042
  /* @__PURE__ */ jsxRuntime.jsx(ScreenHeader, { onLogout }),
16072
16043
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: contentStyle17, children: [
16073
- logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: logoSrc, alt: displayName, style: logoStyle3 }) : /* @__PURE__ */ jsxRuntime.jsx(Spinner, { size: 48 }),
16044
+ logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: logoSrc, alt: displayName, style: logoStyle2 }) : /* @__PURE__ */ jsxRuntime.jsx(Spinner, { size: 48 }),
16074
16045
  /* @__PURE__ */ jsxRuntime.jsx("h2", { style: headingStyle14(tokens.text), children: heading }),
16075
16046
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: subtitleStyle12(tokens.textSecondary), children: subtitle }),
16076
16047
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: successBadgeStyle(tokens), children: [
@@ -16091,7 +16062,7 @@ var contentStyle17 = {
16091
16062
  textAlign: "center",
16092
16063
  padding: "0 24px"
16093
16064
  };
16094
- var logoStyle3 = {
16065
+ var logoStyle2 = {
16095
16066
  width: 56,
16096
16067
  height: 56,
16097
16068
  borderRadius: 14,