@daimo/pay 1.19.10 → 1.19.11

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 (366) hide show
  1. package/package.json +2 -2
  2. package/build/index.d.ts +0 -619
  3. package/build/package.json.js +0 -118
  4. package/build/package.json.js.map +0 -1
  5. package/build/src/assets/MobileWithLogos.js +0 -329
  6. package/build/src/assets/MobileWithLogos.js.map +0 -1
  7. package/build/src/assets/ScanIconWithLogos.js +0 -243
  8. package/build/src/assets/ScanIconWithLogos.js.map +0 -1
  9. package/build/src/assets/browsers.js +0 -969
  10. package/build/src/assets/browsers.js.map +0 -1
  11. package/build/src/assets/chains.js +0 -683
  12. package/build/src/assets/chains.js.map +0 -1
  13. package/build/src/assets/icons.js +0 -273
  14. package/build/src/assets/icons.js.map +0 -1
  15. package/build/src/assets/logos.js +0 -1694
  16. package/build/src/assets/logos.js.map +0 -1
  17. package/build/src/assets/wave.js +0 -46
  18. package/build/src/assets/wave.js.map +0 -1
  19. package/build/src/components/Common/Alert/index.js +0 -13
  20. package/build/src/components/Common/Alert/index.js.map +0 -1
  21. package/build/src/components/Common/Alert/styles.js +0 -55
  22. package/build/src/components/Common/Alert/styles.js.map +0 -1
  23. package/build/src/components/Common/AmountInput/AmountInputField.js +0 -62
  24. package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
  25. package/build/src/components/Common/AmountInput/index.js +0 -166
  26. package/build/src/components/Common/AmountInput/index.js.map +0 -1
  27. package/build/src/components/Common/Avatar/index.js +0 -78
  28. package/build/src/components/Common/Avatar/index.js.map +0 -1
  29. package/build/src/components/Common/Avatar/styles.js +0 -54
  30. package/build/src/components/Common/Avatar/styles.js.map +0 -1
  31. package/build/src/components/Common/BrowserIcon/index.js +0 -29
  32. package/build/src/components/Common/BrowserIcon/index.js.map +0 -1
  33. package/build/src/components/Common/BrowserIcon/styles.js +0 -20
  34. package/build/src/components/Common/BrowserIcon/styles.js.map +0 -1
  35. package/build/src/components/Common/Button/index.js +0 -144
  36. package/build/src/components/Common/Button/index.js.map +0 -1
  37. package/build/src/components/Common/Button/styles.js +0 -287
  38. package/build/src/components/Common/Button/styles.js.map +0 -1
  39. package/build/src/components/Common/Chain/index.js +0 -141
  40. package/build/src/components/Common/Chain/index.js.map +0 -1
  41. package/build/src/components/Common/Chain/styles.js +0 -90
  42. package/build/src/components/Common/Chain/styles.js.map +0 -1
  43. package/build/src/components/Common/ChainSelectList/index.js +0 -250
  44. package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
  45. package/build/src/components/Common/ChainSelectList/styles.js +0 -226
  46. package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
  47. package/build/src/components/Common/CircleTimer.js +0 -92
  48. package/build/src/components/Common/CircleTimer.js.map +0 -1
  49. package/build/src/components/Common/ConnectorList/index.js +0 -121
  50. package/build/src/components/Common/ConnectorList/index.js.map +0 -1
  51. package/build/src/components/Common/ConnectorList/styles.js +0 -344
  52. package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
  53. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -78
  54. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
  55. package/build/src/components/Common/CustomQRCode/QRCode.js +0 -132
  56. package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
  57. package/build/src/components/Common/CustomQRCode/index.js +0 -89
  58. package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
  59. package/build/src/components/Common/CustomQRCode/styles.js +0 -142
  60. package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
  61. package/build/src/components/Common/FitText/index.js +0 -34
  62. package/build/src/components/Common/FitText/index.js.map +0 -1
  63. package/build/src/components/Common/Modal/index.js +0 -558
  64. package/build/src/components/Common/Modal/index.js.map +0 -1
  65. package/build/src/components/Common/Modal/styles.js +0 -665
  66. package/build/src/components/Common/Modal/styles.js.map +0 -1
  67. package/build/src/components/Common/OptionsList/index.js +0 -145
  68. package/build/src/components/Common/OptionsList/index.js.map +0 -1
  69. package/build/src/components/Common/OptionsList/styles.js +0 -138
  70. package/build/src/components/Common/OptionsList/styles.js.map +0 -1
  71. package/build/src/components/Common/OrderHeader/index.js +0 -148
  72. package/build/src/components/Common/OrderHeader/index.js.map +0 -1
  73. package/build/src/components/Common/PaymentBreakdown/index.js +0 -70
  74. package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
  75. package/build/src/components/Common/Portal/index.js +0 -30
  76. package/build/src/components/Common/Portal/index.js.map +0 -1
  77. package/build/src/components/Common/PoweredByFooter/index.js +0 -39
  78. package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
  79. package/build/src/components/Common/ScrollArea/index.js +0 -120
  80. package/build/src/components/Common/ScrollArea/index.js.map +0 -1
  81. package/build/src/components/Common/ScrollArea/styles.js +0 -169
  82. package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
  83. package/build/src/components/Common/SelectAnotherMethodButton/index.js +0 -96
  84. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +0 -1
  85. package/build/src/components/Common/Spinner/index.js +0 -64
  86. package/build/src/components/Common/Spinner/index.js.map +0 -1
  87. package/build/src/components/Common/Spinner/styles.js +0 -22
  88. package/build/src/components/Common/Spinner/styles.js.map +0 -1
  89. package/build/src/components/Common/SwitchButton/index.js +0 -43
  90. package/build/src/components/Common/SwitchButton/index.js.map +0 -1
  91. package/build/src/components/Common/ThemedButton/index.js +0 -46
  92. package/build/src/components/Common/ThemedButton/index.js.map +0 -1
  93. package/build/src/components/Common/ThemedButton/styles.js +0 -152
  94. package/build/src/components/Common/ThemedButton/styles.js.map +0 -1
  95. package/build/src/components/Common/TokenChainLogo/index.js +0 -62
  96. package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
  97. package/build/src/components/Common/Tooltip/index.js +0 -129
  98. package/build/src/components/Common/Tooltip/index.js.map +0 -1
  99. package/build/src/components/Common/Tooltip/styles.js +0 -81
  100. package/build/src/components/Common/Tooltip/styles.js.map +0 -1
  101. package/build/src/components/Common/WalletChainLogo/index.js +0 -31
  102. package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
  103. package/build/src/components/DaimoPayButton/index.js +0 -196
  104. package/build/src/components/DaimoPayButton/index.js.map +0 -1
  105. package/build/src/components/DaimoPayButton/styles.js +0 -50
  106. package/build/src/components/DaimoPayButton/styles.js.map +0 -1
  107. package/build/src/components/DaimoPayModal/ConnectUsing.js +0 -70
  108. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
  109. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -339
  110. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
  111. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -131
  112. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
  113. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -89
  114. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
  115. package/build/src/components/DaimoPayModal/index.js +0 -605
  116. package/build/src/components/DaimoPayModal/index.js.map +0 -1
  117. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -25
  118. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
  119. package/build/src/components/Pages/About/graphics.js +0 -853
  120. package/build/src/components/Pages/About/graphics.js.map +0 -1
  121. package/build/src/components/Pages/About/index.js +0 -222
  122. package/build/src/components/Pages/About/index.js.map +0 -1
  123. package/build/src/components/Pages/About/styles.js +0 -140
  124. package/build/src/components/Pages/About/styles.js.map +0 -1
  125. package/build/src/components/Pages/Confirmation/index.js +0 -126
  126. package/build/src/components/Pages/Confirmation/index.js.map +0 -1
  127. package/build/src/components/Pages/Connectors/index.js +0 -26
  128. package/build/src/components/Pages/Connectors/index.js.map +0 -1
  129. package/build/src/components/Pages/Error/index.js +0 -57
  130. package/build/src/components/Pages/Error/index.js.map +0 -1
  131. package/build/src/components/Pages/MobileConnectors/index.js +0 -108
  132. package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
  133. package/build/src/components/Pages/MobileConnectors/styles.js +0 -64
  134. package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
  135. package/build/src/components/Pages/Onboarding/index.js +0 -34
  136. package/build/src/components/Pages/Onboarding/index.js.map +0 -1
  137. package/build/src/components/Pages/Onboarding/styles.js +0 -229
  138. package/build/src/components/Pages/Onboarding/styles.js.map +0 -1
  139. package/build/src/components/Pages/PayWithToken/index.js +0 -157
  140. package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
  141. package/build/src/components/Pages/SelectAmount/index.js +0 -24
  142. package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
  143. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -79
  144. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
  145. package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -80
  146. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
  147. package/build/src/components/Pages/SelectExchange/index.js +0 -62
  148. package/build/src/components/Pages/SelectExchange/index.js.map +0 -1
  149. package/build/src/components/Pages/SelectExternalAmount/index.js +0 -80
  150. package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
  151. package/build/src/components/Pages/SelectMethod/index.js +0 -315
  152. package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
  153. package/build/src/components/Pages/SelectToken/index.js +0 -99
  154. package/build/src/components/Pages/SelectToken/index.js.map +0 -1
  155. package/build/src/components/Pages/SelectWalletAmount/index.js +0 -71
  156. package/build/src/components/Pages/SelectWalletAmount/index.js.map +0 -1
  157. package/build/src/components/Pages/SelectWalletChain/index.js +0 -55
  158. package/build/src/components/Pages/SelectWalletChain/index.js.map +0 -1
  159. package/build/src/components/Pages/SelectZKP/index.js +0 -41
  160. package/build/src/components/Pages/SelectZKP/index.js.map +0 -1
  161. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -94
  162. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
  163. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -92
  164. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
  165. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -24
  166. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
  167. package/build/src/components/Pages/SwitchNetworks/index.js +0 -45
  168. package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
  169. package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -586
  170. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
  171. package/build/src/components/Pages/WaitingExternal/index.js +0 -174
  172. package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
  173. package/build/src/components/Pages/WaitingWallet/index.js +0 -49
  174. package/build/src/components/Pages/WaitingWallet/index.js.map +0 -1
  175. package/build/src/components/Pages/Warning/index.js +0 -56
  176. package/build/src/components/Pages/Warning/index.js.map +0 -1
  177. package/build/src/components/Spinners/CircleSpinner/index.js +0 -104
  178. package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
  179. package/build/src/components/Spinners/CircleSpinner/styles.js +0 -117
  180. package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
  181. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -29
  182. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
  183. package/build/src/components/Spinners/SquircleSpinner/index.js +0 -68
  184. package/build/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
  185. package/build/src/components/Spinners/SquircleSpinner/styles.js +0 -66
  186. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
  187. package/build/src/components/Spinners/TokenLogoSpinner/index.js +0 -24
  188. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
  189. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
  190. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
  191. package/build/src/components/Spinners/WalletPaymentSpinner/index.js +0 -37
  192. package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +0 -1
  193. package/build/src/components/Spinners/styles.js +0 -32
  194. package/build/src/components/Spinners/styles.js.map +0 -1
  195. package/build/src/constants/defaultTheme.js +0 -6
  196. package/build/src/constants/defaultTheme.js.map +0 -1
  197. package/build/src/constants/limits.js +0 -4
  198. package/build/src/constants/limits.js.map +0 -1
  199. package/build/src/constants/paymentOptions.js +0 -61
  200. package/build/src/constants/paymentOptions.js.map +0 -1
  201. package/build/src/constants/routes.js +0 -31
  202. package/build/src/constants/routes.js.map +0 -1
  203. package/build/src/constants/wallets.js +0 -7
  204. package/build/src/constants/wallets.js.map +0 -1
  205. package/build/src/defaultConfig.js +0 -66
  206. package/build/src/defaultConfig.js.map +0 -1
  207. package/build/src/defaultConnectors.js +0 -37
  208. package/build/src/defaultConnectors.js.map +0 -1
  209. package/build/src/hooks/useChainIsSupported.js +0 -10
  210. package/build/src/hooks/useChainIsSupported.js.map +0 -1
  211. package/build/src/hooks/useChains.js +0 -10
  212. package/build/src/hooks/useChains.js.map +0 -1
  213. package/build/src/hooks/useConnect.js +0 -61
  214. package/build/src/hooks/useConnect.js.map +0 -1
  215. package/build/src/hooks/useConnectCallback.js +0 -21
  216. package/build/src/hooks/useConnectCallback.js.map +0 -1
  217. package/build/src/hooks/useConnectors.js +0 -20
  218. package/build/src/hooks/useConnectors.js.map +0 -1
  219. package/build/src/hooks/useDaimoPay.js +0 -131
  220. package/build/src/hooks/useDaimoPay.js.map +0 -1
  221. package/build/src/hooks/useDaimoPayStatus.js +0 -12
  222. package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
  223. package/build/src/hooks/useDaimoPayUI.js +0 -15
  224. package/build/src/hooks/useDaimoPayUI.js.map +0 -1
  225. package/build/src/hooks/useEnsFallbackConfig.js +0 -16
  226. package/build/src/hooks/useEnsFallbackConfig.js.map +0 -1
  227. package/build/src/hooks/useFitText.js +0 -133
  228. package/build/src/hooks/useFitText.js.map +0 -1
  229. package/build/src/hooks/useFocusTrap.js +0 -53
  230. package/build/src/hooks/useFocusTrap.js.map +0 -1
  231. package/build/src/hooks/useIsMobile.js +0 -11
  232. package/build/src/hooks/useIsMobile.js.map +0 -1
  233. package/build/src/hooks/useIsMounted.js +0 -10
  234. package/build/src/hooks/useIsMounted.js.map +0 -1
  235. package/build/src/hooks/useLastConnector.js +0 -24
  236. package/build/src/hooks/useLastConnector.js.map +0 -1
  237. package/build/src/hooks/useLocales.js +0 -60
  238. package/build/src/hooks/useLocales.js.map +0 -1
  239. package/build/src/hooks/useLockBodyScroll.js +0 -47
  240. package/build/src/hooks/useLockBodyScroll.js.map +0 -1
  241. package/build/src/hooks/useOrderUsdLimits.js +0 -24
  242. package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
  243. package/build/src/hooks/usePayContext.js +0 -11
  244. package/build/src/hooks/usePayContext.js.map +0 -1
  245. package/build/src/hooks/usePaymentOptions.js +0 -185
  246. package/build/src/hooks/usePaymentOptions.js.map +0 -1
  247. package/build/src/hooks/usePaymentState.js +0 -399
  248. package/build/src/hooks/usePaymentState.js.map +0 -1
  249. package/build/src/hooks/usePrevious.js +0 -13
  250. package/build/src/hooks/usePrevious.js.map +0 -1
  251. package/build/src/hooks/useTokenOptions.js +0 -156
  252. package/build/src/hooks/useTokenOptions.js.map +0 -1
  253. package/build/src/hooks/useUntronAvailability.js +0 -32
  254. package/build/src/hooks/useUntronAvailability.js.map +0 -1
  255. package/build/src/hooks/useWindowSize.js +0 -23
  256. package/build/src/hooks/useWindowSize.js.map +0 -1
  257. package/build/src/index.js +0 -14
  258. package/build/src/index.js.map +0 -1
  259. package/build/src/localizations/index.js +0 -48
  260. package/build/src/localizations/index.js.map +0 -1
  261. package/build/src/localizations/locales/ar-AE.js +0 -95
  262. package/build/src/localizations/locales/ar-AE.js.map +0 -1
  263. package/build/src/localizations/locales/ca-AD.js +0 -93
  264. package/build/src/localizations/locales/ca-AD.js.map +0 -1
  265. package/build/src/localizations/locales/ee-EE.js +0 -101
  266. package/build/src/localizations/locales/ee-EE.js.map +0 -1
  267. package/build/src/localizations/locales/en-US.js +0 -145
  268. package/build/src/localizations/locales/en-US.js.map +0 -1
  269. package/build/src/localizations/locales/es-ES.js +0 -138
  270. package/build/src/localizations/locales/es-ES.js.map +0 -1
  271. package/build/src/localizations/locales/fa-IR.js +0 -93
  272. package/build/src/localizations/locales/fa-IR.js.map +0 -1
  273. package/build/src/localizations/locales/fr-FR.js +0 -93
  274. package/build/src/localizations/locales/fr-FR.js.map +0 -1
  275. package/build/src/localizations/locales/ja-JP.js +0 -93
  276. package/build/src/localizations/locales/ja-JP.js.map +0 -1
  277. package/build/src/localizations/locales/pt-BR.js +0 -145
  278. package/build/src/localizations/locales/pt-BR.js.map +0 -1
  279. package/build/src/localizations/locales/ru-RU.js +0 -97
  280. package/build/src/localizations/locales/ru-RU.js.map +0 -1
  281. package/build/src/localizations/locales/tr-TR.js +0 -101
  282. package/build/src/localizations/locales/tr-TR.js.map +0 -1
  283. package/build/src/localizations/locales/vi-VN.js +0 -101
  284. package/build/src/localizations/locales/vi-VN.js.map +0 -1
  285. package/build/src/localizations/locales/zh-CN.js +0 -93
  286. package/build/src/localizations/locales/zh-CN.js.map +0 -1
  287. package/build/src/payment/paymentEffects.js +0 -270
  288. package/build/src/payment/paymentEffects.js.map +0 -1
  289. package/build/src/payment/paymentFsm.js +0 -234
  290. package/build/src/payment/paymentFsm.js.map +0 -1
  291. package/build/src/payment/paymentStore.js +0 -18
  292. package/build/src/payment/paymentStore.js.map +0 -1
  293. package/build/src/payment/paymentUtils.js +0 -10
  294. package/build/src/payment/paymentUtils.js.map +0 -1
  295. package/build/src/provider/DaimoPayProvider.js +0 -300
  296. package/build/src/provider/DaimoPayProvider.js.map +0 -1
  297. package/build/src/provider/PayContext.js +0 -6
  298. package/build/src/provider/PayContext.js.map +0 -1
  299. package/build/src/provider/PaymentProvider.js +0 -35
  300. package/build/src/provider/PaymentProvider.js.map +0 -1
  301. package/build/src/provider/SolanaContextProvider.js +0 -14
  302. package/build/src/provider/SolanaContextProvider.js.map +0 -1
  303. package/build/src/provider/Web3ContextProvider.js +0 -36
  304. package/build/src/provider/Web3ContextProvider.js.map +0 -1
  305. package/build/src/stateStore.js +0 -36
  306. package/build/src/stateStore.js.map +0 -1
  307. package/build/src/styles/defaultTheme.js +0 -80
  308. package/build/src/styles/defaultTheme.js.map +0 -1
  309. package/build/src/styles/index.js +0 -313
  310. package/build/src/styles/index.js.map +0 -1
  311. package/build/src/styles/styled/index.js +0 -6
  312. package/build/src/styles/styled/index.js.map +0 -1
  313. package/build/src/styles/themes/base.js +0 -141
  314. package/build/src/styles/themes/base.js.map +0 -1
  315. package/build/src/styles/themes/index.js +0 -13
  316. package/build/src/styles/themes/index.js.map +0 -1
  317. package/build/src/styles/themes/midnight.js +0 -76
  318. package/build/src/styles/themes/midnight.js.map +0 -1
  319. package/build/src/styles/themes/minimal.js +0 -96
  320. package/build/src/styles/themes/minimal.js.map +0 -1
  321. package/build/src/styles/themes/nouns.js +0 -81
  322. package/build/src/styles/themes/nouns.js.map +0 -1
  323. package/build/src/styles/themes/retro.js +0 -106
  324. package/build/src/styles/themes/retro.js.map +0 -1
  325. package/build/src/styles/themes/rounded.js +0 -106
  326. package/build/src/styles/themes/rounded.js.map +0 -1
  327. package/build/src/styles/themes/soft.js +0 -71
  328. package/build/src/styles/themes/soft.js.map +0 -1
  329. package/build/src/styles/themes/web95.js +0 -132
  330. package/build/src/styles/themes/web95.js.map +0 -1
  331. package/build/src/utils/exports.js +0 -6
  332. package/build/src/utils/exports.js.map +0 -1
  333. package/build/src/utils/format.js +0 -48
  334. package/build/src/utils/format.js.map +0 -1
  335. package/build/src/utils/index.js +0 -42
  336. package/build/src/utils/index.js.map +0 -1
  337. package/build/src/utils/p3.js +0 -15
  338. package/build/src/utils/p3.js.map +0 -1
  339. package/build/src/utils/platform.js +0 -11
  340. package/build/src/utils/platform.js.map +0 -1
  341. package/build/src/utils/polling.js +0 -44
  342. package/build/src/utils/polling.js.map +0 -1
  343. package/build/src/utils/supportUrl.js +0 -16
  344. package/build/src/utils/supportUrl.js.map +0 -1
  345. package/build/src/utils/trpc.js +0 -19
  346. package/build/src/utils/trpc.js.map +0 -1
  347. package/build/src/utils/validateInput.js +0 -16
  348. package/build/src/utils/validateInput.js.map +0 -1
  349. package/build/src/wallets/index.js +0 -21
  350. package/build/src/wallets/index.js.map +0 -1
  351. package/build/src/wallets/useWallets.js +0 -278
  352. package/build/src/wallets/useWallets.js.map +0 -1
  353. package/build/src/wallets/walletConfigs.js +0 -190
  354. package/build/src/wallets/walletConfigs.js.map +0 -1
  355. package/build/src/world-mini-app/WorldPayButton.js +0 -165
  356. package/build/src/world-mini-app/WorldPayButton.js.map +0 -1
  357. package/build/src/world-mini-app/promptWorldPayment.js +0 -59
  358. package/build/src/world-mini-app/promptWorldPayment.js.map +0 -1
  359. package/build/src/world-mini-app/useWithdrawToWorld.js +0 -76
  360. package/build/src/world-mini-app/useWithdrawToWorld.js.map +0 -1
  361. package/build/src/world-mini-app/useWorldSignIn.js +0 -74
  362. package/build/src/world-mini-app/useWorldSignIn.js.map +0 -1
  363. package/build/src/world.js +0 -4
  364. package/build/src/world.js.map +0 -1
  365. package/build/types-26343050.d.ts +0 -65
  366. package/build/world.d.ts +0 -108
@@ -1,586 +0,0 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { isHydrated, getChainName, DepositAddressPaymentOptions, ethereumUSDC, polygonUSDC, baseUSDC, arbitrumUSDC, optimismUSDC, getAddressContraction } from '@daimo/pay-common';
3
- import { useState, useEffect, useRef, useMemo } from 'react';
4
- import { keyframes } from 'styled-components';
5
- import { AlertIcon, WarningIcon } from '../../../assets/icons.js';
6
- import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
7
- import useIsMobile from '../../../hooks/useIsMobile.js';
8
- import useLocales from '../../../hooks/useLocales.js';
9
- import { usePayContext } from '../../../hooks/usePayContext.js';
10
- import styled from '../../../styles/styled/index.js';
11
- import Button from '../../Common/Button/index.js';
12
- import CircleTimer from '../../Common/CircleTimer.js';
13
- import CopyToClipboardIcon from '../../Common/CopyToClipboard/CopyToClipboardIcon.js';
14
- import CustomQRCode from '../../Common/CustomQRCode/index.js';
15
- import { ModalBody, PageContent, ModalContent, ModalH1 } from '../../Common/Modal/styles.js';
16
- import SelectAnotherMethodButton from '../../Common/SelectAnotherMethodButton/index.js';
17
- import TokenChainLogo from '../../Common/TokenChainLogo/index.js';
18
- import WarningPage from '../Warning/index.js';
19
-
20
- let handleLeavePrompt;
21
- const CenterContainer = styled.div`
22
- display: flex;
23
- flex-direction: column;
24
- align-items: center;
25
- padding: 16px;
26
- max-width: 100%;
27
- `;
28
- function WaitingDepositAddress() {
29
- const context = usePayContext();
30
- const { triggerResize, paymentState, trpc } = context;
31
- const { payWithDepositAddress, selectedDepositAddressOption } = paymentState;
32
- const daimo = useDaimoPay();
33
- const { order } = daimo;
34
- const tronUnderpay = order != null && isHydrated(order) && order.sourceTokenAmount != null && order.sourceTokenAmount.token.chainId === 10 && order.sourceTokenAmount.token.symbol.toUpperCase() === "USDT0" && Number(order.sourceTokenAmount.usd) < order.usdValue;
35
- const [depAddr, setDepAddr] = useState();
36
- const [failed, setFailed] = useState(false);
37
- const generateDepositAddress = () => {
38
- if (daimo.paymentState === "warning") {
39
- daimo.dismissWarning();
40
- }
41
- if (selectedDepositAddressOption == null) {
42
- if (order == null || !isHydrated(order)) return;
43
- if (order.sourceTokenAmount == null) return;
44
- const taPaid = order.sourceTokenAmount;
45
- const usdPaid = taPaid.usd;
46
- const usdToPay = Math.max(order.usdValue - usdPaid, 0.01);
47
- const dispDecimals = taPaid.token.displayDecimals;
48
- const unitsToPay = (usdToPay / taPaid.token.usd).toFixed(dispDecimals);
49
- const unitsPaid = (Number(taPaid.amount) / 10 ** taPaid.token.decimals).toFixed(dispDecimals);
50
- let expirationS = (order.createdAt ?? 0) + 59.5 * 60;
51
- if (order.expirationTs != null && Number(order.expirationTs) < expirationS) {
52
- expirationS = Number(order.expirationTs);
53
- }
54
- setDepAddr({
55
- address: order.intentAddr,
56
- amount: unitsToPay,
57
- underpayment: { unitsPaid, coin: taPaid.token.symbol },
58
- coins: `${taPaid.token.symbol} on ${getChainName(taPaid.token.chainId)}`,
59
- expirationS,
60
- uri: order.intentAddr,
61
- displayToken: taPaid.token,
62
- logoURI: ""
63
- // Not needed for underpaid orders
64
- });
65
- } else {
66
- const displayToken = getDisplayToken(selectedDepositAddressOption);
67
- const logoURI = selectedDepositAddressOption.logoURI;
68
- setDepAddr({
69
- displayToken,
70
- logoURI
71
- });
72
- payWithDepositAddress(selectedDepositAddressOption.id).then((details) => {
73
- if (details) {
74
- setDepAddr({
75
- address: details.address,
76
- amount: details.amount,
77
- coins: details.suffix,
78
- expirationS: details.expirationS,
79
- uri: details.uri,
80
- displayToken,
81
- logoURI
82
- });
83
- } else {
84
- setFailed(true);
85
- }
86
- });
87
- }
88
- };
89
- useEffect(generateDepositAddress, [selectedDepositAddressOption]);
90
- useEffect(triggerResize, [depAddr, failed]);
91
- return /* @__PURE__ */ jsx(PageContent, { children: tronUnderpay ? /* @__PURE__ */ jsx(TronUnderpayContent, { orderId: order?.id?.toString() }) : failed ? selectedDepositAddressOption && /* @__PURE__ */ jsx(DepositFailed, { name: selectedDepositAddressOption.id }) : depAddr && /* @__PURE__ */ jsx(
92
- DepositAddressInfo,
93
- {
94
- depAddr,
95
- refresh: generateDepositAddress,
96
- triggerResize
97
- }
98
- ) });
99
- }
100
- function TronUnderpayContent({ orderId }) {
101
- const locales = useLocales();
102
- return /* @__PURE__ */ jsx(
103
- ModalContent,
104
- {
105
- style: {
106
- display: "flex",
107
- justifyContent: "center",
108
- alignItems: "center",
109
- paddingBottom: 0,
110
- position: "relative"
111
- },
112
- children: /* @__PURE__ */ jsxs(CenterContainer, { children: [
113
- /* @__PURE__ */ jsx(FailIcon, {}),
114
- /* @__PURE__ */ jsx(ModalH1, { style: { textAlign: "center", marginTop: 16 }, children: "USDT Tron Payment Was Too Low" }),
115
- /* @__PURE__ */ jsx("div", { style: { height: 16 } }),
116
- /* @__PURE__ */ jsxs(ModalBody, { style: { textAlign: "center" }, children: [
117
- "Your funds are safe.",
118
- /* @__PURE__ */ jsx("br", {}),
119
- "Email support@daimo.com for a refund."
120
- ] }),
121
- /* @__PURE__ */ jsx(
122
- Button,
123
- {
124
- onClick: () => window.open(
125
- `mailto:support@daimo.com?subject=Underpaid%20USDT%20Tron%20payment%20for%20order%20${orderId}`,
126
- "_blank"
127
- ),
128
- style: { marginTop: 16, width: 200 },
129
- children: locales.contactSupport
130
- }
131
- )
132
- ] })
133
- }
134
- );
135
- }
136
- function DepositAddressInfo({
137
- depAddr,
138
- refresh,
139
- triggerResize
140
- }) {
141
- const { isMobile } = useIsMobile();
142
- const { paymentState: payCtxState } = usePayContext();
143
- const daimo = useDaimoPay();
144
- const locales = useLocales();
145
- const [remainingS, totalS] = useCountdown(depAddr?.expirationS);
146
- const isExpired = depAddr?.expirationS != null && remainingS === 0;
147
- const [showQR, setShowQR] = useState(!isMobile);
148
- const pendingLeaveResolveRef = useRef(void 0);
149
- const pendingLeaveMetaRef = useRef(void 0);
150
- const leavingInProgressRef = useRef(false);
151
- useEffect(triggerResize, [isExpired, showQR]);
152
- useEffect(() => {
153
- handleLeavePrompt = (detail) => {
154
- const isTron = payCtxState.selectedDepositAddressOption?.id === DepositAddressPaymentOptions.TRON_USDT;
155
- if (!isTron) {
156
- detail.resolve(true);
157
- return;
158
- }
159
- const hasDepositAddress = !!depAddr?.address;
160
- if (!hasDepositAddress) {
161
- if (detail.orderId && detail.trpc) {
162
- detail.trpc.cancelDepositAddressForOrder.mutate({ orderId: detail.orderId }).then(() => {
163
- }).catch(() => {
164
- });
165
- }
166
- detail.resolve(true);
167
- return;
168
- }
169
- daimo.setWarning(
170
- "Do you want to end your Tron TRC20 USDT address? Ending it will end your current session, and you\u2019ll need to start a new one."
171
- );
172
- pendingLeaveMetaRef.current = {
173
- trpc: detail.trpc,
174
- orderId: detail.orderId
175
- };
176
- pendingLeaveResolveRef.current = detail.resolve;
177
- leavingInProgressRef.current = false;
178
- };
179
- return () => {
180
- handleLeavePrompt = void 0;
181
- };
182
- }, [depAddr?.address, payCtxState.selectedDepositAddressOption?.id, daimo]);
183
- const logoOffset = isMobile ? 4 : 0;
184
- const logoElement = depAddr.displayToken ? /* @__PURE__ */ jsx(
185
- TokenChainLogo,
186
- {
187
- token: depAddr.displayToken,
188
- size: 64,
189
- offset: logoOffset
190
- }
191
- ) : /* @__PURE__ */ jsx("img", { src: depAddr.logoURI, width: "64px", height: "64px" });
192
- if (daimo.paymentState === "warning") {
193
- return /* @__PURE__ */ jsx(
194
- WarningPage,
195
- {
196
- body: /* @__PURE__ */ jsx(Fragment, { children: daimo.paymentWarningMessage }),
197
- primaryLabel: locales.leaveConfirm_stay,
198
- secondaryLabel: locales.leaveConfirm_leave,
199
- onPrimary: () => {
200
- pendingLeaveResolveRef.current?.(false);
201
- pendingLeaveResolveRef.current = void 0;
202
- pendingLeaveMetaRef.current = void 0;
203
- leavingInProgressRef.current = false;
204
- daimo.dismissWarning();
205
- },
206
- onSecondary: async () => {
207
- if (pendingLeaveMetaRef.current && pendingLeaveMetaRef.current.orderId && pendingLeaveMetaRef.current.trpc) {
208
- const meta = pendingLeaveMetaRef.current;
209
- meta.trpc.cancelDepositAddressForOrder.mutate({ orderId: meta.orderId }).then(() => {
210
- }).catch(() => {
211
- });
212
- }
213
- leavingInProgressRef.current = true;
214
- pendingLeaveResolveRef.current?.(true);
215
- pendingLeaveResolveRef.current = void 0;
216
- pendingLeaveMetaRef.current = void 0;
217
- }
218
- }
219
- );
220
- }
221
- if (leavingInProgressRef.current) {
222
- return null;
223
- }
224
- return /* @__PURE__ */ jsxs(ModalContent, { children: [
225
- isExpired ? /* @__PURE__ */ jsx(LogoRow, { children: /* @__PURE__ */ jsx(Button, { onClick: refresh, style: { width: 128 }, children: locales.refresh }) }) : showQR ? /* @__PURE__ */ jsx(QRWrap, { children: /* @__PURE__ */ jsx(
226
- CustomQRCode,
227
- {
228
- value: depAddr?.uri,
229
- contentPadding: 24,
230
- size: 200,
231
- image: logoElement
232
- }
233
- ) }) : /* @__PURE__ */ jsx(LogoRow, { children: /* @__PURE__ */ jsx(LogoWrap, { children: logoElement }) }),
234
- /* @__PURE__ */ jsx("div", { style: { height: 8 } }),
235
- isMobile && /* @__PURE__ */ jsx(ShowHideQRRow, { showQR, setShowQR }),
236
- /* @__PURE__ */ jsx(CopyableInfo, { depAddr, remainingS, totalS })
237
- ] });
238
- }
239
- function getDisplayToken(meta) {
240
- switch (meta.id) {
241
- case DepositAddressPaymentOptions.OP_MAINNET:
242
- return optimismUSDC;
243
- case DepositAddressPaymentOptions.ARBITRUM:
244
- return arbitrumUSDC;
245
- case DepositAddressPaymentOptions.BASE:
246
- return baseUSDC;
247
- case DepositAddressPaymentOptions.POLYGON:
248
- return polygonUSDC;
249
- case DepositAddressPaymentOptions.ETH_L1:
250
- return ethereumUSDC;
251
- default:
252
- return null;
253
- }
254
- }
255
- function ShowHideQRRow({
256
- showQR,
257
- setShowQR
258
- }) {
259
- const toggleQR = () => setShowQR(!showQR);
260
- const locales = useLocales();
261
- return /* @__PURE__ */ jsx(ShowQRWrap, { children: /* @__PURE__ */ jsxs(CopyRow, { onClick: toggleQR, children: [
262
- /* @__PURE__ */ jsx(SmallText, { children: showQR ? locales.hideQR : locales.showQR }),
263
- /* @__PURE__ */ jsx("div", { style: { width: 8 } }),
264
- /* @__PURE__ */ jsx(ShowQRIcon, { children: /* @__PURE__ */ jsxs(
265
- "svg",
266
- {
267
- xmlns: "http://www.w3.org/2000/svg",
268
- fill: "none",
269
- viewBox: "0 0 24 24",
270
- strokeWidth: 1.5,
271
- stroke: "#666",
272
- className: "size-6",
273
- width: 20,
274
- height: 20,
275
- children: [
276
- /* @__PURE__ */ jsx(
277
- "path",
278
- {
279
- strokeLinecap: "round",
280
- strokeLinejoin: "round",
281
- d: "M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z"
282
- }
283
- ),
284
- /* @__PURE__ */ jsx(
285
- "path",
286
- {
287
- strokeLinecap: "round",
288
- strokeLinejoin: "round",
289
- d: "M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z"
290
- }
291
- )
292
- ]
293
- }
294
- ) })
295
- ] }) });
296
- }
297
- const ShowQRWrap = styled.div`
298
- display: flex;
299
- justify-content: center;
300
- color: var(--ck-primary-button-color);
301
- `;
302
- const ShowQRIcon = styled.div`
303
- width: 20px;
304
- `;
305
- const LogoWrap = styled.div`
306
- position: relative;
307
- width: 64px;
308
- height: 64px;
309
- `;
310
- const LogoRow = styled.div`
311
- padding: 32px 0;
312
- height: 128px;
313
- display: flex;
314
- align-items: center;
315
- gap: 8px;
316
- justify-content: center;
317
- `;
318
- const QRWrap = styled.div`
319
- margin: 0 auto;
320
- width: 280px;
321
- `;
322
- function CopyableInfo({
323
- depAddr,
324
- remainingS,
325
- totalS
326
- }) {
327
- const underpayment = depAddr?.underpayment;
328
- const isExpired = depAddr?.expirationS != null && remainingS === 0;
329
- const locales = useLocales();
330
- return /* @__PURE__ */ jsxs(CopyableInfoWrapper, { children: [
331
- underpayment && /* @__PURE__ */ jsx(UnderpaymentInfo, { underpayment }),
332
- /* @__PURE__ */ jsx(
333
- CopyRowOrThrobber,
334
- {
335
- title: locales.sendExactly,
336
- value: depAddr?.amount,
337
- smallText: depAddr?.coins,
338
- disabled: isExpired
339
- }
340
- ),
341
- /* @__PURE__ */ jsx(
342
- CopyRowOrThrobber,
343
- {
344
- title: locales.receivingAddress,
345
- value: depAddr?.address,
346
- valueText: depAddr?.address && getAddressContraction(depAddr.address),
347
- disabled: isExpired
348
- }
349
- ),
350
- /* @__PURE__ */ jsx(CountdownWrap, { children: /* @__PURE__ */ jsx(CountdownTimer, { remainingS, totalS }) })
351
- ] });
352
- }
353
- function UnderpaymentInfo({ underpayment }) {
354
- return /* @__PURE__ */ jsxs(UnderpaymentWrapper, { children: [
355
- /* @__PURE__ */ jsxs(UnderpaymentHeader, { children: [
356
- /* @__PURE__ */ jsx(WarningIcon, {}),
357
- /* @__PURE__ */ jsxs("span", { children: [
358
- "Received ",
359
- underpayment.unitsPaid,
360
- " ",
361
- underpayment.coin
362
- ] })
363
- ] }),
364
- /* @__PURE__ */ jsx(SmallText, { children: "Finish by sending the extra amount below." })
365
- ] });
366
- }
367
- const UnderpaymentWrapper = styled.div`
368
- background: var(--ck-body-background-tertiary);
369
- border-radius: 8px;
370
- padding: 16px;
371
- margin: 0 4px 16px 4px;
372
- margin-bottom: 16px;
373
- `;
374
- const UnderpaymentHeader = styled.div`
375
- font-weight: 500;
376
- display: flex;
377
- justify-content: center;
378
- align-items: flex-end;
379
- gap: 8px;
380
- margin-bottom: 8px;
381
- `;
382
- const CopyableInfoWrapper = styled.div`
383
- display: flex;
384
- flex-direction: column;
385
- justify-content: stretch;
386
- gap: 0;
387
- `;
388
- const CountdownWrap = styled.div`
389
- margin-top: 24px;
390
- height: 16px;
391
- `;
392
- const FailIcon = styled(AlertIcon)`
393
- color: var(--ck-body-color-alert);
394
- width: 32px;
395
- height: 32px;
396
- margin-top: auto;
397
- margin-bottom: 16px;
398
- `;
399
- function useCountdown(expirationS) {
400
- const initMs = useMemo(() => Date.now(), [expirationS]);
401
- const [ms, setMs] = useState(initMs);
402
- useEffect(() => {
403
- const interval = setInterval(() => setMs(Date.now()), 1e3);
404
- return () => clearInterval(interval);
405
- }, []);
406
- if (expirationS == null) return [0, 0];
407
- const remainingS = Math.max(0, expirationS - ms / 1e3 | 0);
408
- const totalS = Math.max(0, expirationS - initMs / 1e3 | 0);
409
- return [remainingS, totalS];
410
- }
411
- function CountdownTimer({
412
- remainingS,
413
- totalS
414
- }) {
415
- const locales = useLocales();
416
- if (totalS == 0 || remainingS > 3600) {
417
- return /* @__PURE__ */ jsx(SmallText, { children: locales.sendOnlyOnce });
418
- }
419
- const isExpired = remainingS === 0;
420
- return /* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(CountdownRow, { children: [
421
- /* @__PURE__ */ jsx(
422
- CircleTimer,
423
- {
424
- total: totalS,
425
- currentTime: remainingS,
426
- size: 18,
427
- stroke: 3
428
- }
429
- ),
430
- /* @__PURE__ */ jsx("strong", { children: isExpired ? "Expired" : formatTime(remainingS) })
431
- ] }) });
432
- }
433
- const CountdownRow = styled.div`
434
- display: flex;
435
- align-items: center;
436
- justify-content: center;
437
- gap: 8px;
438
- font-variant-numeric: tabular-nums;
439
- `;
440
- const formatTime = (sec) => {
441
- const m = `${Math.floor(sec / 60)}`.padStart(2, "0");
442
- const s = `${sec % 60}`.padStart(2, "0");
443
- return `${m}:${s}`;
444
- };
445
- function DepositFailed({ name }) {
446
- return /* @__PURE__ */ jsxs(ModalContent, { style: { marginLeft: 24, marginRight: 24 }, children: [
447
- /* @__PURE__ */ jsxs(ModalH1, { children: [
448
- name,
449
- " unavailable"
450
- ] }),
451
- /* @__PURE__ */ jsxs(ModalBody, { children: [
452
- "We're unable to process ",
453
- name,
454
- " payments at this time. Please select another payment method."
455
- ] }),
456
- /* @__PURE__ */ jsx(SelectAnotherMethodButton, {})
457
- ] });
458
- }
459
- const CopyRow = styled.button`
460
- display: block;
461
- height: 64px;
462
- border-radius: 8px;
463
- padding: 8px 16px;
464
-
465
- cursor: pointer;
466
- background-color: var(--ck-body-background);
467
- background-color: var(--ck-body-background);
468
-
469
- display: flex;
470
- align-items: center;
471
- justify-content: space-between;
472
-
473
- transition: all 100ms ease;
474
-
475
- &:hover {
476
- opacity: 0.8;
477
- }
478
-
479
- &:active {
480
- transform: scale(0.98);
481
- background-color: var(--ck-body-background-secondary);
482
- }
483
-
484
- &:disabled {
485
- cursor: default;
486
- opacity: 0.5;
487
- transform: scale(0.98);
488
- background-color: var(--ck-body-background-secondary);
489
- }
490
- `;
491
- const LabelRow = styled.div`
492
- margin-bottom: 4px;
493
- `;
494
- const MainRow = styled.div`
495
- display: flex;
496
- align-items: center;
497
- justify-content: space-between;
498
- `;
499
- const ValueContainer = styled.div`
500
- display: flex;
501
- align-items: center;
502
- gap: 8px;
503
- `;
504
- const SmallText = styled.span`
505
- font-size: 14px;
506
- color: var(--ck-primary-button-color);
507
- `;
508
- const ValueText = styled.span`
509
- font-size: 14px;
510
- font-weight: 600;
511
- color: var(--ck-primary-button-color);
512
- `;
513
- const LabelText = styled(ModalBody)`
514
- margin: 0;
515
- text-align: left;
516
- `;
517
- const pulse = keyframes`
518
- 0% {
519
- opacity: 0.6;
520
- }
521
- 50% {
522
- opacity: 1;
523
- }
524
- 100% {
525
- opacity: 0.6;
526
- }
527
- `;
528
- const Skeleton = styled.div`
529
- width: 80px;
530
- height: 16px;
531
- border-radius: 8px;
532
- background-color: rgba(0, 0, 0, 0.1);
533
- animation: ${pulse} 1.5s ease-in-out infinite;
534
- `;
535
- function CopyRowOrThrobber({
536
- title,
537
- value,
538
- valueText,
539
- smallText,
540
- disabled
541
- }) {
542
- const [copied, setCopied] = useState(false);
543
- const handleCopy = () => {
544
- if (disabled) return;
545
- if (!value) return;
546
- const str = value.trim();
547
- if (navigator.clipboard) {
548
- navigator.clipboard.writeText(str);
549
- }
550
- setCopied(true);
551
- setTimeout(() => setCopied(false), 1e3);
552
- };
553
- if (!value) {
554
- return /* @__PURE__ */ jsxs(CopyRow, { children: [
555
- /* @__PURE__ */ jsx(LabelRow, { children: /* @__PURE__ */ jsx(LabelText, { children: title }) }),
556
- /* @__PURE__ */ jsx(MainRow, { children: /* @__PURE__ */ jsx(Skeleton, {}) })
557
- ] });
558
- }
559
- const displayValue = valueText || value;
560
- return /* @__PURE__ */ jsxs(CopyRow, { as: "button", onClick: handleCopy, disabled, children: [
561
- /* @__PURE__ */ jsxs("div", { children: [
562
- /* @__PURE__ */ jsx(LabelRow, { children: /* @__PURE__ */ jsx(LabelText, { children: title }) }),
563
- /* @__PURE__ */ jsx(MainRow, { children: /* @__PURE__ */ jsxs(ValueContainer, { children: [
564
- /* @__PURE__ */ jsx(ValueText, { children: displayValue }),
565
- smallText && /* @__PURE__ */ jsx(SmallText, { children: smallText })
566
- ] }) })
567
- ] }),
568
- /* @__PURE__ */ jsx(CopyIconWrap, { children: /* @__PURE__ */ jsx(CopyToClipboardIcon, { copied, dark: true }) })
569
- ] });
570
- }
571
- const CopyIconWrap = styled.div`
572
- --color: var(--ck-copytoclipboard-stroke);
573
- --bg: var(--ck-body-background);
574
- `;
575
- async function beforeLeave(trpc, orderId) {
576
- return new Promise((resolve) => {
577
- if (handleLeavePrompt) {
578
- handleLeavePrompt({ trpc, orderId, resolve });
579
- } else {
580
- resolve(true);
581
- }
582
- });
583
- }
584
-
585
- export { beforeLeave, WaitingDepositAddress as default };
586
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/WaitingDepositAddress/index.tsx"],"sourcesContent":["import {\n arbitrumUSDC,\n baseUSDC,\n DepositAddressPaymentOptionMetadata,\n DepositAddressPaymentOptions,\n ethereumUSDC,\n getAddressContraction,\n getChainName,\n isHydrated,\n optimismUSDC,\n polygonUSDC,\n type Token,\n} from \"@daimo/pay-common\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { keyframes } from \"styled-components\";\nimport { AlertIcon, WarningIcon } from \"../../../assets/icons\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport styled from \"../../../styles/styled\";\nimport Button from \"../../Common/Button\";\nimport CircleTimer from \"../../Common/CircleTimer\";\nimport CopyToClipboardIcon from \"../../Common/CopyToClipboard/CopyToClipboardIcon\";\nimport CustomQRCode from \"../../Common/CustomQRCode\";\nimport {\n ModalBody,\n ModalContent,\n ModalH1,\n PageContent,\n} from \"../../Common/Modal/styles\";\nimport SelectAnotherMethodButton from \"../../Common/SelectAnotherMethodButton\";\nimport TokenChainLogo from \"../../Common/TokenChainLogo\";\n// Warning confirmation UI for ending a Tron deposit-address session\nimport Warning from \"../Warning\";\n// module-level handler pointer used by the leave guard to notify the mounted component\nlet handleLeavePrompt:\n | ((detail: {\n trpc: any;\n orderId?: string;\n resolve: (proceed: boolean) => void;\n }) => void)\n | undefined;\n\n// Centered container for icon + text in Tron underpay screen\nconst CenterContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 16px;\n max-width: 100%;\n`;\n\ntype DepositAddr = {\n displayToken: Token | null;\n logoURI: string;\n expirationS?: number;\n uri?: string;\n coins?: string;\n amount?: string;\n address?: string;\n underpayment?: Underpayment;\n};\n\ntype Underpayment = {\n unitsPaid: string;\n coin: string;\n};\n\nexport default function WaitingDepositAddress() {\n const context = usePayContext();\n const { triggerResize, paymentState, trpc } = context;\n const { payWithDepositAddress, selectedDepositAddressOption } = paymentState;\n const daimo = useDaimoPay();\n const { order } = daimo;\n\n // Detect Optimism USDT0 under-payment: the order has received some funds\n // but less than required.\n const tronUnderpay =\n order != null &&\n isHydrated(order) &&\n order.sourceTokenAmount != null &&\n order.sourceTokenAmount.token.chainId === 10 &&\n order.sourceTokenAmount.token.symbol.toUpperCase() === \"USDT0\" &&\n Number(order.sourceTokenAmount.usd) < order.usdValue;\n\n const [depAddr, setDepAddr] = useState<DepositAddr>();\n const [failed, setFailed] = useState(false);\n\n // If we selected a deposit address option, generate the address...\n const generateDepositAddress = () => {\n // when starting a fresh address flow, dismiss any warning\n if (daimo.paymentState === \"warning\") {\n daimo.dismissWarning();\n }\n if (selectedDepositAddressOption == null) {\n if (order == null || !isHydrated(order)) return;\n if (order.sourceTokenAmount == null) return;\n\n // Pay underpaid order\n const taPaid = order.sourceTokenAmount;\n const usdPaid = taPaid.usd; // TODO: get usdPaid directly from the order\n const usdToPay = Math.max(order.usdValue - usdPaid, 0.01);\n const dispDecimals = taPaid.token.displayDecimals;\n const unitsToPay = (usdToPay / taPaid.token.usd).toFixed(dispDecimals);\n const unitsPaid = (\n Number(taPaid.amount) /\n 10 ** taPaid.token.decimals\n ).toFixed(dispDecimals);\n\n // (Removed duplicate tronUnderpay calculation now handled at top-level)\n // Hack to always show a <= 60 minute countdown\n let expirationS = (order.createdAt ?? 0) + 59.5 * 60;\n if (\n order.expirationTs != null &&\n Number(order.expirationTs) < expirationS\n ) {\n expirationS = Number(order.expirationTs);\n }\n\n setDepAddr({\n address: order.intentAddr,\n amount: unitsToPay,\n underpayment: { unitsPaid, coin: taPaid.token.symbol },\n coins: `${taPaid.token.symbol} on ${getChainName(taPaid.token.chainId)}`,\n expirationS: expirationS,\n uri: order.intentAddr,\n displayToken: taPaid.token,\n logoURI: \"\", // Not needed for underpaid orders\n });\n } else {\n const displayToken = getDisplayToken(selectedDepositAddressOption);\n const logoURI = selectedDepositAddressOption.logoURI;\n setDepAddr({\n displayToken,\n logoURI,\n });\n payWithDepositAddress(selectedDepositAddressOption.id).then((details) => {\n if (details) {\n setDepAddr({\n address: details.address,\n amount: details.amount,\n coins: details.suffix,\n expirationS: details.expirationS,\n uri: details.uri,\n displayToken,\n logoURI,\n });\n } else {\n setFailed(true);\n }\n });\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(generateDepositAddress, [selectedDepositAddressOption]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(triggerResize, [depAddr, failed]);\n\n return (\n <PageContent>\n {tronUnderpay ? (\n <TronUnderpayContent orderId={order?.id?.toString()} />\n ) : failed ? (\n selectedDepositAddressOption && (\n <DepositFailed name={selectedDepositAddressOption.id} />\n )\n ) : (\n depAddr && (\n <DepositAddressInfo\n depAddr={depAddr}\n refresh={generateDepositAddress}\n triggerResize={triggerResize}\n />\n )\n )}\n </PageContent>\n );\n}\n\nfunction TronUnderpayContent({ orderId }: { orderId?: string }) {\n const locales = useLocales();\n return (\n <ModalContent\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingBottom: 0,\n position: \"relative\",\n }}\n >\n <CenterContainer>\n <FailIcon />\n <ModalH1 style={{ textAlign: \"center\", marginTop: 16 }}>\n USDT Tron Payment Was Too Low\n </ModalH1>\n <div style={{ height: 16 }} />\n <ModalBody style={{ textAlign: \"center\" }}>\n Your funds are safe.\n <br />\n Email support@daimo.com for a refund.\n </ModalBody>\n <Button\n onClick={() =>\n window.open(\n `mailto:support@daimo.com?subject=Underpaid%20USDT%20Tron%20payment%20for%20order%20${orderId}`,\n \"_blank\",\n )\n }\n style={{ marginTop: 16, width: 200 }}\n >\n {locales.contactSupport}\n </Button>\n </CenterContainer>\n </ModalContent>\n );\n}\n\nfunction DepositAddressInfo({\n depAddr,\n refresh,\n triggerResize,\n}: {\n depAddr: DepositAddr;\n refresh: () => void;\n triggerResize: () => void;\n}) {\n const { isMobile } = useIsMobile();\n const { paymentState: payCtxState } = usePayContext();\n const daimo = useDaimoPay();\n const locales = useLocales();\n const [remainingS, totalS] = useCountdown(depAddr?.expirationS);\n const isExpired = depAddr?.expirationS != null && remainingS === 0;\n const [showQR, setShowQR] = useState(!isMobile);\n const pendingLeaveResolveRef = useRef<\n ((proceed: boolean) => void) | undefined\n >(undefined);\n const pendingLeaveMetaRef = useRef<\n { trpc: any; orderId?: string } | undefined\n >(undefined);\n const leavingInProgressRef = useRef(false);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(triggerResize, [isExpired, showQR]);\n\n // register a module-level handler so the guard can notify this mounted instance\n useEffect(() => {\n handleLeavePrompt = (detail: {\n trpc: any;\n orderId?: string;\n resolve: (proceed: boolean) => void;\n }) => {\n const isTron =\n payCtxState.selectedDepositAddressOption?.id ===\n DepositAddressPaymentOptions.TRON_USDT;\n\n if (!isTron) {\n detail.resolve(true);\n return;\n }\n const hasDepositAddress = !!depAddr?.address;\n if (!hasDepositAddress) {\n if (detail.orderId && detail.trpc) {\n // fire-and-forget: don’t block navigation while we cancel server-side\n detail.trpc.cancelDepositAddressForOrder\n .mutate({ orderId: detail.orderId })\n .then(() => {})\n .catch(() => {});\n }\n detail.resolve(true);\n return;\n }\n daimo.setWarning(\n \"Do you want to end your Tron TRC20 USDT address? Ending it will end your current session, and you’ll need to start a new one.\",\n );\n pendingLeaveMetaRef.current = {\n trpc: detail.trpc,\n orderId: detail.orderId,\n };\n pendingLeaveResolveRef.current = detail.resolve;\n leavingInProgressRef.current = false;\n };\n return () => {\n // clear on unmount\n handleLeavePrompt = undefined;\n };\n // keep handler fresh with latest values\n }, [depAddr?.address, payCtxState.selectedDepositAddressOption?.id, daimo]);\n\n const logoOffset = isMobile ? 4 : 0;\n const logoElement = depAddr.displayToken ? (\n <TokenChainLogo\n token={depAddr.displayToken}\n size={64}\n offset={logoOffset}\n />\n ) : (\n <img src={depAddr.logoURI} width=\"64px\" height=\"64px\" />\n );\n\n if (daimo.paymentState === \"warning\") {\n return (\n <Warning\n body={<>{daimo.paymentWarningMessage}</>}\n primaryLabel={locales.leaveConfirm_stay}\n secondaryLabel={locales.leaveConfirm_leave}\n onPrimary={() => {\n pendingLeaveResolveRef.current?.(false);\n pendingLeaveResolveRef.current = undefined;\n pendingLeaveMetaRef.current = undefined;\n leavingInProgressRef.current = false;\n daimo.dismissWarning();\n }}\n onSecondary={async () => {\n if (\n pendingLeaveMetaRef.current &&\n pendingLeaveMetaRef.current.orderId &&\n pendingLeaveMetaRef.current.trpc\n ) {\n // Fire-and-forget cancellation\n const meta = pendingLeaveMetaRef.current;\n meta.trpc.cancelDepositAddressForOrder\n .mutate({ orderId: meta.orderId })\n .then(() => {})\n .catch(() => {});\n }\n // Resolve first so navigation happens immediately; then clean up\n leavingInProgressRef.current = true;\n pendingLeaveResolveRef.current?.(true);\n pendingLeaveResolveRef.current = undefined;\n pendingLeaveMetaRef.current = undefined;\n // Let the modal dismiss the warning after navigation to avoid flashes\n }}\n />\n );\n }\n\n // Suppress rendering during programmatic navigation after ending session\n if (leavingInProgressRef.current) {\n return null;\n }\n\n return (\n <ModalContent>\n {isExpired ? (\n <LogoRow>\n <Button onClick={refresh} style={{ width: 128 }}>\n {locales.refresh}\n </Button>\n </LogoRow>\n ) : showQR ? (\n <QRWrap>\n <CustomQRCode\n value={depAddr?.uri}\n contentPadding={24}\n size={200}\n image={logoElement}\n />\n </QRWrap>\n ) : (\n <LogoRow>\n <LogoWrap>{logoElement}</LogoWrap>\n </LogoRow>\n )}\n <div style={{ height: 8 }} />\n {isMobile && <ShowHideQRRow showQR={showQR} setShowQR={setShowQR} />}\n <CopyableInfo depAddr={depAddr} remainingS={remainingS} totalS={totalS} />\n </ModalContent>\n );\n}\n\nfunction getDisplayToken(meta: DepositAddressPaymentOptionMetadata) {\n switch (meta.id) {\n case DepositAddressPaymentOptions.OP_MAINNET:\n return optimismUSDC;\n case DepositAddressPaymentOptions.ARBITRUM:\n return arbitrumUSDC;\n case DepositAddressPaymentOptions.BASE:\n return baseUSDC;\n case DepositAddressPaymentOptions.POLYGON:\n return polygonUSDC;\n case DepositAddressPaymentOptions.ETH_L1:\n return ethereumUSDC;\n default:\n return null;\n }\n}\n\nfunction ShowHideQRRow({\n showQR,\n setShowQR,\n}: {\n showQR: boolean;\n setShowQR: (showQR: boolean) => void;\n}) {\n const toggleQR = () => setShowQR(!showQR);\n const locales = useLocales();\n\n return (\n <ShowQRWrap>\n <CopyRow onClick={toggleQR}>\n <SmallText>{showQR ? locales.hideQR : locales.showQR}</SmallText>\n <div style={{ width: 8 }} />\n <ShowQRIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={1.5}\n stroke=\"#666\"\n className=\"size-6\"\n width={20}\n height={20}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z\"\n />\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z\"\n />\n </svg>\n </ShowQRIcon>\n </CopyRow>\n </ShowQRWrap>\n );\n}\n\nconst ShowQRWrap = styled.div`\n display: flex;\n justify-content: center;\n color: var(--ck-primary-button-color);\n`;\n\nconst ShowQRIcon = styled.div`\n width: 20px;\n`;\n\nconst LogoWrap = styled.div`\n position: relative;\n width: 64px;\n height: 64px;\n`;\n\nconst LogoRow = styled.div`\n padding: 32px 0;\n height: 128px;\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: center;\n`;\n\nconst QRWrap = styled.div`\n margin: 0 auto;\n width: 280px;\n`;\n\nfunction CopyableInfo({\n depAddr,\n remainingS,\n totalS,\n}: {\n depAddr?: DepositAddr;\n remainingS: number;\n totalS: number;\n}) {\n const underpayment = depAddr?.underpayment;\n const isExpired = depAddr?.expirationS != null && remainingS === 0;\n const locales = useLocales();\n return (\n <CopyableInfoWrapper>\n {underpayment && <UnderpaymentInfo underpayment={underpayment} />}\n <CopyRowOrThrobber\n title={locales.sendExactly}\n value={depAddr?.amount}\n smallText={depAddr?.coins}\n disabled={isExpired}\n />\n <CopyRowOrThrobber\n title={locales.receivingAddress}\n value={depAddr?.address}\n valueText={depAddr?.address && getAddressContraction(depAddr.address)}\n disabled={isExpired}\n />\n <CountdownWrap>\n <CountdownTimer remainingS={remainingS} totalS={totalS} />\n </CountdownWrap>\n </CopyableInfoWrapper>\n );\n}\n\nfunction UnderpaymentInfo({ underpayment }: { underpayment: Underpayment }) {\n // Default message\n return (\n <UnderpaymentWrapper>\n <UnderpaymentHeader>\n <WarningIcon />\n <span>\n Received {underpayment.unitsPaid} {underpayment.coin}\n </span>\n </UnderpaymentHeader>\n <SmallText>Finish by sending the extra amount below.</SmallText>\n </UnderpaymentWrapper>\n );\n}\n\nconst UnderpaymentWrapper = styled.div`\n background: var(--ck-body-background-tertiary);\n border-radius: 8px;\n padding: 16px;\n margin: 0 4px 16px 4px;\n margin-bottom: 16px;\n`;\n\nconst UnderpaymentHeader = styled.div`\n font-weight: 500;\n display: flex;\n justify-content: center;\n align-items: flex-end;\n gap: 8px;\n margin-bottom: 8px;\n`;\n\nconst CopyableInfoWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n gap: 0;\n`;\n\nconst CountdownWrap = styled.div`\n margin-top: 24px;\n height: 16px;\n`;\n\nconst FailIcon = styled(AlertIcon)`\n color: var(--ck-body-color-alert);\n width: 32px;\n height: 32px;\n margin-top: auto;\n margin-bottom: 16px;\n`;\n\nfunction useCountdown(expirationS?: number) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const initMs = useMemo(() => Date.now(), [expirationS]);\n const [ms, setMs] = useState(initMs);\n\n useEffect(() => {\n const interval = setInterval(() => setMs(Date.now()), 1000);\n return () => clearInterval(interval);\n }, []);\n\n if (expirationS == null) return [0, 0];\n\n const remainingS = Math.max(0, (expirationS - ms / 1000) | 0);\n const totalS = Math.max(0, (expirationS - initMs / 1000) | 0);\n return [remainingS, totalS];\n}\n\nfunction CountdownTimer({\n remainingS,\n totalS,\n}: {\n remainingS: number;\n totalS: number;\n}) {\n const locales = useLocales();\n if (totalS == 0 || remainingS > 3600) {\n return <SmallText>{locales.sendOnlyOnce}</SmallText>;\n }\n const isExpired = remainingS === 0;\n\n return (\n <ModalBody>\n <CountdownRow>\n <CircleTimer\n total={totalS}\n currentTime={remainingS}\n size={18}\n stroke={3}\n />\n <strong>{isExpired ? \"Expired\" : formatTime(remainingS)}</strong>\n </CountdownRow>\n </ModalBody>\n );\n}\n\nconst CountdownRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-variant-numeric: tabular-nums;\n`;\n\nconst formatTime = (sec: number) => {\n const m = `${Math.floor(sec / 60)}`.padStart(2, \"0\");\n const s = `${sec % 60}`.padStart(2, \"0\");\n return `${m}:${s}`;\n};\n\nfunction DepositFailed({ name }: { name: string }) {\n return (\n <ModalContent style={{ marginLeft: 24, marginRight: 24 }}>\n <ModalH1>{name} unavailable</ModalH1>\n <ModalBody>\n We&apos;re unable to process {name} payments at this time. Please select\n another payment method.\n </ModalBody>\n <SelectAnotherMethodButton />\n </ModalContent>\n );\n}\n\nconst CopyRow = styled.button`\n display: block;\n height: 64px;\n border-radius: 8px;\n padding: 8px 16px;\n\n cursor: pointer;\n background-color: var(--ck-body-background);\n background-color: var(--ck-body-background);\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n transition: all 100ms ease;\n\n &:hover {\n opacity: 0.8;\n }\n\n &:active {\n transform: scale(0.98);\n background-color: var(--ck-body-background-secondary);\n }\n\n &:disabled {\n cursor: default;\n opacity: 0.5;\n transform: scale(0.98);\n background-color: var(--ck-body-background-secondary);\n }\n`;\n\nconst LabelRow = styled.div`\n margin-bottom: 4px;\n`;\n\nconst MainRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst ValueContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nconst SmallText = styled.span`\n font-size: 14px;\n color: var(--ck-primary-button-color);\n`;\n\nconst ValueText = styled.span`\n font-size: 14px;\n font-weight: 600;\n color: var(--ck-primary-button-color);\n`;\n\nconst LabelText = styled(ModalBody)`\n margin: 0;\n text-align: left;\n`;\n\nconst pulse = keyframes`\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.6;\n }\n`;\n\nconst Skeleton = styled.div`\n width: 80px;\n height: 16px;\n border-radius: 8px;\n background-color: rgba(0, 0, 0, 0.1);\n animation: ${pulse} 1.5s ease-in-out infinite;\n`;\n\nfunction CopyRowOrThrobber({\n title,\n value,\n valueText,\n smallText,\n disabled,\n}: {\n title: string;\n value?: string;\n valueText?: string;\n smallText?: string;\n disabled?: boolean;\n}) {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n if (disabled) return;\n if (!value) return;\n const str = value.trim();\n if (navigator.clipboard) {\n navigator.clipboard.writeText(str);\n }\n setCopied(true);\n setTimeout(() => setCopied(false), 1000);\n };\n\n if (!value) {\n return (\n <CopyRow>\n <LabelRow>\n <LabelText>{title}</LabelText>\n </LabelRow>\n <MainRow>\n <Skeleton />\n </MainRow>\n </CopyRow>\n );\n }\n\n const displayValue = valueText || value;\n\n return (\n <CopyRow as=\"button\" onClick={handleCopy} disabled={disabled}>\n <div>\n <LabelRow>\n <LabelText>{title}</LabelText>\n </LabelRow>\n <MainRow>\n <ValueContainer>\n <ValueText>{displayValue}</ValueText>\n {smallText && <SmallText>{smallText}</SmallText>}\n </ValueContainer>\n </MainRow>\n </div>\n <CopyIconWrap>\n <CopyToClipboardIcon copied={copied} dark />\n </CopyIconWrap>\n </CopyRow>\n );\n}\n\nconst CopyIconWrap = styled.div`\n --color: var(--ck-copytoclipboard-stroke);\n --bg: var(--ck-body-background);\n`;\n\n// Leave guard that cancels the Untron order if user confirms\nexport async function beforeLeave(\n trpc: any,\n orderId?: string,\n): Promise<boolean> {\n return new Promise((resolve) => {\n if (handleLeavePrompt) {\n handleLeavePrompt({ trpc, orderId, resolve });\n } else {\n resolve(true);\n }\n });\n}\n"],"names":["Warning"],"mappings":"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"}