@daimo/sdk 1.0.1 → 1.0.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 (256) hide show
  1. package/dist/client/createDaimoClient.d.ts +2 -6
  2. package/dist/client/createDaimoClient.d.ts.map +1 -1
  3. package/dist/client/createDaimoClient.js +2 -1
  4. package/dist/client/createDaimoClient.js.map +1 -1
  5. package/dist/common/legacy/assert.d.ts +6 -0
  6. package/dist/common/legacy/assert.d.ts.map +1 -0
  7. package/dist/common/legacy/assert.js +25 -0
  8. package/dist/common/legacy/assert.js.map +1 -0
  9. package/dist/common/legacy/client.d.ts +67 -0
  10. package/dist/common/legacy/client.d.ts.map +1 -0
  11. package/dist/common/legacy/client.js +55 -0
  12. package/dist/common/legacy/client.js.map +1 -0
  13. package/dist/common/legacy/debug.d.ts +5 -0
  14. package/dist/common/legacy/debug.d.ts.map +1 -0
  15. package/dist/common/legacy/debug.js +21 -0
  16. package/dist/common/legacy/debug.js.map +1 -0
  17. package/dist/common/legacy/format.d.ts +16 -0
  18. package/dist/common/legacy/format.d.ts.map +1 -0
  19. package/dist/common/legacy/format.js +34 -0
  20. package/dist/common/legacy/format.js.map +1 -0
  21. package/dist/common/legacy/index.d.ts +11 -0
  22. package/dist/common/legacy/index.d.ts.map +1 -0
  23. package/dist/common/legacy/index.js +11 -0
  24. package/dist/common/legacy/index.js.map +1 -0
  25. package/dist/common/legacy/primitiveTypes.d.ts +11 -0
  26. package/dist/common/legacy/primitiveTypes.d.ts.map +1 -0
  27. package/dist/common/legacy/primitiveTypes.js +14 -0
  28. package/dist/common/legacy/primitiveTypes.js.map +1 -0
  29. package/dist/common/legacy/session.d.ts +246 -0
  30. package/dist/common/legacy/session.d.ts.map +1 -0
  31. package/dist/common/legacy/session.js +124 -0
  32. package/dist/common/legacy/session.js.map +1 -0
  33. package/dist/common/legacy/try.d.ts +4 -0
  34. package/dist/common/legacy/try.d.ts.map +1 -0
  35. package/dist/common/legacy/try.js +26 -0
  36. package/dist/common/legacy/try.js.map +1 -0
  37. package/dist/hooks/DaimoClientContext.d.ts +7 -0
  38. package/dist/hooks/DaimoClientContext.d.ts.map +1 -0
  39. package/dist/hooks/DaimoClientContext.js +15 -0
  40. package/dist/hooks/DaimoClientContext.js.map +1 -0
  41. package/dist/hooks/formatUserError.d.ts +3 -0
  42. package/dist/hooks/formatUserError.d.ts.map +1 -0
  43. package/dist/hooks/formatUserError.js +30 -0
  44. package/dist/hooks/formatUserError.js.map +1 -0
  45. package/dist/hooks/index.d.ts +12 -0
  46. package/dist/hooks/index.d.ts.map +1 -0
  47. package/dist/hooks/index.js +9 -0
  48. package/dist/hooks/index.js.map +1 -0
  49. package/dist/hooks/locale.d.ts +7 -0
  50. package/dist/hooks/locale.d.ts.map +1 -0
  51. package/dist/hooks/locale.js +15 -0
  52. package/dist/hooks/locale.js.map +1 -0
  53. package/dist/hooks/locales/en.d.ts +60 -0
  54. package/dist/hooks/locales/en.d.ts.map +1 -0
  55. package/dist/hooks/locales/en.js +76 -0
  56. package/dist/hooks/locales/en.js.map +1 -0
  57. package/dist/hooks/locales/es.d.ts +4 -0
  58. package/dist/hooks/locales/es.d.ts.map +1 -0
  59. package/dist/hooks/locales/es.js +60 -0
  60. package/dist/hooks/locales/es.js.map +1 -0
  61. package/dist/hooks/navEvent.d.ts +60 -0
  62. package/dist/hooks/navEvent.d.ts.map +1 -0
  63. package/dist/hooks/navEvent.js +16 -0
  64. package/dist/hooks/navEvent.js.map +1 -0
  65. package/dist/hooks/types.d.ts +71 -0
  66. package/dist/hooks/types.d.ts.map +1 -0
  67. package/dist/hooks/types.js +14 -0
  68. package/dist/hooks/types.js.map +1 -0
  69. package/dist/hooks/usePaymentCallbacks.d.ts +15 -0
  70. package/dist/hooks/usePaymentCallbacks.d.ts.map +1 -0
  71. package/dist/hooks/usePaymentCallbacks.js +27 -0
  72. package/dist/hooks/usePaymentCallbacks.js.map +1 -0
  73. package/dist/hooks/useSessionNav.d.ts +31 -0
  74. package/dist/hooks/useSessionNav.d.ts.map +1 -0
  75. package/dist/hooks/useSessionNav.js +439 -0
  76. package/dist/hooks/useSessionNav.js.map +1 -0
  77. package/dist/hooks/useSessionPolling.d.ts +10 -0
  78. package/dist/hooks/useSessionPolling.d.ts.map +1 -0
  79. package/dist/hooks/useSessionPolling.js +61 -0
  80. package/dist/hooks/useSessionPolling.js.map +1 -0
  81. package/dist/web/ChooseOptionPage.d.ts +9 -0
  82. package/dist/web/ChooseOptionPage.d.ts.map +1 -0
  83. package/dist/web/ChooseOptionPage.js +51 -0
  84. package/dist/web/ChooseOptionPage.js.map +1 -0
  85. package/dist/web/ConfirmationPage.d.ts +32 -0
  86. package/dist/web/ConfirmationPage.d.ts.map +1 -0
  87. package/dist/web/ConfirmationPage.js +72 -0
  88. package/dist/web/ConfirmationPage.js.map +1 -0
  89. package/dist/web/ConfirmationSpinner.d.ts +7 -0
  90. package/dist/web/ConfirmationSpinner.d.ts.map +1 -0
  91. package/dist/web/ConfirmationSpinner.js +20 -0
  92. package/dist/web/ConfirmationSpinner.js.map +1 -0
  93. package/dist/web/DaimoModal.d.ts +15 -0
  94. package/dist/web/DaimoModal.d.ts.map +1 -0
  95. package/dist/web/DaimoModal.js +283 -0
  96. package/dist/web/DaimoModal.js.map +1 -0
  97. package/dist/web/DeeplinkPage.d.ts +8 -0
  98. package/dist/web/DeeplinkPage.d.ts.map +1 -0
  99. package/dist/web/DeeplinkPage.js +13 -0
  100. package/dist/web/DeeplinkPage.js.map +1 -0
  101. package/dist/web/ErrorPage.d.ts +28 -0
  102. package/dist/web/ErrorPage.d.ts.map +1 -0
  103. package/dist/web/ErrorPage.js +47 -0
  104. package/dist/web/ErrorPage.js.map +1 -0
  105. package/dist/web/ExchangePage.d.ts +11 -0
  106. package/dist/web/ExchangePage.d.ts.map +1 -0
  107. package/dist/web/ExchangePage.js +13 -0
  108. package/dist/web/ExchangePage.js.map +1 -0
  109. package/dist/web/ExpiredPage.d.ts +9 -0
  110. package/dist/web/ExpiredPage.d.ts.map +1 -0
  111. package/dist/web/ExpiredPage.js +12 -0
  112. package/dist/web/ExpiredPage.js.map +1 -0
  113. package/dist/web/ModalSkeleton.d.ts +7 -0
  114. package/dist/web/ModalSkeleton.d.ts.map +1 -0
  115. package/dist/web/ModalSkeleton.js +13 -0
  116. package/dist/web/ModalSkeleton.js.map +1 -0
  117. package/dist/web/ProgressDots.d.ts +16 -0
  118. package/dist/web/ProgressDots.d.ts.map +1 -0
  119. package/dist/web/ProgressDots.js +55 -0
  120. package/dist/web/ProgressDots.js.map +1 -0
  121. package/dist/web/QRCode.d.ts +7 -0
  122. package/dist/web/QRCode.d.ts.map +1 -0
  123. package/dist/web/QRCode.js +69 -0
  124. package/dist/web/QRCode.js.map +1 -0
  125. package/dist/web/SelectAmountPage.d.ts +21 -0
  126. package/dist/web/SelectAmountPage.d.ts.map +1 -0
  127. package/dist/web/SelectAmountPage.js +27 -0
  128. package/dist/web/SelectAmountPage.js.map +1 -0
  129. package/dist/web/SelectTokenPage.d.ts +14 -0
  130. package/dist/web/SelectTokenPage.d.ts.map +1 -0
  131. package/dist/web/SelectTokenPage.js +71 -0
  132. package/dist/web/SelectTokenPage.js.map +1 -0
  133. package/dist/web/WaitingDepositAddressPage.d.ts +14 -0
  134. package/dist/web/WaitingDepositAddressPage.d.ts.map +1 -0
  135. package/dist/web/WaitingDepositAddressPage.js +126 -0
  136. package/dist/web/WaitingDepositAddressPage.js.map +1 -0
  137. package/dist/web/WalletAmountPage.d.ts +10 -0
  138. package/dist/web/WalletAmountPage.d.ts.map +1 -0
  139. package/dist/web/WalletAmountPage.js +158 -0
  140. package/dist/web/WalletAmountPage.js.map +1 -0
  141. package/dist/web/api/index.d.ts +10 -0
  142. package/dist/web/api/index.d.ts.map +1 -1
  143. package/dist/web/api/navTree.d.ts +7 -2
  144. package/dist/web/api/navTree.d.ts.map +1 -1
  145. package/dist/web/buttons.d.ts +15 -0
  146. package/dist/web/buttons.d.ts.map +1 -0
  147. package/dist/web/buttons.js +24 -0
  148. package/dist/web/buttons.js.map +1 -0
  149. package/dist/web/components/ChooseChainPage.d.ts +2 -1
  150. package/dist/web/components/ChooseChainPage.d.ts.map +1 -1
  151. package/dist/web/components/ChooseChainPage.js +4 -4
  152. package/dist/web/components/ChooseChainPage.js.map +1 -1
  153. package/dist/web/components/ChooseOptionPage.d.ts +3 -1
  154. package/dist/web/components/ChooseOptionPage.d.ts.map +1 -1
  155. package/dist/web/components/ChooseOptionPage.js +31 -11
  156. package/dist/web/components/ChooseOptionPage.js.map +1 -1
  157. package/dist/web/components/ChooseWalletPage.d.ts +2 -1
  158. package/dist/web/components/ChooseWalletPage.d.ts.map +1 -1
  159. package/dist/web/components/ChooseWalletPage.js +9 -7
  160. package/dist/web/components/ChooseWalletPage.js.map +1 -1
  161. package/dist/web/components/ConfirmationPage.d.ts +6 -3
  162. package/dist/web/components/ConfirmationPage.d.ts.map +1 -1
  163. package/dist/web/components/ConfirmationPage.js +11 -9
  164. package/dist/web/components/ConfirmationPage.js.map +1 -1
  165. package/dist/web/components/DaimoModal.js +24 -17
  166. package/dist/web/components/DaimoModal.js.map +1 -1
  167. package/dist/web/components/DeeplinkPage.d.ts +2 -1
  168. package/dist/web/components/DeeplinkPage.d.ts.map +1 -1
  169. package/dist/web/components/DeeplinkPage.js +3 -3
  170. package/dist/web/components/DeeplinkPage.js.map +1 -1
  171. package/dist/web/components/ExchangePage.d.ts +2 -1
  172. package/dist/web/components/ExchangePage.d.ts.map +1 -1
  173. package/dist/web/components/ExchangePage.js +2 -2
  174. package/dist/web/components/ExchangePage.js.map +1 -1
  175. package/dist/web/components/SelectAmountPage.d.ts +2 -1
  176. package/dist/web/components/SelectAmountPage.d.ts.map +1 -1
  177. package/dist/web/components/SelectAmountPage.js +3 -3
  178. package/dist/web/components/SelectAmountPage.js.map +1 -1
  179. package/dist/web/components/SelectTokenPage.d.ts +2 -1
  180. package/dist/web/components/SelectTokenPage.d.ts.map +1 -1
  181. package/dist/web/components/SelectTokenPage.js +8 -13
  182. package/dist/web/components/SelectTokenPage.js.map +1 -1
  183. package/dist/web/components/WaitingDepositAddressPage.d.ts +2 -1
  184. package/dist/web/components/WaitingDepositAddressPage.d.ts.map +1 -1
  185. package/dist/web/components/WaitingDepositAddressPage.js +9 -9
  186. package/dist/web/components/WaitingDepositAddressPage.js.map +1 -1
  187. package/dist/web/components/WalletAmountPage.d.ts +2 -1
  188. package/dist/web/components/WalletAmountPage.d.ts.map +1 -1
  189. package/dist/web/components/WalletAmountPage.js +14 -11
  190. package/dist/web/components/WalletAmountPage.js.map +1 -1
  191. package/dist/web/components/buttons.d.ts.map +1 -1
  192. package/dist/web/components/buttons.js +4 -8
  193. package/dist/web/components/buttons.js.map +1 -1
  194. package/dist/web/components/containers.d.ts.map +1 -1
  195. package/dist/web/components/containers.js +7 -9
  196. package/dist/web/components/containers.js.map +1 -1
  197. package/dist/web/components/icons.d.ts +3 -1
  198. package/dist/web/components/icons.d.ts.map +1 -1
  199. package/dist/web/components/icons.js +9 -5
  200. package/dist/web/components/icons.js.map +1 -1
  201. package/dist/web/components/shared.d.ts +30 -8
  202. package/dist/web/components/shared.d.ts.map +1 -1
  203. package/dist/web/components/shared.js +48 -23
  204. package/dist/web/components/shared.js.map +1 -1
  205. package/dist/web/containers.d.ts +19 -0
  206. package/dist/web/containers.d.ts.map +1 -0
  207. package/dist/web/containers.js +77 -0
  208. package/dist/web/containers.js.map +1 -0
  209. package/dist/web/hooks/locales/en.d.ts +2 -0
  210. package/dist/web/hooks/locales/en.d.ts.map +1 -1
  211. package/dist/web/hooks/locales/en.js +10 -8
  212. package/dist/web/hooks/locales/en.js.map +1 -1
  213. package/dist/web/hooks/locales/es.d.ts.map +1 -1
  214. package/dist/web/hooks/locales/es.js +2 -0
  215. package/dist/web/hooks/locales/es.js.map +1 -1
  216. package/dist/web/hooks/types.d.ts +1 -0
  217. package/dist/web/hooks/types.d.ts.map +1 -1
  218. package/dist/web/hooks/types.js.map +1 -1
  219. package/dist/web/hooks/useInjectedWallets.d.ts +4 -1
  220. package/dist/web/hooks/useInjectedWallets.d.ts.map +1 -1
  221. package/dist/web/hooks/useInjectedWallets.js +84 -25
  222. package/dist/web/hooks/useInjectedWallets.js.map +1 -1
  223. package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
  224. package/dist/web/hooks/useSessionNav.js +44 -25
  225. package/dist/web/hooks/useSessionNav.js.map +1 -1
  226. package/dist/web/hooks/useWalletFlow.d.ts +1 -1
  227. package/dist/web/hooks/useWalletFlow.d.ts.map +1 -1
  228. package/dist/web/hooks/useWalletFlow.js +46 -6
  229. package/dist/web/hooks/useWalletFlow.js.map +1 -1
  230. package/dist/web/hooks/walletProvider.d.ts +10 -2
  231. package/dist/web/hooks/walletProvider.d.ts.map +1 -1
  232. package/dist/web/hooks/walletProvider.js +69 -7
  233. package/dist/web/hooks/walletProvider.js.map +1 -1
  234. package/dist/web/icons.d.ts +22 -0
  235. package/dist/web/icons.d.ts.map +1 -0
  236. package/dist/web/icons.js +33 -0
  237. package/dist/web/icons.js.map +1 -0
  238. package/dist/web/shared.d.ts +93 -0
  239. package/dist/web/shared.d.ts.map +1 -0
  240. package/dist/web/shared.js +202 -0
  241. package/dist/web/shared.js.map +1 -0
  242. package/dist/web/styles.css +1 -1
  243. package/dist/web/theme.css +19 -18
  244. package/dist/web/useCopyToClipboard.d.ts +6 -0
  245. package/dist/web/useCopyToClipboard.d.ts.map +1 -0
  246. package/dist/web/useCopyToClipboard.js +20 -0
  247. package/dist/web/useCopyToClipboard.js.map +1 -0
  248. package/dist/web/useWalletFlow.d.ts +23 -0
  249. package/dist/web/useWalletFlow.d.ts.map +1 -0
  250. package/dist/web/useWalletFlow.js +334 -0
  251. package/dist/web/useWalletFlow.js.map +1 -0
  252. package/dist/web/walletProvider.d.ts +34 -0
  253. package/dist/web/walletProvider.d.ts.map +1 -0
  254. package/dist/web/walletProvider.js +14 -0
  255. package/dist/web/walletProvider.js.map +1 -0
  256. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaimoModal.js","sourceRoot":"","sources":["../../src/web/DaimoModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { NavNodeDeeplink } from "../common/legacy/session.js";
2
+ type DeeplinkPageProps = {
3
+ node: NavNodeDeeplink;
4
+ onBack: (() => void) | null;
5
+ };
6
+ export declare function DeeplinkPage({ node, onBack }: DeeplinkPageProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=DeeplinkPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeeplinkPage.d.ts","sourceRoot":"","sources":["../../src/web/DeeplinkPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAqB/D"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ExternalLinkIcon, PrimaryButton } from "./buttons.js";
3
+ import { t } from "../hooks/locale.js";
4
+ import { PageContent, PageHeader, PageLogo } from "./shared.js";
5
+ export function DeeplinkPage({ node, onBack }) {
6
+ const openDeeplink = () => {
7
+ if (node.url) {
8
+ window.open(node.url, "_blank");
9
+ }
10
+ };
11
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack ?? undefined }), _jsxs(PageContent, { children: [node.icon && _jsx(PageLogo, { icon: node.icon, alt: node.title }), _jsxs("p", { className: "text-[var(--daimo-text-secondary)] text-center max-w-xs", children: [t.continueIn, " ", node.title, " ", t.toCompleteYourPayment] }), _jsxs(PrimaryButton, { onClick: openDeeplink, icon: _jsx(ExternalLinkIcon, {}), children: [t.openIn, " ", node.title] })] })] }));
12
+ }
13
+ //# sourceMappingURL=DeeplinkPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeeplinkPage.js","sourceRoot":"","sources":["../../src/web/DeeplinkPage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOhE,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAqB;IAC9D,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,GAAI,EAC9D,MAAC,WAAW,eACT,IAAI,CAAC,IAAI,IAAI,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI,EAC5D,aAAG,SAAS,EAAC,yDAAyD,aACnE,CAAC,CAAC,UAAU,OAAG,IAAI,CAAC,KAAK,OAAG,CAAC,CAAC,qBAAqB,IAClD,EACJ,MAAC,aAAa,IAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,KAAC,gBAAgB,KAAG,aAC7D,CAAC,CAAC,MAAM,OAAG,IAAI,CAAC,KAAK,IACR,IACJ,IACV,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type NavNodeType } from "../hooks/navEvent.js";
2
+ type ErrorPageProps = {
3
+ message: unknown;
4
+ /** Button text, defaults to "Reload" */
5
+ retryText?: string;
6
+ /** Retry callback, defaults to window.location.reload() */
7
+ onRetry?: () => void;
8
+ /** Email subject for support button */
9
+ supportSubject?: string;
10
+ /** Additional info to include in support email */
11
+ supportInfo?: Record<string, string>;
12
+ /** Session ID for event logging (optional) */
13
+ sessionId?: string;
14
+ /** Current node context for event logging (optional) */
15
+ nodeId?: string | null;
16
+ nodeType?: NavNodeType | null;
17
+ /** Hide retry button */
18
+ hideRetry?: boolean;
19
+ /** Hide support button */
20
+ hideSupport?: boolean;
21
+ };
22
+ /**
23
+ * Standard error page with icon, message, retry button, and support link.
24
+ * Use for network errors, session creation failures, etc.
25
+ */
26
+ export declare function ErrorPage({ message, retryText, onRetry, supportSubject, supportInfo, sessionId, nodeId, nodeType, hideRetry, hideSupport, }: ErrorPageProps): import("react/jsx-runtime").JSX.Element;
27
+ export {};
28
+ //# sourceMappingURL=ErrorPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorPage.d.ts","sourceRoot":"","sources":["../../src/web/ErrorPage.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAYzE,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,SAAoB,EACpB,OAAO,EACP,cAAwB,EACxB,WAAgB,EAChB,SAAS,EACT,MAAa,EACb,QAAe,EACf,SAAiB,EACjB,WAAmB,GACpB,EAAE,cAAc,2CAsDhB"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo } from "react";
3
+ import { SecondaryButton } from "./buttons.js";
4
+ import { ErrorIcon } from "./icons.js";
5
+ import { useDaimoClient } from "../hooks/DaimoClientContext.js";
6
+ import { t } from "../hooks/locale.js";
7
+ import { createNavLogger } from "../hooks/navEvent.js";
8
+ import { ContactSupportButton, ErrorMessage, PageHeader } from "./shared.js";
9
+ /** Extract a displayable string from any error value. */
10
+ function extractMessage(value) {
11
+ if (typeof value === "string")
12
+ return value;
13
+ if (value && typeof value === "object" && "message" in value) {
14
+ return String(value.message);
15
+ }
16
+ return t.unknownError;
17
+ }
18
+ /**
19
+ * Standard error page with icon, message, retry button, and support link.
20
+ * Use for network errors, session creation failures, etc.
21
+ */
22
+ export function ErrorPage({ message, retryText = t.reload, onRetry, supportSubject = t.error, supportInfo = {}, sessionId, nodeId = null, nodeType = null, hideRetry = false, hideSupport = false, }) {
23
+ const displayMessage = extractMessage(message);
24
+ const client = useDaimoClient();
25
+ const logNavEvent = useMemo(() => createNavLogger(client), [client]);
26
+ useEffect(() => {
27
+ console.error("[ErrorPage]", message);
28
+ if (sessionId == null)
29
+ return;
30
+ logNavEvent(sessionId, {
31
+ nodeId,
32
+ nodeType,
33
+ action: "error_shown",
34
+ error: displayMessage,
35
+ });
36
+ }, [message, sessionId, nodeId, nodeType, displayMessage, logNavEvent]);
37
+ const handleRetry = () => {
38
+ if (onRetry) {
39
+ onRetry();
40
+ }
41
+ else {
42
+ window.location.reload();
43
+ }
44
+ };
45
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: t.error }), _jsxs("div", { className: "flex-1 flex flex-col items-center justify-center p-6 gap-6", children: [_jsx("div", { className: "w-20 h-20 rounded-full flex items-center justify-center", style: { backgroundColor: "var(--daimo-error-light)" }, children: _jsx(ErrorIcon, {}) }), _jsx(ErrorMessage, { message: displayMessage }), !hideRetry && (_jsx(SecondaryButton, { onClick: handleRetry, children: retryText })), !hideSupport && (_jsx(ContactSupportButton, { subject: supportSubject, info: { error: displayMessage, ...supportInfo } }))] })] }));
46
+ }
47
+ //# sourceMappingURL=ErrorPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorPage.js","sourceRoot":"","sources":["../../src/web/ErrorPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAoB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7E,yDAAyD;AACzD,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAE,KAA8B,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,CAAC,CAAC,YAAY,CAAC;AACxB,CAAC;AAuBD;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,OAAO,EACP,SAAS,GAAG,CAAC,CAAC,MAAM,EACpB,OAAO,EACP,cAAc,GAAG,CAAC,CAAC,KAAK,EACxB,WAAW,GAAG,EAAE,EAChB,SAAS,EACT,MAAM,GAAG,IAAI,EACb,QAAQ,GAAG,IAAI,EACf,SAAS,GAAG,KAAK,EACjB,WAAW,GAAG,KAAK,GACJ;IACf,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAErE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO;QAC9B,WAAW,CAAC,SAAS,EAAE;YACrB,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAExE,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI,EAC9B,eAAK,SAAS,EAAC,4DAA4D,aAEzE,cACE,SAAS,EAAC,yDAAyD,EACnE,KAAK,EAAE,EAAE,eAAe,EAAE,0BAA0B,EAAE,YAEtD,KAAC,SAAS,KAAG,GACT,EAGN,KAAC,YAAY,IAAC,OAAO,EAAE,cAAc,GAAI,EAGxC,CAAC,SAAS,IAAI,CACb,KAAC,eAAe,IAAC,OAAO,EAAE,WAAW,YAAG,SAAS,GAAmB,CACrE,EAGA,CAAC,WAAW,IAAI,CACf,KAAC,oBAAoB,IACnB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,GAC/C,CACH,IACG,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { NavNodeExchange } from "../common/legacy/session.js";
2
+ type ExchangePageProps = {
3
+ node: NavNodeExchange;
4
+ exchangeUrl?: string;
5
+ waitingMessage?: string;
6
+ isLoading?: boolean;
7
+ onBack: () => void;
8
+ };
9
+ export declare function ExchangePage({ node, exchangeUrl, waitingMessage, isLoading, onBack, }: ExchangePageProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=ExchangePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExchangePage.d.ts","sourceRoot":"","sources":["../../src/web/ExchangePage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,WAAW,EACX,cAAc,EACd,SAAS,EACT,MAAM,GACP,EAAE,iBAAiB,2CA+BnB"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ExternalLinkIcon, PrimaryButton } from "./buttons.js";
3
+ import { t } from "../hooks/locale.js";
4
+ import { PageContent, PageHeader, PageLogo } from "./shared.js";
5
+ export function ExchangePage({ node, exchangeUrl, waitingMessage, isLoading, onBack, }) {
6
+ const openExchange = () => {
7
+ if (exchangeUrl)
8
+ window.open(exchangeUrl, "_blank");
9
+ };
10
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), _jsxs(PageContent, { children: [node.icon && _jsx(PageLogo, { icon: node.icon, alt: node.title }), isLoading ? (_jsxs("div", { className: "flex flex-col items-center gap-2 max-w-xs w-full", children: [_jsx("div", { className: "h-4 w-4/5 rounded bg-[var(--daimo-surface-secondary)] animate-pulse" }), _jsx("div", { className: "h-4 w-3/5 rounded bg-[var(--daimo-surface-secondary)] animate-pulse" })] })) : (_jsx("p", { className: "text-[var(--daimo-text-secondary)] text-center max-w-xs", children: waitingMessage ||
11
+ `${t.continueTo} ${node.title} ${t.toCompleteYourDeposit}` })), _jsxs(PrimaryButton, { onClick: openExchange, icon: _jsx(ExternalLinkIcon, {}), disabled: isLoading, children: [t.open, " ", node.title] })] })] }));
12
+ }
13
+ //# sourceMappingURL=ExchangePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExchangePage.js","sourceRoot":"","sources":["../../src/web/ExchangePage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAUhE,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,WAAW,EACX,cAAc,EACd,SAAS,EACT,MAAM,GACY;IAClB,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,EACjD,MAAC,WAAW,eACT,IAAI,CAAC,IAAI,IAAI,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI,EAC3D,SAAS,CAAC,CAAC,CAAC,CACX,eAAK,SAAS,EAAC,kDAAkD,aAC/D,cAAK,SAAS,EAAC,qEAAqE,GAAG,EACvF,cAAK,SAAS,EAAC,qEAAqE,GAAG,IACnF,CACP,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,yDAAyD,YACnE,cAAc;4BACb,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE,GAC1D,CACL,EACD,MAAC,aAAa,IACZ,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,KAAC,gBAAgB,KAAG,EAC1B,QAAQ,EAAE,SAAS,aAElB,CAAC,CAAC,IAAI,OAAG,IAAI,CAAC,KAAK,IACN,IACJ,IACV,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ type ExpiredPageProps = {
2
+ onClose?: () => void;
3
+ };
4
+ /**
5
+ * Expired page shown when a payment session times out.
6
+ */
7
+ export declare function ExpiredPage({ onClose }: ExpiredPageProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=ExpiredPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpiredPage.d.ts","sourceRoot":"","sources":["../../src/web/ExpiredPage.tsx"],"names":[],"mappings":"AAKA,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,gBAAgB,2CAoBxD"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { SecondaryButton } from "./buttons.js";
3
+ import { ExpiredIcon } from "./icons.js";
4
+ import { t } from "../hooks/locale.js";
5
+ import { PageHeader } from "./shared.js";
6
+ /**
7
+ * Expired page shown when a payment session times out.
8
+ */
9
+ export function ExpiredPage({ onClose }) {
10
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: t.expired }), _jsxs("div", { className: "flex-1 flex flex-col items-center justify-center p-6 gap-6", children: [_jsx("div", { className: "w-20 h-20 rounded-full flex items-center justify-center", style: { backgroundColor: "var(--daimo-error-light)" }, children: _jsx(ExpiredIcon, {}) }), _jsx("p", { className: "text-[var(--daimo-text-secondary)]", children: t.paymentSessionExpired }), onClose && (_jsx(SecondaryButton, { onClick: onClose, children: t.close }))] })] }));
11
+ }
12
+ //# sourceMappingURL=ExpiredPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpiredPage.js","sourceRoot":"","sources":["../../src/web/ExpiredPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzC;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,OAAO,EAAoB;IACvD,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,GAAI,EAChC,eAAK,SAAS,EAAC,4DAA4D,aACzE,cACE,SAAS,EAAC,yDAAyD,EACnE,KAAK,EAAE,EAAE,eAAe,EAAE,0BAA0B,EAAE,YAEtD,KAAC,WAAW,KAAG,GACX,EACN,YAAG,SAAS,EAAC,oCAAoC,YAC9C,CAAC,CAAC,qBAAqB,GACtB,EACH,OAAO,IAAI,CACV,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,YAAG,CAAC,CAAC,KAAK,GAAmB,CAC/D,IACG,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Loading skeleton for the session modal.
3
+ * Shows header + scrollable token rows layout (matches SelectTokenPage).
4
+ * Respects prefers-reduced-motion for accessibility.
5
+ */
6
+ export declare function ModalSkeleton(): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=ModalSkeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalSkeleton.d.ts","sourceRoot":"","sources":["../../src/web/ModalSkeleton.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,aAAa,4CA0B5B"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Loading skeleton for the session modal.
4
+ * Shows header + scrollable token rows layout (matches SelectTokenPage).
5
+ * Respects prefers-reduced-motion for accessibility.
6
+ */
7
+ export function ModalSkeleton() {
8
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx("div", { className: "flex items-center justify-center h-14 px-6", children: _jsx("div", { className: "h-5 w-32 rounded motion-safe:animate-pulse", style: { backgroundColor: "var(--daimo-skeleton)" } }) }), _jsx("div", { className: "flex-1 px-6 pb-4 flex flex-col gap-3", children: [...Array(11)].map((_, i) => (_jsx("div", { className: "h-16 rounded-[var(--daimo-radius-lg)] motion-safe:animate-pulse", style: {
9
+ backgroundColor: "var(--daimo-skeleton)",
10
+ animationDelay: `${i * 100}ms`,
11
+ } }, i))) })] }));
12
+ }
13
+ //# sourceMappingURL=ModalSkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalSkeleton.js","sourceRoot":"","sources":["../../src/web/ModalSkeleton.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAE3C,cAAK,SAAS,EAAC,4CAA4C,YACzD,cACE,SAAS,EAAC,4CAA4C,EACtD,KAAK,EAAE,EAAE,eAAe,EAAE,uBAAuB,EAAE,GACnD,GACE,EAGN,cAAK,SAAS,EAAC,sCAAsC,YAClD,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,cAEE,SAAS,EAAC,iEAAiE,EAC3E,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"}
@@ -0,0 +1,16 @@
1
+ type ProgressDotsStatus = "confirming" | "processing" | "done" | "refunding";
2
+ type ProgressDotsProps = {
3
+ status: ProgressDotsStatus;
4
+ label: string;
5
+ };
6
+ /**
7
+ * Two-dot progress indicator with connecting line.
8
+ *
9
+ * Confirming: both dots grey (unfilled), line grey
10
+ * Processing: first dot blue, second gray, line gray
11
+ * Done: both dots green, line green
12
+ * Refunding: both dots red, line red
13
+ */
14
+ export declare function ProgressDots({ status, label }: ProgressDotsProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=ProgressDots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressDots.d.ts","sourceRoot":"","sources":["../../src/web/ProgressDots.tsx"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAE7E,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAqBhE"}
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Two-dot progress indicator with connecting line.
4
+ *
5
+ * Confirming: both dots grey (unfilled), line grey
6
+ * Processing: first dot blue, second gray, line gray
7
+ * Done: both dots green, line green
8
+ * Refunding: both dots red, line red
9
+ */
10
+ export function ProgressDots({ status, label }) {
11
+ const colors = getColors(status);
12
+ return (_jsxs("div", { className: "flex flex-col items-center gap-3", children: [_jsxs("div", { className: "flex items-center gap-0", children: [_jsx(Dot, { filled: status !== "confirming", color: colors.first }), _jsx(Line, { color: colors.line }), _jsx(Dot, { filled: status === "done" || status === "refunding", color: colors.second })] }), _jsx("span", { className: "text-sm font-medium", style: { color: colors.text }, children: label })] }));
13
+ }
14
+ function Dot({ filled, color }) {
15
+ return (_jsx("div", { className: "w-3 h-3 rounded-full border-2", style: {
16
+ borderColor: color,
17
+ backgroundColor: filled ? color : "transparent",
18
+ } }));
19
+ }
20
+ function Line({ color }) {
21
+ return _jsx("div", { className: "w-12 h-0.5", style: { backgroundColor: color } });
22
+ }
23
+ function getColors(status) {
24
+ switch (status) {
25
+ case "confirming":
26
+ return {
27
+ first: "var(--daimo-placeholder)",
28
+ second: "var(--daimo-placeholder)",
29
+ line: "var(--daimo-placeholder)",
30
+ text: "var(--daimo-text-secondary)",
31
+ };
32
+ case "processing":
33
+ return {
34
+ first: "var(--daimo-accent)",
35
+ second: "var(--daimo-placeholder)",
36
+ line: "var(--daimo-placeholder)",
37
+ text: "var(--daimo-text-secondary)",
38
+ };
39
+ case "done":
40
+ return {
41
+ first: "var(--daimo-success)",
42
+ second: "var(--daimo-success)",
43
+ line: "var(--daimo-success)",
44
+ text: "var(--daimo-success)",
45
+ };
46
+ case "refunding":
47
+ return {
48
+ first: "var(--daimo-error)",
49
+ second: "var(--daimo-error)",
50
+ line: "var(--daimo-error)",
51
+ text: "var(--daimo-error)",
52
+ };
53
+ }
54
+ }
55
+ //# sourceMappingURL=ProgressDots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressDots.js","sourceRoot":"","sources":["../../src/web/ProgressDots.tsx"],"names":[],"mappings":";AAOA;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAqB;IAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEjC,OAAO,CACL,eAAK,SAAS,EAAC,kCAAkC,aAE/C,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,GAAG,IAAC,MAAM,EAAE,MAAM,KAAK,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAI,EAC7D,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAI,EAC5B,KAAC,GAAG,IACF,MAAM,EAAE,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,WAAW,EACnD,KAAK,EAAE,MAAM,CAAC,MAAM,GACpB,IACE,EAGN,eAAM,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,YAChE,KAAK,GACD,IACH,CACP,CAAC;AACJ,CAAC;AAOD,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAY;IACtC,OAAO,CACL,cACE,SAAS,EAAC,+BAA+B,EACzC,KAAK,EAAE;YACL,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa;SAChD,GACD,CACH,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,KAAK,EAAqB;IACxC,OAAO,cAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,GAAI,CAAC;AAC3E,CAAC;AASD,SAAS,SAAS,CAAC,MAA0B;IAC3C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,OAAO;gBACL,KAAK,EAAE,0BAA0B;gBACjC,MAAM,EAAE,0BAA0B;gBAClC,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,6BAA6B;aACpC,CAAC;QACJ,KAAK,YAAY;YACf,OAAO;gBACL,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE,0BAA0B;gBAClC,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,6BAA6B;aACpC,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,sBAAsB;gBAC9B,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,sBAAsB;aAC7B,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,KAAK,EAAE,oBAAoB;gBAC3B,MAAM,EAAE,oBAAoB;gBAC5B,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,oBAAoB;aAC3B,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ type QRCodeProps = {
2
+ value: string;
3
+ image?: React.ReactNode;
4
+ };
5
+ export declare function QRCode({ value, image }: QRCodeProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=QRCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QRCode.d.ts","sourceRoot":"","sources":["../../src/web/QRCode.tsx"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,CAAC;AAKF,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,2CAqHnD"}
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import QRCodeLib from "qrcode";
3
+ import { useMemo } from "react";
4
+ /** SVG viewBox size for quality (actual display size is controlled by CSS) */
5
+ const VIEW_SIZE = 288;
6
+ export function QRCode({ value, image }) {
7
+ const dots = useMemo(() => {
8
+ const dots = [];
9
+ let matrix;
10
+ try {
11
+ const qr = QRCodeLib.create(value, { errorCorrectionLevel: "M" });
12
+ const arr = Array.prototype.slice.call(qr.modules.data, 0);
13
+ const sqrt = Math.sqrt(arr.length);
14
+ matrix = arr.reduce((rows, key, index) => (index % sqrt === 0
15
+ ? rows.push([key])
16
+ : rows[rows.length - 1].push(key)) && rows, []);
17
+ }
18
+ catch {
19
+ return dots;
20
+ }
21
+ const cellSize = VIEW_SIZE / matrix.length;
22
+ // Draw position finder patterns (3 corners) as nested rounded rectangles
23
+ const finderPositions = [
24
+ { x: 0, y: 0 },
25
+ { x: 1, y: 0 },
26
+ { x: 0, y: 1 },
27
+ ];
28
+ finderPositions.forEach(({ x, y }) => {
29
+ const x1 = (matrix.length - 7) * cellSize * x;
30
+ const y1 = (matrix.length - 7) * cellSize * y;
31
+ // Draw 3 nested rectangles: outer (black), middle (white), inner (black)
32
+ for (let i = 0; i < 3; i++) {
33
+ dots.push(_jsx("rect", { fill: i % 2 !== 0
34
+ ? "var(--daimo-qr-bg, white)"
35
+ : "var(--daimo-qr-dot, black)", rx: (i - 2) * -5 + (i === 0 ? 2 : 3), ry: (i - 2) * -5 + (i === 0 ? 2 : 3), width: cellSize * (7 - i * 2), height: cellSize * (7 - i * 2), x: x1 + cellSize * i, y: y1 + cellSize * i }, `finder-${i}-${x}-${y}`));
36
+ }
37
+ });
38
+ // Calculate center clear area for logo (28% of QR)
39
+ const logoAreaSize = Math.floor((VIEW_SIZE * 0.28) / cellSize);
40
+ const matrixMiddleStart = matrix.length / 2 - logoAreaSize / 2;
41
+ const matrixMiddleEnd = matrix.length / 2 + logoAreaSize / 2 - 1;
42
+ // Draw data dots (circles)
43
+ matrix.forEach((row, i) => {
44
+ row.forEach((cell, j) => {
45
+ if (!cell)
46
+ return;
47
+ // Skip position finder patterns
48
+ const inTopLeft = i < 7 && j < 7;
49
+ const inTopRight = i > matrix.length - 8 && j < 7;
50
+ const inBottomLeft = i < 7 && j > matrix.length - 8;
51
+ if (inTopLeft || inTopRight || inBottomLeft)
52
+ return;
53
+ // Skip center area if image is provided
54
+ if (image) {
55
+ const inCenter = i > matrixMiddleStart &&
56
+ i < matrixMiddleEnd &&
57
+ j > matrixMiddleStart &&
58
+ j < matrixMiddleEnd;
59
+ if (inCenter)
60
+ return;
61
+ }
62
+ dots.push(_jsx("circle", { cx: i * cellSize + cellSize / 2, cy: j * cellSize + cellSize / 2, fill: "var(--daimo-qr-dot, black)", r: cellSize / 3 }, `dot-${i}-${j}`));
63
+ });
64
+ });
65
+ return dots;
66
+ }, [value, image]);
67
+ return (_jsx("div", { className: "qr-container relative w-full overflow-hidden rounded-2xl border border-[var(--daimo-border)] bg-[var(--daimo-qr-bg,white)]", children: _jsx("div", { className: "relative w-full pb-[100%]", children: _jsxs("div", { className: "absolute inset-[13px]", children: [_jsx("svg", { viewBox: `0 0 ${VIEW_SIZE} ${VIEW_SIZE}`, className: "block h-auto w-full", children: dots }), image && (_jsx("div", { className: "absolute left-1/2 top-1/2 flex h-[28%] w-[28%] -translate-x-1/2 -translate-y-1/2 items-center justify-center", children: image }))] }) }) }));
68
+ }
69
+ //# sourceMappingURL=QRCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QRCode.js","sourceRoot":"","sources":["../../src/web/QRCode.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAC;AAO9C,8EAA8E;AAC9E,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAe;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,MAAM,IAAI,GAAmB,EAAE,CAAC;QAEhC,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,MAAM,CACjB,CAAC,IAAgB,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE,CAC/C,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,EAC9C,EAAE,CACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAE3C,yEAAyE;QACzE,MAAM,eAAe,GAAG;YACtB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACf,CAAC;QAEF,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;YAC9C,yEAAyE;YACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CACP,eAEE,IAAI,EACF,CAAC,GAAG,CAAC,KAAK,CAAC;wBACT,CAAC,CAAC,2BAA2B;wBAC7B,CAAC,CAAC,4BAA4B,EAElC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAC7B,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAC9B,CAAC,EAAE,EAAE,GAAG,QAAQ,GAAG,CAAC,EACpB,CAAC,EAAE,EAAE,GAAG,QAAQ,GAAG,CAAC,IAXf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAY5B,CACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjE,2BAA2B;QAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACxB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAElB,gCAAgC;gBAChC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpD,IAAI,SAAS,IAAI,UAAU,IAAI,YAAY;oBAAE,OAAO;gBAEpD,wCAAwC;gBACxC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,QAAQ,GACZ,CAAC,GAAG,iBAAiB;wBACrB,CAAC,GAAG,eAAe;wBACnB,CAAC,GAAG,iBAAiB;wBACrB,CAAC,GAAG,eAAe,CAAC;oBACtB,IAAI,QAAQ;wBAAE,OAAO;gBACvB,CAAC;gBAED,IAAI,CAAC,IAAI,CACP,iBAEE,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,EAC/B,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,EAC/B,IAAI,EAAC,4BAA4B,EACjC,CAAC,EAAE,QAAQ,GAAG,CAAC,IAJV,OAAO,CAAC,IAAI,CAAC,EAAE,CAKpB,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,CACL,cAAK,SAAS,EAAC,4HAA4H,YAEzI,cAAK,SAAS,EAAC,2BAA2B,YAExC,eAAK,SAAS,EAAC,uBAAuB,aACpC,cACE,OAAO,EAAE,OAAO,SAAS,IAAI,SAAS,EAAE,EACxC,SAAS,EAAC,qBAAqB,YAE9B,IAAI,GACD,EAGL,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,8GAA8G,YAC1H,KAAK,GACF,CACP,IACG,GACF,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { NavNodeDepositAddress } from "../common/legacy/session.js";
2
+ type SelectAmountPageProps = {
3
+ node: NavNodeDepositAddress | {
4
+ icon?: string;
5
+ title: string;
6
+ };
7
+ minimumUsd: number;
8
+ maximumUsd: number;
9
+ /** Token suffix for display (e.g., "USDC", "USDT") */
10
+ tokenSuffix?: string;
11
+ /** Chain ID for token badge display */
12
+ chainId?: number;
13
+ /** Optional back handler. If undefined, back button is hidden. */
14
+ onBack?: () => void;
15
+ onContinue: (amountUsd: number) => void;
16
+ isLoading?: boolean;
17
+ error?: string | null;
18
+ };
19
+ export declare function SelectAmountPage({ node, minimumUsd, maximumUsd, tokenSuffix, chainId, onBack, onContinue, isLoading, error, }: SelectAmountPageProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=SelectAmountPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectAmountPage.d.ts","sourceRoot":"","sources":["../../src/web/SelectAmountPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAarC,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,qBAAqB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,GACN,EAAE,qBAAqB,2CAyEvB"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TokenLogo } from "../common/token.js";
3
+ import { PrimaryButton } from "./buttons.js";
4
+ import { t } from "../hooks/locale.js";
5
+ import { AmountInput, PageHeader, TokenIconWithChainBadge, resolveIconUrl, useAmountInput, } from "./shared.js";
6
+ export function SelectAmountPage({ node, minimumUsd, maximumUsd, tokenSuffix, chainId, onBack, onContinue, isLoading, error, }) {
7
+ const { amountUsd, isValid, handleChange } = useAmountInput(minimumUsd, maximumUsd);
8
+ // Create pseudo-token for display if tokenSuffix is USDC or USDT and chainId is provided
9
+ const selectedToken = tokenSuffix === "USDC" || tokenSuffix === "USDT" ? tokenSuffix : null;
10
+ const displayToken = selectedToken && chainId != null
11
+ ? {
12
+ chainId,
13
+ token: "0x0",
14
+ symbol: selectedToken,
15
+ decimals: 6,
16
+ logoURI: selectedToken === "USDC" ? TokenLogo.USDC : TokenLogo.USDT,
17
+ logoSourceURI: "",
18
+ usd: 1,
19
+ priceFromUsd: 1,
20
+ maxAcceptUsd: 1000000,
21
+ maxSendUsd: 1000000,
22
+ displayDecimals: 2,
23
+ }
24
+ : null;
25
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: t.selectAmount, onBack: onBack }), _jsxs("div", { className: "flex-1 flex flex-col items-center p-6 gap-6", children: [_jsx("div", { className: "h-24 flex items-center justify-center", children: displayToken ? (_jsx(TokenIconWithChainBadge, { token: displayToken, size: "lg", badgeBorderClass: "border-2 bg-[var(--daimo-surface)] border-[var(--daimo-surface)]" })) : (node.icon && (_jsx("img", { src: resolveIconUrl(node.icon), alt: node.title, className: "w-20 h-20 rounded-full" }))) }), _jsx(AmountInput, { minimumUsd: minimumUsd, maximumUsd: maximumUsd, onSubmit: onContinue, onChange: handleChange }), error && (_jsx("div", { className: "text-red-500 text-sm text-center", children: error })), _jsx(PrimaryButton, { onClick: () => isValid && !isLoading && onContinue(amountUsd), disabled: !isValid || isLoading, children: isLoading ? t.loading : t.continue })] })] }));
26
+ }
27
+ //# sourceMappingURL=SelectAmountPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectAmountPage.js","sourceRoot":"","sources":["../../src/web/SelectAmountPage.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EACL,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAiBrB,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,GACiB;IACtB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,cAAc,CACzD,UAAU,EACV,UAAU,CACX,CAAC;IAEF,yFAAyF;IACzF,MAAM,aAAa,GACjB,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,MAAM,YAAY,GAChB,aAAa,IAAI,OAAO,IAAI,IAAI;QAC9B,CAAC,CAAE;YACC,OAAO;YACP,KAAK,EAAE,KAAsB;YAC7B,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;YACnE,aAAa,EAAE,EAAE;YACjB,GAAG,EAAE,CAAC;YACN,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,OAAO;YACnB,eAAe,EAAE,CAAC;SACD;QACrB,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,GAAI,EAErD,eAAK,SAAS,EAAC,6CAA6C,aAE1D,cAAK,SAAS,EAAC,uCAAuC,YACnD,YAAY,CAAC,CAAC,CAAC,CACd,KAAC,uBAAuB,IACtB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAC,IAAI,EACT,gBAAgB,EAAC,kEAAkE,GACnF,CACH,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,IAAI,IAAI,CACX,cACE,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9B,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,SAAS,EAAC,wBAAwB,GAClC,CACH,CACF,GACG,EAGN,KAAC,WAAW,IACV,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,YAAY,GACtB,EAGD,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,kCAAkC,YAAE,KAAK,GAAO,CAChE,EAED,KAAC,aAAa,IACZ,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAC7D,QAAQ,EAAE,CAAC,OAAO,IAAI,SAAS,YAE9B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GACrB,IACZ,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { WalletPaymentOption } from "../common/legacy/session.js";
2
+ type SelectTokenPageProps = {
3
+ /** Token options, or null if not yet loaded */
4
+ options: WalletPaymentOption[] | null;
5
+ /** Loading state - show skeletons */
6
+ isLoading?: boolean;
7
+ /** Number of skeleton rows to show while loading */
8
+ skeletonCount?: number;
9
+ onSelect: (option: WalletPaymentOption) => void;
10
+ };
11
+ /** Token selection page for wallet payment flow */
12
+ export declare function SelectTokenPage({ options, isLoading, skeletonCount, onSelect, }: SelectTokenPageProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=SelectTokenPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTokenPage.d.ts","sourceRoot":"","sources":["../../src/web/SelectTokenPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMjF,KAAK,oBAAoB,GAAG;IAC1B,+CAA+C;IAC/C,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACtC,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;CACjD,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,SAAiB,EACjB,aAAkB,EAClB,QAAQ,GACT,EAAE,oBAAoB,2CAyEtB"}
@@ -0,0 +1,71 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getChainName } from "../common/chain.js";
3
+ import { t } from "../hooks/locale.js";
4
+ import { PageHeader, TokenIconWithChainBadge } from "./shared.js";
5
+ /** Token selection page for wallet payment flow */
6
+ export function SelectTokenPage({ options, isLoading = false, skeletonCount = 11, onSelect, }) {
7
+ // Show skeletons while loading
8
+ if (isLoading || options === null) {
9
+ return (_jsxs("div", { className: "flex flex-col h-full overflow-hidden", children: [_jsx("div", { className: "shrink-0", children: _jsx(PageHeader, { title: t.selectToken }) }), _jsx("div", { className: "flex-1 min-h-0 overflow-y-auto scroll-fade px-6 pb-4", children: _jsx("div", { className: "min-h-full flex flex-col justify-end gap-3", children: Array.from({ length: skeletonCount }).map((_, i) => (_jsx(SkeletonRow, {}, i))) }) })] }));
10
+ }
11
+ // Filter options: valid tokens first, then disabled (insufficient balance or liquidity)
12
+ const validOptions = options.filter((opt) => opt.balance.usd >= opt.minimumRequired.usd && !opt.disabledReason);
13
+ const disabledOptions = options.filter((opt) => opt.balance.usd < opt.minimumRequired.usd || opt.disabledReason);
14
+ return (_jsxs("div", { className: "flex flex-col h-full overflow-hidden", children: [_jsx("div", { className: "shrink-0", children: _jsx(PageHeader, { title: t.selectToken }) }), _jsx("div", { className: "flex-1 min-h-0 overflow-y-auto scroll-fade px-6 pb-4", children: options.length === 0 ? (_jsx("div", { className: "flex flex-col items-center justify-center h-full gap-2", children: _jsx("p", { className: "text-[var(--daimo-text-secondary)]", children: t.noTokensFound }) })) : (
15
+ /* Bottom-up layout: items align to bottom when few, scroll normally when full.
16
+ - min-h-full ensures wrapper spans at least the full scroll area
17
+ - justify-end pushes items to bottom for easier thumb reach on mobile
18
+ - when items exceed container height, normal top-down scrolling kicks in */
19
+ _jsxs("div", { className: "min-h-full flex flex-col justify-end gap-3", children: [validOptions.map((option) => (_jsx(TokenRow, { option: option, onSelect: onSelect }, getTokenKey(option.balance.token)))), disabledOptions.map((option) => (_jsx(TokenRow, { option: option, onSelect: onSelect, disabled: true }, getTokenKey(option.balance.token))))] })) })] }));
20
+ }
21
+ /** Skeleton loading row - matches TokenRow dimensions with token + chain badge */
22
+ function SkeletonRow() {
23
+ return (_jsxs("div", { className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] animate-pulse", children: [_jsxs("div", { className: "flex-1 min-w-0 mr-3", children: [_jsx("div", { className: "h-5 w-48 rounded mb-2", style: { backgroundColor: "var(--daimo-skeleton)" } }), _jsx("div", { className: "h-4 w-32 rounded", style: { backgroundColor: "var(--daimo-skeleton)" } })] }), _jsxs("div", { className: "relative w-8 h-8 shrink-0", children: [_jsx("div", { className: "w-8 h-8 rounded-full", style: { backgroundColor: "var(--daimo-skeleton)" } }), _jsx("div", { className: "absolute -bottom-0.5 -right-0.5 w-[15px] h-[15px] rounded-full", style: {
24
+ backgroundColor: "var(--daimo-skeleton)",
25
+ border: "1px solid var(--daimo-surface-secondary)",
26
+ } })] })] }));
27
+ }
28
+ /**
29
+ * Token option row - 64px height, matching ChooseOptionPage row style.
30
+ * Shows "$X TOKEN on Chain" with "Y TOKEN" subtitle.
31
+ */
32
+ function TokenRow({ option, onSelect, disabled = false }) {
33
+ const chainName = getChainName(option.balance.token.chainId);
34
+ const tokenAmount = formatTokenAmount(option.balance.amount, option.balance.token);
35
+ const usdAmount = formatUsdAmount(option.balance.usd);
36
+ const disabledReason = option.disabledReason ??
37
+ (option.balance.usd < option.minimumRequired.usd
38
+ ? `$${option.minimumRequired.usd.toFixed(2)} ${t.minimum.toLowerCase()}`
39
+ : null);
40
+ const title = `$${usdAmount} ${option.balance.token.symbol} ${t.onChain} ${chainName}`;
41
+ const subtitle = disabled && disabledReason
42
+ ? disabledReason
43
+ : `${tokenAmount} ${option.balance.token.symbol}`;
44
+ return (_jsxs("button", { onClick: () => !disabled && onSelect(option), disabled: disabled, className: `w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] text-left touch-action-manipulation transition-[background-color,transform] duration-150 ease-out ${disabled
45
+ ? "opacity-50 cursor-not-allowed bg-[var(--daimo-surface-secondary)]"
46
+ : "bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] active:scale-[0.98]"}`, children: [_jsxs("div", { className: "flex-1 min-w-0 mr-3", children: [_jsx("div", { className: `font-semibold truncate tabular-nums ${disabled
47
+ ? "text-[var(--daimo-text-muted)]"
48
+ : "text-[var(--daimo-text)]"}`, children: title }), _jsx("div", { className: "text-sm text-[var(--daimo-text-secondary)] truncate tabular-nums", children: subtitle })] }), _jsx(TokenIconWithChainBadge, { token: option.balance.token, size: "sm" })] }));
49
+ }
50
+ // --- Helpers ---
51
+ /** Unique key for a token */
52
+ function getTokenKey(token) {
53
+ return `${token.chainId}-${token.token}`;
54
+ }
55
+ /** Format token amount for display - shows full precision */
56
+ function formatTokenAmount(amount, token) {
57
+ const num = parseFloat(amount) / Math.pow(10, token.decimals);
58
+ if (num === 0)
59
+ return "0";
60
+ // Use displayDecimals from token, fallback to sensible defaults
61
+ const decimals = token.displayDecimals ?? (num < 1 ? 6 : 2);
62
+ return num.toLocaleString("en-US", {
63
+ minimumFractionDigits: 0,
64
+ maximumFractionDigits: decimals,
65
+ });
66
+ }
67
+ /** Format USD amount for display */
68
+ function formatUsdAmount(usd) {
69
+ return usd.toFixed(2);
70
+ }
71
+ //# sourceMappingURL=SelectTokenPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../src/web/SelectTokenPage.tsx"],"names":[],"mappings":"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"}