@daimo/sdk 1.0.1 → 1.0.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 (102) 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/web/api/index.d.ts +10 -0
  6. package/dist/web/api/index.d.ts.map +1 -1
  7. package/dist/web/api/navTree.d.ts +7 -2
  8. package/dist/web/api/navTree.d.ts.map +1 -1
  9. package/dist/web/components/ChooseChainPage.d.ts +2 -1
  10. package/dist/web/components/ChooseChainPage.d.ts.map +1 -1
  11. package/dist/web/components/ChooseChainPage.js +4 -4
  12. package/dist/web/components/ChooseChainPage.js.map +1 -1
  13. package/dist/web/components/ChooseOptionPage.d.ts +3 -1
  14. package/dist/web/components/ChooseOptionPage.d.ts.map +1 -1
  15. package/dist/web/components/ChooseOptionPage.js +31 -11
  16. package/dist/web/components/ChooseOptionPage.js.map +1 -1
  17. package/dist/web/components/ChooseWalletPage.d.ts +2 -1
  18. package/dist/web/components/ChooseWalletPage.d.ts.map +1 -1
  19. package/dist/web/components/ChooseWalletPage.js +9 -7
  20. package/dist/web/components/ChooseWalletPage.js.map +1 -1
  21. package/dist/web/components/ConfirmationPage.d.ts +6 -3
  22. package/dist/web/components/ConfirmationPage.d.ts.map +1 -1
  23. package/dist/web/components/ConfirmationPage.js +11 -9
  24. package/dist/web/components/ConfirmationPage.js.map +1 -1
  25. package/dist/web/components/DaimoModal.d.ts.map +1 -1
  26. package/dist/web/components/DaimoModal.js +26 -19
  27. package/dist/web/components/DaimoModal.js.map +1 -1
  28. package/dist/web/components/DeeplinkPage.d.ts +2 -1
  29. package/dist/web/components/DeeplinkPage.d.ts.map +1 -1
  30. package/dist/web/components/DeeplinkPage.js +3 -3
  31. package/dist/web/components/DeeplinkPage.js.map +1 -1
  32. package/dist/web/components/ExchangePage.d.ts +2 -1
  33. package/dist/web/components/ExchangePage.d.ts.map +1 -1
  34. package/dist/web/components/ExchangePage.js +2 -2
  35. package/dist/web/components/ExchangePage.js.map +1 -1
  36. package/dist/web/components/SelectAmountPage.d.ts +2 -1
  37. package/dist/web/components/SelectAmountPage.d.ts.map +1 -1
  38. package/dist/web/components/SelectAmountPage.js +3 -3
  39. package/dist/web/components/SelectAmountPage.js.map +1 -1
  40. package/dist/web/components/SelectTokenPage.d.ts +2 -1
  41. package/dist/web/components/SelectTokenPage.d.ts.map +1 -1
  42. package/dist/web/components/SelectTokenPage.js +8 -13
  43. package/dist/web/components/SelectTokenPage.js.map +1 -1
  44. package/dist/web/components/WaitingDepositAddressPage.d.ts +2 -1
  45. package/dist/web/components/WaitingDepositAddressPage.d.ts.map +1 -1
  46. package/dist/web/components/WaitingDepositAddressPage.js +9 -9
  47. package/dist/web/components/WaitingDepositAddressPage.js.map +1 -1
  48. package/dist/web/components/WalletAmountPage.d.ts +2 -1
  49. package/dist/web/components/WalletAmountPage.d.ts.map +1 -1
  50. package/dist/web/components/WalletAmountPage.js +23 -15
  51. package/dist/web/components/WalletAmountPage.js.map +1 -1
  52. package/dist/web/components/buttons.d.ts.map +1 -1
  53. package/dist/web/components/buttons.js +4 -8
  54. package/dist/web/components/buttons.js.map +1 -1
  55. package/dist/web/components/containers.d.ts.map +1 -1
  56. package/dist/web/components/containers.js +7 -9
  57. package/dist/web/components/containers.js.map +1 -1
  58. package/dist/web/components/icons.d.ts +3 -1
  59. package/dist/web/components/icons.d.ts.map +1 -1
  60. package/dist/web/components/icons.js +9 -5
  61. package/dist/web/components/icons.js.map +1 -1
  62. package/dist/web/components/modalContext.d.ts +4 -0
  63. package/dist/web/components/modalContext.d.ts.map +1 -0
  64. package/dist/web/components/modalContext.js +5 -0
  65. package/dist/web/components/modalContext.js.map +1 -0
  66. package/dist/web/components/shared.d.ts +30 -8
  67. package/dist/web/components/shared.d.ts.map +1 -1
  68. package/dist/web/components/shared.js +48 -23
  69. package/dist/web/components/shared.js.map +1 -1
  70. package/dist/web/hooks/locales/en.d.ts +2 -0
  71. package/dist/web/hooks/locales/en.d.ts.map +1 -1
  72. package/dist/web/hooks/locales/en.js +10 -8
  73. package/dist/web/hooks/locales/en.js.map +1 -1
  74. package/dist/web/hooks/locales/es.d.ts.map +1 -1
  75. package/dist/web/hooks/locales/es.js +2 -0
  76. package/dist/web/hooks/locales/es.js.map +1 -1
  77. package/dist/web/hooks/types.d.ts +3 -0
  78. package/dist/web/hooks/types.d.ts.map +1 -1
  79. package/dist/web/hooks/types.js +13 -0
  80. package/dist/web/hooks/types.js.map +1 -1
  81. package/dist/web/hooks/useInjectedWallets.d.ts +4 -1
  82. package/dist/web/hooks/useInjectedWallets.d.ts.map +1 -1
  83. package/dist/web/hooks/useInjectedWallets.js +84 -25
  84. package/dist/web/hooks/useInjectedWallets.js.map +1 -1
  85. package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
  86. package/dist/web/hooks/useSessionNav.js +44 -25
  87. package/dist/web/hooks/useSessionNav.js.map +1 -1
  88. package/dist/web/hooks/useWalletFlow.d.ts +1 -1
  89. package/dist/web/hooks/useWalletFlow.d.ts.map +1 -1
  90. package/dist/web/hooks/useWalletFlow.js +46 -6
  91. package/dist/web/hooks/useWalletFlow.js.map +1 -1
  92. package/dist/web/hooks/walletProvider.d.ts +10 -2
  93. package/dist/web/hooks/walletProvider.d.ts.map +1 -1
  94. package/dist/web/hooks/walletProvider.js +69 -7
  95. package/dist/web/hooks/walletProvider.js.map +1 -1
  96. package/dist/web/index.d.ts +1 -1
  97. package/dist/web/index.d.ts.map +1 -1
  98. package/dist/web/index.js +1 -1
  99. package/dist/web/index.js.map +1 -1
  100. package/dist/web/styles.css +1 -1
  101. package/dist/web/theme.css +19 -18
  102. package/package.json +5 -1
@@ -1,10 +1,6 @@
1
1
  import type { CheckSessionRequest, CheckSessionResponse, CreatePaymentMethodRequest, CreatePaymentMethodResponse, LogNavEventRequest, RetrieveSessionResponse, TokenOptionsRequest, TokenOptionsResponse } from "../common/api.js";
2
- import type { SessionWithNav, WalletPaymentOption } from "../web/api/index.js";
2
+ import type { RetrieveSessionWithNavResponse, WalletOptionsResponse } from "../web/api/index.js";
3
3
  import { type TransportConfig } from "./transport.js";
4
- export type RetrieveSessionWithNavResponse = {
5
- session: SessionWithNav;
6
- };
7
- export type WalletOptionsResponse = WalletPaymentOption[];
8
4
  export type DaimoClient = {
9
5
  sessions: {
10
6
  retrieve(sessionId: string): Promise<RetrieveSessionResponse>;
@@ -18,7 +14,7 @@ export type DaimoClient = {
18
14
  };
19
15
  internal: {
20
16
  sessions: {
21
- retrieveWithNav(sessionId: string): Promise<RetrieveSessionWithNavResponse>;
17
+ retrieveWithNav(sessionId: string, clientSecret: string): Promise<RetrieveSessionWithNavResponse>;
22
18
  recreate(sessionId: string, clientSecret: string): Promise<RetrieveSessionWithNavResponse>;
23
19
  walletOptions(sessionId: string, params: {
24
20
  clientSecret: string;
@@ -1 +1 @@
1
- {"version":3,"file":"createDaimoClient.d.ts","sourceRoot":"","sources":["../../src/client/createDaimoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,EAAE,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE;QACR,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9D,cAAc,EAAE;YACd,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAAC;SACzC,CAAC;QACF,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjC,YAAY,EAAE;YACZ,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,eAAe,CACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC3C,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC3C,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;gBACN,YAAY,EAAE,MAAM,CAAC;gBACrB,UAAU,CAAC,EAAE,MAAM,CAAC;gBACpB,aAAa,CAAC,EAAE,MAAM,CAAC;aACxB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAClC,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;SAClB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAiFtE"}
1
+ {"version":3,"file":"createDaimoClient.d.ts","sourceRoot":"","sources":["../../src/client/createDaimoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE;QACR,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9D,cAAc,EAAE;YACd,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAAC;SACzC,CAAC;QACF,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjC,YAAY,EAAE;YACZ,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC3C,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC3C,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;gBACN,YAAY,EAAE,MAAM,CAAC;gBACrB,UAAU,CAAC,EAAE,MAAM,CAAC;gBACpB,aAAa,CAAC,EAAE,MAAM,CAAC;aACxB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAClC,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;SAClB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAkFtE"}
@@ -41,10 +41,11 @@ export function createDaimoClient(config) {
41
41
  },
42
42
  internal: {
43
43
  sessions: {
44
- async retrieveWithNav(sessionId) {
44
+ async retrieveWithNav(sessionId, clientSecret) {
45
45
  return transport.request({
46
46
  method: "GET",
47
47
  path: `/v1/sessions/${sessionId}/internal/nav`,
48
+ query: { clientSecret },
48
49
  });
49
50
  },
50
51
  async recreate(sessionId, clientSecret) {
@@ -1 +1 @@
1
- {"version":3,"file":"createDaimoClient.js","sourceRoot":"","sources":["../../src/client/createDaimoClient.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AAqDvE,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE;YACR,QAAQ,CAAC,SAAS;gBAChB,OAAO,SAAS,CAAC,OAAO,CAA0B;oBAChD,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,gBAAgB,SAAS,EAAE;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,cAAc,EAAE;gBACd,MAAM,CAAC,SAAS,EAAE,KAAK;oBACrB,OAAO,SAAS,CAAC,OAAO,CAA8B;wBACpD,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,iBAAiB;wBAChD,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC;aACF;YAED,KAAK,CAAC,SAAS,EAAE,KAAK;gBACpB,OAAO,SAAS,CAAC,OAAO,CAAuB;oBAC7C,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,gBAAgB,SAAS,QAAQ;oBACvC,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,YAAY,EAAE;gBACZ,IAAI,CAAC,SAAS,EAAE,KAAK;oBACnB,OAAO,SAAS,CAAC,OAAO,CAAuB;wBAC7C,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,eAAe;wBAC9C,KAAK,EAAE;4BACL,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;4BAClC,YAAY,EAAE,KAAK,CAAC,YAAY;yBACjC;qBACF,CAAC,CAAC;gBACL,CAAC;aACF;SACF;QAED,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,KAAK,CAAC,eAAe,CAAC,SAAS;oBAC7B,OAAO,SAAS,CAAC,OAAO,CAAiC;wBACvD,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,eAAe;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;oBACpC,OAAO,SAAS,CAAC,OAAO,CAAiC;wBACvD,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,oBAAoB;wBACnD,IAAI,EAAE,EAAE,YAAY,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;oBACnC,OAAO,SAAS,CAAC,OAAO,CAAwB;wBAC9C,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,yBAAyB;wBACxD,KAAK,EAAE;4BACL,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK;oBAChC,MAAM,SAAS,CAAC,OAAO,CAAO;wBAC5B,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,eAAe;wBAC9C,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"createDaimoClient.js","sourceRoot":"","sources":["../../src/client/createDaimoClient.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AAgDvE,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE;YACR,QAAQ,CAAC,SAAS;gBAChB,OAAO,SAAS,CAAC,OAAO,CAA0B;oBAChD,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,gBAAgB,SAAS,EAAE;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,cAAc,EAAE;gBACd,MAAM,CAAC,SAAS,EAAE,KAAK;oBACrB,OAAO,SAAS,CAAC,OAAO,CAA8B;wBACpD,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,iBAAiB;wBAChD,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC;aACF;YAED,KAAK,CAAC,SAAS,EAAE,KAAK;gBACpB,OAAO,SAAS,CAAC,OAAO,CAAuB;oBAC7C,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,gBAAgB,SAAS,QAAQ;oBACvC,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,YAAY,EAAE;gBACZ,IAAI,CAAC,SAAS,EAAE,KAAK;oBACnB,OAAO,SAAS,CAAC,OAAO,CAAuB;wBAC7C,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,eAAe;wBAC9C,KAAK,EAAE;4BACL,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;4BAClC,YAAY,EAAE,KAAK,CAAC,YAAY;yBACjC;qBACF,CAAC,CAAC;gBACL,CAAC;aACF;SACF;QAED,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY;oBAC3C,OAAO,SAAS,CAAC,OAAO,CAAiC;wBACvD,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,eAAe;wBAC9C,KAAK,EAAE,EAAE,YAAY,EAAE;qBACxB,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;oBACpC,OAAO,SAAS,CAAC,OAAO,CAAiC;wBACvD,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,oBAAoB;wBACnD,IAAI,EAAE,EAAE,YAAY,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;oBACnC,OAAO,SAAS,CAAC,OAAO,CAAwB;wBAC9C,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,yBAAyB;wBACxD,KAAK,EAAE;4BACL,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK;oBAChC,MAAM,SAAS,CAAC,OAAO,CAAO;wBAC5B,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,eAAe;wBAC9C,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,13 @@
1
+ import type { SessionPublicInfo } from "../../common/session.js";
2
+ import type { NavNode } from "./navTree.js";
3
+ import type { WalletPaymentOption } from "./walletTypes.js";
1
4
  export type { NavNode, NavNodeChooseOption, NavNodeConnectedWallet, NavNodeDeeplink, NavNodeDepositAddress, NavNodeExchange, NavNodeTronDeposit, SessionWithNav, } from "./navTree.js";
2
5
  export type { DaimoPayToken, DaimoPayTokenAmount, WalletPaymentOption, } from "./walletTypes.js";
6
+ export type RetrieveSessionWithNavResponse = {
7
+ session: SessionPublicInfo & {
8
+ navTree: NavNode[];
9
+ baseUrl: string;
10
+ };
11
+ };
12
+ export type WalletOptionsResponse = WalletPaymentOption[];
3
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/api/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,YAAY,EACV,OAAO,EACP,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,iBAAiB,GAAG;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,EAAE,CAAC"}
@@ -1,8 +1,13 @@
1
1
  import type { Address } from "viem";
2
- import type { Session } from "../../common/session.js";
2
+ import type { SessionPublicInfo } from "../../common/session.js";
3
3
  /** Session with navigation tree for the modal UI. */
4
- export type SessionWithNav = Session & {
4
+ export type SessionWithNav = SessionPublicInfo & {
5
+ /** Client secret for session updates */
6
+ clientSecret: string;
7
+ /** Server-defined nav */
5
8
  navTree: NavNode[];
9
+ /** Base URL for receipt links and icon resolution (set by server). */
10
+ baseUrl: string;
6
11
  };
7
12
  type NavNodeCommon = {
8
13
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"navTree.d.ts","sourceRoot":"","sources":["../../../src/web/api/navTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE9D,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,sBAAsB,CAAC"}
1
+ {"version":3,"file":"navTree.d.ts","sourceRoot":"","sources":["../../../src/web/api/navTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,sBAAsB,CAAC"}
@@ -3,7 +3,8 @@ type ChooseChainPageProps = {
3
3
  walletIcon: string;
4
4
  onSelectChain: (chain: "evm" | "solana") => void;
5
5
  onBack: (() => void) | null;
6
+ baseUrl: string;
6
7
  };
7
- export declare function ChooseChainPage({ walletName, walletIcon, onSelectChain, onBack, }: ChooseChainPageProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function ChooseChainPage({ walletName, walletIcon, onSelectChain, onBack, baseUrl, }: ChooseChainPageProps): import("react/jsx-runtime").JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=ChooseChainPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseChainPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseChainPage.tsx"],"names":[],"mappings":"AAIA,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,GACP,EAAE,oBAAoB,2CA6BtB"}
1
+ {"version":3,"file":"ChooseChainPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseChainPage.tsx"],"names":[],"mappings":"AAIA,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,EACN,OAAO,GACR,EAAE,oBAAoB,2CA6BtB"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ethereum, solana } from "../../common/chain.js";
3
- import { PageHeader, getChainLogoUrl } from "./shared.js";
4
- export function ChooseChainPage({ walletName, walletIcon, onSelectChain, onBack, }) {
5
- return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: walletName, onBack: onBack }), _jsxs("div", { className: "flex flex-col items-center gap-6 px-6 py-4", children: [walletIcon && (_jsx("img", { src: walletIcon, alt: walletName, className: "w-16 h-16 object-contain rounded-[25%]" })), _jsxs("div", { className: "flex flex-col gap-3 w-full", children: [_jsx(ChainRow, { label: "Ethereum", icon: getChainLogoUrl(ethereum.chainId), onClick: () => onSelectChain("evm") }), _jsx(ChainRow, { label: "Solana", icon: getChainLogoUrl(solana.chainId), onClick: () => onSelectChain("solana") })] })] })] }));
3
+ import { ListRow, PageHeader, getChainLogoUrl } from "./shared.js";
4
+ export function ChooseChainPage({ walletName, walletIcon, onSelectChain, onBack, baseUrl, }) {
5
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: walletName, onBack: onBack }), _jsxs("div", { className: "flex flex-col items-center gap-6 px-6 py-4", children: [walletIcon && (_jsx("img", { src: walletIcon, alt: walletName, className: "w-16 h-16 object-contain rounded-[25%]" })), _jsxs("div", { className: "flex flex-col gap-3 w-full", children: [_jsx(ChainRow, { label: "Ethereum", icon: getChainLogoUrl(ethereum.chainId, baseUrl), onClick: () => onSelectChain("evm") }), _jsx(ChainRow, { label: "Solana", icon: getChainLogoUrl(solana.chainId, baseUrl), onClick: () => onSelectChain("solana") })] })] })] }));
6
6
  }
7
7
  function ChainRow({ label, icon, onClick, }) {
8
- return (_jsxs("button", { onClick: onClick, className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] transition-colors text-left", children: [_jsx("span", { className: "text-[var(--daimo-text)] font-semibold", children: label }), _jsx("img", { src: icon, alt: label, className: "w-8 h-8 object-contain rounded-full" })] }));
8
+ return (_jsx(ListRow, { label: label, right: _jsx("img", { src: icon, alt: label, className: "w-8 h-8 object-contain rounded-full" }), onClick: onClick }));
9
9
  }
10
10
  //# sourceMappingURL=ChooseChainPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseChainPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseChainPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS1D,MAAM,UAAU,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,GACe;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,EAEjD,eAAK,SAAS,EAAC,4CAA4C,aACxD,UAAU,IAAI,CACb,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,EACf,SAAS,EAAC,wCAAwC,GAClD,CACH,EAED,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,QAAQ,IACP,KAAK,EAAC,UAAU,EAChB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACnC,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GACtC,IACE,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,KAAK,EACL,IAAI,EACJ,OAAO,GAKR;IACC,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,0NAA0N,aAEpO,eAAM,SAAS,EAAC,wCAAwC,YAAE,KAAK,GAAQ,EACvE,cACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,qCAAqC,GAC/C,IACK,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ChooseChainPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseChainPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAUnE,MAAM,UAAU,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,EACN,OAAO,GACc;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,EAEjD,eAAK,SAAS,EAAC,4CAA4C,aACxD,UAAU,IAAI,CACb,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,EACf,SAAS,EAAC,wCAAwC,GAClD,CACH,EAED,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,QAAQ,IACP,KAAK,EAAC,UAAU,EAChB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAChD,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACnC,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GACtC,IACE,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,KAAK,EACL,IAAI,EACJ,OAAO,GAKR;IACC,OAAO,CACL,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,KAAK,EACH,cACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,qCAAqC,GAC/C,EAEJ,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC"}
@@ -3,9 +3,11 @@ import type { InjectedWallet } from "../hooks/useInjectedWallets.js";
3
3
  type ChooseOptionPageProps = {
4
4
  node: NavNodeChooseOption;
5
5
  injectedWallets?: InjectedWallet[];
6
+ connectedAddress?: string | null;
6
7
  onNavigate: (nodeId: string) => void;
7
8
  onBack: (() => void) | null;
9
+ baseUrl: string;
8
10
  };
9
- export declare function ChooseOptionPage({ node, injectedWallets, onNavigate, onBack, }: ChooseOptionPageProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function ChooseOptionPage({ node, injectedWallets, connectedAddress, onNavigate, onBack, baseUrl, }: ChooseOptionPageProps): import("react/jsx-runtime").JSX.Element;
10
12
  export {};
11
13
  //# sourceMappingURL=ChooseOptionPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseOptionPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAoB,EACpB,UAAU,EACV,MAAM,GACP,EAAE,qBAAqB,2CA+CvB"}
1
+ {"version":3,"file":"ChooseOptionPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAYrE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,qBAAqB,2CAwEvB"}
@@ -1,21 +1,41 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { t } from "../hooks/locale.js";
3
- import { PageHeader, ScrollContent, resolveIconUrl } from "./shared.js";
4
- export function ChooseOptionPage({ node, injectedWallets = [], onNavigate, onBack, }) {
3
+ import { DaimoLogoIcon } from "./icons.js";
4
+ import { ListRow, PageHeader, ScrollContent, resolveIconUrl, useScrollBorder, } from "./shared.js";
5
+ export function ChooseOptionPage({ node, injectedWallets = [], connectedAddress, onNavigate, onBack, baseUrl, }) {
6
+ const { scrolled, onScroll } = useScrollBorder();
5
7
  const injectedNames = new Set(injectedWallets.map((w) => w.info.name.toLowerCase()));
6
- const options = node.options.filter((o) => o.type !== "Deeplink" || !injectedNames.has(o.title.toLowerCase()));
8
+ const options = node.options
9
+ .filter((o) => o.type !== "Deeplink" || !injectedNames.has(o.title.toLowerCase()))
10
+ // Replace generic ConnectedWallet icon/label with actual wallet info
11
+ .map((o) => {
12
+ if (o.type !== "ConnectedWallet")
13
+ return o;
14
+ let updated = o;
15
+ if (injectedWallets.length > 0) {
16
+ const walletIcon = injectedWallets[0].info.icon;
17
+ if (walletIcon)
18
+ updated = { ...updated, icon: walletIcon };
19
+ }
20
+ if (connectedAddress) {
21
+ const verb = node.title.split(" ")[0] || "Pay";
22
+ const short = `${connectedAddress.slice(0, 6)}...${connectedAddress.slice(-4)}`;
23
+ updated = { ...updated, label: `${verb} with ${short}` };
24
+ }
25
+ return updated;
26
+ });
7
27
  const useGridLayout = node.layout === "grid";
8
28
  const isRootPage = onBack === null;
9
- return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), _jsx(ScrollContent, { children: useGridLayout ? (_jsx("div", { className: "grid grid-cols-4 gap-2", children: options.map((option) => (_jsx(GridOptionCell, { option: option, onClick: () => onNavigate(option.id) }, option.id))) })) : (_jsx("div", { className: "flex flex-col gap-3", children: options.map((option) => (_jsx(OptionRow, { option: option, onClick: () => onNavigate(option.id) }, option.id))) })) }), isRootPage && (_jsx("div", { className: "py-4 text-center", children: _jsx("span", { className: "text-sm text-[var(--daimo-text-muted)]", children: t.poweredByDaimo }) }))] }));
29
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack, borderVisible: scrolled }), _jsx(ScrollContent, { onScroll: onScroll, grow: false, children: useGridLayout ? (_jsx("div", { className: "grid grid-cols-4 gap-2", children: options.map((option) => (_jsx(GridOptionCell, { option: option, onClick: () => onNavigate(option.id), baseUrl: baseUrl }, option.id))) })) : (_jsx("div", { className: "flex flex-col gap-3", children: options.map((option) => (_jsx(OptionRow, { option: option, onClick: () => onNavigate(option.id), baseUrl: baseUrl }, option.id))) })) }), isRootPage && (_jsxs("a", { href: "https://daimo.com/", target: "_blank", rel: "noopener noreferrer", className: "mt-auto py-4 flex items-center justify-center gap-1.5 no-underline", children: [_jsx(DaimoLogoIcon, { size: 14 }), _jsx("span", { className: "text-sm font-semibold text-[var(--daimo-text-muted)]", children: t.poweredByDaimo })] }))] }));
10
30
  }
11
- function GridOptionCell({ option, onClick, }) {
31
+ function GridOptionCell({ option, onClick, baseUrl, }) {
12
32
  const icons = getOptionIcons(option);
13
33
  const label = option.label ?? option.title;
14
- return (_jsxs("button", { onClick: onClick, className: "flex flex-col items-center gap-2 p-1 rounded-[var(--daimo-radius-md)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-secondary)] transition-colors min-w-0", children: [icons.length > 0 && (_jsx("img", { src: resolveIconUrl(icons[0]), alt: label, className: "w-full aspect-square max-w-16 object-contain rounded-[25%]" })), _jsx("span", { className: "text-xs font-medium text-[var(--daimo-text)] text-center leading-tight", children: label })] }));
34
+ return (_jsxs("button", { onClick: onClick, className: "flex flex-col items-center gap-2 p-1 rounded-[var(--daimo-radius-md)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-secondary)] transition-colors min-w-0", children: [icons.length > 0 && (_jsx("img", { src: resolveIconUrl(icons[0], baseUrl), alt: label, className: "w-full aspect-square max-w-16 object-contain rounded-[25%]" })), _jsx("span", { className: "text-xs font-medium text-[var(--daimo-text)] text-center leading-tight", children: label })] }));
15
35
  }
16
- function OptionRow({ option, onClick, }) {
36
+ function OptionRow({ option, onClick, baseUrl, }) {
17
37
  const label = option.label ?? option.title;
18
- return (_jsxs("button", { onClick: onClick, className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] transition-colors text-left", children: [_jsx("span", { className: "text-[var(--daimo-text)] font-semibold", children: label }), _jsx(OptionIcons, { option: option })] }));
38
+ return (_jsx(ListRow, { label: label, right: _jsx(OptionIcons, { option: option, baseUrl: baseUrl }), onClick: onClick }));
19
39
  }
20
40
  /** Get icons array for an option: explicit icons[], single icon, or empty */
21
41
  function getOptionIcons(option) {
@@ -28,16 +48,16 @@ function getOptionIcons(option) {
28
48
  return [];
29
49
  }
30
50
  /** Render icons for a list row option */
31
- function OptionIcons({ option }) {
51
+ function OptionIcons({ option, baseUrl, }) {
32
52
  const icons = getOptionIcons(option);
33
53
  if (icons.length === 0)
34
54
  return null;
35
55
  // 2x2 grid for 4+ icons
36
56
  if (icons.length >= 4) {
37
- return (_jsx("div", { className: "w-8 h-8 grid grid-cols-2 gap-0.5", children: icons.slice(0, 4).map((icon, i) => (_jsx("img", { src: resolveIconUrl(icon), alt: "", className: "w-[15px] h-[15px] object-contain rounded-[25%]" }, i))) }));
57
+ return (_jsx("div", { className: "w-8 h-8 grid grid-cols-2 gap-0.5", children: icons.slice(0, 4).map((icon, i) => (_jsx("img", { src: resolveIconUrl(icon, baseUrl), alt: "", className: "w-[15px] h-[15px] object-contain rounded-[25%]" }, i))) }));
38
58
  }
39
59
  // Stacked overlapped icons for <4
40
- return (_jsx("div", { className: "flex items-center", children: icons.map((icon, i) => (_jsx("img", { src: resolveIconUrl(icon), alt: "", className: "w-8 h-8 object-contain rounded-[25%] relative", style: {
60
+ return (_jsx("div", { className: "flex items-center", children: icons.map((icon, i) => (_jsx("img", { src: resolveIconUrl(icon, baseUrl), alt: "", className: "w-8 h-8 object-contain rounded-[25%] relative", style: {
41
61
  marginLeft: i > 0 ? -10 : 0,
42
62
  zIndex: icons.length - i,
43
63
  } }, i))) }));
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseOptionPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChooseOptionPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@ type ChooseWalletPageProps = {
6
6
  onInjectedWalletSelect: (wallet: InjectedWallet) => void;
7
7
  onNavigate: (nodeId: string) => void;
8
8
  onBack: (() => void) | null;
9
+ baseUrl: string;
9
10
  };
10
11
  /** Wallet selection page: EIP-6963 browser wallets at top, deeplink wallets below. */
11
- export declare function ChooseWalletPage({ node, injectedWallets, onInjectedWalletSelect, onNavigate, onBack, }: ChooseWalletPageProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function ChooseWalletPage({ node, injectedWallets, onInjectedWalletSelect, onNavigate, onBack, baseUrl, }: ChooseWalletPageProps): import("react/jsx-runtime").JSX.Element;
12
13
  export {};
13
14
  //# sourceMappingURL=ChooseWalletPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseWalletPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseWalletPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,sBAAsB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,MAAM,GACP,EAAE,qBAAqB,2CAkCvB"}
1
+ {"version":3,"file":"ChooseWalletPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseWalletPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAUrE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,sBAAsB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,qBAAqB,2CAqCvB"}
@@ -1,17 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { PageHeader, ScrollContent, resolveIconUrl } from "./shared.js";
2
+ import { ListRow, PageHeader, ScrollContent, resolveIconUrl, useScrollBorder, } from "./shared.js";
3
3
  /** Wallet selection page: EIP-6963 browser wallets at top, deeplink wallets below. */
4
- export function ChooseWalletPage({ node, injectedWallets, onInjectedWalletSelect, onNavigate, onBack, }) {
4
+ export function ChooseWalletPage({ node, injectedWallets, onInjectedWalletSelect, onNavigate, onBack, baseUrl, }) {
5
+ const { scrolled, onScroll } = useScrollBorder();
5
6
  const injectedNames = new Set(injectedWallets.map((w) => w.info.name.toLowerCase()));
6
- const deeplinkOptions = node.options.filter((option) => option.type !== "Deeplink" || !injectedNames.has(option.title.toLowerCase()));
7
- return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), _jsx(ScrollContent, { children: _jsxs("div", { className: "flex flex-col gap-3", children: [injectedWallets.map((w) => (_jsx(InjectedWalletRow, { wallet: w, onClick: () => onInjectedWalletSelect(w) }, w.info.rdns))), deeplinkOptions.map((option) => (_jsx(DeeplinkWalletRow, { option: option, onClick: () => onNavigate(option.id) }, option.id)))] }) })] }));
7
+ const deeplinkOptions = node.options.filter((option) => option.type !== "Deeplink" ||
8
+ !injectedNames.has(option.title.toLowerCase()));
9
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack, borderVisible: scrolled }), _jsx(ScrollContent, { onScroll: onScroll, grow: false, children: _jsxs("div", { className: "flex flex-col gap-3", children: [injectedWallets.map((w) => (_jsx(InjectedWalletRow, { wallet: w, onClick: () => onInjectedWalletSelect(w) }, w.info.rdns))), deeplinkOptions.map((option) => (_jsx(DeeplinkWalletRow, { option: option, onClick: () => onNavigate(option.id), baseUrl: baseUrl }, option.id)))] }) })] }));
8
10
  }
9
11
  function InjectedWalletRow({ wallet, onClick, }) {
10
- return (_jsxs("button", { onClick: onClick, className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] transition-colors text-left", children: [_jsx("span", { className: "text-[var(--daimo-text)] font-semibold", children: wallet.info.name }), _jsx("img", { src: wallet.info.icon, alt: wallet.info.name, className: "w-8 h-8 object-contain rounded-[25%]" })] }));
12
+ return (_jsx(ListRow, { label: wallet.info.name, right: _jsx("img", { src: wallet.info.icon, alt: wallet.info.name, className: "w-8 h-8 object-contain rounded-[25%]" }), onClick: onClick }));
11
13
  }
12
- function DeeplinkWalletRow({ option, onClick, }) {
14
+ function DeeplinkWalletRow({ option, onClick, baseUrl, }) {
13
15
  const label = option.label ?? option.title;
14
16
  const icon = "icon" in option && option.icon ? option.icon : null;
15
- return (_jsxs("button", { onClick: onClick, className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] transition-colors text-left", children: [_jsx("span", { className: "text-[var(--daimo-text)] font-semibold", children: label }), icon && (_jsx("img", { src: resolveIconUrl(icon), alt: label, className: "w-8 h-8 object-contain rounded-[25%]" }))] }));
17
+ return (_jsx(ListRow, { label: label, right: icon ? (_jsx("img", { src: resolveIconUrl(icon, baseUrl), alt: label, className: "w-8 h-8 object-contain rounded-[25%]" })) : undefined, onClick: onClick }));
16
18
  }
17
19
  //# sourceMappingURL=ChooseWalletPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseWalletPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseWalletPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUxE,sFAAsF;AACtF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,MAAM,GACgB;IACtB,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACtD,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CACzC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC/E,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,EAEjD,KAAC,aAAa,cACZ,eAAK,SAAS,EAAC,qBAAqB,aACjC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,iBAAiB,IAEhB,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAFnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAGhB,CACH,CAAC,EAED,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,KAAC,iBAAiB,IAEhB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAF/B,MAAM,CAAC,EAAE,CAGd,CACH,CAAC,IACE,GACQ,IACZ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,OAAO,GAIR;IACC,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,0NAA0N,aAEpO,eAAM,SAAS,EAAC,wCAAwC,YACrD,MAAM,CAAC,IAAI,CAAC,IAAI,GACZ,EACP,cACE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EACrB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EACrB,SAAS,EAAC,sCAAsC,GAChD,IACK,CACV,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,OAAO,GAIR;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAElE,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,0NAA0N,aAEpO,eAAM,SAAS,EAAC,wCAAwC,YAAE,KAAK,GAAQ,EACtE,IAAI,IAAI,CACP,cACE,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,sCAAsC,GAChD,CACH,IACM,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ChooseWalletPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseWalletPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,aAAa,CAAC;AAWrB,sFAAsF;AACtF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,MAAM,EACN,OAAO,GACe;IACtB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACtD,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CACzC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,UAAU;QAC1B,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACjD,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAI,EAE1E,KAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,YAC5C,eAAK,SAAS,EAAC,qBAAqB,aACjC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,iBAAiB,IAEhB,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAFnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAGhB,CACH,CAAC,EAED,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,KAAC,iBAAiB,IAEhB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EACpC,OAAO,EAAE,OAAO,IAHX,MAAM,CAAC,EAAE,CAId,CACH,CAAC,IACE,GACQ,IACZ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,OAAO,GAIR;IACC,OAAO,CACL,KAAC,OAAO,IACN,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EACvB,KAAK,EACH,cACE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EACrB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EACrB,SAAS,EAAC,sCAAsC,GAChD,EAEJ,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,OAAO,EACP,OAAO,GAKR;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAElE,OAAO,CACL,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,KAAK,EACH,IAAI,CAAC,CAAC,CAAC,CACL,cACE,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,sCAAsC,GAChD,CACH,CAAC,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC"}
@@ -16,10 +16,13 @@ type ConfirmationPageProps = {
16
16
  returnUrl?: string;
17
17
  /** Secondary message to show when done (only for session page, not modal) */
18
18
  returnLabel?: string;
19
+ /** User rejected the wallet transaction */
20
+ rejected?: boolean;
21
+ /** Retry handler for rejected transactions */
22
+ onRetry?: () => void;
19
23
  /** Back handler - only shown during "confirming" state */
20
24
  onBack?: () => void;
21
- /** Verb for the CTA button during confirming state (e.g. "Deposit", "Pay") */
22
- actionVerb?: string;
25
+ baseUrl: string;
23
26
  };
24
27
  /**
25
28
  * Confirmation page showing payment progress.
@@ -29,6 +32,6 @@ type ConfirmationPageProps = {
29
32
  * - done: Fulfillment COMPLETED, show green checkmark
30
33
  * - refunding: Payment bounced, show spinner (future use)
31
34
  */
32
- export declare function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, onBack, actionVerb, }: ConfirmationPageProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, rejected, onRetry, onBack, baseUrl, }: ConfirmationPageProps): import("react/jsx-runtime").JSX.Element;
33
36
  export {};
34
37
  //# sourceMappingURL=ConfirmationPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAmB7D,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,GACX,EAAE,qBAAqB,2CA+FvB"}
1
+ {"version":3,"file":"ConfirmationPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAkB7D,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,GACR,EAAE,qBAAqB,2CAiGvB"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getChainName } from "../../common/chain.js";
3
2
  import { useEffect, useState } from "react";
3
+ import { getChainName } from "../../common/chain.js";
4
+ import { t } from "../hooks/locale.js";
4
5
  import { PrimaryButton } from "./buttons.js";
5
6
  import { ConfirmationSpinner } from "./ConfirmationSpinner.js";
6
- import { t } from "../hooks/locale.js";
7
7
  import { PageHeader, ShowReceiptButton, TokenIconWithChainBadge, } from "./shared.js";
8
8
  /**
9
9
  * Confirmation page showing payment progress.
@@ -13,7 +13,7 @@ import { PageHeader, ShowReceiptButton, TokenIconWithChainBadge, } from "./share
13
13
  * - done: Fulfillment COMPLETED, show green checkmark
14
14
  * - refunding: Payment bounced, show spinner (future use)
15
15
  */
16
- export function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, onBack, actionVerb, }) {
16
+ export function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, rejected, onRetry, onBack, baseUrl, }) {
17
17
  const status = getConfirmationStatus(pendingTxHash, sessionState);
18
18
  // For processing status: show "Payment received" then change after 2s
19
19
  const [processingMessage, setProcessingMessage] = useState(t.paymentReceived);
@@ -31,17 +31,19 @@ export function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourc
31
31
  sourceTokenSymbol != null;
32
32
  // Show token icon only when we also have a logo URI
33
33
  const showSourceIcon = showSourceInfo && sourceTokenLogoURI != null;
34
- // Show back button only during confirming (before tx submitted)
35
- const showBack = status === "confirming" && onBack != null;
34
+ // Show back button during confirming or rejected (before tx submitted)
35
+ const showBack = (status === "confirming" || rejected) && onBack != null;
36
36
  // Get display title based on status
37
- const displayTitle = getDisplayTitle(status, processingMessage);
37
+ const displayTitle = rejected
38
+ ? t.paymentCancelled
39
+ : getDisplayTitle(status, processingMessage);
38
40
  // Chain name for display
39
41
  const chainName = sourceChainId ? getChainName(sourceChainId) : "";
40
- return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { onBack: showBack ? onBack : undefined, title: displayTitle }), _jsxs("div", { className: "flex-1 flex flex-col items-center justify-center p-6 gap-4", children: [showSourceIcon && (_jsx(TokenIconWithChainBadge, { chainId: sourceChainId, symbol: sourceTokenSymbol, logoURI: sourceTokenLogoURI, size: "lg" })), status !== "confirming" && status !== "waiting" && (_jsx(ConfirmationSpinner, { done: status === "done" })), showSourceInfo && (_jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-3xl font-semibold text-[var(--daimo-text)] tabular-nums", children: sourceAmountUsd != null
42
+ return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { onBack: showBack ? onBack : undefined, title: displayTitle }), _jsxs("div", { className: "flex-1 flex flex-col items-center justify-center p-6 gap-4", children: [showSourceIcon && (_jsx(TokenIconWithChainBadge, { chainId: sourceChainId, symbol: sourceTokenSymbol, logoURI: sourceTokenLogoURI, size: "lg", baseUrl: baseUrl })), status !== "confirming" && status !== "waiting" && (_jsx(ConfirmationSpinner, { done: status === "done" })), showSourceInfo && (_jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-3xl font-semibold text-[var(--daimo-text)] tabular-nums", children: sourceAmountUsd != null
41
43
  ? `$${sourceAmountUsd.toFixed(2)} ${sourceTokenSymbol}`
42
- : sourceTokenSymbol }), _jsxs("p", { className: "text-lg text-[var(--daimo-text-secondary)]", children: [t.onChain, " ", chainName] })] })), status === "done" && returnUrl && (_jsx("a", { href: returnUrl, className: "w-full max-w-xs min-h-[44px] py-4 px-6 rounded-[var(--daimo-radius-lg)] font-semibold bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] active:scale-[0.97] touch-action-manipulation transition-[background-color,transform] duration-150 ease-out text-center flex items-center justify-center", children: t.returnToApp })), status === "done" && !returnUrl && returnLabel && (_jsx("p", { className: "text-center text-[var(--daimo-text-secondary)] px-8 whitespace-pre-line", children: returnLabel })), (status === "waiting" ||
44
+ : sourceTokenSymbol }), _jsxs("p", { className: "text-base text-[var(--daimo-text-secondary)]", children: [t.onChain, " ", chainName] })] })), rejected && onRetry && (_jsx(PrimaryButton, { onClick: onRetry, children: t.retryPayment })), status === "done" && returnUrl && (_jsx("a", { href: returnUrl, className: "w-full max-w-xs min-h-[44px] py-4 px-6 rounded-[var(--daimo-radius-lg)] font-medium bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] touch-action-manipulation transition-[background-color] duration-100 ease text-center flex items-center justify-center", children: t.returnToApp })), status === "done" && !returnUrl && returnLabel && (_jsx("p", { className: "text-center text-[var(--daimo-text-secondary)] px-8 whitespace-pre-line", children: returnLabel })), (status === "waiting" ||
43
45
  status === "processing" ||
44
- status === "done") && _jsx(ShowReceiptButton, { sessionId: sessionId })] }), status === "confirming" && actionVerb && (_jsx("div", { className: "px-6 pb-6 flex flex-col items-center gap-3", children: _jsx(PrimaryButton, { disabled: true, children: actionVerb }) }))] }));
46
+ status === "done") && _jsx(ShowReceiptButton, { sessionId: sessionId, baseUrl: baseUrl })] })] }));
45
47
  }
46
48
  /** Derive UI status from session state and pending tx hash */
47
49
  function getConfirmationStatus(pendingTxHash, sessionState) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationPage.js","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfirmationPage.js","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAmCrB;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,GACe;IACtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAElE,sEAAsE;IACtE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC9E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAChD,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,iEAAiE;IACjE,MAAM,cAAc,GAClB,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,SAAS,CAAC;QACjD,aAAa,IAAI,IAAI;QACrB,iBAAiB,IAAI,IAAI,CAAC;IAE5B,oDAAoD;IACpD,MAAM,cAAc,GAAG,cAAc,IAAI,kBAAkB,IAAI,IAAI,CAAC;IAEpE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC;IAEzE,oCAAoC;IACpC,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,CAAC,CAAC,gBAAgB;QACpB,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE/C,yBAAyB;IACzB,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnE,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,GAAI,EAC1E,eAAK,SAAS,EAAC,4DAA4D,aAExE,cAAc,IAAI,CACjB,KAAC,uBAAuB,IACtB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,OAAO,GAChB,CACH,EAGA,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,SAAS,IAAI,CAClD,KAAC,mBAAmB,IAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAI,CACjD,EAGA,cAAc,IAAI,CACjB,eAAK,SAAS,EAAC,aAAa,aAE1B,YAAG,SAAS,EAAC,8DAA8D,YACxE,eAAe,IAAI,IAAI;oCACtB,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE;oCACvD,CAAC,CAAC,iBAAiB,GACnB,EACJ,aAAG,SAAS,EAAC,8CAA8C,aACxD,CAAC,CAAC,OAAO,OAAG,SAAS,IACpB,IACA,CACP,EAGA,QAAQ,IAAI,OAAO,IAAI,CACtB,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,YAAG,CAAC,CAAC,YAAY,GAAiB,CAClE,EAGA,MAAM,KAAK,MAAM,IAAI,SAAS,IAAI,CACjC,YACE,IAAI,EAAE,SAAS,EACf,SAAS,EAAC,qUAAqU,YAE9U,CAAC,CAAC,WAAW,GACZ,CACL,EAEA,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,IAAI,WAAW,IAAI,CACjD,YAAG,SAAS,EAAC,yEAAyE,YACnF,WAAW,GACV,CACL,EAGA,CAAC,MAAM,KAAK,SAAS;wBACpB,MAAM,KAAK,YAAY;wBACvB,MAAM,KAAK,MAAM,CAAC,IAAI,KAAC,iBAAiB,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,IACjF,IACF,CACP,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,SAAS,qBAAqB,CAC5B,aAAiC,EACjC,YAAuC;IAEvC,IAAI,YAAY,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IACvD,IAAI,YAAY,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAChD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IACnD,IAAI,aAAa;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,mCAAmC;AACnC,SAAS,eAAe,CACtB,MAA0B,EAC1B,iBAAyB;IAEzB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,OAAO,CAAC,CAAC,kBAAkB,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,qBAAqB,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,gBAAgB,CAAC;QAC5B,KAAK,WAAW;YACd,OAAO,CAAC,CAAC,oBAAoB,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DaimoModal.d.ts","sourceRoot":"","sources":["../../../src/web/components/DaimoModal.tsx"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,mBAAmB,CAAC;AA2B3B,MAAM,MAAM,eAAe,GAAG,uBAAuB,GAAG;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA6BF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kDA8DhD"}
1
+ {"version":3,"file":"DaimoModal.d.ts","sourceRoot":"","sources":["../../../src/web/components/DaimoModal.tsx"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,uBAAuB,EAI7B,MAAM,mBAAmB,CAAC;AA2B3B,MAAM,MAAM,eAAe,GAAG,uBAAuB,GAAG;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA6BF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kDA8DhD"}