@daimo/pay 1.18.2 → 1.19.0
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.
- package/build/connectkit/package.json.js +117 -0
- package/build/connectkit/package.json.js.map +1 -0
- package/build/connectkit/src/assets/MobileWithLogos.js +329 -0
- package/build/connectkit/src/assets/MobileWithLogos.js.map +1 -0
- package/build/connectkit/src/assets/ScanIconWithLogos.js +243 -0
- package/build/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
- package/build/connectkit/src/assets/browsers.js +969 -0
- package/build/connectkit/src/assets/browsers.js.map +1 -0
- package/build/connectkit/src/assets/chains.js +648 -0
- package/build/connectkit/src/assets/chains.js.map +1 -0
- package/build/connectkit/src/assets/coins.js +43 -0
- package/build/connectkit/src/assets/coins.js.map +1 -0
- package/build/connectkit/src/assets/icons.js +273 -0
- package/build/connectkit/src/assets/icons.js.map +1 -0
- package/build/connectkit/src/assets/logos.js +1620 -0
- package/build/connectkit/src/assets/logos.js.map +1 -0
- package/build/connectkit/src/assets/wave.js +46 -0
- package/build/connectkit/src/assets/wave.js.map +1 -0
- package/build/connectkit/src/components/Common/Alert/index.js +13 -0
- package/build/connectkit/src/components/Common/Alert/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Alert/styles.js +55 -0
- package/build/connectkit/src/components/Common/Alert/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
- package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
- package/build/connectkit/src/components/Common/AmountInput/index.js +159 -0
- package/build/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Avatar/index.js +78 -0
- package/build/connectkit/src/components/Common/Avatar/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Avatar/styles.js +54 -0
- package/build/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
- package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
- package/build/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
- package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/Button/index.js +144 -0
- package/build/connectkit/src/components/Common/Button/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Button/styles.js +287 -0
- package/build/connectkit/src/components/Common/Button/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/Chain/index.js +141 -0
- package/build/connectkit/src/components/Common/Chain/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Chain/styles.js +90 -0
- package/build/connectkit/src/components/Common/Chain/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
- package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
- package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/CircleTimer.js +92 -0
- package/build/connectkit/src/components/Common/CircleTimer.js.map +1 -0
- package/build/connectkit/src/components/Common/ConnectorList/index.js +120 -0
- package/build/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
- package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/index.js +33 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +1 -0
- package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +128 -0
- package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
- package/build/connectkit/src/components/Common/CustomQRCode/index.js +71 -0
- package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
- package/build/connectkit/src/components/Common/CustomQRCode/styles.js +139 -0
- package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/FitText/index.js +34 -0
- package/build/connectkit/src/components/Common/FitText/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Modal/index.js +523 -0
- package/build/connectkit/src/components/Common/Modal/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Modal/styles.js +665 -0
- package/build/connectkit/src/components/Common/Modal/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/OptionsList/index.js +145 -0
- package/build/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
- package/build/connectkit/src/components/Common/OptionsList/styles.js +138 -0
- package/build/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/OrderHeader/index.js +192 -0
- package/build/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
- package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
- package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Portal/index.js +30 -0
- package/build/connectkit/src/components/Common/Portal/index.js.map +1 -0
- package/build/connectkit/src/components/Common/PoweredByFooter/index.js +66 -0
- package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ScrollArea/index.js +120 -0
- package/build/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
- package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
- package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Spinner/index.js +64 -0
- package/build/connectkit/src/components/Common/Spinner/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Spinner/styles.js +22 -0
- package/build/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/SwitchButton/index.js +43 -0
- package/build/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ThemedButton/index.js +46 -0
- package/build/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
- package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
- package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Tooltip/index.js +129 -0
- package/build/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Tooltip/styles.js +81 -0
- package/build/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
- package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayButton/index.js +197 -0
- package/build/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayButton/styles.js +50 -0
- package/build/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +68 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +335 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +99 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/index.js +462 -0
- package/build/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
- package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
- package/build/connectkit/src/components/Pages/About/graphics.js +853 -0
- package/build/connectkit/src/components/Pages/About/graphics.js.map +1 -0
- package/build/connectkit/src/components/Pages/About/index.js +222 -0
- package/build/connectkit/src/components/Pages/About/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/About/styles.js +140 -0
- package/build/connectkit/src/components/Pages/About/styles.js.map +1 -0
- package/build/connectkit/src/components/Pages/Confirmation/index.js +128 -0
- package/build/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Connectors/index.js +28 -0
- package/build/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/DownloadApp/index.js +35 -0
- package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Error/index.js +57 -0
- package/build/connectkit/src/components/Pages/Error/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/index.js +65 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
- package/build/connectkit/src/components/Pages/Onboarding/index.js +34 -0
- package/build/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
- package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
- package/build/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
- package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
- package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +72 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectExchange/index.js +41 -0
- package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
- package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectMethod/index.js +230 -0
- package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectToken/index.js +97 -0
- package/build/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +66 -0
- package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
- package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
- package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
- package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
- package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
- package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
- package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +503 -0
- package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/WaitingExternal/index.js +89 -0
- package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
- package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
- package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
- package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/styles.js +32 -0
- package/build/connectkit/src/components/Spinners/styles.js.map +1 -0
- package/build/connectkit/src/constants/defaultTheme.js +6 -0
- package/build/connectkit/src/constants/defaultTheme.js.map +1 -0
- package/build/connectkit/src/constants/routes.js +32 -0
- package/build/connectkit/src/constants/routes.js.map +1 -0
- package/build/connectkit/src/defaultConfig.js +63 -0
- package/build/connectkit/src/defaultConfig.js.map +1 -0
- package/build/connectkit/src/defaultConnectors.js +37 -0
- package/build/connectkit/src/defaultConnectors.js.map +1 -0
- package/build/connectkit/src/hooks/useChainIsSupported.js +10 -0
- package/build/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
- package/build/connectkit/src/hooks/useChains.js +10 -0
- package/build/connectkit/src/hooks/useChains.js.map +1 -0
- package/build/connectkit/src/hooks/useConnect.js +61 -0
- package/build/connectkit/src/hooks/useConnect.js.map +1 -0
- package/build/connectkit/src/hooks/useConnectCallback.js +21 -0
- package/build/connectkit/src/hooks/useConnectCallback.js.map +1 -0
- package/build/connectkit/src/hooks/useConnectors.js +9 -0
- package/build/connectkit/src/hooks/useConnectors.js.map +1 -0
- package/build/connectkit/src/hooks/useDaimoPay.js +107 -0
- package/build/connectkit/src/hooks/useDaimoPay.js.map +1 -0
- package/build/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
- package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
- package/build/connectkit/src/hooks/useDaimoPayUI.js +15 -0
- package/build/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
- package/build/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
- package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
- package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
- package/build/connectkit/src/hooks/useExternalPaymentOptions.js +64 -0
- package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useFitText.js +133 -0
- package/build/connectkit/src/hooks/useFitText.js.map +1 -0
- package/build/connectkit/src/hooks/useFocusTrap.js +53 -0
- package/build/connectkit/src/hooks/useFocusTrap.js.map +1 -0
- package/build/connectkit/src/hooks/useIsMobile.js +11 -0
- package/build/connectkit/src/hooks/useIsMobile.js.map +1 -0
- package/build/connectkit/src/hooks/useIsMounted.js +10 -0
- package/build/connectkit/src/hooks/useIsMounted.js.map +1 -0
- package/build/connectkit/src/hooks/useLastConnector.js +24 -0
- package/build/connectkit/src/hooks/useLastConnector.js.map +1 -0
- package/build/connectkit/src/hooks/useLocales.js +60 -0
- package/build/connectkit/src/hooks/useLocales.js.map +1 -0
- package/build/connectkit/src/hooks/useLockBodyScroll.js +47 -0
- package/build/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
- package/build/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
- package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
- package/build/connectkit/src/hooks/usePayContext.js +11 -0
- package/build/connectkit/src/hooks/usePayContext.js.map +1 -0
- package/build/connectkit/src/hooks/usePaymentState.js +376 -0
- package/build/connectkit/src/hooks/usePaymentState.js.map +1 -0
- package/build/connectkit/src/hooks/usePrevious.js +13 -0
- package/build/connectkit/src/hooks/usePrevious.js.map +1 -0
- package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +40 -0
- package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useTokenOptions.js +152 -0
- package/build/connectkit/src/hooks/useTokenOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useUntronAvailability.js +32 -0
- package/build/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
- package/build/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
- package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useWindowSize.js +23 -0
- package/build/connectkit/src/hooks/useWindowSize.js.map +1 -0
- package/build/connectkit/src/index.js +14 -0
- package/build/connectkit/src/index.js.map +1 -0
- package/build/connectkit/src/localizations/index.js +48 -0
- package/build/connectkit/src/localizations/index.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ar-AE.js +95 -0
- package/build/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ca-AD.js +93 -0
- package/build/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ee-EE.js +101 -0
- package/build/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
- package/build/connectkit/src/localizations/locales/en-US.js +139 -0
- package/build/connectkit/src/localizations/locales/en-US.js.map +1 -0
- package/build/connectkit/src/localizations/locales/es-ES.js +131 -0
- package/build/connectkit/src/localizations/locales/es-ES.js.map +1 -0
- package/build/connectkit/src/localizations/locales/fa-IR.js +93 -0
- package/build/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/fr-FR.js +93 -0
- package/build/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ja-JP.js +93 -0
- package/build/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
- package/build/connectkit/src/localizations/locales/pt-BR.js +101 -0
- package/build/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ru-RU.js +97 -0
- package/build/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
- package/build/connectkit/src/localizations/locales/tr-TR.js +101 -0
- package/build/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/vi-VN.js +101 -0
- package/build/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
- package/build/connectkit/src/localizations/locales/zh-CN.js +93 -0
- package/build/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
- package/build/connectkit/src/payment/paymentEffects.js +269 -0
- package/build/connectkit/src/payment/paymentEffects.js.map +1 -0
- package/build/connectkit/src/payment/paymentFsm.js +194 -0
- package/build/connectkit/src/payment/paymentFsm.js.map +1 -0
- package/build/connectkit/src/payment/paymentStore.js +18 -0
- package/build/connectkit/src/payment/paymentStore.js.map +1 -0
- package/build/connectkit/src/payment/paymentUtils.js +10 -0
- package/build/connectkit/src/payment/paymentUtils.js.map +1 -0
- package/build/connectkit/src/provider/DaimoPayProvider.js +293 -0
- package/build/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
- package/build/connectkit/src/provider/PayContext.js +6 -0
- package/build/connectkit/src/provider/PayContext.js.map +1 -0
- package/build/connectkit/src/provider/PaymentProvider.js +29 -0
- package/build/connectkit/src/provider/PaymentProvider.js.map +1 -0
- package/build/connectkit/src/provider/SolanaContextProvider.js +14 -0
- package/build/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
- package/build/connectkit/src/provider/Web3ContextProvider.js +36 -0
- package/build/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
- package/build/connectkit/src/stateStore.js +36 -0
- package/build/connectkit/src/stateStore.js.map +1 -0
- package/build/connectkit/src/styles/defaultTheme.js +80 -0
- package/build/connectkit/src/styles/defaultTheme.js.map +1 -0
- package/build/connectkit/src/styles/index.js +313 -0
- package/build/connectkit/src/styles/index.js.map +1 -0
- package/build/connectkit/src/styles/styled/index.js +6 -0
- package/build/connectkit/src/styles/styled/index.js.map +1 -0
- package/build/connectkit/src/styles/themes/base.js +141 -0
- package/build/connectkit/src/styles/themes/base.js.map +1 -0
- package/build/connectkit/src/styles/themes/index.js +13 -0
- package/build/connectkit/src/styles/themes/index.js.map +1 -0
- package/build/connectkit/src/styles/themes/midnight.js +76 -0
- package/build/connectkit/src/styles/themes/midnight.js.map +1 -0
- package/build/connectkit/src/styles/themes/minimal.js +96 -0
- package/build/connectkit/src/styles/themes/minimal.js.map +1 -0
- package/build/connectkit/src/styles/themes/nouns.js +81 -0
- package/build/connectkit/src/styles/themes/nouns.js.map +1 -0
- package/build/connectkit/src/styles/themes/retro.js +106 -0
- package/build/connectkit/src/styles/themes/retro.js.map +1 -0
- package/build/connectkit/src/styles/themes/rounded.js +106 -0
- package/build/connectkit/src/styles/themes/rounded.js.map +1 -0
- package/build/connectkit/src/styles/themes/soft.js +71 -0
- package/build/connectkit/src/styles/themes/soft.js.map +1 -0
- package/build/connectkit/src/styles/themes/web95.js +132 -0
- package/build/connectkit/src/styles/themes/web95.js.map +1 -0
- package/build/connectkit/src/utils/exports.js +6 -0
- package/build/connectkit/src/utils/exports.js.map +1 -0
- package/build/connectkit/src/utils/format.js +45 -0
- package/build/connectkit/src/utils/format.js.map +1 -0
- package/build/connectkit/src/utils/index.js +42 -0
- package/build/connectkit/src/utils/index.js.map +1 -0
- package/build/connectkit/src/utils/p3.js +15 -0
- package/build/connectkit/src/utils/p3.js.map +1 -0
- package/build/connectkit/src/utils/platform.js +11 -0
- package/build/connectkit/src/utils/platform.js.map +1 -0
- package/build/connectkit/src/utils/polling.js +35 -0
- package/build/connectkit/src/utils/polling.js.map +1 -0
- package/build/connectkit/src/utils/supportUrl.js +16 -0
- package/build/connectkit/src/utils/supportUrl.js.map +1 -0
- package/build/connectkit/src/utils/trpc.js +19 -0
- package/build/connectkit/src/utils/trpc.js.map +1 -0
- package/build/connectkit/src/utils/validateInput.js +16 -0
- package/build/connectkit/src/utils/validateInput.js.map +1 -0
- package/build/connectkit/src/wallets/index.js +21 -0
- package/build/connectkit/src/wallets/index.js.map +1 -0
- package/build/connectkit/src/wallets/useWallets.js +207 -0
- package/build/connectkit/src/wallets/useWallets.js.map +1 -0
- package/build/connectkit/src/wallets/walletConfigs.js +277 -0
- package/build/connectkit/src/wallets/walletConfigs.js.map +1 -0
- package/build/connectkit/src/world-mini-app/WorldPayButton.js +148 -0
- package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
- package/build/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
- package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
- package/build/connectkit/src/world.js +2 -0
- package/build/connectkit/src/world.js.map +1 -0
- package/build/index.d.ts +23 -28
- package/build/package.json.js +2 -2
- package/build/pay-common/src/chain.js +9 -0
- package/build/pay-common/src/chain.js.map +1 -0
- package/build/src/assets/chains.js +18 -52
- package/build/src/assets/chains.js.map +1 -1
- package/build/src/assets/coins.js +43 -0
- package/build/src/assets/coins.js.map +1 -0
- package/build/src/assets/logos.js +76 -2
- package/build/src/assets/logos.js.map +1 -1
- package/build/src/components/Common/ConnectorList/index.js +21 -20
- package/build/src/components/Common/ConnectorList/index.js.map +1 -1
- package/build/src/components/Common/CopyToClipboard/index.js +33 -0
- package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
- package/build/src/components/Common/Modal/index.js +31 -8
- package/build/src/components/Common/Modal/index.js.map +1 -1
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +4 -4
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/index.js +1 -2
- package/build/src/components/DaimoPayButton/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectUsing.js +8 -6
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +13 -9
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +17 -23
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
- package/build/src/components/DaimoPayModal/index.js +120 -41
- package/build/src/components/DaimoPayModal/index.js.map +1 -1
- package/build/src/components/Pages/Connectors/index.js +0 -2
- package/build/src/components/Pages/Connectors/index.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/index.js +62 -17
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +9 -2
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
- package/build/src/components/Pages/SelectExchange/index.js +3 -2
- package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js +106 -25
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/SelectWalletAmount/index.js +11 -6
- package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
- package/build/src/components/Pages/WaitingExternal/index.js +88 -3
- package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
- package/build/src/constants/limits.js +4 -0
- package/build/src/constants/limits.js.map +1 -0
- package/build/src/constants/paymentOptions.js +61 -0
- package/build/src/constants/paymentOptions.js.map +1 -0
- package/build/src/constants/routes.js +0 -1
- package/build/src/constants/routes.js.map +1 -1
- package/build/src/constants/wallets.js +7 -0
- package/build/src/constants/wallets.js.map +1 -0
- package/build/src/hooks/useExternalPaymentOptions.js +19 -4
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +41 -6
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/localizations/locales/en-US.js +4 -1
- package/build/src/localizations/locales/en-US.js.map +1 -1
- package/build/src/localizations/locales/es-ES.js +4 -1
- package/build/src/localizations/locales/es-ES.js.map +1 -1
- package/build/src/localizations/locales/pt-BR.js +4 -1
- package/build/src/localizations/locales/pt-BR.js.map +1 -1
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/wallets/useWallets.js +81 -8
- package/build/src/wallets/useWallets.js.map +1 -1
- package/build/src/wallets/walletConfigs.js +65 -76
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/build/src/world.js +1 -0
- package/build/src/world.js.map +1 -1
- package/build/types-20835014.d.ts +68 -0
- package/build/world.d.ts +8 -1
- package/package.json +2 -2
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { motion } from 'framer-motion';
|
|
2
|
+
import { keyframes } from 'styled-components';
|
|
3
|
+
import defaultTheme from '../../../constants/defaultTheme.js';
|
|
4
|
+
import styled from '../../../styles/styled/index.js';
|
|
5
|
+
|
|
6
|
+
const Graphic = styled(motion.div)`
|
|
7
|
+
position: relative;
|
|
8
|
+
margin: 16px auto 20px;
|
|
9
|
+
height: 190px;
|
|
10
|
+
max-width: 295px;
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
user-select: none;
|
|
13
|
+
@media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
|
|
14
|
+
height: 200px;
|
|
15
|
+
max-width: 100%;
|
|
16
|
+
margin-bottom: 32px;
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
const LogoGroup = styled(motion.div)`
|
|
20
|
+
position: absolute;
|
|
21
|
+
inset: 0;
|
|
22
|
+
z-index: 2;
|
|
23
|
+
`;
|
|
24
|
+
const graphicIn = keyframes`
|
|
25
|
+
0%{
|
|
26
|
+
opacity:0;
|
|
27
|
+
transform:scale(0.9);
|
|
28
|
+
}
|
|
29
|
+
100%{
|
|
30
|
+
opacity:1;
|
|
31
|
+
transform:none;
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
const GraphicBackground = styled(motion.div)`
|
|
35
|
+
z-index: 1;
|
|
36
|
+
position: absolute;
|
|
37
|
+
inset: 0;
|
|
38
|
+
top: -2px;
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
&:before {
|
|
41
|
+
content: "";
|
|
42
|
+
position: absolute;
|
|
43
|
+
inset: 0;
|
|
44
|
+
background: var(--ck-body-background);
|
|
45
|
+
background: radial-gradient(
|
|
46
|
+
closest-side,
|
|
47
|
+
var(--ck-body-background-transparent, transparent) 18.75%,
|
|
48
|
+
var(--ck-body-background) 100%
|
|
49
|
+
);
|
|
50
|
+
background-size: 100%;
|
|
51
|
+
}
|
|
52
|
+
svg {
|
|
53
|
+
display: block;
|
|
54
|
+
width: 100%;
|
|
55
|
+
height: auto;
|
|
56
|
+
}
|
|
57
|
+
animation: ${graphicIn} 1000ms 100ms ease both;
|
|
58
|
+
// @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
|
|
59
|
+
// animation: none;
|
|
60
|
+
// }
|
|
61
|
+
`;
|
|
62
|
+
const logoIn = keyframes`
|
|
63
|
+
0%{
|
|
64
|
+
opacity:0;
|
|
65
|
+
transform:scale(0) translateY(40%);
|
|
66
|
+
}
|
|
67
|
+
100%{
|
|
68
|
+
opacity:1;
|
|
69
|
+
transform:none;
|
|
70
|
+
}
|
|
71
|
+
`;
|
|
72
|
+
const LogoPosition = styled(motion.div)`
|
|
73
|
+
position: absolute;
|
|
74
|
+
inset: 0;
|
|
75
|
+
animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;
|
|
76
|
+
animation-delay: inherit;
|
|
77
|
+
`;
|
|
78
|
+
const LogoInner = styled(motion.div)`
|
|
79
|
+
position: absolute;
|
|
80
|
+
`;
|
|
81
|
+
const LogoGraphic = styled(motion.div)`
|
|
82
|
+
position: relative;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
height: 58px;
|
|
85
|
+
width: 58px;
|
|
86
|
+
border-radius: 13.84px;
|
|
87
|
+
box-shadow:
|
|
88
|
+
0 0 0 1px rgba(0, 0, 0, 0.05),
|
|
89
|
+
0 2px 20px 0 rgba(0, 0, 0, 0.03);
|
|
90
|
+
|
|
91
|
+
svg {
|
|
92
|
+
display: block;
|
|
93
|
+
width: 100%;
|
|
94
|
+
height: 100%;
|
|
95
|
+
}
|
|
96
|
+
`;
|
|
97
|
+
const float = keyframes`
|
|
98
|
+
0%,100%{ transform:none; }
|
|
99
|
+
50%{ transform: translateY(-10%) }
|
|
100
|
+
`;
|
|
101
|
+
const FloatWrapper = styled(motion.div)`
|
|
102
|
+
position: relative;
|
|
103
|
+
animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;
|
|
104
|
+
animation-name: ${float};
|
|
105
|
+
animation-duration: 3600ms;
|
|
106
|
+
`;
|
|
107
|
+
const rotate = keyframes`
|
|
108
|
+
0%,100%{ transform:rotate(-3deg); }
|
|
109
|
+
50%{ transform:rotate(3deg); }
|
|
110
|
+
`;
|
|
111
|
+
const RotateWrapper = styled(motion.div)`
|
|
112
|
+
position: relative;
|
|
113
|
+
animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;
|
|
114
|
+
animation-name: ${rotate};
|
|
115
|
+
animation-duration: 3200ms;
|
|
116
|
+
`;
|
|
117
|
+
const Logo = styled(motion.div)`
|
|
118
|
+
position: absolute;
|
|
119
|
+
inset: 0;
|
|
120
|
+
|
|
121
|
+
animation: ${logoIn} 750ms cubic-bezier(0.19, 1, 0.22, 1) both;
|
|
122
|
+
&:nth-child(1) {
|
|
123
|
+
z-index: 2;
|
|
124
|
+
animation-delay: 0ms;
|
|
125
|
+
}
|
|
126
|
+
&:nth-child(2) {
|
|
127
|
+
z-index: 1;
|
|
128
|
+
animation-delay: 60ms;
|
|
129
|
+
}
|
|
130
|
+
&:nth-child(3) {
|
|
131
|
+
z-index: 1;
|
|
132
|
+
animation-delay: 30ms;
|
|
133
|
+
}
|
|
134
|
+
&:nth-child(4) {
|
|
135
|
+
z-index: 1;
|
|
136
|
+
animation-delay: 90ms;
|
|
137
|
+
}
|
|
138
|
+
&:nth-child(5) {
|
|
139
|
+
z-index: 1;
|
|
140
|
+
animation-delay: 120ms;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
&:nth-child(1) {
|
|
144
|
+
${RotateWrapper} {
|
|
145
|
+
animation-delay: 0ms;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
&:nth-child(2) {
|
|
149
|
+
${RotateWrapper} {
|
|
150
|
+
animation-delay: -600ms;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
&:nth-child(3) {
|
|
154
|
+
${RotateWrapper} {
|
|
155
|
+
animation-delay: -1200ms;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
&:nth-child(4) {
|
|
159
|
+
${RotateWrapper} {
|
|
160
|
+
animation-delay: -1800ms;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
&:nth-child(5) {
|
|
164
|
+
${RotateWrapper} {
|
|
165
|
+
animation-delay: -2400ms;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
&:nth-child(1) {
|
|
170
|
+
${FloatWrapper} {
|
|
171
|
+
animation-delay: -200ms;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
&:nth-child(2) {
|
|
175
|
+
${FloatWrapper} {
|
|
176
|
+
animation-delay: -600ms;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
&:nth-child(3) {
|
|
180
|
+
${FloatWrapper} {
|
|
181
|
+
animation-delay: -800ms;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
&:nth-child(4) {
|
|
185
|
+
${FloatWrapper} {
|
|
186
|
+
animation-delay: -300ms;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
&:nth-child(5) {
|
|
190
|
+
${FloatWrapper} {
|
|
191
|
+
animation-delay: -3200ms;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
|
|
196
|
+
// animation: none !important;
|
|
197
|
+
// ${RotateWrapper},${FloatWrapper} {
|
|
198
|
+
// animation: none !important;
|
|
199
|
+
// }
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
${LogoInner} {
|
|
203
|
+
transform: translate(-50%, -50%);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
&:nth-child(1) ${LogoPosition} {
|
|
207
|
+
transform: translate(50%, 50%);
|
|
208
|
+
${LogoGraphic} {
|
|
209
|
+
border-radius: 17.2px;
|
|
210
|
+
width: 72px;
|
|
211
|
+
height: 72px;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
&:nth-child(2) ${LogoPosition} {
|
|
215
|
+
transform: translate(21%, 21.5%);
|
|
216
|
+
}
|
|
217
|
+
&:nth-child(3) ${LogoPosition} {
|
|
218
|
+
transform: translate(78%, 14%);
|
|
219
|
+
}
|
|
220
|
+
&:nth-child(4) ${LogoPosition} {
|
|
221
|
+
transform: translate(22.5%, 76%);
|
|
222
|
+
}
|
|
223
|
+
&:nth-child(5) ${LogoPosition} {
|
|
224
|
+
transform: translate(76%, 80%);
|
|
225
|
+
}
|
|
226
|
+
`;
|
|
227
|
+
|
|
228
|
+
export { FloatWrapper, Graphic, GraphicBackground, Logo, LogoGraphic, LogoGroup, LogoInner, LogoPosition, RotateWrapper };
|
|
229
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../src/components/Pages/Onboarding/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { keyframes } from \"styled-components\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport styled from \"./../../../styles/styled\";\n\nexport const Graphic = styled(motion.div)`\n position: relative;\n margin: 16px auto 20px;\n height: 190px;\n max-width: 295px;\n pointer-events: none;\n user-select: none;\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n height: 200px;\n max-width: 100%;\n margin-bottom: 32px;\n }\n`;\nexport const LogoGroup = styled(motion.div)`\n position: absolute;\n inset: 0;\n z-index: 2;\n`;\nconst graphicIn = keyframes`\n 0%{\n opacity:0;\n transform:scale(0.9);\n }\n 100%{\n opacity:1;\n transform:none;\n }\n`;\nexport const GraphicBackground = styled(motion.div)`\n z-index: 1;\n position: absolute;\n inset: 0;\n top: -2px;\n overflow: hidden;\n &:before {\n content: \"\";\n position: absolute;\n inset: 0;\n background: var(--ck-body-background);\n background: radial-gradient(\n closest-side,\n var(--ck-body-background-transparent, transparent) 18.75%,\n var(--ck-body-background) 100%\n );\n background-size: 100%;\n }\n svg {\n display: block;\n width: 100%;\n height: auto;\n }\n animation: ${graphicIn} 1000ms 100ms ease both;\n // @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n // animation: none;\n // }\n`;\n\nconst logoIn = keyframes`\n 0%{\n opacity:0;\n transform:scale(0) translateY(40%);\n }\n 100%{\n opacity:1;\n transform:none;\n }\n`;\nexport const LogoPosition = styled(motion.div)`\n position: absolute;\n inset: 0;\n animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;\n animation-delay: inherit;\n`;\nexport const LogoInner = styled(motion.div)`\n position: absolute;\n`;\nexport const LogoGraphic = styled(motion.div)`\n position: relative;\n overflow: hidden;\n height: 58px;\n width: 58px;\n border-radius: 13.84px;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.05),\n 0 2px 20px 0 rgba(0, 0, 0, 0.03);\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\nconst float = keyframes`\n 0%,100%{ transform:none; }\n 50%{ transform: translateY(-10%) }\n`;\nexport const FloatWrapper = styled(motion.div)`\n position: relative;\n animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;\n animation-name: ${float};\n animation-duration: 3600ms;\n`;\nconst rotate = keyframes`\n 0%,100%{ transform:rotate(-3deg); }\n 50%{ transform:rotate(3deg); }\n`;\nexport const RotateWrapper = styled(motion.div)`\n position: relative;\n animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;\n animation-name: ${rotate};\n animation-duration: 3200ms;\n`;\nexport const Logo = styled(motion.div)`\n position: absolute;\n inset: 0;\n\n animation: ${logoIn} 750ms cubic-bezier(0.19, 1, 0.22, 1) both;\n &:nth-child(1) {\n z-index: 2;\n animation-delay: 0ms;\n }\n &:nth-child(2) {\n z-index: 1;\n animation-delay: 60ms;\n }\n &:nth-child(3) {\n z-index: 1;\n animation-delay: 30ms;\n }\n &:nth-child(4) {\n z-index: 1;\n animation-delay: 90ms;\n }\n &:nth-child(5) {\n z-index: 1;\n animation-delay: 120ms;\n }\n\n &:nth-child(1) {\n ${RotateWrapper} {\n animation-delay: 0ms;\n }\n }\n &:nth-child(2) {\n ${RotateWrapper} {\n animation-delay: -600ms;\n }\n }\n &:nth-child(3) {\n ${RotateWrapper} {\n animation-delay: -1200ms;\n }\n }\n &:nth-child(4) {\n ${RotateWrapper} {\n animation-delay: -1800ms;\n }\n }\n &:nth-child(5) {\n ${RotateWrapper} {\n animation-delay: -2400ms;\n }\n }\n\n &:nth-child(1) {\n ${FloatWrapper} {\n animation-delay: -200ms;\n }\n }\n &:nth-child(2) {\n ${FloatWrapper} {\n animation-delay: -600ms;\n }\n }\n &:nth-child(3) {\n ${FloatWrapper} {\n animation-delay: -800ms;\n }\n }\n &:nth-child(4) {\n ${FloatWrapper} {\n animation-delay: -300ms;\n }\n }\n &:nth-child(5) {\n ${FloatWrapper} {\n animation-delay: -3200ms;\n }\n }\n\n // @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n // animation: none !important;\n // ${RotateWrapper},${FloatWrapper} {\n // animation: none !important;\n // }\n }\n\n ${LogoInner} {\n transform: translate(-50%, -50%);\n }\n\n &:nth-child(1) ${LogoPosition} {\n transform: translate(50%, 50%);\n ${LogoGraphic} {\n border-radius: 17.2px;\n width: 72px;\n height: 72px;\n }\n }\n &:nth-child(2) ${LogoPosition} {\n transform: translate(21%, 21.5%);\n }\n &:nth-child(3) ${LogoPosition} {\n transform: translate(78%, 14%);\n }\n &:nth-child(4) ${LogoPosition} {\n transform: translate(22.5%, 76%);\n }\n &:nth-child(5) ${LogoPosition} {\n transform: translate(76%, 80%);\n }\n`;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { getChainExplorerTxUrl } from '@daimo/pay-common';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { useChainId, useSwitchChain } from 'wagmi';
|
|
5
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
6
|
+
import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
|
|
7
|
+
import useLocales from '../../../hooks/useLocales.js';
|
|
8
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
9
|
+
import { getSupportUrl } from '../../../utils/supportUrl.js';
|
|
10
|
+
import Button from '../../Common/Button/index.js';
|
|
11
|
+
import { PageContent, ModalContent, ModalH1, Link } from '../../Common/Modal/styles.js';
|
|
12
|
+
import PaymentBreakdown from '../../Common/PaymentBreakdown/index.js';
|
|
13
|
+
import TokenLogoSpinner from '../../Spinners/TokenLogoSpinner/index.js';
|
|
14
|
+
|
|
15
|
+
const PayWithToken = () => {
|
|
16
|
+
const { triggerResize, paymentState, setRoute, log, trpc } = usePayContext();
|
|
17
|
+
const { payWithToken, selectedTokenOption } = paymentState;
|
|
18
|
+
const { order } = useDaimoPay();
|
|
19
|
+
const [payState, setPayStateInner] = useState(
|
|
20
|
+
"Waiting For Payment" /* RequestingPayment */
|
|
21
|
+
);
|
|
22
|
+
const setPayState = (state) => {
|
|
23
|
+
setPayStateInner(state);
|
|
24
|
+
log(`[PAY TOKEN] payState: ${state}`);
|
|
25
|
+
trpc.nav.mutate({
|
|
26
|
+
action: "pay-with-token-state",
|
|
27
|
+
data: { state }
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
const [txURL, setTxURL] = useState();
|
|
31
|
+
const locales = useLocales();
|
|
32
|
+
const walletChainId = useChainId();
|
|
33
|
+
const { switchChainAsync } = useSwitchChain();
|
|
34
|
+
const trySwitchingChain = async (option, forceSwitch = false) => {
|
|
35
|
+
if (walletChainId !== option.required.token.chainId || forceSwitch) {
|
|
36
|
+
const resultChain = await (async () => {
|
|
37
|
+
try {
|
|
38
|
+
return await switchChainAsync({
|
|
39
|
+
chainId: option.required.token.chainId
|
|
40
|
+
});
|
|
41
|
+
} catch (e) {
|
|
42
|
+
console.error("Failed to switch chain", e);
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
})();
|
|
46
|
+
if (resultChain?.id !== option.required.token.chainId) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
};
|
|
52
|
+
const handleTransfer = async (option) => {
|
|
53
|
+
setPayState("Switching Chain" /* SwitchingChain */);
|
|
54
|
+
const switchChain = await trySwitchingChain(option);
|
|
55
|
+
if (!switchChain) {
|
|
56
|
+
console.error("Switching chain failed");
|
|
57
|
+
setPayState("Payment Cancelled" /* RequestCancelled */);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
setPayState("Waiting For Payment" /* RequestingPayment */);
|
|
61
|
+
try {
|
|
62
|
+
const result = await payWithToken(option);
|
|
63
|
+
if (!result.txHash) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
setTxURL(
|
|
67
|
+
getChainExplorerTxUrl(option.required.token.chainId, result.txHash)
|
|
68
|
+
);
|
|
69
|
+
if (result.success) {
|
|
70
|
+
setPayState("Payment Successful" /* RequestSuccessful */);
|
|
71
|
+
setTimeout(() => {
|
|
72
|
+
setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-token" });
|
|
73
|
+
}, 200);
|
|
74
|
+
} else {
|
|
75
|
+
setPayState("Payment Failed" /* RequestFailed */);
|
|
76
|
+
}
|
|
77
|
+
} catch (e) {
|
|
78
|
+
if (e?.name === "ConnectorChainMismatchError") {
|
|
79
|
+
log("Chain mismatch detected, attempting to switch and retry");
|
|
80
|
+
const switchSuccessful = await trySwitchingChain(option, true);
|
|
81
|
+
if (switchSuccessful) {
|
|
82
|
+
setPayState("Waiting For Payment" /* RequestingPayment */);
|
|
83
|
+
try {
|
|
84
|
+
const retryResult = await payWithToken(option);
|
|
85
|
+
if (!retryResult.txHash) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
setTxURL(
|
|
89
|
+
getChainExplorerTxUrl(
|
|
90
|
+
option.required.token.chainId,
|
|
91
|
+
retryResult.txHash
|
|
92
|
+
)
|
|
93
|
+
);
|
|
94
|
+
if (retryResult.success) {
|
|
95
|
+
setPayState("Payment Successful" /* RequestSuccessful */);
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-token" });
|
|
98
|
+
}, 200);
|
|
99
|
+
} else {
|
|
100
|
+
setPayState("Payment Failed" /* RequestFailed */);
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
} catch (retryError) {
|
|
104
|
+
console.error(
|
|
105
|
+
"Failed to pay with token after switching chain",
|
|
106
|
+
retryError
|
|
107
|
+
);
|
|
108
|
+
throw retryError;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
setPayState("Payment Cancelled" /* RequestCancelled */);
|
|
113
|
+
console.error("Failed to pay with token", e);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
useEffect(() => {
|
|
117
|
+
if (!selectedTokenOption) return;
|
|
118
|
+
const transferTimeout = setTimeout(() => {
|
|
119
|
+
handleTransfer(selectedTokenOption);
|
|
120
|
+
}, 100);
|
|
121
|
+
return () => {
|
|
122
|
+
clearTimeout(transferTimeout);
|
|
123
|
+
};
|
|
124
|
+
}, [selectedTokenOption]);
|
|
125
|
+
useEffect(() => {
|
|
126
|
+
triggerResize();
|
|
127
|
+
}, [payState]);
|
|
128
|
+
if (selectedTokenOption == null) {
|
|
129
|
+
return /* @__PURE__ */ jsx(PageContent, {});
|
|
130
|
+
}
|
|
131
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
132
|
+
/* @__PURE__ */ jsx(TokenLogoSpinner, { token: selectedTokenOption.required.token }),
|
|
133
|
+
/* @__PURE__ */ jsxs(ModalContent, { style: { paddingBottom: 0 }, $preserveDisplay: true, children: [
|
|
134
|
+
txURL ? /* @__PURE__ */ jsx(ModalH1, { children: /* @__PURE__ */ jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", children: payState }) }) : /* @__PURE__ */ jsx(ModalH1, { children: payState }),
|
|
135
|
+
/* @__PURE__ */ jsx(PaymentBreakdown, { paymentOption: selectedTokenOption }),
|
|
136
|
+
payState === "Payment Cancelled" /* RequestCancelled */ && /* @__PURE__ */ jsx(Button, { onClick: () => handleTransfer(selectedTokenOption), children: locales.retryPayment }),
|
|
137
|
+
payState === "Payment Failed" /* RequestFailed */ && /* @__PURE__ */ jsx(
|
|
138
|
+
Button,
|
|
139
|
+
{
|
|
140
|
+
onClick: () => {
|
|
141
|
+
window.open(
|
|
142
|
+
getSupportUrl(
|
|
143
|
+
order?.id?.toString() ?? "",
|
|
144
|
+
`Pay with token${txURL ? ` ${txURL}` : ""}`
|
|
145
|
+
),
|
|
146
|
+
"_blank"
|
|
147
|
+
);
|
|
148
|
+
},
|
|
149
|
+
children: locales.contactSupport
|
|
150
|
+
}
|
|
151
|
+
)
|
|
152
|
+
] })
|
|
153
|
+
] });
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
export { PayWithToken as default };
|
|
157
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/PayWithToken/index.tsx"],"sourcesContent":["import { getChainExplorerTxUrl, WalletPaymentOption } from \"@daimo/pay-common\";\nimport React, { useEffect, useState } from \"react\";\nimport { useChainId, useSwitchChain } from \"wagmi\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { getSupportUrl } from \"../../../utils/supportUrl\";\nimport { TrpcClient } from \"../../../utils/trpc\";\nimport Button from \"../../Common/Button\";\nimport {\n Link,\n ModalContent,\n ModalH1,\n PageContent,\n} from \"../../Common/Modal/styles\";\nimport PaymentBreakdown from \"../../Common/PaymentBreakdown\";\nimport TokenLogoSpinner from \"../../Spinners/TokenLogoSpinner\";\n\nenum PayState {\n RequestingPayment = \"Waiting For Payment\",\n SwitchingChain = \"Switching Chain\",\n RequestCancelled = \"Payment Cancelled\",\n RequestSuccessful = \"Payment Successful\",\n RequestFailed = \"Payment Failed\",\n}\n\nconst PayWithToken: React.FC = () => {\n const { triggerResize, paymentState, setRoute, log, trpc } = usePayContext();\n const { payWithToken, selectedTokenOption } = paymentState;\n const { order } = useDaimoPay();\n const [payState, setPayStateInner] = useState<PayState>(\n PayState.RequestingPayment,\n );\n const setPayState = (state: PayState) => {\n setPayStateInner(state);\n log(`[PAY TOKEN] payState: ${state}`);\n (trpc as TrpcClient).nav.mutate({\n action: \"pay-with-token-state\",\n data: { state },\n });\n };\n const [txURL, setTxURL] = useState<string | undefined>();\n const locales = useLocales();\n const walletChainId = useChainId();\n const { switchChainAsync } = useSwitchChain();\n\n const trySwitchingChain = async (\n option: WalletPaymentOption,\n forceSwitch: boolean = false,\n ): Promise<boolean> => {\n if (walletChainId !== option.required.token.chainId || forceSwitch) {\n const resultChain = await (async () => {\n try {\n return await switchChainAsync({\n chainId: option.required.token.chainId,\n });\n } catch (e) {\n console.error(\"Failed to switch chain\", e);\n return null;\n }\n })();\n\n if (resultChain?.id !== option.required.token.chainId) {\n return false;\n }\n }\n\n return true;\n };\n\n const handleTransfer = async (option: WalletPaymentOption) => {\n // Switch chain if necessary\n setPayState(PayState.SwitchingChain);\n const switchChain = await trySwitchingChain(option);\n\n if (!switchChain) {\n console.error(\"Switching chain failed\");\n setPayState(PayState.RequestCancelled);\n return;\n }\n\n setPayState(PayState.RequestingPayment);\n try {\n const result = await payWithToken(option);\n if (!result.txHash) {\n // Transaction not submitted yet. Do nothing, just keep polling.\n return;\n }\n setTxURL(\n getChainExplorerTxUrl(option.required.token.chainId, result.txHash),\n );\n if (result.success) {\n setPayState(PayState.RequestSuccessful);\n setTimeout(() => {\n setRoute(ROUTES.CONFIRMATION, { event: \"wait-pay-with-token\" });\n }, 200);\n } else {\n setPayState(PayState.RequestFailed);\n }\n } catch (e: any) {\n if (e?.name === \"ConnectorChainMismatchError\") {\n // Workaround for Rainbow wallet bug -- user is able to switch chain\n // without the wallet updating the chain ID for wagmi.\n log(\"Chain mismatch detected, attempting to switch and retry\");\n const switchSuccessful = await trySwitchingChain(option, true);\n if (switchSuccessful) {\n setPayState(PayState.RequestingPayment);\n try {\n const retryResult = await payWithToken(option);\n if (!retryResult.txHash) {\n // Transaction not submitted yet. Do nothing, just keep polling.\n return;\n }\n setTxURL(\n getChainExplorerTxUrl(\n option.required.token.chainId,\n retryResult.txHash,\n ),\n );\n if (retryResult.success) {\n setPayState(PayState.RequestSuccessful);\n setTimeout(() => {\n setRoute(ROUTES.CONFIRMATION, { event: \"wait-pay-with-token\" });\n }, 200);\n } else {\n setPayState(PayState.RequestFailed);\n }\n return; // Payment handled after switching chain\n } catch (retryError) {\n console.error(\n \"Failed to pay with token after switching chain\",\n retryError,\n );\n throw retryError;\n }\n }\n }\n setPayState(PayState.RequestCancelled);\n console.error(\"Failed to pay with token\", e);\n }\n };\n\n useEffect(() => {\n if (!selectedTokenOption) return;\n\n const transferTimeout = setTimeout(() => {\n handleTransfer(selectedTokenOption);\n }, 100);\n return () => {\n clearTimeout(transferTimeout);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedTokenOption]);\n\n useEffect(() => {\n triggerResize();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [payState]);\n\n if (selectedTokenOption == null) {\n return <PageContent></PageContent>;\n }\n\n return (\n <PageContent>\n <TokenLogoSpinner token={selectedTokenOption.required.token} />\n <ModalContent style={{ paddingBottom: 0 }} $preserveDisplay={true}>\n {txURL ? (\n <ModalH1>\n <Link href={txURL} target=\"_blank\" rel=\"noopener noreferrer\">\n {payState}\n </Link>\n </ModalH1>\n ) : (\n <ModalH1>{payState}</ModalH1>\n )}\n <PaymentBreakdown paymentOption={selectedTokenOption} />\n {payState === PayState.RequestCancelled && (\n <Button onClick={() => handleTransfer(selectedTokenOption)}>\n {locales.retryPayment}\n </Button>\n )}\n {payState === PayState.RequestFailed && (\n <Button\n onClick={() => {\n window.open(\n getSupportUrl(\n order?.id?.toString() ?? \"\",\n `Pay with token${txURL ? ` ${txURL}` : \"\"}`,\n ),\n \"_blank\",\n );\n }}\n >\n {locales.contactSupport}\n </Button>\n )}\n </ModalContent>\n </PageContent>\n );\n};\n\nexport default PayWithToken;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import MultiCurrencySelectAmount from '../../Common/AmountInput/index.js';
|
|
3
|
+
import { PageContent } from '../../Common/Modal/styles.js';
|
|
4
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
5
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
6
|
+
|
|
7
|
+
const SelectAmount = () => {
|
|
8
|
+
const { paymentState } = usePayContext();
|
|
9
|
+
const { selectedTokenOption, setSelectedTokenOption } = paymentState;
|
|
10
|
+
if (selectedTokenOption == null) {
|
|
11
|
+
return /* @__PURE__ */ jsx(PageContent, {});
|
|
12
|
+
}
|
|
13
|
+
return /* @__PURE__ */ jsx(
|
|
14
|
+
MultiCurrencySelectAmount,
|
|
15
|
+
{
|
|
16
|
+
selectedTokenOption,
|
|
17
|
+
setSelectedTokenOption,
|
|
18
|
+
nextPage: ROUTES.PAY_WITH_TOKEN
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { SelectAmount as default };
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectAmount/index.tsx"],"sourcesContent":["import React from \"react\";\nimport MultiCurrencySelectAmount from \"../../Common/AmountInput\";\nimport { PageContent } from \"../../Common/Modal/styles\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nconst SelectAmount: React.FC = () => {\n const { paymentState } = usePayContext();\n const { selectedTokenOption, setSelectedTokenOption } = paymentState;\n\n if (selectedTokenOption == null) {\n return <PageContent></PageContent>;\n }\n\n return (\n <MultiCurrencySelectAmount\n selectedTokenOption={selectedTokenOption}\n setSelectedTokenOption={setSelectedTokenOption}\n nextPage={ROUTES.PAY_WITH_TOKEN}\n />\n );\n};\n\nexport default SelectAmount;\n"],"names":[],"mappings":";;;;;;AAMA,MAAM,eAAyB,MAAM;AACnC,EAAM,MAAA,EAAE,YAAa,EAAA,GAAI,aAAc,EAAA,CAAA;AACvC,EAAM,MAAA,EAAE,mBAAqB,EAAA,sBAAA,EAA2B,GAAA,YAAA,CAAA;AAExD,EAAA,IAAI,uBAAuB,IAAM,EAAA;AAC/B,IAAA,2BAAQ,WAAY,EAAA,EAAA,CAAA,CAAA;AAAA,GACtB;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,mBAAA;AAAA,MACA,sBAAA;AAAA,MACA,UAAU,MAAO,CAAA,cAAA;AAAA,KAAA;AAAA,GACnB,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
4
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
5
|
+
import { PageContent, ModalContent, ModalBody } from '../../Common/Modal/styles.js';
|
|
6
|
+
import styled from '../../../styles/styled/index.js';
|
|
7
|
+
import { formatUsd, USD_DECIMALS } from '../../../utils/format.js';
|
|
8
|
+
import { isValidNumber, sanitizeNumber } from '../../../utils/validateInput.js';
|
|
9
|
+
import AmountInputField from '../../Common/AmountInput/AmountInputField.js';
|
|
10
|
+
import Button from '../../Common/Button/index.js';
|
|
11
|
+
import ExternalPaymentSpinner from '../../Spinners/ExternalPaymentSpinner/index.js';
|
|
12
|
+
|
|
13
|
+
const SelectDepositAddressAmount = () => {
|
|
14
|
+
const { paymentState, setRoute, triggerResize } = usePayContext();
|
|
15
|
+
const { selectedDepositAddressOption } = paymentState;
|
|
16
|
+
const maxUsdLimit = paymentState.getOrderUsdLimit();
|
|
17
|
+
const minUsd = selectedDepositAddressOption?.minimumUsd ?? 0;
|
|
18
|
+
const minimumMessage = minUsd > 0 ? `Minimum ${formatUsd(minUsd, "up")}` : null;
|
|
19
|
+
const [usdInput, setUsdInput] = useState("");
|
|
20
|
+
const [message, setMessage] = useState(minimumMessage);
|
|
21
|
+
const [continueDisabled, setContinueDisabled] = useState(true);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
triggerResize();
|
|
24
|
+
}, [message]);
|
|
25
|
+
if (selectedDepositAddressOption == null) {
|
|
26
|
+
return /* @__PURE__ */ jsx(PageContent, {});
|
|
27
|
+
}
|
|
28
|
+
const handleAmountChange = (e) => {
|
|
29
|
+
const value = e.target.value;
|
|
30
|
+
if (value !== "" && !isValidNumber(value, USD_DECIMALS)) return;
|
|
31
|
+
setUsdInput(value);
|
|
32
|
+
const usd = Number(sanitizeNumber(value));
|
|
33
|
+
if (usd > maxUsdLimit) {
|
|
34
|
+
setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);
|
|
35
|
+
} else {
|
|
36
|
+
setMessage(minimumMessage);
|
|
37
|
+
}
|
|
38
|
+
setContinueDisabled(usd <= 0 || usd > maxUsdLimit || usd < minUsd);
|
|
39
|
+
};
|
|
40
|
+
const handleKeyDown = (e) => {
|
|
41
|
+
if (e.key === "Enter" && !continueDisabled) {
|
|
42
|
+
handleContinue();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const handleContinue = () => {
|
|
46
|
+
const amountUsd = Number(sanitizeNumber(usdInput));
|
|
47
|
+
paymentState.setChosenUsd(amountUsd);
|
|
48
|
+
setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, { amountUsd });
|
|
49
|
+
};
|
|
50
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
51
|
+
/* @__PURE__ */ jsx(
|
|
52
|
+
ExternalPaymentSpinner,
|
|
53
|
+
{
|
|
54
|
+
logoURI: selectedDepositAddressOption.logoURI,
|
|
55
|
+
logoShape: "circle"
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
/* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
|
|
59
|
+
/* @__PURE__ */ jsx(AmountInputContainer, { children: /* @__PURE__ */ jsx(
|
|
60
|
+
AmountInputField,
|
|
61
|
+
{
|
|
62
|
+
value: usdInput,
|
|
63
|
+
onChange: handleAmountChange,
|
|
64
|
+
onKeyDown: handleKeyDown
|
|
65
|
+
}
|
|
66
|
+
) }),
|
|
67
|
+
message && /* @__PURE__ */ jsx(ModalBody, { children: message }),
|
|
68
|
+
/* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
|
|
69
|
+
] })
|
|
70
|
+
] });
|
|
71
|
+
};
|
|
72
|
+
const AmountInputContainer = styled.div`
|
|
73
|
+
display: flex;
|
|
74
|
+
align-items: center;
|
|
75
|
+
justify-content: center;
|
|
76
|
+
`;
|
|
77
|
+
|
|
78
|
+
export { SelectDepositAddressAmount as default };
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectDepositAddressAmount/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport {\n ModalBody,\n ModalContent,\n PageContent,\n} from \"../../Common/Modal/styles\";\n\nimport styled from \"../../../styles/styled\";\nimport { formatUsd, USD_DECIMALS } from \"../../../utils/format\";\nimport { isValidNumber, sanitizeNumber } from \"../../../utils/validateInput\";\nimport AmountInputField from \"../../Common/AmountInput/AmountInputField\";\nimport Button from \"../../Common/Button\";\nimport ExternalPaymentSpinner from \"../../Spinners/ExternalPaymentSpinner\";\n\nconst SelectDepositAddressAmount: React.FC = () => {\n const { paymentState, setRoute, triggerResize } = usePayContext();\n const { selectedDepositAddressOption } = paymentState;\n\n const maxUsdLimit = paymentState.getOrderUsdLimit();\n const minUsd = selectedDepositAddressOption?.minimumUsd ?? 0;\n const minimumMessage =\n minUsd > 0 ? `Minimum ${formatUsd(minUsd, \"up\")}` : null;\n\n const [usdInput, setUsdInput] = useState<string>(\"\");\n const [message, setMessage] = useState<string | null>(minimumMessage);\n const [continueDisabled, setContinueDisabled] = useState(true);\n\n useEffect(() => {\n triggerResize();\n }, [message]); // eslint-disable-line react-hooks/exhaustive-deps\n\n if (selectedDepositAddressOption == null) {\n return <PageContent></PageContent>;\n }\n\n const handleAmountChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n if (value !== \"\" && !isValidNumber(value, USD_DECIMALS)) return;\n\n setUsdInput(value);\n const usd = Number(sanitizeNumber(value));\n\n if (usd > maxUsdLimit) {\n setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);\n } else {\n setMessage(minimumMessage);\n }\n\n setContinueDisabled(usd <= 0 || usd > maxUsdLimit || usd < minUsd);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" && !continueDisabled) {\n handleContinue();\n }\n };\n\n const handleContinue = () => {\n const amountUsd = Number(sanitizeNumber(usdInput));\n paymentState.setChosenUsd(amountUsd);\n setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, { amountUsd });\n };\n\n return (\n <PageContent>\n <ExternalPaymentSpinner\n logoURI={selectedDepositAddressOption.logoURI}\n logoShape=\"circle\"\n />\n <ModalContent $preserveDisplay={true}>\n <AmountInputContainer>\n <AmountInputField\n value={usdInput}\n onChange={handleAmountChange}\n onKeyDown={handleKeyDown}\n />\n </AmountInputContainer>\n {message && <ModalBody>{message}</ModalBody>}\n <Button onClick={handleContinue} disabled={continueDisabled}>\n Continue\n </Button>\n </ModalContent>\n </PageContent>\n );\n};\n\nconst AmountInputContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport default SelectDepositAddressAmount;\n"],"names":[],"mappings":";;;;;;;;;;;;AAiBA,MAAM,6BAAuC,MAAM;AACjD,EAAA,MAAM,EAAE,YAAA,EAAc,QAAU,EAAA,aAAA,KAAkB,aAAc,EAAA,CAAA;AAChE,EAAM,MAAA,EAAE,8BAAiC,GAAA,YAAA,CAAA;AAEzC,EAAM,MAAA,WAAA,GAAc,aAAa,gBAAiB,EAAA,CAAA;AAClD,EAAM,MAAA,MAAA,GAAS,8BAA8B,UAAc,IAAA,CAAA,CAAA;AAC3D,EAAM,MAAA,cAAA,GACJ,SAAS,CAAI,GAAA,CAAA,QAAA,EAAW,UAAU,MAAQ,EAAA,IAAI,CAAC,CAAK,CAAA,GAAA,IAAA,CAAA;AAEtD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAiB,EAAE,CAAA,CAAA;AACnD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAwB,cAAc,CAAA,CAAA;AACpE,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAE7D,EAAA,SAAA,CAAU,MAAM;AACd,IAAc,aAAA,EAAA,CAAA;AAAA,GAChB,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAA,IAAI,gCAAgC,IAAM,EAAA;AACxC,IAAA,2BAAQ,WAAY,EAAA,EAAA,CAAA,CAAA;AAAA,GACtB;AAEA,EAAM,MAAA,kBAAA,GAAqB,CAAC,CAA2C,KAAA;AACrE,IAAM,MAAA,KAAA,GAAQ,EAAE,MAAO,CAAA,KAAA,CAAA;AACvB,IAAA,IAAI,UAAU,EAAM,IAAA,CAAC,aAAc,CAAA,KAAA,EAAO,YAAY,CAAG,EAAA,OAAA;AAEzD,IAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AACjB,IAAA,MAAM,GAAM,GAAA,MAAA,CAAO,cAAe,CAAA,KAAK,CAAC,CAAA,CAAA;AAExC,IAAA,IAAI,MAAM,WAAa,EAAA;AACrB,MAAA,UAAA,CAAW,CAAW,QAAA,EAAA,SAAA,CAAU,WAAW,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,KACzC,MAAA;AACL,MAAA,UAAA,CAAW,cAAc,CAAA,CAAA;AAAA,KAC3B;AAEA,IAAA,mBAAA,CAAoB,GAAO,IAAA,CAAA,IAAK,GAAM,GAAA,WAAA,IAAe,MAAM,MAAM,CAAA,CAAA;AAAA,GACnE,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,CAAC,CAA6C,KAAA;AAClE,IAAA,IAAI,CAAE,CAAA,GAAA,KAAQ,OAAW,IAAA,CAAC,gBAAkB,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAM,SAAY,GAAA,MAAA,CAAO,cAAe,CAAA,QAAQ,CAAC,CAAA,CAAA;AACjD,IAAA,YAAA,CAAa,aAAa,SAAS,CAAA,CAAA;AACnC,IAAA,QAAA,CAAS,MAAO,CAAA,uBAAA,EAAyB,EAAE,SAAA,EAAW,CAAA,CAAA;AAAA,GACxD,CAAA;AAEA,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,SAAS,4BAA6B,CAAA,OAAA;AAAA,QACtC,SAAU,EAAA,QAAA;AAAA,OAAA;AAAA,KACZ;AAAA,oBACA,IAAA,CAAC,YAAa,EAAA,EAAA,gBAAA,EAAkB,IAC9B,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,oBACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,KAAO,EAAA,QAAA;AAAA,UACP,QAAU,EAAA,kBAAA;AAAA,UACV,SAAW,EAAA,aAAA;AAAA,SAAA;AAAA,OAEf,EAAA,CAAA;AAAA,MACC,OAAA,oBAAY,GAAA,CAAA,SAAA,EAAA,EAAW,QAAQ,EAAA,OAAA,EAAA,CAAA;AAAA,0BAC/B,MAAO,EAAA,EAAA,OAAA,EAAS,cAAgB,EAAA,QAAA,EAAU,kBAAkB,QAE7D,EAAA,UAAA,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,uBAAuB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
3
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
4
|
+
import { PageContent, ModalContent, ModalH1 } from '../../Common/Modal/styles.js';
|
|
5
|
+
import { DaimoPayOrderMode, DepositAddressPaymentOptions } from '@daimo/pay-common';
|
|
6
|
+
import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
|
|
7
|
+
import { OptionsList } from '../../Common/OptionsList/index.js';
|
|
8
|
+
import { OrderHeader } from '../../Common/OrderHeader/index.js';
|
|
9
|
+
import SelectAnotherMethodButton from '../../Common/SelectAnotherMethodButton/index.js';
|
|
10
|
+
|
|
11
|
+
const SelectDepositAddressChain = () => {
|
|
12
|
+
const { setRoute, paymentState } = usePayContext();
|
|
13
|
+
const pay = useDaimoPay();
|
|
14
|
+
const { order } = pay;
|
|
15
|
+
const {
|
|
16
|
+
isDepositFlow,
|
|
17
|
+
setSelectedDepositAddressOption,
|
|
18
|
+
depositAddressOptions,
|
|
19
|
+
untronAvailable
|
|
20
|
+
} = paymentState;
|
|
21
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
22
|
+
/* @__PURE__ */ jsx(OrderHeader, { minified: true }),
|
|
23
|
+
!depositAddressOptions.loading && depositAddressOptions.options?.length === 0 && /* @__PURE__ */ jsxs(
|
|
24
|
+
ModalContent,
|
|
25
|
+
{
|
|
26
|
+
style: {
|
|
27
|
+
display: "flex",
|
|
28
|
+
alignItems: "center",
|
|
29
|
+
justifyContent: "center",
|
|
30
|
+
paddingTop: 16,
|
|
31
|
+
paddingBottom: 16
|
|
32
|
+
},
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx(ModalH1, { children: "Chains unavailable." }),
|
|
35
|
+
/* @__PURE__ */ jsx(SelectAnotherMethodButton, {})
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ jsx(
|
|
40
|
+
OptionsList,
|
|
41
|
+
{
|
|
42
|
+
requiredSkeletons: 4,
|
|
43
|
+
isLoading: depositAddressOptions.loading,
|
|
44
|
+
options: (depositAddressOptions.options ?? []).map((option) => {
|
|
45
|
+
const disabled = (
|
|
46
|
+
// Disable if usd below min
|
|
47
|
+
option.minimumUsd > 0 && order?.mode === DaimoPayOrderMode.HYDRATED && order.usdValue < option.minimumUsd || // Disable if TRON_USDT unavailable
|
|
48
|
+
option.id === DepositAddressPaymentOptions.TRON_USDT && untronAvailable === false
|
|
49
|
+
);
|
|
50
|
+
return {
|
|
51
|
+
id: option.id,
|
|
52
|
+
title: option.id,
|
|
53
|
+
icons: [option.logoURI],
|
|
54
|
+
disabled,
|
|
55
|
+
onClick: () => {
|
|
56
|
+
setSelectedDepositAddressOption(option);
|
|
57
|
+
const meta = { event: "click-option", option: option.id };
|
|
58
|
+
if (isDepositFlow) {
|
|
59
|
+
setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta);
|
|
60
|
+
} else {
|
|
61
|
+
setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, meta);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}).sort((a, b) => Number(a.disabled) - Number(b.disabled))
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
] });
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export { SelectDepositAddressChain as default };
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectDepositAddressChain/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport { ModalContent, ModalH1, PageContent } from \"../../Common/Modal/styles\";\n\nimport {\n DaimoPayOrderMode,\n DepositAddressPaymentOptions,\n} from \"@daimo/pay-common\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport { OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\nimport SelectAnotherMethodButton from \"../../Common/SelectAnotherMethodButton\";\n\nconst SelectDepositAddressChain: React.FC = () => {\n const { setRoute, paymentState } = usePayContext();\n const pay = useDaimoPay();\n const { order } = pay;\n const {\n isDepositFlow,\n setSelectedDepositAddressOption,\n depositAddressOptions,\n untronAvailable,\n } = paymentState;\n\n return (\n <PageContent>\n <OrderHeader minified />\n\n {!depositAddressOptions.loading &&\n depositAddressOptions.options?.length === 0 && (\n <ModalContent\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n paddingTop: 16,\n paddingBottom: 16,\n }}\n >\n <ModalH1>Chains unavailable.</ModalH1>\n <SelectAnotherMethodButton />\n </ModalContent>\n )}\n\n <OptionsList\n requiredSkeletons={4}\n isLoading={depositAddressOptions.loading}\n options={(depositAddressOptions.options ?? [])\n .map((option) => {\n const disabled =\n // Disable if usd below min\n (option.minimumUsd > 0 &&\n order?.mode === DaimoPayOrderMode.HYDRATED &&\n order.usdValue < option.minimumUsd) ||\n // Disable if TRON_USDT unavailable\n (option.id === DepositAddressPaymentOptions.TRON_USDT &&\n untronAvailable === false);\n\n return {\n id: option.id,\n title: option.id,\n icons: [option.logoURI],\n disabled,\n onClick: () => {\n setSelectedDepositAddressOption(option);\n const meta = { event: \"click-option\", option: option.id };\n if (isDepositFlow) {\n setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta);\n } else {\n setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, meta);\n }\n },\n };\n })\n // Push disabled options to the bottom of the list\n .sort((a, b) => Number(a.disabled) - Number(b.disabled))}\n />\n </PageContent>\n );\n};\n\nexport default SelectDepositAddressChain;\n"],"names":[],"mappings":";;;;;;;;;;AAeA,MAAM,4BAAsC,MAAM;AAChD,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,aAAc,EAAA,CAAA;AACjD,EAAA,MAAM,MAAM,WAAY,EAAA,CAAA;AACxB,EAAM,MAAA,EAAE,OAAU,GAAA,GAAA,CAAA;AAClB,EAAM,MAAA;AAAA,IACJ,aAAA;AAAA,IACA,+BAAA;AAAA,IACA,qBAAA;AAAA,IACA,eAAA;AAAA,GACE,GAAA,YAAA,CAAA;AAEJ,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,UAAQ,IAAC,EAAA,CAAA;AAAA,IAErB,CAAC,qBAAsB,CAAA,OAAA,IACtB,qBAAsB,CAAA,OAAA,EAAS,WAAW,CACxC,oBAAA,IAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA;AAAA,UACL,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,UAAY,EAAA,EAAA;AAAA,UACZ,aAAe,EAAA,EAAA;AAAA,SACjB;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,WAAQ,QAAmB,EAAA,qBAAA,EAAA,CAAA;AAAA,8BAC3B,yBAA0B,EAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAC7B;AAAA,oBAGJ,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,iBAAmB,EAAA,CAAA;AAAA,QACnB,WAAW,qBAAsB,CAAA,OAAA;AAAA,QACjC,UAAU,qBAAsB,CAAA,OAAA,IAAW,EACxC,EAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACf,UAAM,MAAA,QAAA;AAAA;AAAA,YAEH,MAAA,CAAO,aAAa,CACnB,IAAA,KAAA,EAAO,SAAS,iBAAkB,CAAA,QAAA,IAClC,KAAM,CAAA,QAAA,GAAW,MAAO,CAAA,UAAA;AAAA,YAEzB,MAAO,CAAA,EAAA,KAAO,4BAA6B,CAAA,SAAA,IAC1C,eAAoB,KAAA,KAAA;AAAA,WAAA,CAAA;AAExB,UAAO,OAAA;AAAA,YACL,IAAI,MAAO,CAAA,EAAA;AAAA,YACX,OAAO,MAAO,CAAA,EAAA;AAAA,YACd,KAAA,EAAO,CAAC,MAAA,CAAO,OAAO,CAAA;AAAA,YACtB,QAAA;AAAA,YACA,SAAS,MAAM;AACb,cAAA,+BAAA,CAAgC,MAAM,CAAA,CAAA;AACtC,cAAA,MAAM,OAAO,EAAE,KAAA,EAAO,cAAgB,EAAA,MAAA,EAAQ,OAAO,EAAG,EAAA,CAAA;AACxD,cAAA,IAAI,aAAe,EAAA;AACjB,gBAAS,QAAA,CAAA,MAAA,CAAO,+BAA+B,IAAI,CAAA,CAAA;AAAA,eAC9C,MAAA;AACL,gBAAS,QAAA,CAAA,MAAA,CAAO,yBAAyB,IAAI,CAAA,CAAA;AAAA,eAC/C;AAAA,aACF;AAAA,WACF,CAAA;AAAA,SACD,CAAA,CAEA,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,KAAM,MAAO,CAAA,CAAA,CAAE,QAAQ,CAAA,GAAI,MAAO,CAAA,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,OAAA;AAAA,KAC3D;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|