@daimo/sdk 1.4.2 → 1.4.3

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 (210) hide show
  1. package/dist/client/createDaimoClient.d.ts +16 -6
  2. package/dist/client/createDaimoClient.d.ts.map +1 -1
  3. package/dist/client/createDaimoClient.js +16 -0
  4. package/dist/client/createDaimoClient.js.map +1 -1
  5. package/dist/common/account.d.ts +89 -13
  6. package/dist/common/account.d.ts.map +1 -1
  7. package/dist/common/account.js +12 -1
  8. package/dist/common/account.js.map +1 -1
  9. package/dist/common/api.d.ts +25 -12
  10. package/dist/common/api.d.ts.map +1 -1
  11. package/dist/common/api.js +9 -1
  12. package/dist/common/api.js.map +1 -1
  13. package/dist/common/session.d.ts +26 -2
  14. package/dist/common/session.d.ts.map +1 -1
  15. package/dist/common/session.js.map +1 -1
  16. package/dist/common/token.d.ts +3 -0
  17. package/dist/common/token.d.ts.map +1 -1
  18. package/dist/common/token.js +21 -0
  19. package/dist/common/token.js.map +1 -1
  20. package/dist/version.d.ts +1 -1
  21. package/dist/version.js +1 -1
  22. package/dist/web/accountWallet.d.ts +15 -0
  23. package/dist/web/accountWallet.d.ts.map +1 -0
  24. package/dist/web/accountWallet.js +44 -0
  25. package/dist/web/accountWallet.js.map +1 -0
  26. package/dist/web/api/index.d.ts +17 -11
  27. package/dist/web/api/index.d.ts.map +1 -1
  28. package/dist/web/api/navTree.d.ts +27 -5
  29. package/dist/web/api/navTree.d.ts.map +1 -1
  30. package/dist/web/components/ApplePayLogo.d.ts +9 -0
  31. package/dist/web/components/ApplePayLogo.d.ts.map +1 -0
  32. package/dist/web/components/ApplePayLogo.js +15 -0
  33. package/dist/web/components/ApplePayLogo.js.map +1 -0
  34. package/dist/web/components/ChooseOptionPage.d.ts.map +1 -1
  35. package/dist/web/components/ChooseOptionPage.js +20 -7
  36. package/dist/web/components/ChooseOptionPage.js.map +1 -1
  37. package/dist/web/components/ChooseWalletPage.js +12 -3
  38. package/dist/web/components/ChooseWalletPage.js.map +1 -1
  39. package/dist/web/components/ConfirmationSpinner.d.ts +3 -1
  40. package/dist/web/components/ConfirmationSpinner.d.ts.map +1 -1
  41. package/dist/web/components/ConfirmationSpinner.js +7 -2
  42. package/dist/web/components/ConfirmationSpinner.js.map +1 -1
  43. package/dist/web/components/DaimoModal.d.ts.map +1 -1
  44. package/dist/web/components/DaimoModal.js +80 -50
  45. package/dist/web/components/DaimoModal.js.map +1 -1
  46. package/dist/web/components/DeeplinkPage.d.ts.map +1 -1
  47. package/dist/web/components/DeeplinkPage.js +4 -3
  48. package/dist/web/components/DeeplinkPage.js.map +1 -1
  49. package/dist/web/components/ErrorPage.d.ts.map +1 -1
  50. package/dist/web/components/ErrorPage.js +4 -1
  51. package/dist/web/components/ErrorPage.js.map +1 -1
  52. package/dist/web/components/ExchangePage.d.ts.map +1 -1
  53. package/dist/web/components/ExchangePage.js +8 -23
  54. package/dist/web/components/ExchangePage.js.map +1 -1
  55. package/dist/web/components/ExternalPaymentPage.d.ts +22 -0
  56. package/dist/web/components/ExternalPaymentPage.d.ts.map +1 -0
  57. package/dist/web/components/ExternalPaymentPage.js +24 -0
  58. package/dist/web/components/ExternalPaymentPage.js.map +1 -0
  59. package/dist/web/components/ModalSkeleton.d.ts.map +1 -1
  60. package/dist/web/components/ModalSkeleton.js +2 -4
  61. package/dist/web/components/ModalSkeleton.js.map +1 -1
  62. package/dist/web/components/SelectTokenPage.d.ts.map +1 -1
  63. package/dist/web/components/SelectTokenPage.js +3 -3
  64. package/dist/web/components/SelectTokenPage.js.map +1 -1
  65. package/dist/web/components/Skeleton.d.ts +19 -0
  66. package/dist/web/components/Skeleton.d.ts.map +1 -0
  67. package/dist/web/components/Skeleton.js +21 -0
  68. package/dist/web/components/Skeleton.js.map +1 -0
  69. package/dist/web/components/StripeOnrampPage.d.ts +3 -27
  70. package/dist/web/components/StripeOnrampPage.d.ts.map +1 -1
  71. package/dist/web/components/StripeOnrampPage.js +6 -116
  72. package/dist/web/components/StripeOnrampPage.js.map +1 -1
  73. package/dist/web/components/TokenAmountEntry.d.ts +9 -3
  74. package/dist/web/components/TokenAmountEntry.d.ts.map +1 -1
  75. package/dist/web/components/TokenAmountEntry.js +48 -27
  76. package/dist/web/components/TokenAmountEntry.js.map +1 -1
  77. package/dist/web/components/WaitingDepositAddressPage.d.ts +39 -0
  78. package/dist/web/components/WaitingDepositAddressPage.d.ts.map +1 -1
  79. package/dist/web/components/WaitingDepositAddressPage.js +61 -32
  80. package/dist/web/components/WaitingDepositAddressPage.js.map +1 -1
  81. package/dist/web/components/WalletAmountPage.d.ts.map +1 -1
  82. package/dist/web/components/WalletAmountPage.js +7 -4
  83. package/dist/web/components/WalletAmountPage.js.map +1 -1
  84. package/dist/web/components/account/AccountApplePayPage.d.ts +1 -1
  85. package/dist/web/components/account/AccountApplePayPage.d.ts.map +1 -1
  86. package/dist/web/components/account/AccountApplePayPage.js +1 -1
  87. package/dist/web/components/account/AccountApplePayPage.js.map +1 -1
  88. package/dist/web/components/account/AccountBankDetailsPage.d.ts +2 -1
  89. package/dist/web/components/account/AccountBankDetailsPage.d.ts.map +1 -1
  90. package/dist/web/components/account/AccountBankDetailsPage.js +166 -54
  91. package/dist/web/components/account/AccountBankDetailsPage.js.map +1 -1
  92. package/dist/web/components/account/AccountBankPickerPage.d.ts.map +1 -1
  93. package/dist/web/components/account/AccountBankPickerPage.js +12 -13
  94. package/dist/web/components/account/AccountBankPickerPage.js.map +1 -1
  95. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts +3 -1
  96. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts.map +1 -1
  97. package/dist/web/components/account/AccountBankTransferSubmittedPage.js +9 -3
  98. package/dist/web/components/account/AccountBankTransferSubmittedPage.js.map +1 -1
  99. package/dist/web/components/account/AccountCreatingWalletPage.d.ts.map +1 -1
  100. package/dist/web/components/account/AccountCreatingWalletPage.js +6 -4
  101. package/dist/web/components/account/AccountCreatingWalletPage.js.map +1 -1
  102. package/dist/web/components/account/AccountEnrollmentPage.d.ts +5 -3
  103. package/dist/web/components/account/AccountEnrollmentPage.d.ts.map +1 -1
  104. package/dist/web/components/account/AccountEnrollmentPage.js +107 -48
  105. package/dist/web/components/account/AccountEnrollmentPage.js.map +1 -1
  106. package/dist/web/components/account/AccountFlowProvider.d.ts +1 -1
  107. package/dist/web/components/account/AccountFlowProvider.d.ts.map +1 -1
  108. package/dist/web/components/account/AccountFlowProvider.js +23 -20
  109. package/dist/web/components/account/AccountFlowProvider.js.map +1 -1
  110. package/dist/web/components/account/AccountKycInfoPage.d.ts +13 -0
  111. package/dist/web/components/account/AccountKycInfoPage.d.ts.map +1 -0
  112. package/dist/web/components/account/AccountKycInfoPage.js +37 -0
  113. package/dist/web/components/account/AccountKycInfoPage.js.map +1 -0
  114. package/dist/web/components/account/AccountOtpCodeEntry.d.ts.map +1 -1
  115. package/dist/web/components/account/AccountOtpCodeEntry.js +5 -3
  116. package/dist/web/components/account/AccountOtpCodeEntry.js.map +1 -1
  117. package/dist/web/components/account/AccountPaymentPage.d.ts +3 -2
  118. package/dist/web/components/account/AccountPaymentPage.d.ts.map +1 -1
  119. package/dist/web/components/account/AccountPaymentPage.js +30 -18
  120. package/dist/web/components/account/AccountPaymentPage.js.map +1 -1
  121. package/dist/web/components/account/AccountPhoneOtpPage.d.ts.map +1 -1
  122. package/dist/web/components/account/AccountPhoneOtpPage.js +21 -9
  123. package/dist/web/components/account/AccountPhoneOtpPage.js.map +1 -1
  124. package/dist/web/components/account/AccountPhonePage.d.ts.map +1 -1
  125. package/dist/web/components/account/AccountPhonePage.js +30 -12
  126. package/dist/web/components/account/AccountPhonePage.js.map +1 -1
  127. package/dist/web/components/account/AccountStatusPage.d.ts +1 -3
  128. package/dist/web/components/account/AccountStatusPage.d.ts.map +1 -1
  129. package/dist/web/components/account/AccountStatusPage.js +29 -39
  130. package/dist/web/components/account/AccountStatusPage.js.map +1 -1
  131. package/dist/web/components/account/accountNav.d.ts +1 -1
  132. package/dist/web/components/account/accountNav.d.ts.map +1 -1
  133. package/dist/web/components/account/accountNav.js +5 -1
  134. package/dist/web/components/account/accountNav.js.map +1 -1
  135. package/dist/web/components/account/kycRequirement.d.ts +14 -0
  136. package/dist/web/components/account/kycRequirement.d.ts.map +1 -0
  137. package/dist/web/components/account/kycRequirement.js +46 -0
  138. package/dist/web/components/account/kycRequirement.js.map +1 -0
  139. package/dist/web/components/account/phone.d.ts +2 -1
  140. package/dist/web/components/account/phone.d.ts.map +1 -1
  141. package/dist/web/components/account/phone.js +11 -2
  142. package/dist/web/components/account/phone.js.map +1 -1
  143. package/dist/web/components/containers.d.ts +6 -2
  144. package/dist/web/components/containers.d.ts.map +1 -1
  145. package/dist/web/components/containers.js +72 -27
  146. package/dist/web/components/containers.js.map +1 -1
  147. package/dist/web/components/icons.d.ts +11 -1
  148. package/dist/web/components/icons.d.ts.map +1 -1
  149. package/dist/web/components/icons.js +18 -2
  150. package/dist/web/components/icons.js.map +1 -1
  151. package/dist/web/components/shared.d.ts.map +1 -1
  152. package/dist/web/components/shared.js +18 -19
  153. package/dist/web/components/shared.js.map +1 -1
  154. package/dist/web/formatAmount.d.ts +5 -0
  155. package/dist/web/formatAmount.d.ts.map +1 -0
  156. package/dist/web/formatAmount.js +26 -0
  157. package/dist/web/formatAmount.js.map +1 -0
  158. package/dist/web/hooks/formatUserError.d.ts.map +1 -1
  159. package/dist/web/hooks/formatUserError.js +8 -0
  160. package/dist/web/hooks/formatUserError.js.map +1 -1
  161. package/dist/web/hooks/locales/en.d.ts +17 -2
  162. package/dist/web/hooks/locales/en.d.ts.map +1 -1
  163. package/dist/web/hooks/locales/en.js +27 -12
  164. package/dist/web/hooks/locales/en.js.map +1 -1
  165. package/dist/web/hooks/locales/es.d.ts.map +1 -1
  166. package/dist/web/hooks/locales/es.js +26 -11
  167. package/dist/web/hooks/locales/es.js.map +1 -1
  168. package/dist/web/hooks/locales/ja.d.ts.map +1 -1
  169. package/dist/web/hooks/locales/ja.js +27 -12
  170. package/dist/web/hooks/locales/ja.js.map +1 -1
  171. package/dist/web/hooks/locales/ko.d.ts.map +1 -1
  172. package/dist/web/hooks/locales/ko.js +27 -12
  173. package/dist/web/hooks/locales/ko.js.map +1 -1
  174. package/dist/web/hooks/locales/zh.d.ts.map +1 -1
  175. package/dist/web/hooks/locales/zh.js +27 -12
  176. package/dist/web/hooks/locales/zh.js.map +1 -1
  177. package/dist/web/hooks/navEvent.js +2 -2
  178. package/dist/web/hooks/navEvent.js.map +1 -1
  179. package/dist/web/hooks/types.d.ts +6 -2
  180. package/dist/web/hooks/types.d.ts.map +1 -1
  181. package/dist/web/hooks/types.js.map +1 -1
  182. package/dist/web/hooks/useAccountFlow.d.ts +9 -11
  183. package/dist/web/hooks/useAccountFlow.d.ts.map +1 -1
  184. package/dist/web/hooks/useAccountFlow.js +65 -27
  185. package/dist/web/hooks/useAccountFlow.js.map +1 -1
  186. package/dist/web/hooks/useCreateDeposit.d.ts +1 -1
  187. package/dist/web/hooks/useCreateDeposit.d.ts.map +1 -1
  188. package/dist/web/hooks/useCreateDeposit.js +15 -103
  189. package/dist/web/hooks/useCreateDeposit.js.map +1 -1
  190. package/dist/web/hooks/useDraftDeposit.d.ts.map +1 -1
  191. package/dist/web/hooks/useDraftDeposit.js +2 -1
  192. package/dist/web/hooks/useDraftDeposit.js.map +1 -1
  193. package/dist/web/hooks/useSessionNav.d.ts +2 -1
  194. package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
  195. package/dist/web/hooks/useSessionNav.js +120 -39
  196. package/dist/web/hooks/useSessionNav.js.map +1 -1
  197. package/dist/web/hooks/useWalletFlow.d.ts.map +1 -1
  198. package/dist/web/hooks/useWalletFlow.js +10 -0
  199. package/dist/web/hooks/useWalletFlow.js.map +1 -1
  200. package/dist/web/styles.css +1 -1
  201. package/dist/web/theme.css +1 -1
  202. package/package.json +2 -1
  203. package/dist/web/components/account/AccountReadyPage.d.ts +0 -2
  204. package/dist/web/components/account/AccountReadyPage.d.ts.map +0 -1
  205. package/dist/web/components/account/AccountReadyPage.js +0 -7
  206. package/dist/web/components/account/AccountReadyPage.js.map +0 -1
  207. package/dist/web/isDesktopBrowser.d.ts +0 -2
  208. package/dist/web/isDesktopBrowser.d.ts.map +0 -1
  209. package/dist/web/isDesktopBrowser.js +0 -6
  210. package/dist/web/isDesktopBrowser.js.map +0 -1
@@ -1,30 +1,15 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ExternalLinkIcon, PrimaryButton } from "./buttons.js";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { t } from "../hooks/locale.js";
4
3
  import { isDesktop } from "../platform.js";
5
- import { CenteredContent, PageHeader, PageLogo, resolveIconUrl, } from "./shared.js";
6
- import { QRCode } from "./QRCode.js";
4
+ import { ExternalPaymentPage } from "./ExternalPaymentPage.js";
7
5
  export function ExchangePage({ node, platform, exchangeUrl, waitingMessage, isLoading, onBack, baseUrl, }) {
8
- const desktop = isDesktop(platform);
9
6
  const exchangeId = node.type === "CashApp" ? "CashApp" : node.exchangeId;
10
- const showQR = desktop && exchangeId !== "Coinbase";
7
+ const desktopBehavior = exchangeId === "Coinbase" || exchangeId === "MtPelerin" ? "popup" : "qr";
8
+ const usesDesktopQR = isDesktop(platform) && desktopBehavior === "qr";
11
9
  const placeholderDensity = exchangeId === "Binance" ? "medium" : "short";
12
- const openExchange = () => {
13
- if (!exchangeUrl)
14
- return;
15
- if (desktop && exchangeId === "Coinbase") {
16
- window.open(exchangeUrl, "coinbase", "width=500,height=700");
17
- }
18
- else {
19
- window.open(exchangeUrl, "_blank");
20
- }
21
- };
22
- // Desktop QR view for Binance, Lemon, CashApp
23
- if (showQR) {
24
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), _jsxs(CenteredContent, { children: [_jsx("div", { className: "daimo-w-full daimo-max-w-[200px] sm:daimo-max-w-[260px]", children: _jsx(QRCode, { value: exchangeUrl, placeholderDensity: placeholderDensity, image: node.icon ? (_jsx("img", { src: resolveIconUrl(node.icon, baseUrl), alt: node.title, className: "daimo-w-full daimo-h-full daimo-object-contain daimo-rounded-[25%]" })) : undefined }) }), exchangeUrl && (_jsx("p", { className: "daimo-text-[var(--daimo-text-secondary)] daimo-text-center daimo-max-w-xs daimo-text-sm daimo-whitespace-pre-line", children: waitingMessage || t.scanWithPhone }))] })] }));
25
- }
26
- // Mobile (all exchanges) and desktop Coinbase (popup)
27
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), _jsxs(CenteredContent, { children: [node.icon && (_jsx(PageLogo, { icon: node.icon, alt: node.title, baseUrl: baseUrl })), isLoading ? (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-2 daimo-max-w-xs daimo-w-full", children: [_jsx("div", { className: "daimo-h-4 daimo-w-4/5 daimo-rounded daimo-bg-[var(--daimo-surface-secondary)] daimo-animate-daimo-pulse" }), _jsx("div", { className: "daimo-h-4 daimo-w-3/5 daimo-rounded daimo-bg-[var(--daimo-surface-secondary)] daimo-animate-daimo-pulse" })] })) : (_jsx("p", { className: "daimo-text-[var(--daimo-text-secondary)] daimo-text-center daimo-max-w-xs daimo-whitespace-pre-line", children: waitingMessage ||
28
- `${t.continueTo} ${node.title} ${t.toCompleteYourDeposit}` })), _jsxs(PrimaryButton, { onClick: openExchange, icon: _jsx(ExternalLinkIcon, {}), disabled: isLoading, children: [t.open, " ", node.title] })] })] }));
10
+ return (_jsx(ExternalPaymentPage, { title: node.title, platform: platform, url: exchangeUrl, icon: node.icon, message: waitingMessage ||
11
+ (usesDesktopQR
12
+ ? t.scanWithPhone
13
+ : `${t.continueTo} ${node.title} ${t.toCompleteYourDeposit}`), isLoading: isLoading, onBack: onBack, baseUrl: baseUrl, desktopBehavior: desktopBehavior, popupName: exchangeId.toLowerCase(), placeholderDensity: placeholderDensity }));
29
14
  }
30
15
  //# sourceMappingURL=ExchangePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangePage.js","sourceRoot":"","sources":["../../../src/web/components/ExchangePage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExchangePage.js","sourceRoot":"","sources":["../../../src/web/components/ExchangePage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAc/D,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,SAAS,EACT,MAAM,EACN,OAAO,GACW;IAClB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACzE,MAAM,eAAe,GACnB,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,eAAe,KAAK,IAAI,CAAC;IAEtE,MAAM,kBAAkB,GACtB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,OAAiB,CAAC;IAEtE,OAAO,CACL,KAAC,mBAAmB,IAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EACL,cAAc;YACd,CAAC,aAAa;gBACZ,CAAC,CAAC,CAAC,CAAC,aAAa;gBACjB,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAEjE,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,EACnC,kBAAkB,EAAE,kBAAkB,GACtC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type DaimoPlatform } from "../platform.js";
2
+ type QRDensity = "short" | "medium" | "long";
3
+ type DesktopBehavior = "popup" | "qr";
4
+ type ExternalPaymentPageProps = {
5
+ title: string;
6
+ platform: DaimoPlatform;
7
+ url?: string;
8
+ icon?: string;
9
+ message: string;
10
+ isLoading?: boolean;
11
+ onBack: () => void;
12
+ baseUrl: string;
13
+ desktopBehavior: DesktopBehavior;
14
+ openLabel?: string;
15
+ popupName?: string;
16
+ popupFeatures?: string;
17
+ placeholderDensity?: QRDensity;
18
+ };
19
+ /** Shared handoff page for providers that complete payment outside the modal. */
20
+ export declare function ExternalPaymentPage({ title, platform, url, icon, message, isLoading, onBack, baseUrl, desktopBehavior, openLabel, popupName, popupFeatures, placeholderDensity, }: ExternalPaymentPageProps): import("react/jsx-runtime").JSX.Element;
21
+ export {};
22
+ //# sourceMappingURL=ExternalPaymentPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalPaymentPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ExternalPaymentPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAW/D,KAAK,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC7C,KAAK,eAAe,GAAG,OAAO,GAAG,IAAI,CAAC;AAEtC,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC,CAAC;AAIF,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EACT,MAAM,EACN,OAAO,EACP,eAAe,EACf,SAAgC,EAChC,SAAS,EACT,aAAsC,EACtC,kBAAkB,GACnB,EAAE,wBAAwB,2CAuD1B"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { t } from "../hooks/locale.js";
3
+ import { isDesktop } from "../platform.js";
4
+ import { ExternalLinkIcon, PrimaryButton } from "./buttons.js";
5
+ import { QRCode } from "./QRCode.js";
6
+ import { SkeletonText } from "./Skeleton.js";
7
+ import { CenteredContent, PageHeader, PageLogo, resolveIconUrl, } from "./shared.js";
8
+ const DEFAULT_POPUP_FEATURES = "width=500,height=700";
9
+ /** Shared handoff page for providers that complete payment outside the modal. */
10
+ export function ExternalPaymentPage({ title, platform, url, icon, message, isLoading, onBack, baseUrl, desktopBehavior, openLabel = `${t.open} ${title}`, popupName, popupFeatures = DEFAULT_POPUP_FEATURES, placeholderDensity, }) {
11
+ const desktop = isDesktop(platform);
12
+ const showQR = desktop && desktopBehavior === "qr";
13
+ const openProvider = () => {
14
+ if (!url)
15
+ return;
16
+ if (desktop && desktopBehavior === "popup") {
17
+ window.open(url, popupName ?? title.toLowerCase(), popupFeatures);
18
+ return;
19
+ }
20
+ window.open(url, "_blank");
21
+ };
22
+ return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: title, onBack: onBack }), _jsxs(CenteredContent, { children: [showQR ? (_jsx("div", { className: "daimo-w-full daimo-max-w-[200px] sm:daimo-max-w-[260px]", children: _jsx(QRCode, { value: url, placeholderDensity: placeholderDensity, image: icon ? (_jsx("img", { src: resolveIconUrl(icon, baseUrl), alt: title, className: "daimo-w-full daimo-h-full daimo-object-contain daimo-rounded-[25%]" })) : undefined }) })) : (icon && _jsx(PageLogo, { icon: icon, alt: title, baseUrl: baseUrl })), isLoading ? (_jsx(SkeletonText, { className: "daimo-max-w-xs", widths: ["80%", "60%"] })) : (_jsx("p", { className: "daimo-text-[var(--daimo-text-secondary)] daimo-text-center daimo-max-w-xs daimo-text-sm daimo-whitespace-pre-line", children: message })), !showQR && (_jsx(PrimaryButton, { onClick: openProvider, icon: _jsx(ExternalLinkIcon, {}), disabled: !url || isLoading, children: openLabel }))] })] }));
23
+ }
24
+ //# sourceMappingURL=ExternalPaymentPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalPaymentPage.js","sourceRoot":"","sources":["../../../src/web/components/ExternalPaymentPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,cAAc,GACf,MAAM,aAAa,CAAC;AAqBrB,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAEtD,iFAAiF;AACjF,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EACT,MAAM,EACN,OAAO,EACP,eAAe,EACf,SAAS,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,EAAE,EAChC,SAAS,EACT,aAAa,GAAG,sBAAsB,EACtC,kBAAkB,GACO;IACzB,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,IAAI,eAAe,KAAK,IAAI,CAAC;IAEnD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,OAAO,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aACnE,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,EAC5C,MAAC,eAAe,eACb,MAAM,CAAC,CAAC,CAAC,CACR,cAAK,SAAS,EAAC,yDAAyD,YACtE,KAAC,MAAM,IACL,KAAK,EAAE,GAAG,EACV,kBAAkB,EAAE,kBAAkB,EACtC,KAAK,EACH,IAAI,CAAC,CAAC,CAAC,CACL,cACE,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,oEAAoE,GAC9E,CACH,CAAC,CAAC,CAAC,SAAS,GAEf,GACE,CACP,CAAC,CAAC,CAAC,CACF,IAAI,IAAI,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAC/D,EACA,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,YAAY,IAAC,SAAS,EAAC,gBAAgB,EAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAI,CACpE,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,mHAAmH,YAC7H,OAAO,GACN,CACL,EACA,CAAC,MAAM,IAAI,CACV,KAAC,aAAa,IACZ,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,KAAC,gBAAgB,KAAG,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,SAAS,YAE1B,SAAS,GACI,CACjB,IACe,IACd,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModalSkeleton.d.ts","sourceRoot":"","sources":["../../../src/web/components/ModalSkeleton.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,aAAa,4CA0B5B"}
1
+ {"version":3,"file":"ModalSkeleton.d.ts","sourceRoot":"","sources":["../../../src/web/components/ModalSkeleton.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,aAAa,4CAqB5B"}
@@ -1,13 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Skeleton } from "./Skeleton.js";
2
3
  /**
3
4
  * Loading skeleton for the session modal.
4
5
  * Shows header + scrollable token rows layout (matches SelectTokenPage).
5
6
  * Respects prefers-reduced-motion for accessibility.
6
7
  */
7
8
  export function ModalSkeleton() {
8
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx("div", { className: "daimo-flex daimo-items-center daimo-justify-center daimo-h-14 daimo-px-6", children: _jsx("div", { className: "daimo-h-5 daimo-w-32 daimo-rounded motion-safe:daimo-animate-daimo-pulse", style: { backgroundColor: "var(--daimo-skeleton)" } }) }), _jsx("div", { className: "daimo-flex-1 daimo-px-6 daimo-pb-4 daimo-flex daimo-flex-col daimo-gap-3", children: [...Array(11)].map((_, i) => (_jsx("div", { className: "daimo-h-16 daimo-rounded-[var(--daimo-radius-lg)] motion-safe:daimo-animate-daimo-pulse", style: {
9
- backgroundColor: "var(--daimo-skeleton)",
10
- animationDelay: `${i * 100}ms`,
11
- } }, i))) })] }));
9
+ return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx("div", { className: "daimo-flex daimo-items-center daimo-justify-center daimo-h-14 daimo-px-6", children: _jsx(Skeleton, { className: "daimo-h-5 daimo-w-32", rounded: "sm" }) }), _jsx("div", { className: "daimo-flex-1 daimo-px-6 daimo-pb-4 daimo-flex daimo-flex-col daimo-gap-3", children: [...Array(11)].map((_, i) => (_jsx(Skeleton, { className: "daimo-h-16", rounded: "lg", delayMs: i * 100 }, i))) })] }));
12
10
  }
13
11
  //# sourceMappingURL=ModalSkeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalSkeleton.js","sourceRoot":"","sources":["../../../src/web/components/ModalSkeleton.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aAEnE,cAAK,SAAS,EAAC,0EAA0E,YACvF,cACE,SAAS,EAAC,0EAA0E,EACpF,KAAK,EAAE,EAAE,eAAe,EAAE,uBAAuB,EAAE,GACnD,GACE,EAGN,cAAK,SAAS,EAAC,0EAA0E,YACtF,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,cAEE,SAAS,EAAC,yFAAyF,EACnG,KAAK,EAAE;wBACL,eAAe,EAAE,uBAAuB;wBACxC,cAAc,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI;qBAC/B,IALI,CAAC,CAMN,CACH,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ModalSkeleton.js","sourceRoot":"","sources":["../../../src/web/components/ModalSkeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aAEnE,cAAK,SAAS,EAAC,0EAA0E,YACvF,KAAC,QAAQ,IAAC,SAAS,EAAC,sBAAsB,EAAC,OAAO,EAAC,IAAI,GAAG,GACtD,EAGN,cAAK,SAAS,EAAC,0EAA0E,YACtF,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,KAAC,QAAQ,IAEP,SAAS,EAAC,YAAY,EACtB,OAAO,EAAC,IAAI,EACZ,OAAO,EAAE,CAAC,GAAG,GAAG,IAHX,CAAC,CAIN,CACH,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTokenPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/SelectTokenPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAahF,KAAK,oBAAoB,GAAG;IAC1B,+CAA+C;IAC/C,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACtC;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,YAAY,EACZ,SAAiB,EACjB,aAAkB,EAClB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,GACV,EAAE,oBAAoB,2CA0EtB"}
1
+ {"version":3,"file":"SelectTokenPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/SelectTokenPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAchF,KAAK,oBAAoB,GAAG;IAC1B,+CAA+C;IAC/C,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACtC;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,YAAY,EACZ,SAAiB,EACjB,aAAkB,EAClB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,GACV,EAAE,oBAAoB,2CA0EtB"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getChainName } from "../../common/chain.js";
3
3
  import { t } from "../hooks/locale.js";
4
4
  import { ContactSupportButton, LIST_ROW_CLASS, ListRow, PageHeader, ScrollContent, TokenIconWithChainBadge, useScrollBorder, } from "./shared.js";
5
+ import { Skeleton } from "./Skeleton.js";
5
6
  /** Token selection page for wallet payment flow */
6
7
  export function SelectTokenPage({ options, showRequired, isLoading = false, skeletonCount = 11, onSelect, onBack, baseUrl, sessionId, }) {
7
8
  const { scrolled, atBottom, onScroll } = useScrollBorder();
@@ -15,8 +16,7 @@ export function SelectTokenPage({ options, showRequired, isLoading = false, skel
15
16
  }
16
17
  /** Skeleton loading row - matches TokenRow dimensions with token + chain badge */
17
18
  function SkeletonRow() {
18
- return (_jsxs("div", { className: `${LIST_ROW_CLASS} daimo-animate-daimo-pulse`, children: [_jsxs("div", { className: "daimo-flex-1 daimo-min-w-0 daimo-mr-3", children: [_jsx("div", { className: "daimo-h-5 daimo-w-48 daimo-rounded daimo-mb-2", style: { backgroundColor: "var(--daimo-skeleton)" } }), _jsx("div", { className: "daimo-h-4 daimo-w-32 daimo-rounded", style: { backgroundColor: "var(--daimo-skeleton)" } })] }), _jsxs("div", { className: "daimo-relative daimo-w-8 daimo-h-8 daimo-shrink-0", children: [_jsx("div", { className: "daimo-w-8 daimo-h-8 daimo-rounded-full", style: { backgroundColor: "var(--daimo-skeleton)" } }), _jsx("div", { className: "daimo-absolute -daimo-bottom-0.5 -daimo-right-0.5 daimo-w-[15px] daimo-h-[15px] daimo-rounded-full", style: {
19
- backgroundColor: "var(--daimo-skeleton)",
19
+ return (_jsxs("div", { className: LIST_ROW_CLASS, children: [_jsxs("div", { className: "daimo-flex-1 daimo-min-w-0 daimo-mr-3", children: [_jsx(Skeleton, { className: "daimo-h-5 daimo-w-48 daimo-rounded daimo-mb-2", rounded: "sm" }), _jsx(Skeleton, { className: "daimo-h-4 daimo-w-32 daimo-rounded", rounded: "sm" })] }), _jsxs("div", { className: "daimo-relative daimo-w-8 daimo-h-8 daimo-shrink-0", children: [_jsx(Skeleton, { className: "daimo-w-8 daimo-h-8 daimo-rounded-full", rounded: "full" }), _jsx(Skeleton, { className: "daimo-absolute -daimo-bottom-0.5 -daimo-right-0.5 daimo-w-[15px] daimo-h-[15px] daimo-rounded-full", rounded: "full", style: {
20
20
  border: "1px solid var(--daimo-surface-secondary)",
21
21
  } })] })] }));
22
22
  }
@@ -24,7 +24,7 @@ function SkeletonRow() {
24
24
  * Token option row - 64px height, matching ChooseOptionPage row style.
25
25
  * Shows "$X TOKEN on Chain" with "Y TOKEN" subtitle.
26
26
  */
27
- function TokenRow({ option, showRequired = false, onSelect, disabled = false, baseUrl }) {
27
+ function TokenRow({ option, showRequired = false, onSelect, disabled = false, baseUrl, }) {
28
28
  const display = showRequired ? option.required : option.balance;
29
29
  const chainName = getChainName(display.token.chainId);
30
30
  const tokenAmount = formatTokenAmount(display.amount, display.token);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../src/web/components/SelectTokenPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../src/web/components/SelectTokenPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { CSSProperties } from "react";
2
+ type SkeletonRadius = "sm" | "md" | "lg" | "full";
3
+ type SkeletonProps = {
4
+ className?: string;
5
+ rounded?: SkeletonRadius;
6
+ delayMs?: number;
7
+ style?: CSSProperties;
8
+ };
9
+ type SkeletonTextProps = {
10
+ lines?: number;
11
+ widths?: string[];
12
+ className?: string;
13
+ };
14
+ /** Theme-aware loading placeholder with reduced-motion support. */
15
+ export declare function Skeleton({ className, rounded, delayMs, style, }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
16
+ /** Stacked text-line skeleton for descriptions and loading messages. */
17
+ export declare function SkeletonText({ lines, widths, className, }: SkeletonTextProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=Skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/web/components/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,KAAK,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAElD,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AASF,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,EACvB,SAAc,EACd,OAAc,EACd,OAAO,EACP,KAAK,GACN,EAAE,aAAa,2CAef;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,EAC3B,KAAS,EACT,MAAuB,EACvB,SAAc,GACf,EAAE,iBAAiB,2CAgBnB"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ const RADIUS_CLASS = {
3
+ sm: "daimo-rounded",
4
+ md: "daimo-rounded-[var(--daimo-radius-md)]",
5
+ lg: "daimo-rounded-[var(--daimo-radius-lg)]",
6
+ full: "daimo-rounded-full",
7
+ };
8
+ /** Theme-aware loading placeholder with reduced-motion support. */
9
+ export function Skeleton({ className = "", rounded = "md", delayMs, style, }) {
10
+ const animationStyle = delayMs == null ? undefined : { animationDelay: `${delayMs}ms` };
11
+ return (_jsx("div", { "aria-hidden": "true", className: `${RADIUS_CLASS[rounded]} motion-safe:daimo-animate-daimo-pulse ${className}`, style: {
12
+ backgroundColor: "var(--daimo-skeleton)",
13
+ ...animationStyle,
14
+ ...style,
15
+ } }));
16
+ }
17
+ /** Stacked text-line skeleton for descriptions and loading messages. */
18
+ export function SkeletonText({ lines = 2, widths = ["80%", "60%"], className = "", }) {
19
+ return (_jsx("div", { className: `daimo-flex daimo-w-full daimo-flex-col daimo-items-center daimo-gap-2 ${className}`, children: Array.from({ length: lines }).map((_, i) => (_jsx(Skeleton, { className: "daimo-h-4", rounded: "sm", delayMs: i * 100, style: { width: widths[i % widths.length] } }, i))) }));
20
+ }
21
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/web/components/Skeleton.tsx"],"names":[],"mappings":";AAiBA,MAAM,YAAY,GAAmC;IACnD,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,wCAAwC;IAC5C,EAAE,EAAE,wCAAwC;IAC5C,IAAI,EAAE,oBAAoB;CAC3B,CAAC;AAEF,mEAAmE;AACnE,MAAM,UAAU,QAAQ,CAAC,EACvB,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,IAAI,EACd,OAAO,EACP,KAAK,GACS;IACd,MAAM,cAAc,GAClB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEnE,OAAO,CACL,6BACc,MAAM,EAClB,SAAS,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,0CAA0C,SAAS,EAAE,EACxF,KAAK,EAAE;YACL,eAAe,EAAE,uBAAuB;YACxC,GAAG,cAAc;YACjB,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EACvB,SAAS,GAAG,EAAE,GACI;IAClB,OAAO,CACL,cACE,SAAS,EAAE,yEAAyE,SAAS,EAAE,YAE9F,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3C,KAAC,QAAQ,IAEP,SAAS,EAAC,WAAW,EACrB,OAAO,EAAC,IAAI,EACZ,OAAO,EAAE,CAAC,GAAG,GAAG,EAChB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAJtC,CAAC,CAKN,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { NavNodeStripe } from "../api/navTree.js";
2
+ import type { DaimoPlatform } from "../platform.js";
2
3
  type StripeOnrampPageProps = {
3
4
  node: NavNodeStripe;
5
+ platform: DaimoPlatform;
4
6
  amountUsd: number;
5
- onrampSessionClientSecret?: string;
6
- publishableKey?: string;
7
7
  redirectUrl?: string;
8
8
  isLoading?: boolean;
9
9
  error?: string;
@@ -11,30 +11,6 @@ type StripeOnrampPageProps = {
11
11
  onRetry?: () => void;
12
12
  baseUrl: string;
13
13
  };
14
- type StripeOnrampEvent = {
15
- payload?: {
16
- session?: {
17
- status?: string;
18
- };
19
- };
20
- };
21
- type StripeOnrampSession = {
22
- mount: (target: HTMLElement | string) => void;
23
- addEventListener: (type: string, listener: (event: StripeOnrampEvent) => void) => void;
24
- };
25
- type StripeOnramp = {
26
- createSession: (args: {
27
- clientSecret: string;
28
- appearance?: {
29
- theme: "light" | "dark";
30
- };
31
- }) => StripeOnrampSession;
32
- };
33
- declare global {
34
- interface Window {
35
- StripeOnramp?: (publishableKey: string) => StripeOnramp;
36
- }
37
- }
38
- export declare function StripeOnrampPage({ node, amountUsd, onrampSessionClientSecret, publishableKey, redirectUrl, isLoading, error, onBack, onRetry, baseUrl, }: StripeOnrampPageProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function StripeOnrampPage({ node, platform, amountUsd, redirectUrl, isLoading, error, onBack, onRetry, baseUrl, }: StripeOnrampPageProps): import("react/jsx-runtime").JSX.Element;
39
15
  export {};
40
16
  //# sourceMappingURL=StripeOnrampPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StripeOnrampPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/StripeOnrampPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQvD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,KACzC,IAAI,CAAC;CACX,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE;YAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;SAAE,CAAC;KAC1C,KAAK,mBAAmB,CAAC;CAC3B,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,YAAY,CAAC;KACzD;CACF;AAKD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,SAAS,EACT,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,2CAiJvB"}
1
+ {"version":3,"file":"StripeOnrampPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/StripeOnrampPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,2CAyBvB"}
@@ -1,121 +1,11 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useRef, useState } from "react";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { t } from "../hooks/locale.js";
4
- import { PrimaryButton } from "./buttons.js";
5
3
  import { ErrorPage } from "./ErrorPage.js";
6
- import { SwitchArrowsIcon } from "./icons.js";
7
- import { QRCode } from "./QRCode.js";
8
- import { CenteredContent, PageHeader, resolveIconUrl } from "./shared.js";
9
- let stripeOnrampScriptsPromise = null;
10
- export function StripeOnrampPage({ node, amountUsd, onrampSessionClientSecret, publishableKey, redirectUrl, isLoading, error, onBack, onRetry, baseUrl, }) {
11
- const containerRef = useRef(null);
12
- const mountedClientSecretRef = useRef(null);
13
- const [widgetError, setWidgetError] = useState(null);
14
- const [isWidgetLoading, setIsWidgetLoading] = useState(false);
15
- const [showQR, setShowQR] = useState(false);
16
- const [stripeTheme] = useState(getStripeOnrampTheme);
17
- useEffect(() => {
18
- if (showQR ||
19
- !onrampSessionClientSecret ||
20
- !publishableKey ||
21
- !containerRef.current) {
22
- return;
23
- }
24
- if (mountedClientSecretRef.current === onrampSessionClientSecret &&
25
- containerRef.current.childElementCount > 0) {
26
- return;
27
- }
28
- mountedClientSecretRef.current = onrampSessionClientSecret;
29
- setWidgetError(null);
30
- setIsWidgetLoading(true);
31
- const container = containerRef.current;
32
- container.innerHTML = "";
33
- void (async () => {
34
- try {
35
- await loadStripeOnrampScripts();
36
- const stripeOnramp = window.StripeOnramp?.(publishableKey);
37
- if (!stripeOnramp)
38
- throw new Error("stripe onramp failed to load");
39
- const session = stripeOnramp.createSession({
40
- clientSecret: onrampSessionClientSecret,
41
- appearance: { theme: stripeTheme },
42
- });
43
- session.addEventListener("onramp_ui_loaded", () => {
44
- setIsWidgetLoading(false);
45
- });
46
- session.mount(container);
47
- }
48
- catch (err) {
49
- mountedClientSecretRef.current = null;
50
- setIsWidgetLoading(false);
51
- setWidgetError(err instanceof Error ? err.message : "failed to load stripe onramp");
52
- }
53
- })();
54
- return () => {
55
- container.innerHTML = "";
56
- mountedClientSecretRef.current = null;
57
- };
58
- }, [showQR, onrampSessionClientSecret, publishableKey, stripeTheme]);
59
- const message = error ?? widgetError;
60
- if (message) {
61
- return (_jsx(ErrorPage, { message: message, retryText: t.tryAgain, onRetry: onRetry ?? (() => window.location.reload()) }));
4
+ import { ExternalPaymentPage } from "./ExternalPaymentPage.js";
5
+ export function StripeOnrampPage({ node, platform, amountUsd, redirectUrl, isLoading, error, onBack, onRetry, baseUrl, }) {
6
+ if (error) {
7
+ return (_jsx(ErrorPage, { message: error, retryText: t.tryAgain, onRetry: onRetry ?? (() => window.location.reload()) }));
62
8
  }
63
- if (showQR) {
64
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: () => setShowQR(false) }), _jsxs(CenteredContent, { children: [_jsx("div", { className: "daimo-w-full daimo-max-w-[200px] sm:daimo-max-w-[260px]", children: _jsx(QRCode, { value: redirectUrl, image: node.icon ? (_jsx("img", { src: resolveIconUrl(node.icon, baseUrl), alt: node.title, className: "daimo-w-full daimo-h-full daimo-object-contain daimo-rounded-[25%]" })) : undefined }) }), redirectUrl && (_jsxs("p", { className: "daimo-text-[var(--daimo-text-secondary)] daimo-text-center daimo-max-w-xs daimo-text-sm", children: ["Scan to complete $", amountUsd.toFixed(2), " with Stripe on your phone, then return to this page."] })), _jsx(PrimaryButton, { onClick: () => setShowQR(false), icon: _jsx(SwitchArrowsIcon, {}), children: "Desktop" })] })] }));
65
- }
66
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack, borderVisible: true }), _jsxs("div", { className: "daimo-min-h-0 daimo-overflow-y-auto daimo-px-3", style: { maxHeight: "calc(90vh - 104px)" }, children: [_jsxs("div", { className: "daimo-relative daimo-overflow-hidden daimo-bg-[var(--daimo-surface)]", style: { height: "594px" }, children: [(isLoading || isWidgetLoading || !onrampSessionClientSecret) && (_jsx(StripeOnrampSkeleton, {})), _jsx("div", { ref: containerRef, className: "daimo-relative daimo-h-full daimo-w-full", style: {
67
- opacity: onrampSessionClientSecret && !isWidgetLoading && !isLoading
68
- ? 1
69
- : 0,
70
- transition: "opacity 160ms ease",
71
- } })] }), _jsx("div", { className: "daimo-sticky daimo-bottom-0 daimo-flex daimo-justify-center daimo-py-3 daimo-bg-[var(--daimo-surface)]", children: _jsx(PrimaryButton, { onClick: () => setShowQR(true), disabled: !redirectUrl || isLoading || isWidgetLoading, icon: _jsx(SwitchArrowsIcon, {}), children: "Mobile" }) })] })] }));
72
- }
73
- function StripeOnrampSkeleton() {
74
- return (_jsx("div", { className: "daimo-absolute daimo-inset-0 daimo-p-5 daimo-bg-[var(--daimo-surface)]", children: _jsxs("div", { className: "daimo-h-full daimo-rounded-[var(--daimo-radius-md)] daimo-border daimo-border-[var(--daimo-border)] daimo-p-5 daimo-flex daimo-flex-col daimo-gap-6", children: [_jsxs("div", { className: "daimo-flex daimo-items-center daimo-gap-4", children: [_jsx("div", { className: "daimo-h-12 daimo-w-12 daimo-shrink-0 daimo-rounded-full daimo-animate-daimo-pulse", style: { backgroundColor: "var(--daimo-skeleton)" } }), _jsxs("div", { className: "daimo-flex daimo-min-w-0 daimo-flex-1 daimo-flex-col daimo-gap-2", children: [_jsx(SkeletonBlock, { className: "daimo-h-5 daimo-w-32" }), _jsx(SkeletonBlock, { className: "daimo-h-4 daimo-w-full daimo-max-w-56" })] })] }), _jsxs("div", { className: "daimo-overflow-hidden daimo-rounded-[var(--daimo-radius-lg)] daimo-border daimo-border-[var(--daimo-border)]", children: [_jsx(SkeletonPanel, { height: "200px" }), _jsx("div", { className: "daimo-border-t daimo-border-[var(--daimo-border)]", children: _jsx(SkeletonPanel, { height: "190px" }) })] }), _jsxs("div", { className: "daimo-mt-auto daimo-flex daimo-flex-col daimo-gap-3", children: [_jsx(SkeletonBlock, { className: "daimo-h-4 daimo-w-full" }), _jsx(SkeletonBlock, { className: "daimo-h-[54px] daimo-w-full daimo-rounded-[var(--daimo-radius-lg)]" })] })] }) }));
75
- }
76
- function SkeletonPanel({ height }) {
77
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-justify-center daimo-gap-4 daimo-p-5", style: { height }, children: [_jsx(SkeletonBlock, { className: "daimo-h-4 daimo-w-20" }), _jsx(SkeletonBlock, { className: "daimo-h-12 daimo-w-36" })] }));
78
- }
79
- function SkeletonBlock({ className }) {
80
- return (_jsx("div", { className: `${className} daimo-rounded daimo-animate-daimo-pulse`, style: { backgroundColor: "var(--daimo-skeleton)" } }));
81
- }
82
- function getStripeOnrampTheme() {
83
- if (typeof window === "undefined")
84
- return "light";
85
- const documentTheme = document.documentElement.dataset.theme;
86
- if (documentTheme === "dark" || documentTheme === "light") {
87
- return documentTheme;
88
- }
89
- return window.matchMedia("(prefers-color-scheme: dark)").matches
90
- ? "dark"
91
- : "light";
92
- }
93
- async function loadStripeOnrampScripts() {
94
- if (window.StripeOnramp)
95
- return;
96
- stripeOnrampScriptsPromise ??= loadScript("https://js.stripe.com/dahlia/stripe.js").then(() => loadScript("https://crypto-js.stripe.com/crypto-onramp-outer.js"));
97
- await stripeOnrampScriptsPromise;
98
- }
99
- function loadScript(src) {
100
- const existing = document.querySelector(`script[src="${src}"]`);
101
- if (existing) {
102
- return existing.dataset.loaded === "true"
103
- ? Promise.resolve()
104
- : new Promise((resolve, reject) => {
105
- existing.addEventListener("load", () => resolve(), { once: true });
106
- existing.addEventListener("error", () => reject(new Error("script load failed")), { once: true });
107
- });
108
- }
109
- return new Promise((resolve, reject) => {
110
- const script = document.createElement("script");
111
- script.src = src;
112
- script.async = true;
113
- script.addEventListener("load", () => {
114
- script.dataset.loaded = "true";
115
- resolve();
116
- }, { once: true });
117
- script.addEventListener("error", () => reject(new Error("script load failed")), { once: true });
118
- document.head.appendChild(script);
119
- });
9
+ return (_jsx(ExternalPaymentPage, { title: node.title, platform: platform, url: redirectUrl, icon: node.icon, message: `Deposit exactly $${amountUsd.toFixed(2)} with Stripe, then return to this page.`, isLoading: isLoading, onBack: onBack, baseUrl: baseUrl, desktopBehavior: "popup", popupName: "stripe" }));
120
10
  }
121
11
  //# sourceMappingURL=StripeOnrampPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StripeOnrampPage.js","sourceRoot":"","sources":["../../../src/web/components/StripeOnrampPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StripeOnrampPage.js","sourceRoot":"","sources":["../../../src/web/components/StripeOnrampPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAc/D,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACe;IACtB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,CAAC,CAAC,QAAQ,EACrB,OAAO,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GACpD,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,mBAAmB,IAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,oBAAoB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC,EAC1F,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,eAAe,EAAC,OAAO,EACvB,SAAS,EAAC,QAAQ,GAClB,CACH,CAAC;AACJ,CAAC"}
@@ -8,6 +8,10 @@ export type NativeDisplay = {
8
8
  kind: "suffix";
9
9
  symbol: string;
10
10
  };
11
+ export type TokenAmountEntryValue = {
12
+ amountUsd: number;
13
+ nativeAmount: number;
14
+ };
11
15
  type TokenAmountEntryProps = {
12
16
  /** Destination stablecoin. Supplies default icon, chain badge, FX rate (token.usd). */
13
17
  token: DaimoPayToken;
@@ -22,9 +26,11 @@ type TokenAmountEntryProps = {
22
26
  /** Initial USD amount (e.g. when resuming a session). */
23
27
  initialAmountUsd?: number;
24
28
  /** Called when the user confirms (Enter key). */
25
- onContinue: (amountUsd: number) => void;
29
+ onContinue: (value: TokenAmountEntryValue) => void;
26
30
  /** Called on every change. */
27
- onChange?: (amountUsd: number, isValid: boolean) => void;
31
+ onChange?: (value: TokenAmountEntryValue & {
32
+ isValid: boolean;
33
+ }) => void;
28
34
  /**
29
35
  * Optional wallet balance. When provided, the footer shows "Balance: …"
30
36
  * instead of min/max. Min/max warnings still take priority when the user
@@ -49,7 +55,7 @@ type TokenAmountEntryProps = {
49
55
  };
50
56
  /**
51
57
  * Unified "Enter Amount" card: token icon with chain badge, dual-mode
52
- * (USD ↔ native) amount input, FX swap arrow, and min/max/balance footer.
58
+ * (USD ↔ native) amount input, FX swap arrow, and conditional helper footer.
53
59
  * Used by both the wallet deposit flow and the fiat/account deposit flow.
54
60
  */
55
61
  export declare function TokenAmountEntry({ token, minimumUsd, maximumUsd, nativeDisplay, initialMode, initialAmountUsd, onContinue, onChange, balance, showMax, iconLogoURI, iconAlt, badgeLogoURI, badgeAlt, platform, baseUrl, }: TokenAmountEntryProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenAmountEntry.d.ts","sourceRoot":"","sources":["../../../src/web/components/TokenAmountEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/D,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,KAAK,qBAAqB,GAAG;IAC3B,uFAAuF;IACvF,KAAK,EAAE,aAAa,CAAC;IACrB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,aAAa,EAAE,aAAa,CAAC;IAC7B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC/B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD;;;;OAIG;IACH,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAc,EACd,WAAW,EACX,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,qBAAqB,2CAkLvB"}
1
+ {"version":3,"file":"TokenAmountEntry.d.ts","sourceRoot":"","sources":["../../../src/web/components/TokenAmountEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAQ3D,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/D,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,uFAAuF;IACvF,KAAK,EAAE,aAAa,CAAC;IACrB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,aAAa,EAAE,aAAa,CAAC;IAC7B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC/B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,UAAU,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACnD,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACzE;;;;OAIG;IACH,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAc,EACd,WAAW,EACX,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,qBAAqB,2CAyMvB"}