@daimo/pay 1.6.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.d.ts +250 -249
- package/build/index.js +12039 -0
- package/build/index.js.map +1 -0
- package/package.json +5 -4
- package/build/package.json.js +0 -101
- package/build/package.json.js.map +0 -1
- package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.d.ts +0 -5
- package/build/pay/packages/connectkit/src/assets/browsers.d.ts +0 -10
- package/build/pay/packages/connectkit/src/assets/chains.d.ts +0 -28
- package/build/pay/packages/connectkit/src/assets/coins.d.ts +0 -2
- package/build/pay/packages/connectkit/src/assets/crepe.d.ts +0 -4
- package/build/pay/packages/connectkit/src/assets/icons.d.ts +0 -36
- package/build/pay/packages/connectkit/src/assets/logos.d.ts +0 -205
- package/build/pay/packages/connectkit/src/assets/wallet.d.ts +0 -4
- package/build/pay/packages/connectkit/src/assets/wave.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/Alert/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/Alert/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/Alert/types.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/Avatar/index.d.ts +0 -17
- package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/types.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Button/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/Button/styles.d.ts +0 -10
- package/build/pay/packages/connectkit/src/components/Common/Button/types.d.ts +0 -15
- package/build/pay/packages/connectkit/src/components/Common/Chain/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/Chain/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ChainSelect/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectDropdown/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectDropdown/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.d.ts +0 -12
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/types.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/DynamicContainer/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/Common/FitText/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/LazyImage/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/Logo/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/Logo/styles.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Modal/index.d.ts +0 -25
- package/build/pay/packages/connectkit/src/components/Common/Modal/styles.d.ts +0 -24
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.d.ts +0 -14
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/Portal/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Spinner/index.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.d.ts +0 -15
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/types.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/DaimoPay.d.ts +0 -104
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.d.ts +0 -153
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.d.ts +0 -15
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.d.ts +0 -16
- package/build/pay/packages/connectkit/src/components/NetworkButton/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Pages/About/graphics.d.ts +0 -11
- package/build/pay/packages/connectkit/src/components/Pages/About/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/About/styles.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Pages/DownloadApp/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectSolana/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Spinners/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/contexts/solana/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/contexts/web3/index.d.ts +0 -25
- package/build/pay/packages/connectkit/src/constants/defaultTheme.d.ts +0 -4
- package/build/pay/packages/connectkit/src/defaultConfig.d.ts +0 -22
- package/build/pay/packages/connectkit/src/defaultConnectors.d.ts +0 -15
- package/build/pay/packages/connectkit/src/hooks/connectors/useWalletConnectUri.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/hookTypes.d.ts +0 -9
- package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.d.ts +0 -2
- package/build/pay/packages/connectkit/src/hooks/useChains.d.ts +0 -3
- package/build/pay/packages/connectkit/src/hooks/useConnect.d.ts +0 -110
- package/build/pay/packages/connectkit/src/hooks/useConnectCallback.d.ts +0 -8
- package/build/pay/packages/connectkit/src/hooks/useConnectors.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.d.ts +0 -15
- package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.d.ts +0 -10
- package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.d.ts +0 -2
- package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.d.ts +0 -12
- package/build/pay/packages/connectkit/src/hooks/useFitText.d.ts +0 -14
- package/build/pay/packages/connectkit/src/hooks/useFocusTrap.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useGoogleFont.d.ts +0 -3
- package/build/pay/packages/connectkit/src/hooks/useIsMobile.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useIsMounted.d.ts +0 -3
- package/build/pay/packages/connectkit/src/hooks/useLastConnector.d.ts +0 -4
- package/build/pay/packages/connectkit/src/hooks/useLocalStorage.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/useLocales.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useModal.d.ts +0 -8
- package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/usePayWithSolanaToken.d.ts +0 -12
- package/build/pay/packages/connectkit/src/hooks/usePayWithToken.d.ts +0 -14
- package/build/pay/packages/connectkit/src/hooks/usePaymentState.d.ts +0 -90
- package/build/pay/packages/connectkit/src/hooks/usePrevious.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.d.ts +0 -12
- package/build/pay/packages/connectkit/src/hooks/useWalletConnectModal.d.ts +0 -4
- package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.d.ts +0 -20
- package/build/pay/packages/connectkit/src/hooks/useWindowSize.d.ts +0 -4
- package/build/pay/packages/connectkit/src/index.d.ts +0 -11
- package/build/pay/packages/connectkit/src/localizations/index.d.ts +0 -93
- package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/en-US.d.ts +0 -93
- package/build/pay/packages/connectkit/src/localizations/locales/es-ES.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.d.ts +0 -93
- package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.d.ts +0 -3
- package/build/pay/packages/connectkit/src/styles/defaultTheme.d.ts +0 -3
- package/build/pay/packages/connectkit/src/styles/index.d.ts +0 -1
- package/build/pay/packages/connectkit/src/styles/styled/index.d.ts +0 -12
- package/build/pay/packages/connectkit/src/styles/themes/base.d.ts +0 -129
- package/build/pay/packages/connectkit/src/styles/themes/index.d.ts +0 -673
- package/build/pay/packages/connectkit/src/styles/themes/midnight.d.ts +0 -74
- package/build/pay/packages/connectkit/src/styles/themes/minimal.d.ts +0 -94
- package/build/pay/packages/connectkit/src/styles/themes/nouns.d.ts +0 -79
- package/build/pay/packages/connectkit/src/styles/themes/retro.d.ts +0 -89
- package/build/pay/packages/connectkit/src/styles/themes/rounded.d.ts +0 -86
- package/build/pay/packages/connectkit/src/styles/themes/soft.d.ts +0 -69
- package/build/pay/packages/connectkit/src/styles/themes/web95.d.ts +0 -91
- package/build/pay/packages/connectkit/src/styles/types.d.ts +0 -80
- package/build/pay/packages/connectkit/src/types.d.ts +0 -46
- package/build/pay/packages/connectkit/src/utils/exports.d.ts +0 -1
- package/build/pay/packages/connectkit/src/utils/format.d.ts +0 -49
- package/build/pay/packages/connectkit/src/utils/index.d.ts +0 -17
- package/build/pay/packages/connectkit/src/utils/localstorage.d.ts +0 -9
- package/build/pay/packages/connectkit/src/utils/p3.d.ts +0 -2
- package/build/pay/packages/connectkit/src/utils/platform.d.ts +0 -2
- package/build/pay/packages/connectkit/src/utils/supportUrl.d.ts +0 -2
- package/build/pay/packages/connectkit/src/utils/trpc.d.ts +0 -4
- package/build/pay/packages/connectkit/src/utils/validateInput.d.ts +0 -16
- package/build/pay/packages/connectkit/src/utils/wallets.d.ts +0 -24
- package/build/pay/packages/connectkit/src/wallets/index.d.ts +0 -5
- package/build/pay/packages/connectkit/src/wallets/useWallets.d.ts +0 -9
- package/build/pay/packages/connectkit/src/wallets/walletConfigs.d.ts +0 -30
- package/build/pay/packages/connectkit/tsconfig.tsbuildinfo +0 -1
- package/build/src/assets/ScanIconWithLogos.js +0 -34
- package/build/src/assets/ScanIconWithLogos.js.map +0 -1
- package/build/src/assets/browsers.js +0 -13
- package/build/src/assets/browsers.js.map +0 -1
- package/build/src/assets/chains.js +0 -70
- package/build/src/assets/chains.js.map +0 -1
- package/build/src/assets/coins.js +0 -6
- package/build/src/assets/coins.js.map +0 -1
- package/build/src/assets/crepe.js +0 -8
- package/build/src/assets/crepe.js.map +0 -1
- package/build/src/assets/icons.js +0 -29
- package/build/src/assets/icons.js.map +0 -1
- package/build/src/assets/logos.js +0 -153
- package/build/src/assets/logos.js.map +0 -1
- package/build/src/assets/wallet.js +0 -8
- package/build/src/assets/wallet.js.map +0 -1
- package/build/src/assets/wave.js +0 -6
- package/build/src/assets/wave.js.map +0 -1
- package/build/src/components/Common/Alert/index.js +0 -10
- package/build/src/components/Common/Alert/index.js.map +0 -1
- package/build/src/components/Common/Alert/styles.js +0 -55
- package/build/src/components/Common/Alert/styles.js.map +0 -1
- package/build/src/components/Common/AmountInput/AmountInputField.js +0 -59
- package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
- package/build/src/components/Common/AmountInput/index.js +0 -147
- package/build/src/components/Common/AmountInput/index.js.map +0 -1
- package/build/src/components/Common/Avatar/index.js +0 -66
- package/build/src/components/Common/Avatar/index.js.map +0 -1
- package/build/src/components/Common/Avatar/styles.js +0 -59
- package/build/src/components/Common/Avatar/styles.js.map +0 -1
- package/build/src/components/Common/BrowserIcon/index.js +0 -28
- package/build/src/components/Common/BrowserIcon/index.js.map +0 -1
- package/build/src/components/Common/BrowserIcon/styles.js +0 -20
- package/build/src/components/Common/BrowserIcon/styles.js.map +0 -1
- package/build/src/components/Common/Button/index.js +0 -38
- package/build/src/components/Common/Button/index.js.map +0 -1
- package/build/src/components/Common/Button/styles.js +0 -291
- package/build/src/components/Common/Button/styles.js.map +0 -1
- package/build/src/components/Common/Chain/index.js +0 -25
- package/build/src/components/Common/Chain/index.js.map +0 -1
- package/build/src/components/Common/Chain/styles.js +0 -94
- package/build/src/components/Common/Chain/styles.js.map +0 -1
- package/build/src/components/Common/ChainSelectList/index.js +0 -107
- package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
- package/build/src/components/Common/ChainSelectList/styles.js +0 -228
- package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
- package/build/src/components/Common/ConnectorList/index.js +0 -71
- package/build/src/components/Common/ConnectorList/index.js.map +0 -1
- package/build/src/components/Common/ConnectorList/styles.js +0 -314
- package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -71
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
- package/build/src/components/Common/CopyToClipboard/index.js +0 -51
- package/build/src/components/Common/CopyToClipboard/index.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/QRCode.js +0 -69
- package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/index.js +0 -22
- package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/styles.js +0 -155
- package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
- package/build/src/components/Common/FitText/index.js +0 -27
- package/build/src/components/Common/FitText/index.js.map +0 -1
- package/build/src/components/Common/Modal/index.js +0 -301
- package/build/src/components/Common/Modal/index.js.map +0 -1
- package/build/src/components/Common/Modal/styles.js +0 -661
- package/build/src/components/Common/Modal/styles.js.map +0 -1
- package/build/src/components/Common/OptionsList/index.js +0 -106
- package/build/src/components/Common/OptionsList/index.js.map +0 -1
- package/build/src/components/Common/OptionsList/styles.js +0 -165
- package/build/src/components/Common/OptionsList/styles.js.map +0 -1
- package/build/src/components/Common/OrderHeader/index.js +0 -128
- package/build/src/components/Common/OrderHeader/index.js.map +0 -1
- package/build/src/components/Common/PaymentBreakdown/index.js +0 -48
- package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
- package/build/src/components/Common/Portal/index.js +0 -31
- package/build/src/components/Common/Portal/index.js.map +0 -1
- package/build/src/components/Common/PoweredByFooter/index.js +0 -79
- package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
- package/build/src/components/Common/ScrollArea/index.js +0 -62
- package/build/src/components/Common/ScrollArea/index.js.map +0 -1
- package/build/src/components/Common/ScrollArea/styles.js +0 -168
- package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
- package/build/src/components/Common/Spinner/index.js +0 -24
- package/build/src/components/Common/Spinner/index.js.map +0 -1
- package/build/src/components/Common/Spinner/styles.js +0 -22
- package/build/src/components/Common/Spinner/styles.js.map +0 -1
- package/build/src/components/Common/SwitchButton/index.js +0 -39
- package/build/src/components/Common/SwitchButton/index.js.map +0 -1
- package/build/src/components/Common/ThemedButton/index.js +0 -25
- package/build/src/components/Common/ThemedButton/index.js.map +0 -1
- package/build/src/components/Common/ThemedButton/styles.js +0 -152
- package/build/src/components/Common/ThemedButton/styles.js.map +0 -1
- package/build/src/components/Common/TokenChainLogo/index.js +0 -24
- package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
- package/build/src/components/Common/Tooltip/index.js +0 -97
- package/build/src/components/Common/Tooltip/index.js.map +0 -1
- package/build/src/components/Common/Tooltip/styles.js +0 -81
- package/build/src/components/Common/Tooltip/styles.js.map +0 -1
- package/build/src/components/Common/WalletChainLogo/index.js +0 -24
- package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
- package/build/src/components/DaimoPay.js +0 -280
- package/build/src/components/DaimoPay.js.map +0 -1
- package/build/src/components/DaimoPayButton/index.js +0 -158
- package/build/src/components/DaimoPayButton/index.js.map +0 -1
- package/build/src/components/DaimoPayButton/styles.js +0 -50
- package/build/src/components/DaimoPayButton/styles.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectUsing.js +0 -45
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -202
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -133
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -75
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
- package/build/src/components/DaimoPayModal/index.js +0 -206
- package/build/src/components/DaimoPayModal/index.js.map +0 -1
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -21
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
- package/build/src/components/Pages/About/graphics.js +0 -187
- package/build/src/components/Pages/About/graphics.js.map +0 -1
- package/build/src/components/Pages/About/index.js +0 -131
- package/build/src/components/Pages/About/index.js.map +0 -1
- package/build/src/components/Pages/About/styles.js +0 -144
- package/build/src/components/Pages/About/styles.js.map +0 -1
- package/build/src/components/Pages/Confirmation/index.js +0 -105
- package/build/src/components/Pages/Confirmation/index.js.map +0 -1
- package/build/src/components/Pages/Connectors/index.js +0 -20
- package/build/src/components/Pages/Connectors/index.js.map +0 -1
- package/build/src/components/Pages/Connectors/styles.js +0 -267
- package/build/src/components/Pages/Connectors/styles.js.map +0 -1
- package/build/src/components/Pages/DownloadApp/index.js +0 -30
- package/build/src/components/Pages/DownloadApp/index.js.map +0 -1
- package/build/src/components/Pages/MobileConnectors/index.js +0 -78
- package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
- package/build/src/components/Pages/MobileConnectors/styles.js +0 -65
- package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
- package/build/src/components/Pages/Onboarding/index.js +0 -18
- package/build/src/components/Pages/Onboarding/index.js.map +0 -1
- package/build/src/components/Pages/Onboarding/styles.js +0 -229
- package/build/src/components/Pages/Onboarding/styles.js.map +0 -1
- package/build/src/components/Pages/PayWithToken/index.js +0 -111
- package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
- package/build/src/components/Pages/SelectAmount/index.js +0 -16
- package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -61
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -38
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
- package/build/src/components/Pages/SelectExternalAmount/index.js +0 -63
- package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectMethod/index.js +0 -205
- package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
- package/build/src/components/Pages/SelectToken/index.js +0 -61
- package/build/src/components/Pages/SelectToken/index.js.map +0 -1
- package/build/src/components/Pages/Solana/ConnectSolana/index.js +0 -80
- package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +0 -1
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -55
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -62
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -16
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
- package/build/src/components/Pages/Solana/SelectSolanaToken/index.js +0 -59
- package/build/src/components/Pages/Solana/SelectSolanaToken/index.js.map +0 -1
- package/build/src/components/Pages/SwitchNetworks/index.js +0 -26
- package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -51
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
- package/build/src/components/Pages/WaitingExternal/index.js +0 -53
- package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
- package/build/src/components/Spinners/CircleSpinner/index.js +0 -15
- package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/CircleSpinner/styles.js +0 -118
- package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -20
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/SquircleSpinner/index.js +0 -15
- package/build/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/SquircleSpinner/styles.js +0 -66
- package/build/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +0 -13
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
- package/build/src/components/Spinners/styles.js +0 -33
- package/build/src/components/Spinners/styles.js.map +0 -1
- package/build/src/components/contexts/solana/index.js +0 -11
- package/build/src/components/contexts/solana/index.js.map +0 -1
- package/build/src/components/contexts/web3/index.js +0 -46
- package/build/src/components/contexts/web3/index.js.map +0 -1
- package/build/src/constants/defaultTheme.js +0 -6
- package/build/src/constants/defaultTheme.js.map +0 -1
- package/build/src/defaultConfig.js +0 -63
- package/build/src/defaultConfig.js.map +0 -1
- package/build/src/defaultConnectors.js +0 -43
- package/build/src/defaultConnectors.js.map +0 -1
- package/build/src/hooks/connectors/useWalletConnectUri.js +0 -93
- package/build/src/hooks/connectors/useWalletConnectUri.js.map +0 -1
- package/build/src/hooks/useChainIsSupported.js +0 -12
- package/build/src/hooks/useChainIsSupported.js.map +0 -1
- package/build/src/hooks/useChains.js +0 -11
- package/build/src/hooks/useChains.js.map +0 -1
- package/build/src/hooks/useConnect.js +0 -45
- package/build/src/hooks/useConnect.js.map +0 -1
- package/build/src/hooks/useConnectCallback.js +0 -18
- package/build/src/hooks/useConnectCallback.js.map +0 -1
- package/build/src/hooks/useConnectors.js +0 -29
- package/build/src/hooks/useConnectors.js.map +0 -1
- package/build/src/hooks/useDaimoPayStatus.js +0 -24
- package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
- package/build/src/hooks/useDepositAddressOptions.js +0 -31
- package/build/src/hooks/useDepositAddressOptions.js.map +0 -1
- package/build/src/hooks/useEnsFallbackConfig.js +0 -16
- package/build/src/hooks/useEnsFallbackConfig.js.map +0 -1
- package/build/src/hooks/useExternalPaymentOptions.js +0 -49
- package/build/src/hooks/useExternalPaymentOptions.js.map +0 -1
- package/build/src/hooks/useFitText.js +0 -148
- package/build/src/hooks/useFitText.js.map +0 -1
- package/build/src/hooks/useFocusTrap.js +0 -60
- package/build/src/hooks/useFocusTrap.js.map +0 -1
- package/build/src/hooks/useGoogleFont.js +0 -45
- package/build/src/hooks/useGoogleFont.js.map +0 -1
- package/build/src/hooks/useIsMobile.js +0 -17
- package/build/src/hooks/useIsMobile.js.map +0 -1
- package/build/src/hooks/useIsMounted.js +0 -12
- package/build/src/hooks/useIsMounted.js.map +0 -1
- package/build/src/hooks/useLastConnector.js +0 -24
- package/build/src/hooks/useLastConnector.js.map +0 -1
- package/build/src/hooks/useLocales.js +0 -67
- package/build/src/hooks/useLocales.js.map +0 -1
- package/build/src/hooks/useLockBodyScroll.js +0 -53
- package/build/src/hooks/useLockBodyScroll.js.map +0 -1
- package/build/src/hooks/useOrderUsdLimits.js +0 -26
- package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
- package/build/src/hooks/usePayWithSolanaToken.js +0 -50
- package/build/src/hooks/usePayWithSolanaToken.js.map +0 -1
- package/build/src/hooks/usePayWithToken.js +0 -58
- package/build/src/hooks/usePayWithToken.js.map +0 -1
- package/build/src/hooks/usePaymentState.js +0 -283
- package/build/src/hooks/usePaymentState.js.map +0 -1
- package/build/src/hooks/usePrevious.js +0 -14
- package/build/src/hooks/usePrevious.js.map +0 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +0 -39
- package/build/src/hooks/useSolanaPaymentOptions.js.map +0 -1
- package/build/src/hooks/useWalletConnectModal.js +0 -52
- package/build/src/hooks/useWalletConnectModal.js.map +0 -1
- package/build/src/hooks/useWalletPaymentOptions.js +0 -50
- package/build/src/hooks/useWalletPaymentOptions.js.map +0 -1
- package/build/src/hooks/useWindowSize.js +0 -23
- package/build/src/hooks/useWindowSize.js.map +0 -1
- package/build/src/index.js +0 -10
- package/build/src/index.js.map +0 -1
- package/build/src/localizations/index.js +0 -57
- package/build/src/localizations/index.js.map +0 -1
- package/build/src/localizations/locales/ar-AE.js +0 -97
- package/build/src/localizations/locales/ar-AE.js.map +0 -1
- package/build/src/localizations/locales/ca-AD.js +0 -95
- package/build/src/localizations/locales/ca-AD.js.map +0 -1
- package/build/src/localizations/locales/ee-EE.js +0 -95
- package/build/src/localizations/locales/ee-EE.js.map +0 -1
- package/build/src/localizations/locales/en-US.js +0 -95
- package/build/src/localizations/locales/en-US.js.map +0 -1
- package/build/src/localizations/locales/es-ES.js +0 -95
- package/build/src/localizations/locales/es-ES.js.map +0 -1
- package/build/src/localizations/locales/fa-IR.js +0 -95
- package/build/src/localizations/locales/fa-IR.js.map +0 -1
- package/build/src/localizations/locales/fr-FR.js +0 -95
- package/build/src/localizations/locales/fr-FR.js.map +0 -1
- package/build/src/localizations/locales/ja-JP.js +0 -95
- package/build/src/localizations/locales/ja-JP.js.map +0 -1
- package/build/src/localizations/locales/pt-BR.js +0 -95
- package/build/src/localizations/locales/pt-BR.js.map +0 -1
- package/build/src/localizations/locales/ru-RU.js +0 -95
- package/build/src/localizations/locales/ru-RU.js.map +0 -1
- package/build/src/localizations/locales/tr-TR.js +0 -95
- package/build/src/localizations/locales/tr-TR.js.map +0 -1
- package/build/src/localizations/locales/vi-VN.js +0 -95
- package/build/src/localizations/locales/vi-VN.js.map +0 -1
- package/build/src/localizations/locales/zh-CN.js +0 -95
- package/build/src/localizations/locales/zh-CN.js.map +0 -1
- package/build/src/styles/defaultTheme.js +0 -89
- package/build/src/styles/defaultTheme.js.map +0 -1
- package/build/src/styles/index.js +0 -329
- package/build/src/styles/index.js.map +0 -1
- package/build/src/styles/styled/index.js +0 -16
- package/build/src/styles/styled/index.js.map +0 -1
- package/build/src/styles/themes/base.js +0 -141
- package/build/src/styles/themes/base.js.map +0 -1
- package/build/src/styles/themes/index.js +0 -13
- package/build/src/styles/themes/index.js.map +0 -1
- package/build/src/styles/themes/midnight.js +0 -76
- package/build/src/styles/themes/midnight.js.map +0 -1
- package/build/src/styles/themes/minimal.js +0 -96
- package/build/src/styles/themes/minimal.js.map +0 -1
- package/build/src/styles/themes/nouns.js +0 -81
- package/build/src/styles/themes/nouns.js.map +0 -1
- package/build/src/styles/themes/retro.js +0 -106
- package/build/src/styles/themes/retro.js.map +0 -1
- package/build/src/styles/themes/rounded.js +0 -106
- package/build/src/styles/themes/rounded.js.map +0 -1
- package/build/src/styles/themes/soft.js +0 -71
- package/build/src/styles/themes/soft.js.map +0 -1
- package/build/src/styles/themes/web95.js +0 -132
- package/build/src/styles/themes/web95.js.map +0 -1
- package/build/src/utils/exports.js +0 -7
- package/build/src/utils/exports.js.map +0 -1
- package/build/src/utils/format.js +0 -83
- package/build/src/utils/format.js.map +0 -1
- package/build/src/utils/index.js +0 -39
- package/build/src/utils/index.js.map +0 -1
- package/build/src/utils/p3.js +0 -16
- package/build/src/utils/p3.js.map +0 -1
- package/build/src/utils/platform.js +0 -13
- package/build/src/utils/platform.js.map +0 -1
- package/build/src/utils/supportUrl.js +0 -18
- package/build/src/utils/supportUrl.js.map +0 -1
- package/build/src/utils/trpc.js +0 -19
- package/build/src/utils/trpc.js.map +0 -1
- package/build/src/utils/validateInput.js +0 -36
- package/build/src/utils/validateInput.js.map +0 -1
- package/build/src/utils/wallets.js +0 -14
- package/build/src/utils/wallets.js.map +0 -1
- package/build/src/wallets/index.js +0 -32
- package/build/src/wallets/index.js.map +0 -1
- package/build/src/wallets/useWallets.js +0 -90
- package/build/src/wallets/useWallets.js.map +0 -1
- package/build/src/wallets/walletConfigs.js +0 -337
- package/build/src/wallets/walletConfigs.js.map +0 -1
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
import { usePayContext } from '../DaimoPay.js';
|
|
4
|
-
import { TextContainer } from './styles.js';
|
|
5
|
-
import { DaimoPayOrderMode, DaimoPayIntentStatus, writeDaimoPayOrderID, assertNotNull, getDaimoPayOrderView } from '@daimo/pay-common';
|
|
6
|
-
import { AnimatePresence } from 'framer-motion';
|
|
7
|
-
import { ResetContainer } from '../../styles/index.js';
|
|
8
|
-
import ThemedButton from '../Common/ThemedButton/index.js';
|
|
9
|
-
import { ThemeContainer } from '../Common/ThemedButton/styles.js';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* A button that shows the Daimo Pay checkout. Replaces the traditional
|
|
13
|
-
* Connect Wallet » approve » execute sequence with a single action.
|
|
14
|
-
*/
|
|
15
|
-
function DaimoPayButton(props) {
|
|
16
|
-
const { theme, mode, customTheme } = props;
|
|
17
|
-
const context = usePayContext();
|
|
18
|
-
return (jsx(DaimoPayButtonCustom, { ...props, children: ({ show }) => (jsx(ResetContainer, { "$useTheme": theme ?? context.theme, "$useMode": mode ?? context.mode, "$customTheme": customTheme ?? context.customTheme, children: jsx(ThemeContainer, { onClick: !props.disabled && show, children: jsx(ThemedButton, { theme: theme ?? context.theme, mode: mode ?? context.mode, customTheme: customTheme ?? context.customTheme, children: jsx(DaimoPayButtonInner, { disabled: props.disabled }) }) }) })) }));
|
|
19
|
-
}
|
|
20
|
-
/** Like DaimoPayButton, but with custom styling. */
|
|
21
|
-
function DaimoPayButtonCustom(props) {
|
|
22
|
-
const context = usePayContext();
|
|
23
|
-
// Pre-load payment info in background.
|
|
24
|
-
// Reload when any of the info changes.
|
|
25
|
-
let payParams = "appId" in props
|
|
26
|
-
? {
|
|
27
|
-
appId: props.appId,
|
|
28
|
-
toChain: props.toChain,
|
|
29
|
-
toAddress: props.toAddress,
|
|
30
|
-
toToken: props.toToken,
|
|
31
|
-
toUnits: props.toUnits,
|
|
32
|
-
toCallData: props.toCallData,
|
|
33
|
-
intent: props.intent,
|
|
34
|
-
paymentOptions: props.paymentOptions,
|
|
35
|
-
preferredChains: props.preferredChains,
|
|
36
|
-
preferredTokens: props.preferredTokens,
|
|
37
|
-
evmChains: props.evmChains,
|
|
38
|
-
externalId: props.externalId,
|
|
39
|
-
metadata: props.metadata,
|
|
40
|
-
}
|
|
41
|
-
: null;
|
|
42
|
-
let payId = "payId" in props ? props.payId : null;
|
|
43
|
-
const { paymentState } = context;
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (payId != null) {
|
|
46
|
-
paymentState.setPayId(payId);
|
|
47
|
-
}
|
|
48
|
-
else if (payParams != null) {
|
|
49
|
-
paymentState.setPayParams(payParams);
|
|
50
|
-
}
|
|
51
|
-
}, [payId, JSON.stringify(payParams || {})]);
|
|
52
|
-
const { setConfirmationMessage } = context;
|
|
53
|
-
useEffect(() => {
|
|
54
|
-
if (props.confirmationMessage) {
|
|
55
|
-
setConfirmationMessage(props.confirmationMessage);
|
|
56
|
-
}
|
|
57
|
-
}, [props.confirmationMessage, setConfirmationMessage]);
|
|
58
|
-
const { setRedirectReturnUrl } = context;
|
|
59
|
-
useEffect(() => {
|
|
60
|
-
if (props.redirectReturnUrl) {
|
|
61
|
-
setRedirectReturnUrl(props.redirectReturnUrl);
|
|
62
|
-
}
|
|
63
|
-
}, [props.redirectReturnUrl, setRedirectReturnUrl]);
|
|
64
|
-
// Payment events: call these three event handlers.
|
|
65
|
-
const { onPaymentStarted, onPaymentCompleted, onPaymentBounced } = props;
|
|
66
|
-
const order = paymentState.daimoPayOrder;
|
|
67
|
-
const intentStatus = order?.intentStatus;
|
|
68
|
-
const hydOrder = order?.mode === DaimoPayOrderMode.HYDRATED ? order : null;
|
|
69
|
-
// Functions to show and hide the modal
|
|
70
|
-
const { children, closeOnSuccess } = props;
|
|
71
|
-
const modalOptions = { closeOnSuccess };
|
|
72
|
-
const show = () => {
|
|
73
|
-
if (paymentState.daimoPayOrder == null)
|
|
74
|
-
return;
|
|
75
|
-
context.showPayment(modalOptions);
|
|
76
|
-
};
|
|
77
|
-
const hide = () => context.setOpen(false);
|
|
78
|
-
// Emit event handlers when payment status changes
|
|
79
|
-
useEffect(() => {
|
|
80
|
-
if (hydOrder == null)
|
|
81
|
-
return;
|
|
82
|
-
if (intentStatus === DaimoPayIntentStatus.UNPAID)
|
|
83
|
-
return;
|
|
84
|
-
if (intentStatus === DaimoPayIntentStatus.STARTED) {
|
|
85
|
-
onPaymentStarted?.({
|
|
86
|
-
type: DaimoPayIntentStatus.STARTED,
|
|
87
|
-
paymentId: writeDaimoPayOrderID(hydOrder.id),
|
|
88
|
-
chainId: hydOrder.destFinalCallTokenAmount.token.chainId,
|
|
89
|
-
txHash: assertNotNull(hydOrder.sourceInitiateTxHash, `[PAY BUTTON] source initiate tx hash null on order ${hydOrder.id} when intent status is ${intentStatus}`),
|
|
90
|
-
payment: getDaimoPayOrderView(hydOrder),
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
else if (intentStatus === DaimoPayIntentStatus.COMPLETED ||
|
|
94
|
-
intentStatus === DaimoPayIntentStatus.BOUNCED) {
|
|
95
|
-
const event = {
|
|
96
|
-
type: intentStatus,
|
|
97
|
-
paymentId: writeDaimoPayOrderID(hydOrder.id),
|
|
98
|
-
chainId: hydOrder.destFinalCallTokenAmount.token.chainId,
|
|
99
|
-
txHash: assertNotNull(hydOrder.destFastFinishTxHash ?? hydOrder.destClaimTxHash, `[PAY BUTTON] dest tx hash null on order ${hydOrder.id} when intent status is ${intentStatus}`),
|
|
100
|
-
payment: getDaimoPayOrderView(hydOrder),
|
|
101
|
-
};
|
|
102
|
-
if (intentStatus === DaimoPayIntentStatus.COMPLETED) {
|
|
103
|
-
onPaymentCompleted?.(event);
|
|
104
|
-
}
|
|
105
|
-
else if (intentStatus === DaimoPayIntentStatus.BOUNCED) {
|
|
106
|
-
onPaymentBounced?.(event);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}, [hydOrder?.id, intentStatus]);
|
|
110
|
-
useEffect(() => {
|
|
111
|
-
if (props.defaultOpen) {
|
|
112
|
-
show();
|
|
113
|
-
}
|
|
114
|
-
}, [order != null]);
|
|
115
|
-
// Validation
|
|
116
|
-
if ((payId == null) == (payParams == null)) {
|
|
117
|
-
throw new Error("Must specify either payId or appId, not both");
|
|
118
|
-
}
|
|
119
|
-
return children({ show, hide });
|
|
120
|
-
}
|
|
121
|
-
DaimoPayButtonCustom.displayName = "DaimoPayButton.Custom";
|
|
122
|
-
DaimoPayButton.Custom = DaimoPayButtonCustom;
|
|
123
|
-
const contentVariants = {
|
|
124
|
-
initial: {
|
|
125
|
-
zIndex: 2,
|
|
126
|
-
opacity: 0,
|
|
127
|
-
x: "-100%",
|
|
128
|
-
},
|
|
129
|
-
animate: {
|
|
130
|
-
opacity: 1,
|
|
131
|
-
x: 0.1,
|
|
132
|
-
transition: {
|
|
133
|
-
duration: 0.4,
|
|
134
|
-
ease: [0.25, 1, 0.5, 1],
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
exit: {
|
|
138
|
-
zIndex: 1,
|
|
139
|
-
opacity: 0,
|
|
140
|
-
x: "-100%",
|
|
141
|
-
pointerEvents: "none",
|
|
142
|
-
position: "absolute",
|
|
143
|
-
transition: {
|
|
144
|
-
duration: 0.4,
|
|
145
|
-
ease: [0.25, 1, 0.5, 1],
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
function DaimoPayButtonInner({ disabled }) {
|
|
150
|
-
const { paymentState } = usePayContext();
|
|
151
|
-
const label = paymentState?.daimoPayOrder?.metadata?.intent ?? "Pay";
|
|
152
|
-
return (jsx(AnimatePresence, { initial: false, children: jsx(TextContainer, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, style: {
|
|
153
|
-
height: 40,
|
|
154
|
-
}, children: label }) }));
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export { DaimoPayButton };
|
|
158
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/DaimoPayButton/index.tsx"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from \"react\";\nimport { usePayContext } from \"../DaimoPay\";\nimport { TextContainer } from \"./styles\";\nimport { assertNotNull, DaimoPayIntentStatus, DaimoPayOrderMode, getDaimoPayOrderView, writeDaimoPayOrderID, } from \"@daimo/pay-common\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { ResetContainer } from \"../../styles\";\nimport ThemedButton, { ThemeContainer } from \"../Common/ThemedButton\";\n/**\n * A button that shows the Daimo Pay checkout. Replaces the traditional\n * Connect Wallet » approve » execute sequence with a single action.\n */\nexport function DaimoPayButton(props) {\n const { theme, mode, customTheme } = props;\n const context = usePayContext();\n return (_jsx(DaimoPayButtonCustom, { ...props, children: ({ show }) => (_jsx(ResetContainer, { \"$useTheme\": theme ?? context.theme, \"$useMode\": mode ?? context.mode, \"$customTheme\": customTheme ?? context.customTheme, children: _jsx(ThemeContainer, { onClick: !props.disabled && show, children: _jsx(ThemedButton, { theme: theme ?? context.theme, mode: mode ?? context.mode, customTheme: customTheme ?? context.customTheme, children: _jsx(DaimoPayButtonInner, { disabled: props.disabled }) }) }) })) }));\n}\n/** Like DaimoPayButton, but with custom styling. */\nfunction DaimoPayButtonCustom(props) {\n const context = usePayContext();\n // Pre-load payment info in background.\n // Reload when any of the info changes.\n let payParams = \"appId\" in props\n ? {\n appId: props.appId,\n toChain: props.toChain,\n toAddress: props.toAddress,\n toToken: props.toToken,\n toUnits: props.toUnits,\n toCallData: props.toCallData,\n intent: props.intent,\n paymentOptions: props.paymentOptions,\n preferredChains: props.preferredChains,\n preferredTokens: props.preferredTokens,\n evmChains: props.evmChains,\n externalId: props.externalId,\n metadata: props.metadata,\n }\n : null;\n let payId = \"payId\" in props ? props.payId : null;\n const { paymentState } = context;\n useEffect(() => {\n if (payId != null) {\n paymentState.setPayId(payId);\n }\n else if (payParams != null) {\n paymentState.setPayParams(payParams);\n }\n }, [payId, JSON.stringify(payParams || {})]);\n const { setConfirmationMessage } = context;\n useEffect(() => {\n if (props.confirmationMessage) {\n setConfirmationMessage(props.confirmationMessage);\n }\n }, [props.confirmationMessage, setConfirmationMessage]);\n const { setRedirectReturnUrl } = context;\n useEffect(() => {\n if (props.redirectReturnUrl) {\n setRedirectReturnUrl(props.redirectReturnUrl);\n }\n }, [props.redirectReturnUrl, setRedirectReturnUrl]);\n // Payment events: call these three event handlers.\n const { onPaymentStarted, onPaymentCompleted, onPaymentBounced } = props;\n const order = paymentState.daimoPayOrder;\n const intentStatus = order?.intentStatus;\n const hydOrder = order?.mode === DaimoPayOrderMode.HYDRATED ? order : null;\n // Functions to show and hide the modal\n const { children, closeOnSuccess } = props;\n const modalOptions = { closeOnSuccess };\n const show = () => {\n if (paymentState.daimoPayOrder == null)\n return;\n context.showPayment(modalOptions);\n };\n const hide = () => context.setOpen(false);\n // Emit event handlers when payment status changes\n useEffect(() => {\n if (hydOrder == null)\n return;\n if (intentStatus === DaimoPayIntentStatus.UNPAID)\n return;\n if (intentStatus === DaimoPayIntentStatus.STARTED) {\n onPaymentStarted?.({\n type: DaimoPayIntentStatus.STARTED,\n paymentId: writeDaimoPayOrderID(hydOrder.id),\n chainId: hydOrder.destFinalCallTokenAmount.token.chainId,\n txHash: assertNotNull(hydOrder.sourceInitiateTxHash, `[PAY BUTTON] source initiate tx hash null on order ${hydOrder.id} when intent status is ${intentStatus}`),\n payment: getDaimoPayOrderView(hydOrder),\n });\n }\n else if (intentStatus === DaimoPayIntentStatus.COMPLETED ||\n intentStatus === DaimoPayIntentStatus.BOUNCED) {\n const event = {\n type: intentStatus,\n paymentId: writeDaimoPayOrderID(hydOrder.id),\n chainId: hydOrder.destFinalCallTokenAmount.token.chainId,\n txHash: assertNotNull(hydOrder.destFastFinishTxHash ?? hydOrder.destClaimTxHash, `[PAY BUTTON] dest tx hash null on order ${hydOrder.id} when intent status is ${intentStatus}`),\n payment: getDaimoPayOrderView(hydOrder),\n };\n if (intentStatus === DaimoPayIntentStatus.COMPLETED) {\n onPaymentCompleted?.(event);\n }\n else if (intentStatus === DaimoPayIntentStatus.BOUNCED) {\n onPaymentBounced?.(event);\n }\n }\n }, [hydOrder?.id, intentStatus]);\n useEffect(() => {\n if (props.defaultOpen) {\n show();\n }\n }, [order != null]);\n // Validation\n if ((payId == null) == (payParams == null)) {\n throw new Error(\"Must specify either payId or appId, not both\");\n }\n return children({ show, hide });\n}\nDaimoPayButtonCustom.displayName = \"DaimoPayButton.Custom\";\nDaimoPayButton.Custom = DaimoPayButtonCustom;\nconst contentVariants = {\n initial: {\n zIndex: 2,\n opacity: 0,\n x: \"-100%\",\n },\n animate: {\n opacity: 1,\n x: 0.1,\n transition: {\n duration: 0.4,\n ease: [0.25, 1, 0.5, 1],\n },\n },\n exit: {\n zIndex: 1,\n opacity: 0,\n x: \"-100%\",\n pointerEvents: \"none\",\n position: \"absolute\",\n transition: {\n duration: 0.4,\n ease: [0.25, 1, 0.5, 1],\n },\n },\n};\nfunction DaimoPayButtonInner({ disabled }) {\n const { paymentState } = usePayContext();\n const label = paymentState?.daimoPayOrder?.metadata?.intent ?? \"Pay\";\n return (_jsx(AnimatePresence, { initial: false, children: _jsx(TextContainer, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, style: {\n height: 40,\n }, children: label }) }));\n}\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { motion } from 'framer-motion';
|
|
2
|
-
import styled from '../../styles/styled/index.js';
|
|
3
|
-
|
|
4
|
-
const TextContainer = styled(motion.div) `
|
|
5
|
-
top: 0;
|
|
6
|
-
bottom: 0;
|
|
7
|
-
left: 0;
|
|
8
|
-
display: inline-flex;
|
|
9
|
-
align-items: center;
|
|
10
|
-
justify-content: center;
|
|
11
|
-
white-space: nowrap;
|
|
12
|
-
`;
|
|
13
|
-
styled(motion.div) `
|
|
14
|
-
position: relative;
|
|
15
|
-
width: 24px;
|
|
16
|
-
height: 24px;
|
|
17
|
-
border-radius: 12px;
|
|
18
|
-
overflow: hidden;
|
|
19
|
-
svg {
|
|
20
|
-
display: block;
|
|
21
|
-
}
|
|
22
|
-
`;
|
|
23
|
-
styled(motion.div) `
|
|
24
|
-
pointer-events: none;
|
|
25
|
-
user-select: none;
|
|
26
|
-
position: relative;
|
|
27
|
-
width: 24px;
|
|
28
|
-
height: 24px;
|
|
29
|
-
margin-right: 8px;
|
|
30
|
-
`;
|
|
31
|
-
styled(motion.div) `
|
|
32
|
-
z-index: 1;
|
|
33
|
-
position: absolute;
|
|
34
|
-
inset: 0;
|
|
35
|
-
display: flex;
|
|
36
|
-
align-items: center;
|
|
37
|
-
justify-content: center;
|
|
38
|
-
border-radius: 100%;
|
|
39
|
-
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02);
|
|
40
|
-
background: var(--ck-body-color-danger, red);
|
|
41
|
-
color: #fff;
|
|
42
|
-
svg {
|
|
43
|
-
display: block;
|
|
44
|
-
position: relative;
|
|
45
|
-
top: -1px;
|
|
46
|
-
}
|
|
47
|
-
`;
|
|
48
|
-
|
|
49
|
-
export { TextContainer };
|
|
50
|
-
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/DaimoPayButton/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport styled from \"./../../styles/styled\";\nexport const TextContainer = styled(motion.div) `\n top: 0;\n bottom: 0;\n left: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n white-space: nowrap;\n`;\nexport const ChainContainer = styled(motion.div) `\n position: relative;\n width: 24px;\n height: 24px;\n border-radius: 12px;\n overflow: hidden;\n svg {\n display: block;\n }\n`;\nexport const IconContainer = styled(motion.div) `\n pointer-events: none;\n user-select: none;\n position: relative;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n`;\nexport const UnsupportedNetworkContainer = styled(motion.div) `\n z-index: 1;\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02);\n background: var(--ck-body-color-danger, red);\n color: #fff;\n svg {\n display: block;\n position: relative;\n top: -1px;\n }\n`;\n"],"names":[],"mappings":";;;AAEY,MAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AAC4B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AAC2B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACyC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { AnimatePresence, motion } from 'framer-motion';
|
|
3
|
-
import { useState, useEffect } from 'react';
|
|
4
|
-
import { useWallet } from '../../wallets/useWallets.js';
|
|
5
|
-
import { usePayContext } from '../DaimoPay.js';
|
|
6
|
-
import ConnectWithInjector from './ConnectWithInjector/index.js';
|
|
7
|
-
import ConnectWithQRCode from './ConnectWithQRCode.js';
|
|
8
|
-
import Alert from '../Common/Alert/index.js';
|
|
9
|
-
import { contentVariants } from '../Common/Modal/index.js';
|
|
10
|
-
|
|
11
|
-
const states = {
|
|
12
|
-
QRCODE: "qrcode",
|
|
13
|
-
INJECTOR: "injector",
|
|
14
|
-
};
|
|
15
|
-
const ConnectUsing = () => {
|
|
16
|
-
const context = usePayContext();
|
|
17
|
-
const wallet = useWallet(context.connector.id);
|
|
18
|
-
// If cannot be scanned, display injector flow, which if extension is not installed will show CTA to install it
|
|
19
|
-
const isQrCode = !wallet?.isInstalled && wallet?.getWalletConnectDeeplink;
|
|
20
|
-
const [status, setStatus] = useState(isQrCode ? states.QRCODE : states.INJECTOR);
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
// if no provider, change to qrcode
|
|
23
|
-
const checkProvider = async () => {
|
|
24
|
-
const res = await wallet?.connector.getProvider();
|
|
25
|
-
if (!res) {
|
|
26
|
-
setStatus(states.QRCODE);
|
|
27
|
-
setTimeout(context.triggerResize, 10); // delay required here for modal to resize
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
if (status === states.INJECTOR)
|
|
31
|
-
checkProvider();
|
|
32
|
-
}, []);
|
|
33
|
-
if (!wallet)
|
|
34
|
-
return jsxs(Alert, { children: ["Connector not found ", context.connector.id] });
|
|
35
|
-
return (jsxs(AnimatePresence, { children: [status === states.QRCODE && (jsx(motion.div, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsx(ConnectWithQRCode, { switchConnectMethod: (id) => {
|
|
36
|
-
//if (id) setId(id);
|
|
37
|
-
setStatus(states.INJECTOR);
|
|
38
|
-
} }) }, states.QRCODE)), status === states.INJECTOR && (jsx(motion.div, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsx(ConnectWithInjector, { switchConnectMethod: (id) => {
|
|
39
|
-
//if (id) setId(id);
|
|
40
|
-
setStatus(states.QRCODE);
|
|
41
|
-
} }) }, states.INJECTOR))] }));
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export { ConnectUsing as default };
|
|
45
|
-
//# sourceMappingURL=ConnectUsing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectUsing.js","sources":["../../../../src/components/DaimoPayModal/ConnectUsing.tsx"],"sourcesContent":["import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport { useEffect, useState } from \"react\";\nimport { useWallet } from \"../../wallets/useWallets\";\nimport { usePayContext } from \"../DaimoPay\";\nimport ConnectWithInjector from \"./ConnectWithInjector\";\nimport ConnectWithQRCode from \"./ConnectWithQRCode\";\nimport Alert from \"../Common/Alert\";\nimport { contentVariants } from \"../Common/Modal\";\nconst states = {\n QRCODE: \"qrcode\",\n INJECTOR: \"injector\",\n};\nconst ConnectUsing = () => {\n const context = usePayContext();\n const wallet = useWallet(context.connector.id);\n // If cannot be scanned, display injector flow, which if extension is not installed will show CTA to install it\n const isQrCode = !wallet?.isInstalled && wallet?.getWalletConnectDeeplink;\n const [status, setStatus] = useState(isQrCode ? states.QRCODE : states.INJECTOR);\n useEffect(() => {\n // if no provider, change to qrcode\n const checkProvider = async () => {\n const res = await wallet?.connector.getProvider();\n if (!res) {\n setStatus(states.QRCODE);\n setTimeout(context.triggerResize, 10); // delay required here for modal to resize\n }\n };\n if (status === states.INJECTOR)\n checkProvider();\n }, []);\n if (!wallet)\n return _jsxs(Alert, { children: [\"Connector not found \", context.connector.id] });\n return (_jsxs(AnimatePresence, { children: [status === states.QRCODE && (_jsx(motion.div, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: _jsx(ConnectWithQRCode, { switchConnectMethod: (id) => {\n //if (id) setId(id);\n setStatus(states.INJECTOR);\n } }) }, states.QRCODE)), status === states.INJECTOR && (_jsx(motion.div, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: _jsx(ConnectWithInjector, { switchConnectMethod: (id) => {\n //if (id) setId(id);\n setStatus(states.QRCODE);\n } }) }, states.INJECTOR))] }));\n};\nexport default ConnectUsing;\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AASA,MAAM,MAAM,GAAG;AACf,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,QAAQ,EAAE,UAAU;AACxB,CAAC,CAAC;AACG,MAAC,YAAY,GAAG,MAAM;AAC3B,IAAI,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AACpC,IAAI,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnD;AACA,IAAI,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM,EAAE,wBAAwB,CAAC;AAC9E,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrF,IAAI,SAAS,CAAC,MAAM;AACpB;AACA,QAAQ,MAAM,aAAa,GAAG,YAAY;AAC1C,YAAY,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;AAC9D,YAAY,IAAI,CAAC,GAAG,EAAE;AACtB,gBAAgB,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACzC,gBAAgB,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACtD,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,IAAI,MAAM,KAAK,MAAM,CAAC,QAAQ;AACtC,YAAY,aAAa,EAAE,CAAC;AAC5B,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,IAAI,CAAC,MAAM;AACf,QAAQ,OAAOA,IAAK,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,sBAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1F,IAAI,QAAQA,IAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,KAAKC,GAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAEA,GAAI,CAAC,iBAAiB,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,KAAK;AAClP;AACA,wBAAwB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnD,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,QAAQ,KAAKA,GAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAEA,GAAI,CAAC,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,KAAK;AACnP;AACA,wBAAwB,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACnD;;;;"}
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { AnimatePresence } from 'framer-motion';
|
|
3
|
-
import { useState, useEffect } from 'react';
|
|
4
|
-
import { Container, ConnectingContainer, ConnectingAnimation, RetryButton, RetryIconContainer, Content } from './styles.js';
|
|
5
|
-
import Alert from '../../Common/Alert/index.js';
|
|
6
|
-
import Button from '../../Common/Button/index.js';
|
|
7
|
-
import { PageContent, ModalHeading, ModalContent, ModalContentContainer, ModalH1, ModalBody } from '../../Common/Modal/styles.js';
|
|
8
|
-
import Tooltip from '../../Common/Tooltip/index.js';
|
|
9
|
-
import SquircleSpinner from '../../Spinners/SquircleSpinner/index.js';
|
|
10
|
-
import { RetryIconCircle, AlertIcon, ExternalLinkIcon, TickIcon } from '../../../assets/icons.js';
|
|
11
|
-
import { useConnect } from '../../../hooks/useConnect.js';
|
|
12
|
-
import useLocales from '../../../hooks/useLocales.js';
|
|
13
|
-
import { detectBrowser, isWalletConnectConnector } from '../../../utils/index.js';
|
|
14
|
-
import { useWallet } from '../../../wallets/useWallets.js';
|
|
15
|
-
import BrowserIcon from '../../Common/BrowserIcon/index.js';
|
|
16
|
-
import { usePayContext } from '../../DaimoPay.js';
|
|
17
|
-
import CircleSpinner from '../../Spinners/CircleSpinner/index.js';
|
|
18
|
-
|
|
19
|
-
const states = {
|
|
20
|
-
CONNECTED: "connected",
|
|
21
|
-
CONNECTING: "connecting",
|
|
22
|
-
EXPIRING: "expiring",
|
|
23
|
-
FAILED: "failed",
|
|
24
|
-
REJECTED: "rejected",
|
|
25
|
-
NOTCONNECTED: "notconnected",
|
|
26
|
-
UNAVAILABLE: "unavailable",
|
|
27
|
-
};
|
|
28
|
-
const contentVariants = {
|
|
29
|
-
initial: {
|
|
30
|
-
willChange: "transform,opacity",
|
|
31
|
-
position: "relative",
|
|
32
|
-
opacity: 0,
|
|
33
|
-
scale: 0.95,
|
|
34
|
-
},
|
|
35
|
-
animate: {
|
|
36
|
-
position: "relative",
|
|
37
|
-
opacity: 1,
|
|
38
|
-
scale: 1,
|
|
39
|
-
transition: {
|
|
40
|
-
ease: [0.16, 1, 0.3, 1],
|
|
41
|
-
duration: 0.4,
|
|
42
|
-
delay: 0.05,
|
|
43
|
-
position: { delay: 0 },
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
exit: {
|
|
47
|
-
position: "absolute",
|
|
48
|
-
opacity: 0,
|
|
49
|
-
scale: 0.95,
|
|
50
|
-
transition: {
|
|
51
|
-
ease: [0.16, 1, 0.3, 1],
|
|
52
|
-
duration: 0.3,
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
const ConnectWithInjector = ({ switchConnectMethod, forceState }) => {
|
|
57
|
-
const { connect } = useConnect({
|
|
58
|
-
mutation: {
|
|
59
|
-
onMutate: (connector) => {
|
|
60
|
-
if (connector.connector) {
|
|
61
|
-
setStatus(states.CONNECTING);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
setStatus(states.UNAVAILABLE);
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
onError(err) {
|
|
68
|
-
console.error(err);
|
|
69
|
-
},
|
|
70
|
-
onSettled(data, error) {
|
|
71
|
-
if (error) {
|
|
72
|
-
setShowTryAgainTooltip(true);
|
|
73
|
-
setTimeout(() => setShowTryAgainTooltip(false), 3500);
|
|
74
|
-
if (error.code) {
|
|
75
|
-
// https://github.com/MetaMask/eth-rpc-errors/blob/main/src/error-constants.ts
|
|
76
|
-
switch (error.code) {
|
|
77
|
-
case -32002:
|
|
78
|
-
setStatus(states.NOTCONNECTED);
|
|
79
|
-
break;
|
|
80
|
-
case 4001:
|
|
81
|
-
setStatus(states.REJECTED);
|
|
82
|
-
break;
|
|
83
|
-
default:
|
|
84
|
-
setStatus(states.FAILED);
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
// Sometimes the error doesn't respond with a code
|
|
90
|
-
if (error.message) {
|
|
91
|
-
switch (error.message) {
|
|
92
|
-
case "User rejected request":
|
|
93
|
-
setStatus(states.REJECTED);
|
|
94
|
-
break;
|
|
95
|
-
default:
|
|
96
|
-
setStatus(states.FAILED);
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
setTimeout(triggerResize, 100);
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
});
|
|
106
|
-
const { triggerResize, connector: c } = usePayContext();
|
|
107
|
-
const id = c.id;
|
|
108
|
-
const wallet = useWallet(id);
|
|
109
|
-
const walletInfo = {
|
|
110
|
-
name: wallet?.name,
|
|
111
|
-
shortName: wallet?.shortName ?? wallet?.name,
|
|
112
|
-
icon: wallet?.iconConnector ?? wallet?.icon,
|
|
113
|
-
iconShape: wallet?.iconShape ?? "circle",
|
|
114
|
-
iconShouldShrink: wallet?.iconShouldShrink,
|
|
115
|
-
};
|
|
116
|
-
const [showTryAgainTooltip, setShowTryAgainTooltip] = useState(false);
|
|
117
|
-
const expiryDefault = 9; // Starting at 10 causes layout shifting, better to start at 9
|
|
118
|
-
useState(expiryDefault);
|
|
119
|
-
const browser = detectBrowser();
|
|
120
|
-
const extensionUrl = wallet?.downloadUrls?.[browser];
|
|
121
|
-
const suggestedExtension = wallet?.downloadUrls
|
|
122
|
-
? {
|
|
123
|
-
name: Object.keys(wallet?.downloadUrls)[0],
|
|
124
|
-
label: Object.keys(wallet?.downloadUrls)[0]?.charAt(0).toUpperCase() +
|
|
125
|
-
Object.keys(wallet?.downloadUrls)[0]?.slice(1), // Capitalise first letter, but this might be better suited as a lookup table
|
|
126
|
-
url: wallet?.downloadUrls[Object.keys(wallet?.downloadUrls)[0]],
|
|
127
|
-
}
|
|
128
|
-
: undefined;
|
|
129
|
-
const [status, setStatus] = useState(forceState
|
|
130
|
-
? forceState
|
|
131
|
-
: !wallet?.isInstalled
|
|
132
|
-
? states.UNAVAILABLE
|
|
133
|
-
: states.CONNECTING);
|
|
134
|
-
const locales = useLocales({
|
|
135
|
-
CONNECTORNAME: walletInfo.name,
|
|
136
|
-
CONNECTORSHORTNAME: walletInfo.shortName ?? walletInfo.name,
|
|
137
|
-
SUGGESTEDEXTENSIONBROWSER: suggestedExtension?.label ?? "your browser",
|
|
138
|
-
});
|
|
139
|
-
const runConnect = async () => {
|
|
140
|
-
if (wallet?.isInstalled && wallet?.connector) {
|
|
141
|
-
connect({ connector: wallet?.connector });
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
setStatus(states.UNAVAILABLE);
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
let connectTimeout;
|
|
148
|
-
useEffect(() => {
|
|
149
|
-
if (status === states.UNAVAILABLE)
|
|
150
|
-
return;
|
|
151
|
-
// UX: Give user time to see the UI before opening the extension
|
|
152
|
-
connectTimeout = setTimeout(runConnect, 600);
|
|
153
|
-
return () => {
|
|
154
|
-
clearTimeout(connectTimeout);
|
|
155
|
-
};
|
|
156
|
-
}, []);
|
|
157
|
-
/** Timeout functionality if necessary
|
|
158
|
-
let expiryTimeout: any;
|
|
159
|
-
useEffect(() => {
|
|
160
|
-
if (status === states.EXPIRING) {
|
|
161
|
-
expiryTimeout = setTimeout(
|
|
162
|
-
() => {
|
|
163
|
-
if (expiryTimer <= 0) {
|
|
164
|
-
setStatus(states.FAILED);
|
|
165
|
-
setExpiryTimer(expiryDefault);
|
|
166
|
-
} else {
|
|
167
|
-
setExpiryTimer(expiryTimer - 1);
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
expiryTimer === 9 ? 1500 : 1000 // Google: Chronostasis
|
|
171
|
-
);
|
|
172
|
-
}
|
|
173
|
-
return () => {
|
|
174
|
-
clearTimeout(expiryTimeout);
|
|
175
|
-
};
|
|
176
|
-
}, [status, expiryTimer]);
|
|
177
|
-
*/
|
|
178
|
-
if (!wallet) {
|
|
179
|
-
return (jsx(PageContent, { children: jsxs(Container, { children: [jsx(ModalHeading, { children: "Invalid State" }), jsx(ModalContent, { children: jsx(Alert, { children: "No connectors match the id given. This state should never happen." }) })] }) }));
|
|
180
|
-
}
|
|
181
|
-
// TODO: Make this more generic
|
|
182
|
-
if (isWalletConnectConnector(wallet?.connector.id)) {
|
|
183
|
-
return (jsx(PageContent, { children: jsxs(Container, { children: [jsx(ModalHeading, { children: "Invalid State" }), jsx(ModalContent, { children: jsx(Alert, { children: "WalletConnect does not have an injection flow. This state should never happen." }) })] }) }));
|
|
184
|
-
}
|
|
185
|
-
return (jsx(PageContent, { children: jsxs(Container, { children: [jsx(ConnectingContainer, { children: jsxs(ConnectingAnimation, { "$shake": status === states.FAILED || status === states.REJECTED, "$circle": walletInfo.iconShape === "circle", children: [jsx(AnimatePresence, { children: (status === states.FAILED || status === states.REJECTED) && (jsx(RetryButton, { "aria-label": "Retry", initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, whileTap: { scale: 0.9 }, transition: { duration: 0.1 }, onClick: runConnect, children: jsx(RetryIconContainer, { children: jsx(Tooltip, { open: showTryAgainTooltip &&
|
|
186
|
-
(status === states.FAILED || status === states.REJECTED), message: locales.tryAgainQuestion, xOffset: -6, children: jsx(RetryIconCircle, {}) }) }) })) }), walletInfo.iconShape === "circle" ? (jsx(CircleSpinner, { logo: status === states.UNAVAILABLE ? (jsx("div", { style: {
|
|
187
|
-
transform: "scale(1.14)",
|
|
188
|
-
position: "relative",
|
|
189
|
-
width: "100%",
|
|
190
|
-
}, children: walletInfo.icon })) : (jsx(Fragment, { children: walletInfo.icon })), smallLogo: walletInfo.iconShouldShrink, loading: status === states.CONNECTING, unavailable: status === states.UNAVAILABLE })) : (jsx(SquircleSpinner, { logo: status === states.UNAVAILABLE ? (jsx("div", { style: {
|
|
191
|
-
transform: "scale(1.14)",
|
|
192
|
-
position: "relative",
|
|
193
|
-
width: "100%",
|
|
194
|
-
}, children: walletInfo.icon })) : (jsx(Fragment, { children: walletInfo.icon })), loading: status === states.CONNECTING }))] }) }), jsx(ModalContentContainer, { children: jsxs(AnimatePresence, { initial: false, children: [status === states.FAILED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { children: [jsxs(ModalH1, { "$error": true, children: [jsx(AlertIcon, {}), locales.injectionScreen_failed_h1] }), jsx(ModalBody, { children: locales.injectionScreen_failed_p })] }) }, states.FAILED)), status === states.REJECTED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [jsx(ModalH1, { children: locales.injectionScreen_rejected_h1 }), jsx(ModalBody, { children: locales.injectionScreen_rejected_p })] }) }, states.REJECTED)), (status === states.CONNECTING || status === states.EXPIRING) && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [jsx(ModalH1, { children: wallet.connector.id === "injected"
|
|
195
|
-
? locales.injectionScreen_connecting_injected_h1
|
|
196
|
-
: locales.injectionScreen_connecting_h1 }), jsx(ModalBody, { children: wallet.connector.id === "injected"
|
|
197
|
-
? locales.injectionScreen_connecting_injected_p
|
|
198
|
-
: locales.injectionScreen_connecting_p }), jsxs(Button, { icon: jsx(ExternalLinkIcon, {}), onClick: runConnect, children: ["Connect ", walletInfo.name] })] }) }, states.CONNECTING)), status === states.CONNECTED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { children: [jsxs(ModalH1, { "$valid": true, children: [jsx(TickIcon, {}), " ", locales.injectionScreen_connected_h1] }), jsx(ModalBody, { children: locales.injectionScreen_connected_p })] }) }, states.CONNECTED)), status === states.NOTCONNECTED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { children: [jsx(ModalH1, { children: locales.injectionScreen_notconnected_h1 }), jsx(ModalBody, { children: locales.injectionScreen_notconnected_p })] }) }, states.NOTCONNECTED)), status === states.UNAVAILABLE && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: !extensionUrl ? (jsxs(Fragment, { children: [jsxs(ModalContent, { style: { paddingBottom: 12 }, children: [jsx(ModalH1, { children: locales.injectionScreen_unavailable_h1 }), jsx(ModalBody, { children: locales.injectionScreen_unavailable_p })] }), !wallet.isInstalled && suggestedExtension && (jsxs(Button, { href: suggestedExtension?.url, icon: jsx(BrowserIcon, { browser: suggestedExtension?.name }), children: ["Install on ", suggestedExtension?.label] }))] })) : (jsxs(Fragment, { children: [jsxs(ModalContent, { style: { paddingBottom: 18 }, children: [jsx(ModalH1, { children: locales.injectionScreen_install_h1 }), jsx(ModalBody, { children: locales.injectionScreen_install_p })] }), !wallet.isInstalled && extensionUrl && (jsx(Button, { href: extensionUrl, icon: jsx(BrowserIcon, {}), children: locales.installTheExtension }))] })) }, states.UNAVAILABLE))] }) })] }) }));
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
export { ConnectWithInjector as default, states };
|
|
202
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/DaimoPayModal/ConnectWithInjector/index.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { useEffect, useState } from \"react\";\nimport { ConnectingAnimation, ConnectingContainer, Container, Content, RetryButton, RetryIconContainer, } from \"./styles\";\nimport Alert from \"../../Common/Alert\";\nimport Button from \"../../Common/Button\";\nimport { ModalBody, ModalContent, ModalContentContainer, ModalH1, ModalHeading, PageContent, } from \"../../Common/Modal/styles\";\nimport Tooltip from \"../../Common/Tooltip\";\nimport SquircleSpinner from \"../../Spinners/SquircleSpinner\";\nimport { AlertIcon, ExternalLinkIcon, RetryIconCircle, TickIcon, } from \"../../../assets/icons\";\nimport { useConnect } from \"../../../hooks/useConnect\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { detectBrowser, isWalletConnectConnector } from \"../../../utils\";\nimport { useWallet } from \"../../../wallets/useWallets\";\nimport BrowserIcon from \"../../Common/BrowserIcon\";\nimport { usePayContext } from \"../../DaimoPay\";\nimport CircleSpinner from \"../../Spinners/CircleSpinner\";\nexport const states = {\n CONNECTED: \"connected\",\n CONNECTING: \"connecting\",\n EXPIRING: \"expiring\",\n FAILED: \"failed\",\n REJECTED: \"rejected\",\n NOTCONNECTED: \"notconnected\",\n UNAVAILABLE: \"unavailable\",\n};\nconst contentVariants = {\n initial: {\n willChange: \"transform,opacity\",\n position: \"relative\",\n opacity: 0,\n scale: 0.95,\n },\n animate: {\n position: \"relative\",\n opacity: 1,\n scale: 1,\n transition: {\n ease: [0.16, 1, 0.3, 1],\n duration: 0.4,\n delay: 0.05,\n position: { delay: 0 },\n },\n },\n exit: {\n position: \"absolute\",\n opacity: 0,\n scale: 0.95,\n transition: {\n ease: [0.16, 1, 0.3, 1],\n duration: 0.3,\n },\n },\n};\nconst ConnectWithInjector = ({ switchConnectMethod, forceState }) => {\n const { connect } = useConnect({\n mutation: {\n onMutate: (connector) => {\n if (connector.connector) {\n setStatus(states.CONNECTING);\n }\n else {\n setStatus(states.UNAVAILABLE);\n }\n },\n onError(err) {\n console.error(err);\n },\n onSettled(data, error) {\n if (error) {\n setShowTryAgainTooltip(true);\n setTimeout(() => setShowTryAgainTooltip(false), 3500);\n if (error.code) {\n // https://github.com/MetaMask/eth-rpc-errors/blob/main/src/error-constants.ts\n switch (error.code) {\n case -32002:\n setStatus(states.NOTCONNECTED);\n break;\n case 4001:\n setStatus(states.REJECTED);\n break;\n default:\n setStatus(states.FAILED);\n break;\n }\n }\n else {\n // Sometimes the error doesn't respond with a code\n if (error.message) {\n switch (error.message) {\n case \"User rejected request\":\n setStatus(states.REJECTED);\n break;\n default:\n setStatus(states.FAILED);\n break;\n }\n }\n }\n }\n else if (data) {\n }\n setTimeout(triggerResize, 100);\n },\n },\n });\n const { triggerResize, connector: c } = usePayContext();\n const id = c.id;\n const wallet = useWallet(id);\n const walletInfo = {\n name: wallet?.name,\n shortName: wallet?.shortName ?? wallet?.name,\n icon: wallet?.iconConnector ?? wallet?.icon,\n iconShape: wallet?.iconShape ?? \"circle\",\n iconShouldShrink: wallet?.iconShouldShrink,\n };\n const [showTryAgainTooltip, setShowTryAgainTooltip] = useState(false);\n const expiryDefault = 9; // Starting at 10 causes layout shifting, better to start at 9\n const [expiryTimer, setExpiryTimer] = useState(expiryDefault);\n const browser = detectBrowser();\n const extensionUrl = wallet?.downloadUrls?.[browser];\n const suggestedExtension = wallet?.downloadUrls\n ? {\n name: Object.keys(wallet?.downloadUrls)[0],\n label: Object.keys(wallet?.downloadUrls)[0]?.charAt(0).toUpperCase() +\n Object.keys(wallet?.downloadUrls)[0]?.slice(1), // Capitalise first letter, but this might be better suited as a lookup table\n url: wallet?.downloadUrls[Object.keys(wallet?.downloadUrls)[0]],\n }\n : undefined;\n const [status, setStatus] = useState(forceState\n ? forceState\n : !wallet?.isInstalled\n ? states.UNAVAILABLE\n : states.CONNECTING);\n const locales = useLocales({\n CONNECTORNAME: walletInfo.name,\n CONNECTORSHORTNAME: walletInfo.shortName ?? walletInfo.name,\n SUGGESTEDEXTENSIONBROWSER: suggestedExtension?.label ?? \"your browser\",\n });\n const runConnect = async () => {\n if (wallet?.isInstalled && wallet?.connector) {\n connect({ connector: wallet?.connector });\n }\n else {\n setStatus(states.UNAVAILABLE);\n }\n };\n let connectTimeout;\n useEffect(() => {\n if (status === states.UNAVAILABLE)\n return;\n // UX: Give user time to see the UI before opening the extension\n connectTimeout = setTimeout(runConnect, 600);\n return () => {\n clearTimeout(connectTimeout);\n };\n }, []);\n /** Timeout functionality if necessary\n let expiryTimeout: any;\n useEffect(() => {\n if (status === states.EXPIRING) {\n expiryTimeout = setTimeout(\n () => {\n if (expiryTimer <= 0) {\n setStatus(states.FAILED);\n setExpiryTimer(expiryDefault);\n } else {\n setExpiryTimer(expiryTimer - 1);\n }\n },\n expiryTimer === 9 ? 1500 : 1000 // Google: Chronostasis\n );\n }\n return () => {\n clearTimeout(expiryTimeout);\n };\n }, [status, expiryTimer]);\n */\n if (!wallet) {\n return (_jsx(PageContent, { children: _jsxs(Container, { children: [_jsx(ModalHeading, { children: \"Invalid State\" }), _jsx(ModalContent, { children: _jsx(Alert, { children: \"No connectors match the id given. This state should never happen.\" }) })] }) }));\n }\n // TODO: Make this more generic\n if (isWalletConnectConnector(wallet?.connector.id)) {\n return (_jsx(PageContent, { children: _jsxs(Container, { children: [_jsx(ModalHeading, { children: \"Invalid State\" }), _jsx(ModalContent, { children: _jsx(Alert, { children: \"WalletConnect does not have an injection flow. This state should never happen.\" }) })] }) }));\n }\n return (_jsx(PageContent, { children: _jsxs(Container, { children: [_jsx(ConnectingContainer, { children: _jsxs(ConnectingAnimation, { \"$shake\": status === states.FAILED || status === states.REJECTED, \"$circle\": walletInfo.iconShape === \"circle\", children: [_jsx(AnimatePresence, { children: (status === states.FAILED || status === states.REJECTED) && (_jsx(RetryButton, { \"aria-label\": \"Retry\", initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, whileTap: { scale: 0.9 }, transition: { duration: 0.1 }, onClick: runConnect, children: _jsx(RetryIconContainer, { children: _jsx(Tooltip, { open: showTryAgainTooltip &&\n (status === states.FAILED || status === states.REJECTED), message: locales.tryAgainQuestion, xOffset: -6, children: _jsx(RetryIconCircle, {}) }) }) })) }), walletInfo.iconShape === \"circle\" ? (_jsx(CircleSpinner, { logo: status === states.UNAVAILABLE ? (_jsx(\"div\", { style: {\n transform: \"scale(1.14)\",\n position: \"relative\",\n width: \"100%\",\n }, children: walletInfo.icon })) : (_jsx(_Fragment, { children: walletInfo.icon })), smallLogo: walletInfo.iconShouldShrink, loading: status === states.CONNECTING, unavailable: status === states.UNAVAILABLE })) : (_jsx(SquircleSpinner, { logo: status === states.UNAVAILABLE ? (_jsx(\"div\", { style: {\n transform: \"scale(1.14)\",\n position: \"relative\",\n width: \"100%\",\n }, children: walletInfo.icon })) : (_jsx(_Fragment, { children: walletInfo.icon })), loading: status === states.CONNECTING }))] }) }), _jsx(ModalContentContainer, { children: _jsxs(AnimatePresence, { initial: false, children: [status === states.FAILED && (_jsx(Content, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: _jsxs(ModalContent, { children: [_jsxs(ModalH1, { \"$error\": true, children: [_jsx(AlertIcon, {}), locales.injectionScreen_failed_h1] }), _jsx(ModalBody, { children: locales.injectionScreen_failed_p })] }) }, states.FAILED)), status === states.REJECTED && (_jsx(Content, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: _jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [_jsx(ModalH1, { children: locales.injectionScreen_rejected_h1 }), _jsx(ModalBody, { children: locales.injectionScreen_rejected_p })] }) }, states.REJECTED)), (status === states.CONNECTING || status === states.EXPIRING) && (_jsx(Content, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: _jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [_jsx(ModalH1, { children: wallet.connector.id === \"injected\"\n ? locales.injectionScreen_connecting_injected_h1\n : locales.injectionScreen_connecting_h1 }), _jsx(ModalBody, { children: wallet.connector.id === \"injected\"\n ? locales.injectionScreen_connecting_injected_p\n : locales.injectionScreen_connecting_p }), _jsxs(Button, { icon: _jsx(ExternalLinkIcon, {}), onClick: runConnect, children: [\"Connect \", walletInfo.name] })] }) }, states.CONNECTING)), status === states.CONNECTED && (_jsx(Content, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: _jsxs(ModalContent, { children: [_jsxs(ModalH1, { \"$valid\": true, children: [_jsx(TickIcon, {}), \" \", locales.injectionScreen_connected_h1] }), _jsx(ModalBody, { children: locales.injectionScreen_connected_p })] }) }, states.CONNECTED)), status === states.NOTCONNECTED && (_jsx(Content, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: _jsxs(ModalContent, { children: [_jsx(ModalH1, { children: locales.injectionScreen_notconnected_h1 }), _jsx(ModalBody, { children: locales.injectionScreen_notconnected_p })] }) }, states.NOTCONNECTED)), status === states.UNAVAILABLE && (_jsx(Content, { initial: \"initial\", animate: \"animate\", exit: \"exit\", variants: contentVariants, children: !extensionUrl ? (_jsxs(_Fragment, { children: [_jsxs(ModalContent, { style: { paddingBottom: 12 }, children: [_jsx(ModalH1, { children: locales.injectionScreen_unavailable_h1 }), _jsx(ModalBody, { children: locales.injectionScreen_unavailable_p })] }), !wallet.isInstalled && suggestedExtension && (_jsxs(Button, { href: suggestedExtension?.url, icon: _jsx(BrowserIcon, { browser: suggestedExtension?.name }), children: [\"Install on \", suggestedExtension?.label] }))] })) : (_jsxs(_Fragment, { children: [_jsxs(ModalContent, { style: { paddingBottom: 18 }, children: [_jsx(ModalH1, { children: locales.injectionScreen_install_h1 }), _jsx(ModalBody, { children: locales.injectionScreen_install_p })] }), !wallet.isInstalled && extensionUrl && (_jsx(Button, { href: extensionUrl, icon: _jsx(BrowserIcon, {}), children: locales.installTheExtension }))] })) }, states.UNAVAILABLE))] }) })] }) }));\n};\nexport default ConnectWithInjector;\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|