@daimo/sdk 1.4.0 → 1.4.2

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 (194) hide show
  1. package/dist/client/createDaimoClient.d.ts +31 -21
  2. package/dist/client/createDaimoClient.d.ts.map +1 -1
  3. package/dist/client/createDaimoClient.js +24 -16
  4. package/dist/client/createDaimoClient.js.map +1 -1
  5. package/dist/common/account.d.ts +75 -8
  6. package/dist/common/account.d.ts.map +1 -1
  7. package/dist/common/account.js +7 -1
  8. package/dist/common/account.js.map +1 -1
  9. package/dist/common/api.d.ts +47 -8
  10. package/dist/common/api.d.ts.map +1 -1
  11. package/dist/common/api.js +10 -1
  12. package/dist/common/api.js.map +1 -1
  13. package/dist/common/chain.d.ts +0 -1
  14. package/dist/common/chain.d.ts.map +1 -1
  15. package/dist/common/chain.js +0 -10
  16. package/dist/common/chain.js.map +1 -1
  17. package/dist/common/session.d.ts +11 -3
  18. package/dist/common/session.d.ts.map +1 -1
  19. package/dist/common/session.js.map +1 -1
  20. package/dist/common/token.d.ts +16 -4
  21. package/dist/common/token.d.ts.map +1 -1
  22. package/dist/common/token.js +12 -42
  23. package/dist/common/token.js.map +1 -1
  24. package/dist/version.d.ts +1 -1
  25. package/dist/version.js +1 -1
  26. package/dist/web/api/index.d.ts +3 -3
  27. package/dist/web/api/index.d.ts.map +1 -1
  28. package/dist/web/api/navTree.d.ts +12 -5
  29. package/dist/web/api/navTree.d.ts.map +1 -1
  30. package/dist/web/api/walletTypes.d.ts +2 -15
  31. package/dist/web/api/walletTypes.d.ts.map +1 -1
  32. package/dist/web/components/ConfirmationPage.d.ts.map +1 -1
  33. package/dist/web/components/ConfirmationPage.js +3 -3
  34. package/dist/web/components/ConfirmationPage.js.map +1 -1
  35. package/dist/web/components/DaimoModal.d.ts.map +1 -1
  36. package/dist/web/components/DaimoModal.js +41 -9
  37. package/dist/web/components/DaimoModal.js.map +1 -1
  38. package/dist/web/components/QRCode.d.ts.map +1 -1
  39. package/dist/web/components/QRCode.js +2 -2
  40. package/dist/web/components/QRCode.js.map +1 -1
  41. package/dist/web/components/StripeOnrampPage.d.ts +40 -0
  42. package/dist/web/components/StripeOnrampPage.d.ts.map +1 -0
  43. package/dist/web/components/StripeOnrampPage.js +121 -0
  44. package/dist/web/components/StripeOnrampPage.js.map +1 -0
  45. package/dist/web/components/TokenAmountEntry.d.ts +57 -0
  46. package/dist/web/components/TokenAmountEntry.d.ts.map +1 -0
  47. package/dist/web/components/TokenAmountEntry.js +155 -0
  48. package/dist/web/components/TokenAmountEntry.js.map +1 -0
  49. package/dist/web/components/WalletAmountPage.d.ts +2 -2
  50. package/dist/web/components/WalletAmountPage.d.ts.map +1 -1
  51. package/dist/web/components/WalletAmountPage.js +11 -146
  52. package/dist/web/components/WalletAmountPage.js.map +1 -1
  53. package/dist/web/components/account/AccountApplePayPage.d.ts +24 -0
  54. package/dist/web/components/account/AccountApplePayPage.d.ts.map +1 -0
  55. package/dist/web/components/account/AccountApplePayPage.js +253 -0
  56. package/dist/web/components/account/AccountApplePayPage.js.map +1 -0
  57. package/dist/web/components/account/AccountBankDetailsPage.d.ts +16 -0
  58. package/dist/web/components/account/AccountBankDetailsPage.d.ts.map +1 -0
  59. package/dist/web/components/account/AccountBankDetailsPage.js +140 -0
  60. package/dist/web/components/account/AccountBankDetailsPage.js.map +1 -0
  61. package/dist/web/components/account/AccountBankPickerPage.d.ts +8 -8
  62. package/dist/web/components/account/AccountBankPickerPage.d.ts.map +1 -1
  63. package/dist/web/components/account/AccountBankPickerPage.js +66 -19
  64. package/dist/web/components/account/AccountBankPickerPage.js.map +1 -1
  65. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts +13 -0
  66. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts.map +1 -0
  67. package/dist/web/components/account/AccountBankTransferSubmittedPage.js +27 -0
  68. package/dist/web/components/account/AccountBankTransferSubmittedPage.js.map +1 -0
  69. package/dist/web/components/account/AccountDeeplinkPage.d.ts +0 -2
  70. package/dist/web/components/account/AccountDeeplinkPage.d.ts.map +1 -1
  71. package/dist/web/components/account/AccountDeeplinkPage.js +7 -6
  72. package/dist/web/components/account/AccountDeeplinkPage.js.map +1 -1
  73. package/dist/web/components/account/AccountEnrollmentPage.d.ts +5 -18
  74. package/dist/web/components/account/AccountEnrollmentPage.d.ts.map +1 -1
  75. package/dist/web/components/account/AccountEnrollmentPage.js +86 -20
  76. package/dist/web/components/account/AccountEnrollmentPage.js.map +1 -1
  77. package/dist/web/components/account/AccountFlowProvider.d.ts.map +1 -1
  78. package/dist/web/components/account/AccountFlowProvider.js +26 -2
  79. package/dist/web/components/account/AccountFlowProvider.js.map +1 -1
  80. package/dist/web/components/account/AccountOtpCodeEntry.d.ts +16 -0
  81. package/dist/web/components/account/AccountOtpCodeEntry.d.ts.map +1 -0
  82. package/dist/web/components/account/AccountOtpCodeEntry.js +101 -0
  83. package/dist/web/components/account/AccountOtpCodeEntry.js.map +1 -0
  84. package/dist/web/components/account/AccountOtpPage.d.ts.map +1 -1
  85. package/dist/web/components/account/AccountOtpPage.js +10 -53
  86. package/dist/web/components/account/AccountOtpPage.js.map +1 -1
  87. package/dist/web/components/account/AccountPaymentPage.d.ts +7 -4
  88. package/dist/web/components/account/AccountPaymentPage.d.ts.map +1 -1
  89. package/dist/web/components/account/AccountPaymentPage.js +29 -34
  90. package/dist/web/components/account/AccountPaymentPage.js.map +1 -1
  91. package/dist/web/components/account/AccountPhoneOtpPage.d.ts +14 -0
  92. package/dist/web/components/account/AccountPhoneOtpPage.d.ts.map +1 -0
  93. package/dist/web/components/account/AccountPhoneOtpPage.js +56 -0
  94. package/dist/web/components/account/AccountPhoneOtpPage.js.map +1 -0
  95. package/dist/web/components/account/AccountPhonePage.d.ts +11 -0
  96. package/dist/web/components/account/AccountPhonePage.d.ts.map +1 -0
  97. package/dist/web/components/account/AccountPhonePage.js +100 -0
  98. package/dist/web/components/account/AccountPhonePage.js.map +1 -0
  99. package/dist/web/components/account/AccountReadyPage.d.ts +2 -0
  100. package/dist/web/components/account/AccountReadyPage.d.ts.map +1 -0
  101. package/dist/web/components/account/AccountReadyPage.js +7 -0
  102. package/dist/web/components/account/AccountReadyPage.js.map +1 -0
  103. package/dist/web/components/account/AccountStatusPage.d.ts +1 -3
  104. package/dist/web/components/account/AccountStatusPage.d.ts.map +1 -1
  105. package/dist/web/components/account/AccountStatusPage.js +8 -8
  106. package/dist/web/components/account/AccountStatusPage.js.map +1 -1
  107. package/dist/web/components/account/accountNav.d.ts +14 -0
  108. package/dist/web/components/account/accountNav.d.ts.map +1 -0
  109. package/dist/web/components/account/accountNav.js +35 -0
  110. package/dist/web/components/account/accountNav.js.map +1 -0
  111. package/dist/web/components/account/openDeeplink.js +30 -14
  112. package/dist/web/components/account/openDeeplink.js.map +1 -1
  113. package/dist/web/components/account/phone.d.ts +6 -0
  114. package/dist/web/components/account/phone.d.ts.map +1 -0
  115. package/dist/web/components/account/phone.js +35 -0
  116. package/dist/web/components/account/phone.js.map +1 -0
  117. package/dist/web/components/account/useCoinbaseApplePayWidget.d.ts +20 -0
  118. package/dist/web/components/account/useCoinbaseApplePayWidget.d.ts.map +1 -0
  119. package/dist/web/components/account/useCoinbaseApplePayWidget.js +159 -0
  120. package/dist/web/components/account/useCoinbaseApplePayWidget.js.map +1 -0
  121. package/dist/web/components/buttons.d.ts +11 -1
  122. package/dist/web/components/buttons.d.ts.map +1 -1
  123. package/dist/web/components/buttons.js +11 -3
  124. package/dist/web/components/buttons.js.map +1 -1
  125. package/dist/web/components/icons.d.ts +5 -0
  126. package/dist/web/components/icons.d.ts.map +1 -1
  127. package/dist/web/components/icons.js +7 -0
  128. package/dist/web/components/icons.js.map +1 -1
  129. package/dist/web/components/shared.d.ts +8 -3
  130. package/dist/web/components/shared.d.ts.map +1 -1
  131. package/dist/web/components/shared.js +50 -16
  132. package/dist/web/components/shared.js.map +1 -1
  133. package/dist/web/hooks/locale.d.ts +4 -0
  134. package/dist/web/hooks/locale.d.ts.map +1 -1
  135. package/dist/web/hooks/locale.js +23 -1
  136. package/dist/web/hooks/locale.js.map +1 -1
  137. package/dist/web/hooks/locales/en.d.ts +17 -0
  138. package/dist/web/hooks/locales/en.d.ts.map +1 -1
  139. package/dist/web/hooks/locales/en.js +19 -2
  140. package/dist/web/hooks/locales/en.js.map +1 -1
  141. package/dist/web/hooks/locales/es.d.ts.map +1 -1
  142. package/dist/web/hooks/locales/es.js +17 -0
  143. package/dist/web/hooks/locales/es.js.map +1 -1
  144. package/dist/web/hooks/locales/ja.d.ts +4 -0
  145. package/dist/web/hooks/locales/ja.d.ts.map +1 -0
  146. package/dist/web/hooks/locales/ja.js +140 -0
  147. package/dist/web/hooks/locales/ja.js.map +1 -0
  148. package/dist/web/hooks/locales/ko.d.ts +4 -0
  149. package/dist/web/hooks/locales/ko.d.ts.map +1 -0
  150. package/dist/web/hooks/locales/ko.js +140 -0
  151. package/dist/web/hooks/locales/ko.js.map +1 -0
  152. package/dist/web/hooks/locales/zh.d.ts +4 -0
  153. package/dist/web/hooks/locales/zh.d.ts.map +1 -0
  154. package/dist/web/hooks/locales/zh.js +140 -0
  155. package/dist/web/hooks/locales/zh.js.map +1 -0
  156. package/dist/web/hooks/navEvent.d.ts +4 -0
  157. package/dist/web/hooks/navEvent.d.ts.map +1 -1
  158. package/dist/web/hooks/navEvent.js.map +1 -1
  159. package/dist/web/hooks/types.d.ts +25 -4
  160. package/dist/web/hooks/types.d.ts.map +1 -1
  161. package/dist/web/hooks/types.js.map +1 -1
  162. package/dist/web/hooks/useAccountFlow.d.ts +50 -13
  163. package/dist/web/hooks/useAccountFlow.d.ts.map +1 -1
  164. package/dist/web/hooks/useAccountFlow.js +93 -13
  165. package/dist/web/hooks/useAccountFlow.js.map +1 -1
  166. package/dist/web/hooks/useCreateDeposit.d.ts +1 -1
  167. package/dist/web/hooks/useCreateDeposit.d.ts.map +1 -1
  168. package/dist/web/hooks/useCreateDeposit.js +103 -15
  169. package/dist/web/hooks/useCreateDeposit.js.map +1 -1
  170. package/dist/web/hooks/useDepositAddress.d.ts.map +1 -1
  171. package/dist/web/hooks/useDepositAddress.js +23 -2
  172. package/dist/web/hooks/useDepositAddress.js.map +1 -1
  173. package/dist/web/hooks/useDraftDeposit.d.ts +35 -0
  174. package/dist/web/hooks/useDraftDeposit.d.ts.map +1 -0
  175. package/dist/web/hooks/useDraftDeposit.js +155 -0
  176. package/dist/web/hooks/useDraftDeposit.js.map +1 -0
  177. package/dist/web/hooks/useSessionNav.d.ts +1 -1
  178. package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
  179. package/dist/web/hooks/useSessionNav.js +122 -12
  180. package/dist/web/hooks/useSessionNav.js.map +1 -1
  181. package/dist/web/hooks/useWalletFlow.d.ts.map +1 -1
  182. package/dist/web/hooks/useWalletFlow.js +9 -0
  183. package/dist/web/hooks/useWalletFlow.js.map +1 -1
  184. package/dist/web/index.d.ts +1 -1
  185. package/dist/web/index.d.ts.map +1 -1
  186. package/dist/web/index.js +1 -1
  187. package/dist/web/index.js.map +1 -1
  188. package/dist/web/platform.d.ts +1 -0
  189. package/dist/web/platform.d.ts.map +1 -1
  190. package/dist/web/platform.js +11 -0
  191. package/dist/web/platform.js.map +1 -1
  192. package/dist/web/styles.css +1 -1
  193. package/dist/web/theme.css +1 -1
  194. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AccountStatusPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountStatusPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,4BAA4B,CAAC;AAQtF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAyBF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,EACT,YAAY,EACZ,OAAO,GACR,EAAE,sBAAsB,2CAmDxB"}
1
+ {"version":3,"file":"AccountStatusPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountStatusPage.tsx"],"names":[],"mappings":"AASA,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoBF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,YAAY,EACZ,OAAO,GACR,EAAE,sBAAsB,2CAuDxB"}
@@ -10,10 +10,6 @@ const TERMINAL_STATUSES = [
10
10
  "failed",
11
11
  "expired",
12
12
  ];
13
- const REGION_ETA = {
14
- CA: "5–30 min",
15
- US: "1–3 days",
16
- };
17
13
  /** Map status to a 0-2 step index for the progress indicator. */
18
14
  function getStep(status) {
19
15
  switch (status) {
@@ -27,14 +23,18 @@ const STEP_LABELS = ["Received", "Processing", "Complete"];
27
23
  /**
28
24
  * Async deposit status — ConfirmationSpinner + progress steps + action rows.
29
25
  */
30
- export function AccountStatusPage({ region, sessionId, clientSecret, baseUrl, }) {
26
+ export function AccountStatusPage({ sessionId, clientSecret, baseUrl, }) {
31
27
  const client = useDaimoClient();
32
28
  const [status, setStatus] = useState("payment_received");
29
+ const [eta, setEta] = useState(null);
33
30
  useDepositPoller({
34
31
  client,
35
32
  sessionId,
36
33
  clientSecret,
37
- onUpdate: (deposit) => setStatus(deposit.status),
34
+ onUpdate: (deposit) => {
35
+ setStatus(deposit.status);
36
+ setEta(deposit.eta);
37
+ },
38
38
  shouldStop: (deposit) => TERMINAL_STATUSES.includes(deposit.status),
39
39
  });
40
40
  const isComplete = status === "completed";
@@ -45,11 +45,11 @@ export function AccountStatusPage({ region, sessionId, clientSecret, baseUrl, })
45
45
  const title = isComplete ? t.accountDepositComplete : t.accountDepositReceived;
46
46
  const receiptUrl = `${baseUrl}/receipt?id=${sessionId}`;
47
47
  const accountUrl = `${baseUrl}/account?session=${sessionId}`;
48
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: title }), _jsx(CenteredContent, { children: _jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-3", children: [_jsx(DepositProgress, { step: step }), !isComplete && (_jsxs("span", { className: "daimo-text-[10px] daimo-px-2.5 daimo-py-1 daimo-rounded-full", style: {
48
+ return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: title }), _jsx(CenteredContent, { children: _jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-3", children: [_jsx(DepositProgress, { step: step }), !isComplete && eta && (_jsxs("span", { className: "daimo-text-[10px] daimo-px-2.5 daimo-py-1 daimo-rounded-full", style: {
49
49
  backgroundColor: "var(--daimo-surface-secondary)",
50
50
  color: "var(--daimo-text-muted)",
51
51
  fontVariantNumeric: "tabular-nums",
52
- }, children: ["ETA ", REGION_ETA[region]] }))] }) }), _jsxs("div", { className: "daimo-px-8 daimo-pb-4 daimo-flex daimo-flex-col daimo-gap-1", children: [_jsx(LinkPill, { href: accountUrl, icon: "user", label: t.accountViewAccount }), _jsx(LinkPill, { href: receiptUrl, icon: "receipt", label: t.showReceipt })] })] }));
52
+ }, children: ["ETA ", eta] }))] }) }), _jsxs("div", { className: "daimo-px-8 daimo-pb-4 daimo-flex daimo-flex-col daimo-gap-1", children: [_jsx(LinkPill, { href: accountUrl, icon: "user", label: t.accountViewAccount }), _jsx(LinkPill, { href: receiptUrl, icon: "receipt", label: t.showReceipt })] })] }));
53
53
  }
54
54
  /** Three-dot progress indicator with current step label. */
55
55
  function DepositProgress({ step }) {
@@ -1 +1 @@
1
- {"version":3,"file":"AccountStatusPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountStatusPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountStatusPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountStatusPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AccountRail } from "../../../common/account.js";
2
+ /**
3
+ * Pick the modal entry page for a rail. Each rail has its own payment UX:
4
+ * - interac: two-step amount entry → bank picker
5
+ * - ach/sepa: two-step amount entry → bank details
6
+ * - apple_pay: single unified amount+Apple Pay page (Coinbase Headless)
7
+ */
8
+ export declare function getAccountPaymentEntryTarget(rail: AccountRail): "account-payment" | "account-apple-pay";
9
+ /**
10
+ * Pick the modal page that follows the deposit amount screen (for rails
11
+ * that use the two-step flow).
12
+ */
13
+ export declare function getAccountPaymentAdvanceTarget(rail: AccountRail): "account-canada-bank-picker" | "account-bank-details" | "account-apple-pay";
14
+ //# sourceMappingURL=accountNav.d.ts.map
@@ -0,0 +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,2CAW7D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,WAAW,+EAW/D"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Pick the modal entry page for a rail. Each rail has its own payment UX:
3
+ * - interac: two-step amount entry → bank picker
4
+ * - ach/sepa: two-step amount entry → bank details
5
+ * - apple_pay: single unified amount+Apple Pay page (Coinbase Headless)
6
+ */
7
+ export function getAccountPaymentEntryTarget(rail) {
8
+ switch (rail) {
9
+ case "apple_pay":
10
+ // Coinbase Headless: amount input + Apple Pay live in the same page.
11
+ return "account-apple-pay";
12
+ case "interac":
13
+ case "ach":
14
+ case "sepa":
15
+ // Old two-step flow: amount first, then picker/details.
16
+ return "account-payment";
17
+ }
18
+ }
19
+ /**
20
+ * Pick the modal page that follows the deposit amount screen (for rails
21
+ * that use the two-step flow).
22
+ */
23
+ export function getAccountPaymentAdvanceTarget(rail) {
24
+ switch (rail) {
25
+ case "interac":
26
+ return "account-canada-bank-picker";
27
+ case "ach":
28
+ case "sepa":
29
+ return "account-bank-details";
30
+ case "apple_pay":
31
+ // Never used — apple_pay skips account-payment entirely.
32
+ return "account-apple-pay";
33
+ }
34
+ }
35
+ //# sourceMappingURL=accountNav.js.map
@@ -0,0 +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;YACT,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;YACT,OAAO,sBAA+B,CAAC;QACzC,KAAK,WAAW;YACd,yDAAyD;YACzD,OAAO,mBAA4B,CAAC;IACxC,CAAC;AACH,CAAC"}
@@ -25,23 +25,39 @@ function openFormPost(deeplink) {
25
25
  if (!popup)
26
26
  return;
27
27
  setTimeout(() => {
28
+ if (popup.closed)
29
+ return;
28
30
  popup.location.href = "about:blank";
29
- setTimeout(() => {
30
- popup.document.open();
31
- const fields = Object.entries(deeplink.formFields)
32
- .map(([k, v]) => `<input type="hidden" name="${escAttr(k)}" value="${escAttr(v)}"/>`)
33
- .join("\n");
34
- popup.document.write(`<html><body>` +
35
- `<p style="font-family:system-ui;color:#666;text-align:center;margin-top:40vh">` +
36
- `Connecting to your bank\u2026</p>` +
37
- `<form id="f" method="POST" action="${escAttr(deeplink.formAction)}">` +
38
- `${fields}</form>` +
39
- `<script>document.getElementById('f').submit();</script>` +
40
- `</body></html>`);
41
- popup.document.close();
42
- }, 500);
31
+ writeFormPostPage(popup, deeplink);
43
32
  }, deeplink.warmDelayMs);
44
33
  }
34
+ function writeFormPostPage(popup, deeplink, attempt = 0) {
35
+ if (popup.closed)
36
+ return;
37
+ try {
38
+ popup.document.open();
39
+ const fields = Object.entries(deeplink.formFields)
40
+ .map(([k, v]) => `<input type="hidden" name="${escAttr(k)}" value="${escAttr(v)}"/>`)
41
+ .join("\n");
42
+ popup.document.write(`<html><body>` +
43
+ `<p style="font-family:system-ui;color:#666;text-align:center;margin-top:40vh">` +
44
+ `Connecting to your bank\u2026</p>` +
45
+ `<form id="f" method="POST" action="${escAttr(deeplink.formAction)}">` +
46
+ `${fields}</form>` +
47
+ `<script>document.getElementById('f').submit();</script>` +
48
+ `</body></html>`);
49
+ popup.document.close();
50
+ }
51
+ catch (error) {
52
+ if (attempt >= 20) {
53
+ console.error("[openDeeplink] failed to prepare form-post popup:", error);
54
+ return;
55
+ }
56
+ setTimeout(() => {
57
+ writeFormPostPage(popup, deeplink, attempt + 1);
58
+ }, 100);
59
+ }
60
+ }
45
61
  /** Escape a string for safe embedding in an HTML attribute (double-quoted). */
46
62
  function escAttr(s) {
47
63
  return s
@@ -1 +1 @@
1
- {"version":3,"file":"openDeeplink.js","sourceRoot":"","sources":["../../../../src/web/components/account/openDeeplink.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAElE,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAC1B,QAAyB,EACzB,QAAuB;IAEvB,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,GACP,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClE,oEAAoE;QACpE,IAAI,iBAAiB,CAAC,GAAG,CAAC;YAAE,OAAO;QACnC,qEAAqE;QACrE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,UAAU;YACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,WAAW;YACd,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM;IACV,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,QAAiD;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;QACpC,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;iBAC/C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;iBACpF,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,QAAQ,CAAC,KAAK,CAClB,cAAc;gBACd,gFAAgF;gBAChF,mCAAmC;gBACnC,sCAAsC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;gBACtE,GAAG,MAAM,SAAS;gBAClB,yDAAyD;gBACzD,gBAAgB,CACjB,CAAC;YACF,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAC/E,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,oFAAoF;AACpF,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,CAAC,GAAG,MAIT,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"openDeeplink.js","sourceRoot":"","sources":["../../../../src/web/components/account/openDeeplink.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function normalizeUsPhoneDigits(raw: string): string;
2
+ export declare function formatUsPhoneInput(digits: string): string;
3
+ export declare function formatUsPhoneLocal(digits: string): string;
4
+ export declare function formatUsPhoneDisplay(raw: string): string;
5
+ export declare function toUsPhoneE164(digits: string): string;
6
+ //# sourceMappingURL=phone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/phone.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOzD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOzD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -0,0 +1,35 @@
1
+ export function normalizeUsPhoneDigits(raw) {
2
+ const allDigits = raw.replace(/\D/g, "");
3
+ const withoutCountryCode = allDigits.length > 10 && allDigits.startsWith("1")
4
+ ? allDigits.slice(1)
5
+ : allDigits;
6
+ return withoutCountryCode.slice(0, 10);
7
+ }
8
+ export function formatUsPhoneInput(digits) {
9
+ if (digits.length === 0)
10
+ return "";
11
+ if (digits.length <= 3)
12
+ return `+1 ${digits}`;
13
+ if (digits.length <= 6) {
14
+ return `+1 ${digits.slice(0, 3)} ${digits.slice(3)}`;
15
+ }
16
+ return `+1 ${digits.slice(0, 3)} ${digits.slice(3, 6)} ${digits.slice(6)}`;
17
+ }
18
+ export function formatUsPhoneLocal(digits) {
19
+ if (digits.length === 0)
20
+ return "";
21
+ if (digits.length <= 3)
22
+ return digits;
23
+ if (digits.length <= 6) {
24
+ return `${digits.slice(0, 3)} ${digits.slice(3)}`;
25
+ }
26
+ return `${digits.slice(0, 3)} ${digits.slice(3, 6)} ${digits.slice(6)}`;
27
+ }
28
+ export function formatUsPhoneDisplay(raw) {
29
+ const digits = normalizeUsPhoneDigits(raw);
30
+ return digits.length === 0 ? raw : formatUsPhoneInput(digits);
31
+ }
32
+ export function toUsPhoneE164(digits) {
33
+ return digits.length === 10 ? `+1${digits}` : "";
34
+ }
35
+ //# sourceMappingURL=phone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../../../src/web/components/account/phone.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,kBAAkB,GACtB,SAAS,CAAC,MAAM,GAAG,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAChD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,MAAM,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC"}
@@ -0,0 +1,20 @@
1
+ type UseCoinbaseApplePayWidgetArgs = {
2
+ allowExpandedView: boolean;
3
+ onRefreshDeposit: () => Promise<void>;
4
+ paymentLinkUrl: string | null;
5
+ };
6
+ type UseCoinbaseApplePayWidgetResult = {
7
+ iframeExpanded: boolean;
8
+ onIframeLoad: () => void;
9
+ iframeReady: boolean;
10
+ iframeRef: React.RefObject<HTMLIFrameElement | null>;
11
+ resetWidget: () => void;
12
+ widgetError: string | null;
13
+ };
14
+ /**
15
+ * Coinbase iframe lifecycle and postMessage handling. Keeps the account page
16
+ * focused on amount entry / layout while this hook owns hosted-widget state.
17
+ */
18
+ export declare function useCoinbaseApplePayWidget({ allowExpandedView, onRefreshDeposit, paymentLinkUrl, }: UseCoinbaseApplePayWidgetArgs): UseCoinbaseApplePayWidgetResult;
19
+ export {};
20
+ //# sourceMappingURL=useCoinbaseApplePayWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCoinbaseApplePayWidget.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/useCoinbaseApplePayWidget.ts"],"names":[],"mappings":"AASA,KAAK,6BAA6B,GAAG;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,KAAK,+BAA+B,GAAG;IACrC,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACrD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,EAAE,6BAA6B,GAAG,+BAA+B,CAsIjE"}
@@ -0,0 +1,159 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ /**
3
+ * Coinbase iframe lifecycle and postMessage handling. Keeps the account page
4
+ * focused on amount entry / layout while this hook owns hosted-widget state.
5
+ */
6
+ export function useCoinbaseApplePayWidget({ allowExpandedView, onRefreshDeposit, paymentLinkUrl, }) {
7
+ const [widgetError, setWidgetError] = useState(null);
8
+ const [iframeReady, setIframeReady] = useState(false);
9
+ const [iframeExpanded, setIframeExpanded] = useState(false);
10
+ const iframeRef = useRef(null);
11
+ const refreshRef = useRef(onRefreshDeposit);
12
+ const resetWidget = useCallback(() => {
13
+ debugApplePay("reset widget", { paymentLinkUrl });
14
+ setWidgetError(null);
15
+ setIframeReady(false);
16
+ setIframeExpanded(false);
17
+ }, [paymentLinkUrl]);
18
+ useEffect(() => {
19
+ refreshRef.current = onRefreshDeposit;
20
+ }, [onRefreshDeposit]);
21
+ useEffect(() => {
22
+ if (!allowExpandedView)
23
+ setIframeExpanded(false);
24
+ }, [allowExpandedView]);
25
+ useEffect(() => {
26
+ debugApplePay("payment link updated", { paymentLinkUrl });
27
+ resetWidget();
28
+ }, [paymentLinkUrl, resetWidget]);
29
+ const updateExpandedView = useCallback((expanded) => {
30
+ if (!allowExpandedView) {
31
+ if (!expanded)
32
+ setIframeExpanded(false);
33
+ return;
34
+ }
35
+ setIframeExpanded(expanded);
36
+ }, [allowExpandedView]);
37
+ useEffect(() => {
38
+ const handler = (event) => {
39
+ if (typeof event.origin !== "string" || !isCoinbaseOrigin(event.origin)) {
40
+ return;
41
+ }
42
+ const iframeWindow = iframeRef.current?.contentWindow;
43
+ if (iframeWindow && event.source !== iframeWindow) {
44
+ return;
45
+ }
46
+ const parsed = parseCoinbaseEvent(event.data);
47
+ if (!parsed)
48
+ return;
49
+ debugApplePay("coinbase event", {
50
+ eventName: parsed.eventName,
51
+ data: parsed.data,
52
+ });
53
+ switch (parsed.eventName) {
54
+ case "onramp_api.load_pending":
55
+ setIframeReady(false);
56
+ return;
57
+ case "onramp_api.load_success":
58
+ setWidgetError(null);
59
+ setIframeReady(true);
60
+ return;
61
+ case "onramp_api.load_error":
62
+ if (parsed.data?.errorCode ===
63
+ "ERROR_CODE_GUEST_APPLE_PAY_NOT_SUPPORTED") {
64
+ setIframeReady(false);
65
+ return;
66
+ }
67
+ setWidgetError(parsed.data?.errorMessage ?? "failed to load payment widget");
68
+ return;
69
+ case "onramp_api.apple_pay_button_pressed":
70
+ updateExpandedView(true);
71
+ return;
72
+ case "onramp_api.pending_payment_auth":
73
+ case "onramp_api.payment_authorized":
74
+ updateExpandedView(true);
75
+ return;
76
+ case "onramp_api.commit_success":
77
+ updateExpandedView(false);
78
+ void refreshRef.current();
79
+ return;
80
+ case "onramp_api.commit_error":
81
+ updateExpandedView(false);
82
+ setWidgetError(parsed.data?.errorMessage ?? "payment failed");
83
+ return;
84
+ case "onramp_api.cancel":
85
+ debugApplePay("collapsing widget after cancel event");
86
+ updateExpandedView(false);
87
+ return;
88
+ case "onramp_api.apple_pay_session_cancelled":
89
+ updateExpandedView(false);
90
+ return;
91
+ case "onramp_api.polling_start":
92
+ updateExpandedView(true);
93
+ void refreshRef.current();
94
+ return;
95
+ case "onramp_api.polling_success":
96
+ updateExpandedView(false);
97
+ void refreshRef.current();
98
+ return;
99
+ case "onramp_api.polling_error":
100
+ updateExpandedView(false);
101
+ setWidgetError(parsed.data?.errorMessage ?? "transaction processing error");
102
+ return;
103
+ default:
104
+ debugApplePay("unhandled coinbase event", {
105
+ eventName: parsed.eventName,
106
+ data: parsed.data,
107
+ });
108
+ return;
109
+ }
110
+ };
111
+ window.addEventListener("message", handler);
112
+ return () => window.removeEventListener("message", handler);
113
+ }, [updateExpandedView]);
114
+ const onIframeLoad = useCallback(() => {
115
+ debugApplePay("iframe load", { paymentLinkUrl });
116
+ }, [paymentLinkUrl]);
117
+ return {
118
+ iframeExpanded,
119
+ onIframeLoad,
120
+ iframeReady,
121
+ iframeRef,
122
+ resetWidget,
123
+ widgetError,
124
+ };
125
+ }
126
+ /**
127
+ * Coinbase sends postMessage payloads as JSON strings. Parse and narrow them
128
+ * before the page reacts to lifecycle events.
129
+ */
130
+ function parseCoinbaseEvent(raw) {
131
+ let parsed;
132
+ try {
133
+ parsed = typeof raw === "string" ? JSON.parse(raw) : raw;
134
+ }
135
+ catch {
136
+ return null;
137
+ }
138
+ if (!parsed || typeof parsed !== "object")
139
+ return null;
140
+ const maybe = parsed;
141
+ if (typeof maybe.eventName !== "string")
142
+ return null;
143
+ if (!maybe.eventName.startsWith("onramp_api."))
144
+ return null;
145
+ return maybe;
146
+ }
147
+ function isCoinbaseOrigin(origin) {
148
+ try {
149
+ const { hostname } = new URL(origin);
150
+ return hostname === "coinbase.com" || hostname.endsWith(".coinbase.com");
151
+ }
152
+ catch {
153
+ return false;
154
+ }
155
+ }
156
+ function debugApplePay(message, fields) {
157
+ console.info("[apple-pay]", message, fields ?? {});
158
+ }
159
+ //# sourceMappingURL=useCoinbaseApplePayWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCoinbaseApplePayWidget.js","sourceRoot":"","sources":["../../../../src/web/components/account/useCoinbaseApplePayWidget.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import { CSSProperties, ReactNode } from "react";
2
2
  import { ExternalLinkIcon } from "./icons.js";
3
3
  export { ExternalLinkIcon };
4
4
  type ButtonProps = {
@@ -12,4 +12,14 @@ type ButtonProps = {
12
12
  export declare function PrimaryButton({ children, onClick, disabled, icon, className, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
13
13
  /** Secondary action button - for less prominent actions like "Done", "Close" */
14
14
  export declare function SecondaryButton({ children, onClick, disabled, icon, className, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
15
+ type SecondaryLinkButtonProps = {
16
+ children: ReactNode;
17
+ href?: string;
18
+ onClick?: () => void;
19
+ disabled?: boolean;
20
+ className?: string;
21
+ style?: CSSProperties;
22
+ };
23
+ /** Small underlined text link. Renders <a> when href is set, <button> otherwise. */
24
+ export declare function SecondaryLinkButton({ children, href, onClick, disabled, className, style, }: SecondaryLinkButtonProps): import("react/jsx-runtime").JSX.Element;
15
25
  //# sourceMappingURL=buttons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../../src/web/components/buttons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,IAAI,EACJ,SAAc,GACf,EAAE,WAAW,2CAmBb;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,IAAI,EACJ,SAAc,GACf,EAAE,WAAW,2CAmBb"}
1
+ {"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../../src/web/components/buttons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,IAAI,EACJ,SAAc,GACf,EAAE,WAAW,2CAoBb;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,IAAI,EACJ,SAAc,GACf,EAAE,WAAW,2CAoBb;AAED,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,SAAc,EACd,KAAK,GACN,EAAE,wBAAwB,2CAsB1B"}
@@ -1,4 +1,4 @@
1
- import { jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ExternalLinkIcon } from "./icons.js";
3
3
  export { ExternalLinkIcon };
4
4
  /** Primary action button - full width, prominent styling */
@@ -7,7 +7,7 @@ export function PrimaryButton({ children, onClick, disabled = false, icon, class
7
7
  const baseStyles = "daimo-w-full daimo-max-w-xs daimo-min-h-[44px] daimo-py-4 daimo-px-6 daimo-rounded-[var(--daimo-radius-lg)] daimo-font-medium daimo-flex daimo-items-center daimo-justify-center daimo-gap-2 daimo-touch-action-manipulation daimo-transition-[background-color] daimo-duration-100 daimo-ease";
8
8
  const enabledStyles = "daimo-bg-[var(--daimo-surface-secondary)] daimo-text-[var(--daimo-text)] hover:[@media(hover:hover)]:daimo-bg-[var(--daimo-surface-hover)]";
9
9
  const disabledStyles = "daimo-bg-[var(--daimo-surface-secondary)] daimo-text-[var(--daimo-text-muted)] daimo-cursor-not-allowed";
10
- return (_jsxs("button", { onClick: onClick, disabled: disabled, className: `${baseStyles} ${disabled ? disabledStyles : enabledStyles} ${className}`, children: [icon, children] }));
10
+ return (_jsxs("button", { type: "button", onClick: onClick, disabled: disabled, className: `${baseStyles} ${disabled ? disabledStyles : enabledStyles} ${className}`, children: [icon, children] }));
11
11
  }
12
12
  /** Secondary action button - for less prominent actions like "Done", "Close" */
13
13
  export function SecondaryButton({ children, onClick, disabled = false, icon, className = "", }) {
@@ -15,6 +15,14 @@ export function SecondaryButton({ children, onClick, disabled = false, icon, cla
15
15
  const baseStyles = "daimo-min-h-[44px] daimo-py-3 daimo-px-8 daimo-rounded-[var(--daimo-radius-md)] daimo-font-medium daimo-flex daimo-items-center daimo-justify-center daimo-gap-2 daimo-touch-action-manipulation daimo-transition-[background-color] daimo-duration-100 daimo-ease";
16
16
  const enabledStyles = "daimo-bg-[var(--daimo-surface-secondary)] daimo-text-[var(--daimo-text)] hover:[@media(hover:hover)]:daimo-bg-[var(--daimo-surface-hover)]";
17
17
  const disabledStyles = "daimo-bg-[var(--daimo-surface-secondary)] daimo-text-[var(--daimo-text-muted)] daimo-cursor-not-allowed";
18
- return (_jsxs("button", { onClick: onClick, disabled: disabled, className: `${baseStyles} ${disabled ? disabledStyles : enabledStyles} ${className}`, children: [icon, children] }));
18
+ return (_jsxs("button", { type: "button", onClick: onClick, disabled: disabled, className: `${baseStyles} ${disabled ? disabledStyles : enabledStyles} ${className}`, children: [icon, children] }));
19
+ }
20
+ /** Small underlined text link. Renders <a> when href is set, <button> otherwise. */
21
+ export function SecondaryLinkButton({ children, href, onClick, disabled, className = "", style, }) {
22
+ const styles = `daimo-text-sm daimo-text-[var(--daimo-text-secondary)] hover:daimo-text-[var(--daimo-text)] daimo-underline daimo-transition-colors ${className}`;
23
+ if (href != null) {
24
+ return (_jsx("a", { href: href, className: styles, style: style, children: children }));
25
+ }
26
+ return (_jsx("button", { type: "button", onClick: onClick, disabled: disabled, className: styles, style: style, children: children }));
19
27
  }
20
28
  //# sourceMappingURL=buttons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../../src/web/components/buttons.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAU5B,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,GACF;IACZ,qDAAqD;IACrD,MAAM,UAAU,GACd,gSAAgS,CAAC;IACnS,MAAM,aAAa,GACjB,4IAA4I,CAAC;IAC/I,MAAM,cAAc,GAClB,yGAAyG,CAAC;IAE5G,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS,EAAE,aAEnF,IAAI,EACJ,QAAQ,IACF,CACV,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,GACF;IACZ,qDAAqD;IACrD,MAAM,UAAU,GACd,oQAAoQ,CAAC;IACvQ,MAAM,aAAa,GACjB,4IAA4I,CAAC;IAC/I,MAAM,cAAc,GAClB,yGAAyG,CAAC;IAE5G,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS,EAAE,aAEnF,IAAI,EACJ,QAAQ,IACF,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../../src/web/components/buttons.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAU5B,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,GACF;IACZ,qDAAqD;IACrD,MAAM,UAAU,GACd,gSAAgS,CAAC;IACnS,MAAM,aAAa,GACjB,4IAA4I,CAAC;IAC/I,MAAM,cAAc,GAClB,yGAAyG,CAAC;IAE5G,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS,EAAE,aAEnF,IAAI,EACJ,QAAQ,IACF,CACV,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,GACF;IACZ,qDAAqD;IACrD,MAAM,UAAU,GACd,oQAAoQ,CAAC;IACvQ,MAAM,aAAa,GACjB,4IAA4I,CAAC;IAC/I,MAAM,cAAc,GAClB,yGAAyG,CAAC;IAE5G,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS,EAAE,aAEnF,IAAI,EACJ,QAAQ,IACF,CACV,CAAC;AACJ,CAAC;AAWD,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GACoB;IACzB,MAAM,MAAM,GAAG,uIAAuI,SAAS,EAAE,CAAC;IAElK,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,CACL,YAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,YAC3C,QAAQ,GACP,CACL,CAAC;IACJ,CAAC;IAED,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,YAEX,QAAQ,GACF,CACV,CAAC;AACJ,CAAC"}
@@ -10,6 +10,11 @@ export declare function ExpiredIcon({ className, size }: IconProps): import("rea
10
10
  export declare function ErrorIcon({ className, size }: IconProps): import("react/jsx-runtime").JSX.Element;
11
11
  /** Back arrow for navigation */
12
12
  export declare function BackArrowIcon({ className, size }: IconProps): import("react/jsx-runtime").JSX.Element;
13
+ /** Opposing arrows for switching payment modes */
14
+ export declare function SwitchArrowsIcon({ className, size, flipY, animated, }: IconProps & {
15
+ flipY?: boolean;
16
+ animated?: boolean;
17
+ }): import("react/jsx-runtime").JSX.Element;
13
18
  /** Close X icon for modal dismiss */
14
19
  export declare function CloseIcon({ className, size }: IconProps): import("react/jsx-runtime").JSX.Element;
15
20
  /** Copy icon with checkmark state */
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/web/components/icons.tsx"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAgB5D;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAiB9D;AAED,8BAA8B;AAC9B,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAkB5D;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,IAAQ,EAAE,EAAE,SAAS,2CAkB/D;AAED,qCAAqC;AACrC,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAiB5D;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,IAAS,EACT,MAAc,GACf,EAAE,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,2CAkClC;AAED,0BAA0B;AAC1B,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CA6BhE;AAED,yBAAyB;AACzB,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CA2BnE"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/web/components/icons.tsx"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAgB5D;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAiB9D;AAED,8BAA8B;AAC9B,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAkB5D;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,IAAQ,EAAE,EAAE,SAAS,2CAkB/D;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,IAAS,EACT,KAAa,EACb,QAAgB,GACjB,EAAE,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,2CAuBrD;AAED,qCAAqC;AACrC,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CAiB5D;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,IAAS,EACT,MAAc,GACf,EAAE,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,2CAkClC;AAED,0BAA0B;AAC1B,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CA6BhE;AAED,yBAAyB;AACzB,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,EAAE,SAAS,2CA2BnE"}
@@ -15,6 +15,13 @@ export function ErrorIcon({ className, size = 40 }) {
15
15
  export function BackArrowIcon({ className, size = 9 }) {
16
16
  return (_jsx("svg", { width: size, height: Math.round((size * 16) / 9), viewBox: "0 0 9 16", fill: "none", className: className ?? "daimo-text-[var(--daimo-text-muted)]", children: _jsx("path", { d: "M8 1L1 8L8 15", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
17
17
  }
18
+ /** Opposing arrows for switching payment modes */
19
+ export function SwitchArrowsIcon({ className, size = 16, flipY = false, animated = false, }) {
20
+ return (_jsx("svg", { "aria-hidden": "true", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className ?? "daimo-text-[var(--daimo-text-muted)]", style: {
21
+ transform: flipY ? "scaleY(-1)" : "scaleY(1)",
22
+ transition: animated ? "transform 0.2s ease-in-out" : undefined,
23
+ }, children: _jsx("path", { d: "M3 7.5 7.5 3m0 0L12 7.5M7.5 3v13.5m13.5 0L16.5 21m0 0L12 16.5m4.5 4.5V7.5", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round" }) }));
24
+ }
18
25
  /** Close X icon for modal dismiss */
19
26
  export function CloseIcon({ className, size = 14 }) {
20
27
  return (_jsx("svg", { width: size, height: size, viewBox: "0 0 14 14", fill: "none", className: className ?? "daimo-text-[var(--daimo-text-muted)]", children: _jsx("path", { d: "M1 13L13 1M1 1L13 13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/web/components/icons.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/web/components/icons.tsx"],"names":[],"mappings":";AAKA,8CAA8C;AAC9C,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAa;IAC3D,OAAO,CACL,cACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,SAAS,IAAI,mCAAmC,YAE3D,eAAM,CAAC,EAAC,iBAAiB,GAAG,GACxB,CACP,CAAC;AACJ,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAa;IAC7D,OAAO,CACL,eACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,SAAS,IAAI,iCAAiC,aAEzD,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,eAAM,CAAC,EAAC,aAAa,GAAG,IACpB,CACP,CAAC;AACJ,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAa;IAC3D,OAAO,CACL,eACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,SAAS,IAAI,iCAAiC,aAEzD,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,eAAM,CAAC,EAAC,YAAY,GAAG,EACvB,eAAM,CAAC,EAAC,UAAU,GAAG,IACjB,CACP,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,EAAa;IAC9D,OAAO,CACL,cACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EACnC,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,SAAS,IAAI,sCAAsC,YAE9D,eACE,CAAC,EAAC,eAAe,EACjB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,CACP,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,SAAS,EACT,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,KAAK,EACb,QAAQ,GAAG,KAAK,GACoC;IACpD,OAAO,CACL,6BACc,MAAM,EAClB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,SAAS,IAAI,sCAAsC,EAC9D,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;YAC7C,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS;SAChE,YAED,eACE,CAAC,EAAC,2EAA2E,EAC7E,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,MAAM,EAClB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,CACP,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAa;IAC3D,OAAO,CACL,cACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,SAAS,IAAI,sCAAsC,YAE9D,eACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,GACrB,GACE,CACP,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,QAAQ,CAAC,EACvB,SAAS,EACT,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,KAAK,GACmB;IACjC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CACL,cACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,SAAS,IAAI,kCAAkC,YAE1D,eAAM,CAAC,EAAC,iBAAiB,GAAG,GACxB,CACP,CAAC;IACJ,CAAC;IACD,OAAO,CACL,eACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,SAAS,IAAI,sCAAsC,aAE9D,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACzD,eAAM,CAAC,EAAC,oDAAoD,GAAG,IAC3D,CACP,CAAC;AACJ,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAa;IAC/D,OAAO,CACL,eACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,eAAe,EACvB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,SAAS,IAAI,sCAAsC,aAE9D,eACE,CAAC,EAAC,iBAAiB,EACnB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,IAAI,EAChB,aAAa,EAAC,OAAO,GACrB,EACF,eACE,CAAC,EAAC,iBAAiB,EACnB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,IAAI,EAChB,aAAa,EAAC,OAAO,GACrB,EACF,eACE,CAAC,EAAC,iBAAiB,EACnB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,IAAI,EAChB,aAAa,EAAC,OAAO,GACrB,IACE,CACP,CAAC;AACJ,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAa;IAClE,OAAO,CACL,8BACc,MAAM,EAClB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,SAAS,aAEpB,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,sVAAsV,EACxV,IAAI,EAAC,cAAc,EACnB,WAAW,EAAE,GAAG,GAChB,EACF,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,wSAAwS,EAC1S,IAAI,EAAC,cAAc,EACnB,WAAW,EAAE,GAAG,GAChB,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -19,14 +19,15 @@ type AmountInputProps = {
19
19
  onSubmit: (amount: number) => void;
20
20
  /** Called whenever the amount changes */
21
21
  onChange?: (amount: number, isValid: boolean) => void;
22
+ disabled?: boolean;
22
23
  };
23
24
  /**
24
25
  * Amount input with dynamic width, currency symbol, and min/max validation.
25
26
  * Shows warning messages when amount is outside valid range.
26
27
  */
27
- export declare function AmountInput({ minimum, maximum, currencySymbol, defaultLabel, initialValue, onSubmit, onChange, }: AmountInputProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function AmountInput({ minimum, maximum, currencySymbol, defaultLabel, initialValue, onSubmit, onChange, disabled, }: AmountInputProps): import("react/jsx-runtime").JSX.Element;
28
29
  /** Hook to manage amount input state externally */
29
- export declare function useAmountInput(minimum: number, maximum: number): {
30
+ export declare function useAmountInput(minimum: number, maximum: number, initialValue?: string): {
30
31
  amount: number;
31
32
  isValid: boolean;
32
33
  handleChange: (amt: number, valid: boolean) => void;
@@ -97,6 +98,10 @@ type TokenIconWithChainBadgeProps = {
97
98
  size?: "sm" | "lg" | "qr";
98
99
  /** Border color class for the chain badge (defaults to row background colors) */
99
100
  badgeBorderClass?: string;
101
+ /** Override for the badge logo. Null hides the badge; undefined falls back to the chain logo. */
102
+ badgeLogoURI?: string | null;
103
+ /** Alt text for the badge image. Falls back to the chain name. */
104
+ badgeAlt?: string;
100
105
  baseUrl: string;
101
106
  };
102
107
  /**
@@ -105,7 +110,7 @@ type TokenIconWithChainBadgeProps = {
105
110
  * - "lg": 80x80 token, 32x32 badge (for page headers)
106
111
  * - "qr": 48x48 token, 16x16 badge at top-right (for QR code centers)
107
112
  */
108
- export declare function TokenIconWithChainBadge({ token, chainId, symbol, logoURI, size, badgeBorderClass, baseUrl, }: TokenIconWithChainBadgeProps): import("react/jsx-runtime").JSX.Element;
113
+ export declare function TokenIconWithChainBadge({ token, chainId, symbol, logoURI, size, badgeBorderClass, badgeLogoURI, badgeAlt, baseUrl, }: TokenIconWithChainBadgeProps): import("react/jsx-runtime").JSX.Element;
109
114
  /** Map chainId to logo filename */
110
115
  export declare function getChainLogoFilename(chainId: number): string;
111
116
  /** Fully resolved chain logo URL, ready to use as an img src. */