@daimo/sdk 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/common/session.d.ts +2 -3
  2. package/dist/common/session.d.ts.map +1 -1
  3. package/dist/common/session.js.map +1 -1
  4. package/dist/common/theme.d.ts +12 -0
  5. package/dist/common/theme.d.ts.map +1 -1
  6. package/dist/common/theme.js +8 -1
  7. package/dist/common/theme.js.map +1 -1
  8. package/dist/common/theme.test.d.ts +2 -0
  9. package/dist/common/theme.test.d.ts.map +1 -0
  10. package/dist/common/theme.test.js +21 -0
  11. package/dist/common/theme.test.js.map +1 -0
  12. package/dist/version.d.ts +1 -1
  13. package/dist/version.js +1 -1
  14. package/dist/web/components/DaimoFrame.d.ts.map +1 -1
  15. package/dist/web/components/DaimoFrame.js +34 -6
  16. package/dist/web/components/DaimoFrame.js.map +1 -1
  17. package/dist/web/components/DaimoModal.d.ts +10 -0
  18. package/dist/web/components/DaimoModal.d.ts.map +1 -1
  19. package/dist/web/components/DaimoModal.js +19 -9
  20. package/dist/web/components/DaimoModal.js.map +1 -1
  21. package/dist/web/components/DaimoModalPreview.d.ts +3 -2
  22. package/dist/web/components/DaimoModalPreview.d.ts.map +1 -1
  23. package/dist/web/components/DaimoModalPreview.js +28 -3
  24. package/dist/web/components/DaimoModalPreview.js.map +1 -1
  25. package/dist/web/components/ExternalPaymentPage.d.ts +4 -2
  26. package/dist/web/components/ExternalPaymentPage.d.ts.map +1 -1
  27. package/dist/web/components/ExternalPaymentPage.js +9 -7
  28. package/dist/web/components/ExternalPaymentPage.js.map +1 -1
  29. package/dist/web/components/account/AccountApplePayPage.d.ts +1 -3
  30. package/dist/web/components/account/AccountApplePayPage.d.ts.map +1 -1
  31. package/dist/web/components/account/AccountApplePayPage.js +71 -44
  32. package/dist/web/components/account/AccountApplePayPage.js.map +1 -1
  33. package/dist/web/components/account/AccountBankPickerPage.d.ts +2 -0
  34. package/dist/web/components/account/AccountBankPickerPage.d.ts.map +1 -1
  35. package/dist/web/components/account/AccountBankPickerPage.js +11 -9
  36. package/dist/web/components/account/AccountBankPickerPage.js.map +1 -1
  37. package/dist/web/components/account/AccountBankPickerPage.test.d.ts +2 -0
  38. package/dist/web/components/account/AccountBankPickerPage.test.d.ts.map +1 -0
  39. package/dist/web/components/account/AccountBankPickerPage.test.js +23 -0
  40. package/dist/web/components/account/AccountBankPickerPage.test.js.map +1 -0
  41. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts.map +1 -1
  42. package/dist/web/components/account/AccountBankTransferSubmittedPage.js +4 -8
  43. package/dist/web/components/account/AccountBankTransferSubmittedPage.js.map +1 -1
  44. package/dist/web/components/account/AccountDeeplinkPage.d.ts.map +1 -1
  45. package/dist/web/components/account/AccountDeeplinkPage.js +3 -1
  46. package/dist/web/components/account/AccountDeeplinkPage.js.map +1 -1
  47. package/dist/web/components/account/AccountPaymentPage.d.ts +7 -2
  48. package/dist/web/components/account/AccountPaymentPage.d.ts.map +1 -1
  49. package/dist/web/components/account/AccountPaymentPage.js +82 -10
  50. package/dist/web/components/account/AccountPaymentPage.js.map +1 -1
  51. package/dist/web/components/account/AccountRipioOtpPage.d.ts.map +1 -1
  52. package/dist/web/components/account/AccountRipioOtpPage.js +0 -1
  53. package/dist/web/components/account/AccountRipioOtpPage.js.map +1 -1
  54. package/dist/web/components/account/FiatPopupPage.d.ts +20 -0
  55. package/dist/web/components/account/FiatPopupPage.d.ts.map +1 -0
  56. package/dist/web/components/account/FiatPopupPage.js +42 -0
  57. package/dist/web/components/account/FiatPopupPage.js.map +1 -0
  58. package/dist/web/components/account/accountNav.d.ts +3 -2
  59. package/dist/web/components/account/accountNav.d.ts.map +1 -1
  60. package/dist/web/components/account/accountNav.js +8 -3
  61. package/dist/web/components/account/accountNav.js.map +1 -1
  62. package/dist/web/components/account/accountNav.test.d.ts +2 -0
  63. package/dist/web/components/account/accountNav.test.d.ts.map +1 -0
  64. package/dist/web/components/account/accountNav.test.js +35 -0
  65. package/dist/web/components/account/accountNav.test.js.map +1 -0
  66. package/dist/web/components/account/fiatPopup.d.ts +18 -0
  67. package/dist/web/components/account/fiatPopup.d.ts.map +1 -0
  68. package/dist/web/components/account/fiatPopup.js +35 -0
  69. package/dist/web/components/account/fiatPopup.js.map +1 -0
  70. package/dist/web/components/account/fiatPopup.test.d.ts +2 -0
  71. package/dist/web/components/account/fiatPopup.test.d.ts.map +1 -0
  72. package/dist/web/components/account/fiatPopup.test.js +31 -0
  73. package/dist/web/components/account/fiatPopup.test.js.map +1 -0
  74. package/dist/web/components/account/openDeeplink.d.ts +8 -2
  75. package/dist/web/components/account/openDeeplink.d.ts.map +1 -1
  76. package/dist/web/components/account/openDeeplink.js +11 -2
  77. package/dist/web/components/account/openDeeplink.js.map +1 -1
  78. package/dist/web/components/containers.d.ts +4 -2
  79. package/dist/web/components/containers.d.ts.map +1 -1
  80. package/dist/web/components/containers.js +7 -4
  81. package/dist/web/components/containers.js.map +1 -1
  82. package/dist/web/components/frameMessages.d.ts +9 -0
  83. package/dist/web/components/frameMessages.d.ts.map +1 -1
  84. package/dist/web/components/frameMessages.js +25 -0
  85. package/dist/web/components/frameMessages.js.map +1 -1
  86. package/dist/web/hooks/locales/en.d.ts +1 -0
  87. package/dist/web/hooks/locales/en.d.ts.map +1 -1
  88. package/dist/web/hooks/locales/en.js +2 -0
  89. package/dist/web/hooks/locales/en.js.map +1 -1
  90. package/dist/web/hooks/locales/es.d.ts.map +1 -1
  91. package/dist/web/hooks/locales/es.js +2 -0
  92. package/dist/web/hooks/locales/es.js.map +1 -1
  93. package/dist/web/hooks/locales/ja.d.ts.map +1 -1
  94. package/dist/web/hooks/locales/ja.js +2 -0
  95. package/dist/web/hooks/locales/ja.js.map +1 -1
  96. package/dist/web/hooks/locales/ko.d.ts.map +1 -1
  97. package/dist/web/hooks/locales/ko.js +2 -0
  98. package/dist/web/hooks/locales/ko.js.map +1 -1
  99. package/dist/web/hooks/locales/pt.d.ts.map +1 -1
  100. package/dist/web/hooks/locales/pt.js +2 -0
  101. package/dist/web/hooks/locales/pt.js.map +1 -1
  102. package/dist/web/hooks/locales/zh.d.ts.map +1 -1
  103. package/dist/web/hooks/locales/zh.js +2 -0
  104. package/dist/web/hooks/locales/zh.js.map +1 -1
  105. package/dist/web/hooks/navEvent.d.ts +5 -0
  106. package/dist/web/hooks/navEvent.d.ts.map +1 -1
  107. package/dist/web/hooks/navEvent.js.map +1 -1
  108. package/dist/web/hooks/types.d.ts +2 -0
  109. package/dist/web/hooks/types.d.ts.map +1 -1
  110. package/dist/web/hooks/types.js.map +1 -1
  111. package/dist/web/hooks/useCreateDeposit.d.ts +1 -1
  112. package/dist/web/hooks/useCreateDeposit.d.ts.map +1 -1
  113. package/dist/web/hooks/useCreateDeposit.js +15 -103
  114. package/dist/web/hooks/useCreateDeposit.js.map +1 -1
  115. package/dist/web/hooks/useDraftDeposit.d.ts +5 -0
  116. package/dist/web/hooks/useDraftDeposit.d.ts.map +1 -1
  117. package/dist/web/hooks/useDraftDeposit.js +9 -1
  118. package/dist/web/hooks/useDraftDeposit.js.map +1 -1
  119. package/dist/web/hooks/useSessionNav.d.ts +6 -1
  120. package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
  121. package/dist/web/hooks/useSessionNav.js +29 -2
  122. package/dist/web/hooks/useSessionNav.js.map +1 -1
  123. package/dist/web/index.d.ts +2 -2
  124. package/dist/web/index.d.ts.map +1 -1
  125. package/dist/web/index.js +1 -1
  126. package/dist/web/index.js.map +1 -1
  127. package/dist/web/styles.css +1 -1
  128. package/dist/web/theme.css +1 -1
  129. package/dist/web/theme.d.ts +2 -2
  130. package/dist/web/theme.d.ts.map +1 -1
  131. package/dist/web/theme.js +1 -1
  132. package/dist/web/theme.js.map +1 -1
  133. package/package.json +1 -1
  134. package/dist/web/components/TronAmountPage.d.ts +0 -18
  135. package/dist/web/components/TronAmountPage.d.ts.map +0 -1
  136. package/dist/web/components/TronAmountPage.js +0 -80
  137. package/dist/web/components/TronAmountPage.js.map +0 -1
@@ -13,21 +13,17 @@ export function AccountBankTransferSubmittedPage({ rail, sessionId, clientSecret
13
13
  const accountUrl = `${baseUrl}/account/activity?session=${encodeURIComponent(sessionId)}`;
14
14
  const title = rail === "jpyc"
15
15
  ? t.accountDirectionsSubmittedTitle
16
- : rail === "sepa"
17
- ? t.accountSepaTransferSubmittedTitle
18
- : t.accountBankTransferSubmittedTitle;
16
+ : t.accountBankTransferSubmittedTitle;
19
17
  const description = rail === "jpyc"
20
18
  ? t.accountDirectionsSubmittedDesc
21
- : rail === "sepa"
22
- ? t.accountSepaTransferSubmittedDesc
23
- : t.accountBankTransferSubmittedDesc;
19
+ : t.accountBankTransferSubmittedDesc;
24
20
  useDepositPoller({
25
21
  client,
26
22
  sessionId,
27
23
  clientSecret,
28
24
  onUpdate(deposit) {
29
- if (deposit.status !== "initiated" &&
30
- deposit.status !== "awaiting_payment") {
25
+ if (deposit.status !== "initiated"
26
+ && deposit.status !== "awaiting_payment") {
31
27
  onAdvance();
32
28
  }
33
29
  },
@@ -1 +1 @@
1
- {"version":3,"file":"AccountBankTransferSubmittedPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountBankTransferSubmittedPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU3D;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,GAC6B;IACtC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,OAAO,6BAA6B,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1F,MAAM,KAAK,GACT,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,CAAC,CAAC,+BAA+B;QACnC,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,CAAC,CAAC,iCAAiC;YACrC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC;IAC5C,MAAM,WAAW,GACf,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,CAAC,CAAC,gCAAgC;YACpC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC;IAE3C,gBAAgB,CAAC;QACf,MAAM;QACN,SAAS;QACT,YAAY;QACZ,QAAQ,CAAC,OAAO;YACd,IACE,OAAO,CAAC,MAAM,KAAK,WAAW;gBAC9B,OAAO,CAAC,MAAM,KAAK,kBAAkB,EACrC,CAAC;gBACD,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aACnE,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,EAC5B,KAAC,eAAe,cACd,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,mBAAmB,IAAC,IAAI,SAAG,EAC5B,YAAG,SAAS,EAAC,+GAA+G,YACzH,WAAW,GACV,EACJ,YACE,IAAI,EAAE,UAAU,EAChB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,ibAAib,YAE1b,CAAC,CAAC,kBAAkB,GACnB,IACA,GACU,IACd,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AccountBankTransferSubmittedPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountBankTransferSubmittedPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU3D;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,GAC6B;IACtC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,OAAO,6BAA6B,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1F,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM;QAC3B,CAAC,CAAC,CAAC,CAAC,+BAA+B;QACnC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM;QACjC,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC;IAEvC,gBAAgB,CAAC;QACf,MAAM;QACN,SAAS;QACT,YAAY;QACZ,QAAQ,CAAC,OAAO;YACd,IACE,OAAO,CAAC,MAAM,KAAK,WAAW;mBAC3B,OAAO,CAAC,MAAM,KAAK,kBAAkB,EACxC,CAAC;gBACD,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aACnE,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,EAC5B,KAAC,eAAe,cACd,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,mBAAmB,IAAC,IAAI,SAAG,EAC5B,YAAG,SAAS,EAAC,+GAA+G,YACzH,WAAW,GACV,EACJ,YACE,IAAI,EAAE,UAAU,EAChB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,ibAAib,YAE1b,CAAC,CAAC,kBAAkB,GACnB,IACA,GACU,IACd,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountDeeplinkPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountDeeplinkPage.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOlE,KAAK,wBAAwB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,GACV,EAAE,wBAAwB,2CAgE1B"}
1
+ {"version":3,"file":"AccountDeeplinkPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountDeeplinkPage.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOlE,KAAK,wBAAwB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,GACV,EAAE,wBAAwB,2CA4E1B"}
@@ -30,6 +30,8 @@ export function AccountDeeplinkPage({ sessionId, clientSecret, baseUrl, platform
30
30
  }
31
31
  },
32
32
  });
33
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: t.accountBankTransfer, onBack: onBack }), _jsx(CenteredContent, { children: _jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-4", children: [desktop && bankUrl && (_jsx("div", { className: "daimo-w-full daimo-max-w-[200px]", children: _jsx(QRCode, { value: bankUrl, image: icon ? (_jsx("img", { src: resolveIconUrl(icon, baseUrl), alt: "", className: "daimo-w-full daimo-h-full daimo-object-contain" })) : undefined }) })), _jsx("p", { className: "daimo-text-sm daimo-text-[var(--daimo-text-secondary)] daimo-text-center daimo-max-w-xs", children: payment?.instructions }), selectedInstitution && (_jsxs(PrimaryButton, { onClick: () => openDeeplink(selectedInstitution.deeplink, platform), icon: _jsx(ExternalLinkIcon, { size: 14 }), children: [t.open, " ", selectedInstitution.name] }))] }) })] }));
33
+ return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: t.accountBankTransfer, onBack: onBack }), _jsx(CenteredContent, { children: _jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-4", children: [desktop && bankUrl && (_jsx("div", { className: "daimo-w-full daimo-max-w-[200px]", children: _jsx(QRCode, { value: bankUrl, image: icon ? (_jsx("img", { src: resolveIconUrl(icon, baseUrl), alt: "", className: "daimo-w-full daimo-h-full daimo-object-contain" })) : undefined }) })), _jsx("p", { className: "daimo-text-sm daimo-text-[var(--daimo-text-secondary)] daimo-text-center daimo-max-w-xs", children: payment?.instructions }), selectedInstitution && (_jsxs(PrimaryButton, { onClick: () => openDeeplink(selectedInstitution.deeplink, platform), icon: _jsx(ExternalLinkIcon, { size: 14 }), children: [t.open, " ", selectedInstitution.name] })), !selectedInstitution && !desktop && bankUrl && (_jsxs(PrimaryButton, { onClick: () => openDeeplink({ type: "redirect", url: bankUrl }, platform, {
34
+ newWindow: true,
35
+ }), icon: _jsx(ExternalLinkIcon, { size: 14 }), children: [t.open, " Interac"] }))] }) })] }));
34
36
  }
35
37
  //# sourceMappingURL=AccountDeeplinkPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccountDeeplinkPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountDeeplinkPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountDeeplinkPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountDeeplinkPage.tsx"],"names":[],"mappings":"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"}
@@ -6,10 +6,15 @@ type AccountPaymentPageProps = {
6
6
  initialAmount?: string;
7
7
  platform: DaimoPlatform;
8
8
  baseUrl: string;
9
+ startDepositOnAdvance: boolean;
9
10
  onBack?: (() => void) | null;
10
11
  onAdvance: () => void;
11
12
  };
12
- /** Amount entry for bank-transfer rails. Stores depositAmount and advances. */
13
- export declare function AccountPaymentPage({ rail, sessionId, initialAmount, platform, baseUrl, onBack, onAdvance, }: AccountPaymentPageProps): import("react/jsx-runtime").JSX.Element;
13
+ /**
14
+ * Amount entry for bank-transfer rails. Stores depositAmount and advances.
15
+ * When `startDepositOnAdvance` is set (interac on mobile, where the bank
16
+ * picker is skipped), signs + upserts the deposit and opens Interac first.
17
+ */
18
+ export declare function AccountPaymentPage({ rail, sessionId, initialAmount, platform, baseUrl, startDepositOnAdvance, onBack, onAdvance, }: AccountPaymentPageProps): import("react/jsx-runtime").JSX.Element;
14
19
  export {};
15
20
  //# sourceMappingURL=AccountPaymentPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccountPaymentPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountPaymentPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EAEZ,MAAM,4BAA4B,CAAC;AAOpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACV,EAAE,uBAAuB,2CA+GzB"}
1
+ {"version":3,"file":"AccountPaymentPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountPaymentPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,4BAA4B,CAAC;AASpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUvD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,OAAO,EACP,qBAAqB,EACrB,MAAM,EACN,SAAS,GACV,EAAE,uBAAuB,2CA6KzB"}
@@ -1,14 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useRef, useState } from "react";
3
3
  import { useDaimoClient } from "../../hooks/DaimoClientContext.js";
4
+ import { formatUserError } from "../../hooks/formatUserError.js";
4
5
  import { useAccountFlow, useSessionDepositState, } from "../../hooks/useAccountFlow.js";
5
6
  import { t } from "../../hooks/locale.js";
7
+ import { startBankDeposit } from "../../hooks/useDraftDeposit.js";
6
8
  import { PrimaryButton } from "../buttons.js";
7
9
  import { Skeleton } from "../Skeleton.js";
8
10
  import { PageHeader } from "../shared.js";
9
11
  import { TokenAmountEntry, } from "../TokenAmountEntry.js";
10
- /** Amount entry for bank-transfer rails. Stores depositAmount and advances. */
11
- export function AccountPaymentPage({ rail, sessionId, initialAmount, platform, baseUrl, onBack, onAdvance, }) {
12
+ import { openDeeplink } from "./openDeeplink.js";
13
+ /**
14
+ * Amount entry for bank-transfer rails. Stores depositAmount and advances.
15
+ * When `startDepositOnAdvance` is set (interac on mobile, where the bank
16
+ * picker is skipped), signs + upserts the deposit and opens Interac first.
17
+ */
18
+ export function AccountPaymentPage({ rail, sessionId, initialAmount, platform, baseUrl, startDepositOnAdvance, onBack, onAdvance, }) {
12
19
  const client = useDaimoClient();
13
20
  const accountFlow = useAccountFlow();
14
21
  const { depositState, setDepositState } = useSessionDepositState(sessionId);
@@ -37,20 +44,77 @@ export function AccountPaymentPage({ rail, sessionId, initialAmount, platform, b
37
44
  const [amountUsd, setAmountUsd] = useState(0);
38
45
  const [amountNative, setAmountNative] = useState(0);
39
46
  const [isValid, setIsValid] = useState(false);
47
+ const [isStarting, setIsStarting] = useState(false);
48
+ const [startError, setStartError] = useState(null);
40
49
  const handleChange = useCallback((value) => {
41
50
  setAmountUsd(value.amountUsd);
42
51
  setAmountNative(value.nativeAmount);
43
52
  setIsValid(value.isValid);
53
+ setStartError(null);
44
54
  }, []);
45
55
  const handleSubmit = useCallback(({ nativeAmount }) => {
46
- if (!accountFlow || !constraints)
56
+ if (!accountFlow || !constraints || isStarting)
47
57
  return;
48
- setDepositState({
49
- depositAmount: nativeAmount.toFixed(2),
50
- kind: "idle",
51
- });
52
- onAdvance();
53
- }, [accountFlow, constraints, onAdvance, setDepositState]);
58
+ const depositAmount = nativeAmount.toFixed(2);
59
+ if (!startDepositOnAdvance) {
60
+ setDepositState({ depositAmount, kind: "idle" });
61
+ onAdvance();
62
+ return;
63
+ }
64
+ // The deeplink page needs a started deposit — reuse one from back-nav
65
+ // if the amount is unchanged, otherwise sign + upsert before advancing.
66
+ if (depositState?.kind === "started" &&
67
+ depositState.depositAmount === depositAmount) {
68
+ openInterac(depositState.payment, platform);
69
+ onAdvance();
70
+ return;
71
+ }
72
+ setIsStarting(true);
73
+ setStartError(null);
74
+ void (async () => {
75
+ try {
76
+ const { depositId, payment } = await startBankDeposit({
77
+ client,
78
+ accountFlow,
79
+ sessionId,
80
+ rail,
81
+ depositAmount,
82
+ });
83
+ // The deeplink page has no actionable UI without a qrUrl to open;
84
+ // treat a missing one as a failure rather than advancing to it.
85
+ if (payment.flow !== "bank-picker" || payment.qrUrl == null) {
86
+ setStartError(t.errorDepositFailed);
87
+ return;
88
+ }
89
+ setDepositState({
90
+ depositAmount,
91
+ kind: "started",
92
+ depositId,
93
+ payment,
94
+ });
95
+ openInterac(payment, platform);
96
+ onAdvance();
97
+ }
98
+ catch (err) {
99
+ setStartError(formatUserError(err, t.errorDepositFailed));
100
+ }
101
+ finally {
102
+ setIsStarting(false);
103
+ }
104
+ })();
105
+ }, [
106
+ accountFlow,
107
+ client,
108
+ constraints,
109
+ depositState,
110
+ isStarting,
111
+ onAdvance,
112
+ platform,
113
+ rail,
114
+ sessionId,
115
+ setDepositState,
116
+ startDepositOnAdvance,
117
+ ]);
54
118
  const initialAmountUsd = depositState?.depositAmount != null
55
119
  ? parseFloat(depositState.depositAmount) * (constraints?.destinationToken.usd ?? 1)
56
120
  : initialAmount != null
@@ -63,7 +127,15 @@ export function AccountPaymentPage({ rail, sessionId, initialAmount, platform, b
63
127
  symbol: constraints.currency.symbol,
64
128
  }, initialMode: "native", initialAmountUsd: initialAmountUsd, onContinue: handleSubmit, onChange: handleChange, iconLogoURI: constraints.icon.logoURI, iconAlt: constraints.icon.alt, badgeLogoURI: constraints.badge.logoURI === constraints.icon.logoURI
65
129
  ? null
66
- : constraints.badge.logoURI, badgeAlt: constraints.badge.alt, platform: platform, baseUrl: baseUrl })) : (_jsx(AmountEntrySkeleton, {})), _jsx(PrimaryButton, { onClick: () => isValid && handleSubmit({ amountUsd, nativeAmount: amountNative }), disabled: !isValid || !constraints, children: t.continue })] })] }));
130
+ : constraints.badge.logoURI, badgeAlt: constraints.badge.alt, platform: platform, baseUrl: baseUrl })) : (_jsx(AmountEntrySkeleton, {})), _jsx(PrimaryButton, { onClick: () => isValid && handleSubmit({ amountUsd, nativeAmount: amountNative }), disabled: !isValid || !constraints || isStarting, children: t.continue }), startError && (_jsx("p", { className: "daimo-mt-3 daimo-text-xs daimo-text-[var(--daimo-error)] daimo-text-center daimo-max-w-[320px]", children: startError }))] })] }));
131
+ }
132
+ /** Open the generic Interac request page (mobile bank-picker-skip flow). */
133
+ function openInterac(payment, platform) {
134
+ if (payment.flow !== "bank-picker" || payment.qrUrl == null)
135
+ return;
136
+ openDeeplink({ type: "redirect", url: payment.qrUrl }, platform, {
137
+ newWindow: true,
138
+ });
67
139
  }
68
140
  function AmountEntrySkeleton() {
69
141
  return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center", children: [_jsx("div", { className: "daimo-mb-3", children: _jsx(Skeleton, { className: "daimo-h-20 daimo-w-20", rounded: "full" }) }), _jsx("div", { className: "daimo-flex daimo-h-10 daimo-items-center daimo-justify-center", children: _jsx(Skeleton, { className: "daimo-h-10 daimo-w-40", rounded: "lg" }) }), _jsx("div", { className: "daimo-flex daimo-items-center daimo-justify-center daimo-py-3 daimo-px-4", children: _jsx(Skeleton, { className: "daimo-h-[21px] daimo-w-20", rounded: "sm", delayMs: 100 }) }), _jsx("div", { className: "daimo-min-h-[21px] daimo-mb-6" })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"AccountPaymentPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountPaymentPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,cAAc,EACd,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAYhC,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACe;IACxB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,IAAI,CACL,CAAC;IACF,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,eAAe;YAAE,OAAO;QACxE,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAElC,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;oBACnC,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,CACvD,EAAE,SAAS,EAAE,IAAI,EAAE,EACnB,EAAE,WAAW,EAAE,KAAK,EAAE,CACvB,CAAC;gBACF,cAAc,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAE3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAoE,EAAE,EAAE;QACvE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9B,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,EAAE,YAAY,EAAyB,EAAE,EAAE;QAC1C,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW;YAAE,OAAO;QACzC,eAAe,CAAC;YACd,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACtC,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,SAAS,EAAE,CAAC;IACd,CAAC,EACD,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CACvD,CAAC;IACF,MAAM,gBAAgB,GACpB,YAAY,EAAE,aAAa,IAAI,IAAI;QACjC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;QACnF,CAAC,CAAC,aAAa,IAAI,IAAI;YACrB,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;IAElB,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aACnE,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,GAAI,EACvD,eAAK,SAAS,EAAC,qEAAqE,aACjF,WAAW,CAAC,CAAC,CAAC,CACb,KAAC,gBAAgB,IACf,KAAK,EAAE,WAAW,CAAC,gBAAgB,EACnC,UAAU,EACR,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;4BACjC,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAElC,UAAU,EACR,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;4BACjC,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAElC,aAAa,EAAE;4BACb,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;yBACpC,EACD,WAAW,EAAC,QAAQ,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,YAAY,EACxB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,EACrC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,EAC7B,YAAY,EACV,WAAW,CAAC,KAAK,CAAC,OAAO,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO;4BACpD,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAE/B,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,EAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC,CAAC,CAAC,CACF,KAAC,mBAAmB,KAAG,CACxB,EAED,KAAC,aAAa,IACZ,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAEpE,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,WAAW,YAEjC,CAAC,CAAC,QAAQ,GACG,IACZ,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,CACL,eAAK,SAAS,EAAC,8CAA8C,aAC3D,cAAK,SAAS,EAAC,YAAY,YACzB,KAAC,QAAQ,IAAC,SAAS,EAAC,uBAAuB,EAAC,OAAO,EAAC,MAAM,GAAG,GACzD,EACN,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,QAAQ,IAAC,SAAS,EAAC,uBAAuB,EAAC,OAAO,EAAC,IAAI,GAAG,GACvD,EACN,cAAK,SAAS,EAAC,0EAA0E,YACvF,KAAC,QAAQ,IACP,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAC,IAAI,EACZ,OAAO,EAAE,GAAG,GACZ,GACE,EACN,cAAK,SAAS,EAAC,+BAA+B,GAAG,IAC7C,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AccountPaymentPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountPaymentPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountRipioOtpPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountRipioOtpPage.tsx"],"names":[],"mappings":"AASA,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAKF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,UAAU,GACX,EAAE,wBAAwB,2CA8D1B"}
1
+ {"version":3,"file":"AccountRipioOtpPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountRipioOtpPage.tsx"],"names":[],"mappings":"AASA,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAKF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,UAAU,GACX,EAAE,wBAAwB,2CA6D1B"}
@@ -28,7 +28,6 @@ export function AccountRipioOtpPage({ onBack, onVerified, }) {
28
28
  return { ok: false, msg: result.reason };
29
29
  case "kyc_required":
30
30
  case "kyc_retry":
31
- case "enrollment_form_required":
32
31
  case "kyc_pending_review":
33
32
  case "hosted_agreement_required":
34
33
  case "hosted_kyc_required":
@@ -1 +1 @@
1
- {"version":3,"file":"AccountRipioOtpPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountRipioOtpPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountRipioOtpPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountRipioOtpPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { NavNodeFiat } from "../../api/navTree.js";
2
+ import type { DaimoPlatform } from "../../platform.js";
3
+ type FiatPopupPageProps = {
4
+ node: NavNodeFiat;
5
+ sessionId: string;
6
+ clientSecret: string;
7
+ platform: DaimoPlatform;
8
+ baseUrl: string;
9
+ onBack: (() => void) | null;
10
+ };
11
+ /**
12
+ * Handoff shown when a fiat rail must run top-level (framed checkout).
13
+ * Opens the checkout in a popup on the daimo origin, where Apple Pay
14
+ * merchant validation and account login run first-party. This page never
15
+ * creates a deposit; completion arrives via session polling, which swaps
16
+ * the embed to the terminal success page.
17
+ */
18
+ export declare function FiatPopupPage({ node, sessionId, clientSecret, platform, baseUrl, onBack, }: FiatPopupPageProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=FiatPopupPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiatPopupPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/FiatPopupPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQvD,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE,kBAAkB,2CA4CpB"}
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useDaimoClient } from "../../hooks/DaimoClientContext.js";
4
+ import { t } from "../../hooks/locale.js";
5
+ import { createNavLogger } from "../../hooks/navEvent.js";
6
+ import { ExternalPaymentPage } from "../ExternalPaymentPage.js";
7
+ import { buildFiatPopupUrl, FIAT_POPUP_FEATURES, FIAT_POPUP_WINDOW_NAME, } from "./fiatPopup.js";
8
+ /**
9
+ * Handoff shown when a fiat rail must run top-level (framed checkout).
10
+ * Opens the checkout in a popup on the daimo origin, where Apple Pay
11
+ * merchant validation and account login run first-party. This page never
12
+ * creates a deposit; completion arrives via session polling, which swaps
13
+ * the embed to the terminal success page.
14
+ */
15
+ export function FiatPopupPage({ node, sessionId, clientSecret, platform, baseUrl, onBack, }) {
16
+ const client = useDaimoClient();
17
+ const logNavEvent = createNavLogger(client);
18
+ const openedRef = useRef(false);
19
+ const url = typeof window === "undefined"
20
+ ? undefined
21
+ : buildFiatPopupUrl(window.location.href, node.id);
22
+ const handleOpened = (popup) => {
23
+ if (!popup) {
24
+ logNavEvent(sessionId, clientSecret, {
25
+ nodeId: node.id,
26
+ nodeType: node.type,
27
+ action: "popup_blocked",
28
+ });
29
+ return;
30
+ }
31
+ popup.focus();
32
+ logNavEvent(sessionId, clientSecret, {
33
+ nodeId: node.id,
34
+ nodeType: node.type,
35
+ action: "popup_open",
36
+ reopen: openedRef.current,
37
+ });
38
+ openedRef.current = true;
39
+ };
40
+ return (_jsx(ExternalPaymentPage, { title: node.title, platform: platform, url: url, icon: node.icon, message: `${t.continueTo} ${node.title} ${t.toCompleteYourDeposit}`, onBack: onBack, baseUrl: baseUrl, desktopBehavior: "popup", popupName: FIAT_POPUP_WINDOW_NAME, popupFeatures: FIAT_POPUP_FEATURES, onOpened: handleOpened }));
41
+ }
42
+ //# sourceMappingURL=FiatPopupPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiatPopupPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/FiatPopupPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAWxB;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,MAAM,GACa;IACnB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,GAAG,GACP,OAAO,MAAM,KAAK,WAAW;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE;gBACnC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,SAAS,CAAC,OAAO;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,mBAAmB,IAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE,EACnE,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,eAAe,EAAC,OAAO,EACvB,SAAS,EAAE,sBAAsB,EACjC,aAAa,EAAE,mBAAmB,EAClC,QAAQ,EAAE,YAAY,GACtB,CACH,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { AccountRail } from "../../../common/account.js";
2
+ import { type DaimoPlatform } from "../../platform.js";
2
3
  /**
3
4
  * Pick the modal entry page for a rail. Each rail has its own payment UX:
4
- * - interac: two-step amount entry → bank picker
5
+ * - interac: two-step amount entry → bank picker (desktop) or deeplink (mobile)
5
6
  * - ach/sepa/jpyc/ars: two-step amount entry → transfer details
6
7
  * - apple_pay: single unified amount+Apple Pay page (Coinbase Headless)
7
8
  */
@@ -10,5 +11,5 @@ export declare function getAccountPaymentEntryTarget(rail: AccountRail): "accoun
10
11
  * Pick the modal page that follows the deposit amount screen (for rails
11
12
  * that use the two-step flow).
12
13
  */
13
- export declare function getAccountPaymentAdvanceTarget(rail: AccountRail): "account-canada-bank-picker" | "account-bank-details" | "account-apple-pay";
14
+ export declare function getAccountPaymentAdvanceTarget(rail: AccountRail, platform: DaimoPlatform): "account-canada-bank-picker" | "account-bank-details" | "account-apple-pay" | "account-deeplink";
14
15
  //# sourceMappingURL=accountNav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountNav.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/accountNav.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,WAAW,2CAa7D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,WAAW,+EAa/D"}
1
+ {"version":3,"file":"accountNav.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/accountNav.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,WAAW,2CAa7D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,aAAa,oGAkBxB"}
@@ -1,6 +1,7 @@
1
+ import { isDesktop } from "../../platform.js";
1
2
  /**
2
3
  * Pick the modal entry page for a rail. Each rail has its own payment UX:
3
- * - interac: two-step amount entry → bank picker
4
+ * - interac: two-step amount entry → bank picker (desktop) or deeplink (mobile)
4
5
  * - ach/sepa/jpyc/ars: two-step amount entry → transfer details
5
6
  * - apple_pay: single unified amount+Apple Pay page (Coinbase Headless)
6
7
  */
@@ -22,10 +23,14 @@ export function getAccountPaymentEntryTarget(rail) {
22
23
  * Pick the modal page that follows the deposit amount screen (for rails
23
24
  * that use the two-step flow).
24
25
  */
25
- export function getAccountPaymentAdvanceTarget(rail) {
26
+ export function getAccountPaymentAdvanceTarget(rail, platform) {
26
27
  switch (rail) {
27
28
  case "interac":
28
- return "account-canada-bank-picker";
29
+ // JS-driven bank deeplinks (form-post popups, window.open) are
30
+ // unreliable on mobile — skip the picker, link straight to Interac.
31
+ return isDesktop(platform)
32
+ ? "account-canada-bank-picker"
33
+ : "account-deeplink";
29
34
  case "ach":
30
35
  case "sepa":
31
36
  case "jpyc":
@@ -1 +1 @@
1
- {"version":3,"file":"accountNav.js","sourceRoot":"","sources":["../../../../src/web/components/account/accountNav.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAiB;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,qEAAqE;YACrE,OAAO,mBAA4B,CAAC;QACtC,KAAK,SAAS,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,wDAAwD;YACxD,OAAO,iBAA0B,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAiB;IAC9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,4BAAqC,CAAC;QAC/C,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,sBAA+B,CAAC;QACzC,KAAK,WAAW;YACd,yDAAyD;YACzD,OAAO,mBAA4B,CAAC;IACxC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"accountNav.js","sourceRoot":"","sources":["../../../../src/web/components/account/accountNav.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAiB;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,qEAAqE;YACrE,OAAO,mBAA4B,CAAC;QACtC,KAAK,SAAS,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,wDAAwD;YACxD,OAAO,iBAA0B,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAiB,EACjB,QAAuB;IAEvB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,+DAA+D;YAC/D,oEAAoE;YACpE,OAAO,SAAS,CAAC,QAAQ,CAAC;gBACxB,CAAC,CAAE,4BAAsC;gBACzC,CAAC,CAAE,kBAA4B,CAAC;QACpC,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,sBAA+B,CAAC;QACzC,KAAK,WAAW;YACd,yDAAyD;YACzD,OAAO,mBAA4B,CAAC;IACxC,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=accountNav.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountNav.test.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/accountNav.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { getAccountPaymentAdvanceTarget } from "./accountNav.js";
3
+ const ALL_PLATFORMS = [
4
+ "desktop",
5
+ "mobile",
6
+ "ios",
7
+ "android",
8
+ "other",
9
+ ];
10
+ describe("getAccountPaymentAdvanceTarget", () => {
11
+ test("interac shows the bank picker on desktop", () => {
12
+ expect(getAccountPaymentAdvanceTarget("interac", "desktop")).toBe("account-canada-bank-picker");
13
+ // isDesktop() treats "other" as desktop.
14
+ expect(getAccountPaymentAdvanceTarget("interac", "other")).toBe("account-canada-bank-picker");
15
+ });
16
+ test("interac skips the bank picker on mobile", () => {
17
+ for (const platform of ["mobile", "ios", "android"]) {
18
+ expect(getAccountPaymentAdvanceTarget("interac", platform)).toBe("account-deeplink");
19
+ }
20
+ });
21
+ test("bank-details rails are unaffected by platform", () => {
22
+ const rails = ["ach", "sepa", "jpyc", "ars"];
23
+ for (const rail of rails) {
24
+ for (const platform of ALL_PLATFORMS) {
25
+ expect(getAccountPaymentAdvanceTarget(rail, platform)).toBe("account-bank-details");
26
+ }
27
+ }
28
+ });
29
+ test("apple_pay is unaffected by platform", () => {
30
+ for (const platform of ALL_PLATFORMS) {
31
+ expect(getAccountPaymentAdvanceTarget("apple_pay", platform)).toBe("account-apple-pay");
32
+ }
33
+ });
34
+ });
35
+ //# sourceMappingURL=accountNav.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountNav.test.js","sourceRoot":"","sources":["../../../../src/web/components/account/accountNav.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAIhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,aAAa,GAAoB;IACrC,SAAS;IACT,QAAQ;IACR,KAAK;IACL,SAAS;IACT,OAAO;CACR,CAAC;AAEF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAC/D,4BAA4B,CAC7B,CAAC;QACF,yCAAyC;QACzC,MAAM,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAC7D,4BAA4B,CAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,KAAK,MAAM,QAAQ,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,EAAE,CAAC;YAC7D,MAAM,CAAC,8BAA8B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAC9D,kBAAkB,CACnB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,MAAM,KAAK,GAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;gBACrC,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CACzD,sBAAsB,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC/C,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,8BAA8B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAChE,mBAAmB,CACpB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { AccountRail } from "../../../common/account.js";
2
+ export declare const FIAT_POPUP_WINDOW_NAME = "daimo-pay-popup";
3
+ export declare const FIAT_POPUP_FEATURES = "popup=yes,width=420,height=760";
4
+ export declare function railRequiresPopup(rail: AccountRail): boolean;
5
+ /**
6
+ * True when running inside an iframe, regardless of parent origin.
7
+ * Top-level surfaces (direct webview, miniapp, the popup itself) keep the
8
+ * inline flow. Same-origin frames (daimo demo pages) pop out too — inline
9
+ * would work there, but one consistent path is simpler and makes any
10
+ * framed context a faithful popup test harness.
11
+ */
12
+ export declare function isFramed(): boolean;
13
+ /**
14
+ * Build the top-level popup URL from the current webview URL, preserving
15
+ * session, client secret, locale, and theme params.
16
+ */
17
+ export declare function buildFiatPopupUrl(currentHref: string, nodeId: string): string;
18
+ //# sourceMappingURL=fiatPopup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatPopup.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/fiatPopup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAS9D,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AAEpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAGlC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM7E"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Fiat rails that must run in a top-level daimo.com window when the checkout
3
+ * is framed. Apple Pay merchant validation checks the top-level domain, so
4
+ * it cannot run inside an iframe on a partner site.
5
+ */
6
+ const FIAT_POPUP_RAILS = new Set(["apple_pay"]);
7
+ export const FIAT_POPUP_WINDOW_NAME = "daimo-pay-popup";
8
+ export const FIAT_POPUP_FEATURES = "popup=yes,width=420,height=760";
9
+ export function railRequiresPopup(rail) {
10
+ return FIAT_POPUP_RAILS.has(rail);
11
+ }
12
+ /**
13
+ * True when running inside an iframe, regardless of parent origin.
14
+ * Top-level surfaces (direct webview, miniapp, the popup itself) keep the
15
+ * inline flow. Same-origin frames (daimo demo pages) pop out too — inline
16
+ * would work there, but one consistent path is simpler and makes any
17
+ * framed context a faithful popup test harness.
18
+ */
19
+ export function isFramed() {
20
+ if (typeof window === "undefined")
21
+ return false;
22
+ return window.self !== window.top;
23
+ }
24
+ /**
25
+ * Build the top-level popup URL from the current webview URL, preserving
26
+ * session, client secret, locale, and theme params.
27
+ */
28
+ export function buildFiatPopupUrl(currentHref, nodeId) {
29
+ const url = new URL(currentHref);
30
+ url.searchParams.set("layout", "center");
31
+ url.searchParams.set("popup", "1");
32
+ url.searchParams.set("nav", nodeId);
33
+ return url.toString();
34
+ }
35
+ //# sourceMappingURL=fiatPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatPopup.js","sourceRoot":"","sources":["../../../../src/web/components/account/fiatPopup.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,gBAAgB,GAA6B,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAEpE,MAAM,UAAU,iBAAiB,CAAC,IAAiB;IACjD,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,MAAc;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fiatPopup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatPopup.test.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/fiatPopup.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { buildFiatPopupUrl, railRequiresPopup } from "./fiatPopup.js";
3
+ describe("buildFiatPopupUrl", () => {
4
+ it("swaps embed layout for popup params, preserving session context", () => {
5
+ const url = buildFiatPopupUrl("https://daimo.com/webview?session=abc123&cs=secret&layout=embed&locale=es&theme=dark", "Fiat-ApplePay");
6
+ const parsed = new URL(url);
7
+ expect(parsed.origin).toBe("https://daimo.com");
8
+ expect(parsed.pathname).toBe("/webview");
9
+ expect(parsed.searchParams.get("session")).toBe("abc123");
10
+ expect(parsed.searchParams.get("cs")).toBe("secret");
11
+ expect(parsed.searchParams.get("locale")).toBe("es");
12
+ expect(parsed.searchParams.get("theme")).toBe("dark");
13
+ expect(parsed.searchParams.get("layout")).toBe("center");
14
+ expect(parsed.searchParams.get("popup")).toBe("1");
15
+ expect(parsed.searchParams.get("nav")).toBe("Fiat-ApplePay");
16
+ });
17
+ it("adds params when none are present", () => {
18
+ const url = buildFiatPopupUrl("https://daimo.com/webview?session=abc&cs=s", "node-1");
19
+ expect(url).toContain("layout=center");
20
+ expect(url).toContain("popup=1");
21
+ expect(url).toContain("nav=node-1");
22
+ });
23
+ });
24
+ describe("railRequiresPopup", () => {
25
+ it("requires popup for apple_pay only", () => {
26
+ expect(railRequiresPopup("apple_pay")).toBe(true);
27
+ expect(railRequiresPopup("ach")).toBe(false);
28
+ expect(railRequiresPopup("interac")).toBe(false);
29
+ });
30
+ });
31
+ //# sourceMappingURL=fiatPopup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatPopup.test.js","sourceRoot":"","sources":["../../../../src/web/components/account/fiatPopup.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,GAAG,GAAG,iBAAiB,CAC3B,sFAAsF,EACtF,eAAe,CAChB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,iBAAiB,CAC3B,4CAA4C,EAC5C,QAAQ,CACT,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,11 @@
1
1
  import type { DepositDeeplink } from "../../../common/account.js";
2
2
  import { type DaimoPlatform } from "../../platform.js";
3
- /** Execute a provider deeplink in the user's browser. */
4
- export declare function openDeeplink(deeplink: DepositDeeplink, platform: DaimoPlatform): void;
3
+ /**
4
+ * Execute a provider deeplink in the user's browser. Pass `newWindow` to open
5
+ * in a new tab on mobile web instead of navigating the current page away —
6
+ * keeps the deposit page alive to poll (matches desktop behavior).
7
+ */
8
+ export declare function openDeeplink(deeplink: DepositDeeplink, platform: DaimoPlatform, opts?: {
9
+ newWindow?: boolean;
10
+ }): void;
5
11
  //# sourceMappingURL=openDeeplink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openDeeplink.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/openDeeplink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlE,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,aAAa,GACtB,IAAI,CA0BN"}
1
+ {"version":3,"file":"openDeeplink.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/openDeeplink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlE;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,aAAa,EACvB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,IAAI,CA+BN"}