@daimo/pay 1.15.0 → 1.16.1
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/components/DaimoPayButton/index.d.ts +13 -0
- package/build/hooks/useConnect.d.ts +8 -8
- package/build/hooks/useLocales.d.ts +2 -1
- package/build/hooks/useWalletPaymentOptions.d.ts +12 -1
- package/build/index.d.ts +626 -15
- package/build/localizations/locales/en-US.d.ts +2 -0
- package/build/localizations/locales/index.d.ts +1 -0
- package/build/package.json.js +6 -4
- package/build/package.json.js.map +1 -1
- package/build/payment/paymentFsm.d.ts +5 -0
- package/build/payment/paymentUtils.d.ts +6 -0
- package/build/src/assets/MobileWithLogos.js +320 -1
- package/build/src/assets/MobileWithLogos.js.map +1 -1
- package/build/src/assets/ScanIconWithLogos.js +216 -10
- package/build/src/assets/ScanIconWithLogos.js.map +1 -1
- package/build/src/assets/browsers.js +963 -7
- package/build/src/assets/browsers.js.map +1 -1
- package/build/src/assets/chains.js +633 -103
- package/build/src/assets/chains.js.map +1 -1
- package/build/src/assets/coins.js +38 -1
- package/build/src/assets/coins.js.map +1 -1
- package/build/src/assets/crepe.js +35 -1
- package/build/src/assets/crepe.js.map +1 -1
- package/build/src/assets/icons.js +258 -15
- package/build/src/assets/icons.js.map +1 -1
- package/build/src/assets/logos.js +1510 -140
- package/build/src/assets/logos.js.map +1 -1
- package/build/src/assets/wallet.js +32 -1
- package/build/src/assets/wallet.js.map +1 -1
- package/build/src/assets/wave.js +41 -1
- package/build/src/assets/wave.js.map +1 -1
- package/build/src/components/Common/Alert/index.js +4 -1
- package/build/src/components/Common/Alert/index.js.map +1 -1
- package/build/src/components/Common/Alert/styles.js +4 -4
- package/build/src/components/Common/Alert/styles.js.map +1 -1
- package/build/src/components/Common/AmountInput/AmountInputField.js +29 -18
- package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -1
- package/build/src/components/Common/AmountInput/index.js +112 -99
- package/build/src/components/Common/AmountInput/index.js.map +1 -1
- package/build/src/components/Common/Avatar/index.js +63 -51
- package/build/src/components/Common/Avatar/index.js.map +1 -1
- package/build/src/components/Common/Avatar/styles.js +9 -14
- package/build/src/components/Common/Avatar/styles.js.map +1 -1
- package/build/src/components/Common/BrowserIcon/index.js +15 -14
- package/build/src/components/Common/BrowserIcon/index.js.map +1 -1
- package/build/src/components/Common/BrowserIcon/styles.js +1 -1
- package/build/src/components/Common/BrowserIcon/styles.js.map +1 -1
- package/build/src/components/Common/Button/index.js +131 -25
- package/build/src/components/Common/Button/index.js.map +1 -1
- package/build/src/components/Common/Button/styles.js +20 -24
- package/build/src/components/Common/Button/styles.js.map +1 -1
- package/build/src/components/Common/Chain/index.js +130 -14
- package/build/src/components/Common/Chain/index.js.map +1 -1
- package/build/src/components/Common/Chain/styles.js +9 -13
- package/build/src/components/Common/Chain/styles.js.map +1 -1
- package/build/src/components/Common/ChainSelectList/index.js +232 -89
- package/build/src/components/Common/ChainSelectList/index.js.map +1 -1
- package/build/src/components/Common/ChainSelectList/styles.js +11 -13
- package/build/src/components/Common/ChainSelectList/styles.js.map +1 -1
- package/build/src/components/Common/CircleTimer.js +85 -41
- package/build/src/components/Common/CircleTimer.js.map +1 -1
- package/build/src/components/Common/ConnectorList/index.js +106 -80
- package/build/src/components/Common/ConnectorList/index.js.map +1 -1
- package/build/src/components/Common/ConnectorList/styles.js +28 -36
- package/build/src/components/Common/ConnectorList/styles.js.map +1 -1
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +16 -9
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -1
- package/build/src/components/Common/CopyToClipboard/index.js +3 -5
- package/build/src/components/Common/CopyToClipboard/index.js.map +1 -1
- package/build/src/components/Common/CustomQRCode/QRCode.js +120 -57
- package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -1
- package/build/src/components/Common/CustomQRCode/index.js +60 -10
- package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
- package/build/src/components/Common/CustomQRCode/styles.js +6 -6
- package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
- package/build/src/components/Common/FitText/index.js +24 -17
- package/build/src/components/Common/FitText/index.js.map +1 -1
- package/build/src/components/Common/Modal/index.js +481 -267
- package/build/src/components/Common/Modal/index.js.map +1 -1
- package/build/src/components/Common/Modal/styles.js +44 -48
- package/build/src/components/Common/Modal/styles.js.map +1 -1
- package/build/src/components/Common/OptionsList/index.js +75 -33
- package/build/src/components/Common/OptionsList/index.js.map +1 -1
- package/build/src/components/Common/OptionsList/styles.js +7 -8
- package/build/src/components/Common/OptionsList/styles.js.map +1 -1
- package/build/src/components/Common/OrderHeader/index.js +109 -65
- package/build/src/components/Common/OrderHeader/index.js.map +1 -1
- package/build/src/components/Common/PaymentBreakdown/index.js +29 -7
- package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -1
- package/build/src/components/Common/Portal/index.js +21 -22
- package/build/src/components/Common/Portal/index.js.map +1 -1
- package/build/src/components/Common/PoweredByFooter/index.js +39 -21
- package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
- package/build/src/components/Common/ScrollArea/index.js +107 -52
- package/build/src/components/Common/ScrollArea/index.js.map +1 -1
- package/build/src/components/Common/ScrollArea/styles.js +7 -11
- package/build/src/components/Common/ScrollArea/styles.js.map +1 -1
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +67 -55
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
- package/build/src/components/Common/Spinner/index.js +56 -16
- package/build/src/components/Common/Spinner/index.js.map +1 -1
- package/build/src/components/Common/Spinner/styles.js +2 -2
- package/build/src/components/Common/Spinner/styles.js.map +1 -1
- package/build/src/components/Common/SwitchButton/index.js +18 -15
- package/build/src/components/Common/SwitchButton/index.js.map +1 -1
- package/build/src/components/Common/ThemedButton/index.js +37 -16
- package/build/src/components/Common/ThemedButton/index.js.map +1 -1
- package/build/src/components/Common/ThemedButton/styles.js +2 -2
- package/build/src/components/Common/ThemedButton/styles.js.map +1 -1
- package/build/src/components/Common/TokenChainLogo/index.js +14 -8
- package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
- package/build/src/components/Common/Tooltip/index.js +115 -83
- package/build/src/components/Common/Tooltip/index.js.map +1 -1
- package/build/src/components/Common/Tooltip/styles.js +8 -8
- package/build/src/components/Common/Tooltip/styles.js.map +1 -1
- package/build/src/components/Common/WalletChainLogo/index.js +13 -6
- package/build/src/components/Common/WalletChainLogo/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/index.js +170 -176
- package/build/src/components/DaimoPayButton/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/styles.js +4 -4
- package/build/src/components/DaimoPayButton/styles.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectUsing.js +50 -24
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +303 -163
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +10 -12
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +69 -39
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
- package/build/src/components/DaimoPayModal/index.js +409 -416
- package/build/src/components/DaimoPayModal/index.js.map +1 -1
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +15 -11
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -1
- package/build/src/components/Pages/About/graphics.js +796 -130
- package/build/src/components/Pages/About/graphics.js.map +1 -1
- package/build/src/components/Pages/About/index.js +203 -110
- package/build/src/components/Pages/About/index.js.map +1 -1
- package/build/src/components/Pages/About/styles.js +11 -15
- package/build/src/components/Pages/About/styles.js.map +1 -1
- package/build/src/components/Pages/Confirmation/index.js +72 -41
- package/build/src/components/Pages/Confirmation/index.js.map +1 -1
- package/build/src/components/Pages/Connectors/index.js +50 -16
- package/build/src/components/Pages/Connectors/index.js.map +1 -1
- package/build/src/components/Pages/Connectors/styles.js +10 -10
- package/build/src/components/Pages/Connectors/styles.js.map +1 -1
- package/build/src/components/Pages/DownloadApp/index.js +23 -18
- package/build/src/components/Pages/DownloadApp/index.js.map +1 -1
- package/build/src/components/Pages/Error/index.js +27 -15
- package/build/src/components/Pages/Error/index.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/index.js +50 -44
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/styles.js +9 -11
- package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -1
- package/build/src/components/Pages/Onboarding/index.js +20 -4
- package/build/src/components/Pages/Onboarding/index.js.map +1 -1
- package/build/src/components/Pages/Onboarding/styles.js +13 -13
- package/build/src/components/Pages/Onboarding/styles.js.map +1 -1
- package/build/src/components/Pages/PayWithToken/index.js +133 -122
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
- package/build/src/components/Pages/SelectAmount/index.js +12 -5
- package/build/src/components/Pages/SelectAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js +56 -38
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +57 -40
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
- package/build/src/components/Pages/SelectExchange/index.js +29 -24
- package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
- package/build/src/components/Pages/SelectExternalAmount/index.js +57 -41
- package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js +201 -183
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/SelectToken/index.js +72 -46
- package/build/src/components/Pages/SelectToken/index.js.map +1 -1
- package/build/src/components/Pages/SelectWalletAmount/index.js +40 -32
- package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectWalletChain/index.js +40 -36
- package/build/src/components/Pages/SelectWalletChain/index.js.map +1 -1
- package/build/src/components/Pages/SelectZKP/index.js +29 -24
- package/build/src/components/Pages/SelectZKP/index.js.map +1 -1
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +60 -45
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +73 -61
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +12 -5
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -1
- package/build/src/components/Pages/SwitchNetworks/index.js +29 -10
- package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +339 -178
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
- package/build/src/components/Pages/WaitingExternal/index.js +69 -46
- package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
- package/build/src/components/Pages/WaitingWallet/index.js +37 -16
- package/build/src/components/Pages/WaitingWallet/index.js.map +1 -1
- package/build/src/components/Spinners/CircleSpinner/index.js +96 -7
- package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/CircleSpinner/styles.js +6 -7
- package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -1
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +18 -9
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/SquircleSpinner/index.js +60 -7
- package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/SquircleSpinner/styles.js +4 -4
- package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +12 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -1
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js +27 -20
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/styles.js +3 -4
- package/build/src/components/Spinners/styles.js.map +1 -1
- package/build/src/constants/defaultTheme.js +1 -1
- package/build/src/constants/defaultTheme.js.map +1 -1
- package/build/src/constants/routes.js +29 -30
- package/build/src/constants/routes.js.map +1 -1
- package/build/src/defaultConfig.js +49 -46
- package/build/src/defaultConfig.js.map +1 -1
- package/build/src/defaultConnectors.js +32 -19
- package/build/src/defaultConnectors.js.map +1 -1
- package/build/src/hooks/useChainIsSupported.js +3 -5
- package/build/src/hooks/useChainIsSupported.js.map +1 -1
- package/build/src/hooks/useChains.js +3 -4
- package/build/src/hooks/useChains.js.map +1 -1
- package/build/src/hooks/useConnect.js +51 -39
- package/build/src/hooks/useConnect.js.map +1 -1
- package/build/src/hooks/useConnectCallback.js +15 -12
- package/build/src/hooks/useConnectCallback.js.map +1 -1
- package/build/src/hooks/useConnectors.js +2 -2
- package/build/src/hooks/useConnectors.js.map +1 -1
- package/build/src/hooks/useDaimoPay.js +98 -82
- package/build/src/hooks/useDaimoPay.js.map +1 -1
- package/build/src/hooks/useDaimoPayStatus.js +4 -15
- package/build/src/hooks/useDaimoPayStatus.js.map +1 -1
- package/build/src/hooks/useDaimoPayUI.js +7 -7
- package/build/src/hooks/useDaimoPayUI.js.map +1 -1
- package/build/src/hooks/useDepositAddressOptions.js +29 -25
- package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
- package/build/src/hooks/useEnsFallbackConfig.js +5 -5
- package/build/src/hooks/useEnsFallbackConfig.js.map +1 -1
- package/build/src/hooks/useExternalPaymentOptions.js +57 -52
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
- package/build/src/hooks/useFitText.js +120 -135
- package/build/src/hooks/useFitText.js.map +1 -1
- package/build/src/hooks/useFocusTrap.js +33 -37
- package/build/src/hooks/useFocusTrap.js.map +1 -1
- package/build/src/hooks/useIsMobile.js +3 -3
- package/build/src/hooks/useIsMobile.js.map +1 -1
- package/build/src/hooks/useIsMounted.js +3 -5
- package/build/src/hooks/useIsMounted.js.map +1 -1
- package/build/src/hooks/useLastConnector.js +15 -15
- package/build/src/hooks/useLastConnector.js.map +1 -1
- package/build/src/hooks/useLocales.js +44 -42
- package/build/src/hooks/useLocales.js.map +1 -1
- package/build/src/hooks/useLockBodyScroll.js +38 -44
- package/build/src/hooks/useLockBodyScroll.js.map +1 -1
- package/build/src/hooks/useOrderUsdLimits.js +17 -19
- package/build/src/hooks/useOrderUsdLimits.js.map +1 -1
- package/build/src/hooks/usePayContext.js +3 -5
- package/build/src/hooks/usePayContext.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +351 -321
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/hooks/usePrevious.js +6 -7
- package/build/src/hooks/usePrevious.js.map +1 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +33 -33
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
- package/build/src/hooks/useTokenOptions.js +131 -95
- package/build/src/hooks/useTokenOptions.js.map +1 -1
- package/build/src/hooks/useUntronAvailability.js +26 -34
- package/build/src/hooks/useUntronAvailability.js.map +1 -1
- package/build/src/hooks/useWalletPaymentOptions.js +86 -61
- package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
- package/build/src/hooks/useWindowSize.js +16 -16
- package/build/src/hooks/useWindowSize.js.map +1 -1
- package/build/src/localizations/index.js +28 -31
- package/build/src/localizations/index.js.map +1 -1
- package/build/src/localizations/locales/ar-AE.js +88 -88
- package/build/src/localizations/locales/ar-AE.js.map +1 -1
- package/build/src/localizations/locales/ca-AD.js +88 -88
- package/build/src/localizations/locales/ca-AD.js.map +1 -1
- package/build/src/localizations/locales/ee-EE.js +96 -88
- package/build/src/localizations/locales/ee-EE.js.map +1 -1
- package/build/src/localizations/locales/en-US.js +134 -124
- package/build/src/localizations/locales/en-US.js.map +1 -1
- package/build/src/localizations/locales/es-ES.js +126 -124
- package/build/src/localizations/locales/es-ES.js.map +1 -1
- package/build/src/localizations/locales/fa-IR.js +88 -88
- package/build/src/localizations/locales/fa-IR.js.map +1 -1
- package/build/src/localizations/locales/fr-FR.js +88 -88
- package/build/src/localizations/locales/fr-FR.js.map +1 -1
- package/build/src/localizations/locales/ja-JP.js +88 -88
- package/build/src/localizations/locales/ja-JP.js.map +1 -1
- package/build/src/localizations/locales/pt-BR.js +96 -88
- package/build/src/localizations/locales/pt-BR.js.map +1 -1
- package/build/src/localizations/locales/ru-RU.js +92 -88
- package/build/src/localizations/locales/ru-RU.js.map +1 -1
- package/build/src/localizations/locales/tr-TR.js +96 -88
- package/build/src/localizations/locales/tr-TR.js.map +1 -1
- package/build/src/localizations/locales/vi-VN.js +96 -88
- package/build/src/localizations/locales/vi-VN.js.map +1 -1
- package/build/src/localizations/locales/zh-CN.js +88 -88
- package/build/src/localizations/locales/zh-CN.js.map +1 -1
- package/build/src/payment/paymentEffects.js +237 -264
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/payment/paymentFsm.js +167 -187
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/payment/paymentStore.js +8 -10
- package/build/src/payment/paymentStore.js.map +1 -1
- package/build/src/payment/paymentUtils.js +10 -0
- package/build/src/payment/paymentUtils.js.map +1 -0
- package/build/src/provider/DaimoPayProvider.js +258 -245
- package/build/src/provider/DaimoPayProvider.js.map +1 -1
- package/build/src/provider/PayContext.js +0 -1
- package/build/src/provider/PayContext.js.map +1 -1
- package/build/src/provider/PaymentProvider.js +18 -17
- package/build/src/provider/PaymentProvider.js.map +1 -1
- package/build/src/provider/SolanaContextProvider.js +6 -3
- package/build/src/provider/SolanaContextProvider.js.map +1 -1
- package/build/src/provider/Web3ContextProvider.js +23 -23
- package/build/src/provider/Web3ContextProvider.js.map +1 -1
- package/build/src/stateStore.js +28 -74
- package/build/src/stateStore.js.map +1 -1
- package/build/src/styles/defaultTheme.js +64 -73
- package/build/src/styles/defaultTheme.js.map +1 -1
- package/build/src/styles/index.js +202 -217
- package/build/src/styles/index.js.map +1 -1
- package/build/src/styles/styled/index.js +0 -10
- package/build/src/styles/styled/index.js.map +1 -1
- package/build/src/styles/themes/base.js +136 -136
- package/build/src/styles/themes/base.js.map +1 -1
- package/build/src/styles/themes/index.js.map +1 -1
- package/build/src/styles/themes/midnight.js +71 -71
- package/build/src/styles/themes/midnight.js.map +1 -1
- package/build/src/styles/themes/minimal.js +75 -75
- package/build/src/styles/themes/minimal.js.map +1 -1
- package/build/src/styles/themes/nouns.js +76 -76
- package/build/src/styles/themes/nouns.js.map +1 -1
- package/build/src/styles/themes/retro.js +88 -88
- package/build/src/styles/themes/retro.js.map +1 -1
- package/build/src/styles/themes/rounded.js +84 -84
- package/build/src/styles/themes/rounded.js.map +1 -1
- package/build/src/styles/themes/soft.js +66 -66
- package/build/src/styles/themes/soft.js.map +1 -1
- package/build/src/styles/themes/web95.js +95 -95
- package/build/src/styles/themes/web95.js.map +1 -1
- package/build/src/utils/exports.js +0 -1
- package/build/src/utils/exports.js.map +1 -1
- package/build/src/utils/format.js +25 -63
- package/build/src/utils/format.js.map +1 -1
- package/build/src/utils/index.js +23 -20
- package/build/src/utils/index.js.map +1 -1
- package/build/src/utils/p3.js +8 -9
- package/build/src/utils/p3.js.map +1 -1
- package/build/src/utils/platform.js +6 -8
- package/build/src/utils/platform.js.map +1 -1
- package/build/src/utils/polling.js +31 -31
- package/build/src/utils/polling.js.map +1 -1
- package/build/src/utils/supportUrl.js +9 -9
- package/build/src/utils/supportUrl.js.map +1 -1
- package/build/src/utils/trpc.js +11 -11
- package/build/src/utils/trpc.js.map +1 -1
- package/build/src/utils/validateInput.js +9 -29
- package/build/src/utils/validateInput.js.map +1 -1
- package/build/src/wallets/index.js +13 -22
- package/build/src/wallets/index.js.map +1 -1
- package/build/src/wallets/useWallets.js +183 -181
- package/build/src/wallets/useWallets.js.map +1 -1
- package/build/src/wallets/walletConfigs.js +230 -235
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/build/src/world-mini-app/WorldPayButton.js +113 -118
- package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
- package/build/src/world-mini-app/promptWorldPayment.js +49 -47
- package/build/src/world-mini-app/promptWorldPayment.js.map +1 -1
- package/build/types-7ed033b6.d.ts +66 -0
- package/build/world.d.ts +89 -1
- package/package.json +6 -4
|
@@ -2,23 +2,63 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import { SpinnerContainer } from './styles.js';
|
|
3
3
|
|
|
4
4
|
const transition = {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
duration: 0.4,
|
|
6
|
+
ease: [0.175, 0.885, 0.32, 0.98]
|
|
7
7
|
};
|
|
8
|
-
const Spinner = () =>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
const Spinner = () => /* @__PURE__ */ jsx(
|
|
9
|
+
SpinnerContainer,
|
|
10
|
+
{
|
|
11
|
+
initial: { opacity: 0, rotate: 180 },
|
|
12
|
+
animate: {
|
|
13
|
+
opacity: 1,
|
|
14
|
+
rotate: 0
|
|
15
|
+
},
|
|
16
|
+
exit: {
|
|
17
|
+
position: "absolute",
|
|
18
|
+
opacity: 0,
|
|
19
|
+
rotate: -180,
|
|
20
|
+
transition: {
|
|
21
|
+
...transition
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
transition: {
|
|
25
|
+
...transition,
|
|
26
|
+
delay: 0.2
|
|
27
|
+
},
|
|
28
|
+
children: /* @__PURE__ */ jsxs(
|
|
29
|
+
"svg",
|
|
30
|
+
{
|
|
31
|
+
width: "18",
|
|
32
|
+
height: "18",
|
|
33
|
+
viewBox: "0 0 18 18",
|
|
34
|
+
fill: "none",
|
|
35
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsx(
|
|
38
|
+
"circle",
|
|
39
|
+
{
|
|
40
|
+
cx: "9",
|
|
41
|
+
cy: "9",
|
|
42
|
+
r: "7",
|
|
43
|
+
stroke: "currentColor",
|
|
44
|
+
strokeOpacity: "0.1",
|
|
45
|
+
strokeWidth: "2.5"
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ jsx(
|
|
49
|
+
"path",
|
|
50
|
+
{
|
|
51
|
+
d: "M16 9C16 5.13401 12.866 2 9 2",
|
|
52
|
+
stroke: "currentColor",
|
|
53
|
+
strokeWidth: "2.5",
|
|
54
|
+
strokeLinecap: "round"
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
);
|
|
22
62
|
|
|
23
63
|
export { Spinner };
|
|
24
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Spinner/index.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Spinner/index.tsx"],"sourcesContent":["import { SpinnerContainer } from \"./styles\";\n\nconst transition = {\n duration: 0.4,\n ease: [0.175, 0.885, 0.32, 0.98],\n};\n\nexport const Spinner = () => (\n <SpinnerContainer\n initial={{ opacity: 0, rotate: 180 }}\n animate={{\n opacity: 1,\n rotate: 0,\n }}\n exit={{\n position: \"absolute\",\n opacity: 0,\n rotate: -180,\n transition: {\n ...transition,\n },\n }}\n transition={{\n ...transition,\n delay: 0.2,\n }}\n >\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"9\"\n cy=\"9\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeOpacity=\"0.1\"\n strokeWidth=\"2.5\"\n />\n <path\n d=\"M16 9C16 5.13401 12.866 2 9 2\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </SpinnerContainer>\n);\n"],"names":[],"mappings":";;;AAEA,MAAM,UAAa,GAAA;AAAA,EACjB,QAAU,EAAA,GAAA;AAAA,EACV,IAAM,EAAA,CAAC,KAAO,EAAA,KAAA,EAAO,MAAM,IAAI,CAAA;AACjC,CAAA,CAAA;AAEO,MAAM,UAAU,sBACrB,GAAA;AAAA,EAAC,gBAAA;AAAA,EAAA;AAAA,IACC,OAAS,EAAA,EAAE,OAAS,EAAA,CAAA,EAAG,QAAQ,GAAI,EAAA;AAAA,IACnC,OAAS,EAAA;AAAA,MACP,OAAS,EAAA,CAAA;AAAA,MACT,MAAQ,EAAA,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,QAAU,EAAA,UAAA;AAAA,MACV,OAAS,EAAA,CAAA;AAAA,MACT,MAAQ,EAAA,CAAA,GAAA;AAAA,MACR,UAAY,EAAA;AAAA,QACV,GAAG,UAAA;AAAA,OACL;AAAA,KACF;AAAA,IACA,UAAY,EAAA;AAAA,MACV,GAAG,UAAA;AAAA,MACH,KAAO,EAAA,GAAA;AAAA,KACT;AAAA,IAEA,QAAA,kBAAA,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAM,EAAA,IAAA;AAAA,QACN,MAAO,EAAA,IAAA;AAAA,QACP,OAAQ,EAAA,WAAA;AAAA,QACR,IAAK,EAAA,MAAA;AAAA,QACL,KAAM,EAAA,4BAAA;AAAA,QAEN,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,EAAG,EAAA,GAAA;AAAA,cACH,EAAG,EAAA,GAAA;AAAA,cACH,CAAE,EAAA,GAAA;AAAA,cACF,MAAO,EAAA,cAAA;AAAA,cACP,aAAc,EAAA,KAAA;AAAA,cACd,WAAY,EAAA,KAAA;AAAA,aAAA;AAAA,WACd;AAAA,0BACA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAE,EAAA,+BAAA;AAAA,cACF,MAAO,EAAA,cAAA;AAAA,cACP,WAAY,EAAA,KAAA;AAAA,cACZ,aAAc,EAAA,OAAA;AAAA,aAAA;AAAA,WAChB;AAAA,SAAA;AAAA,OAAA;AAAA,KACF;AAAA,GAAA;AACF;;;;"}
|
|
@@ -2,11 +2,11 @@ import { motion } from 'framer-motion';
|
|
|
2
2
|
import { keyframes } from 'styled-components';
|
|
3
3
|
import styled from '../../../styles/styled/index.js';
|
|
4
4
|
|
|
5
|
-
const Spin = keyframes
|
|
5
|
+
const Spin = keyframes`
|
|
6
6
|
0%{ transform: rotate(0deg); }
|
|
7
7
|
100%{ transform: rotate(360deg); }
|
|
8
8
|
`;
|
|
9
|
-
const SpinnerContainer = styled(motion.div)
|
|
9
|
+
const SpinnerContainer = styled(motion.div)`
|
|
10
10
|
display: flex;
|
|
11
11
|
align-items: center;
|
|
12
12
|
justify-content: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/Spinner/styles.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/Spinner/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { keyframes } from \"styled-components\";\nimport styled from \"./../../../styles/styled\";\n\nconst Spin = keyframes`\n 0%{ transform: rotate(0deg); }\n 100%{ transform: rotate(360deg); }\n`;\nexport const SpinnerContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: center;\n animation: ${Spin} 1s linear infinite;\n svg {\n display: block;\n position: relative;\n animation: ${Spin} 1s ease-in-out infinite;\n }\n`;\n"],"names":[],"mappings":";;;;AAIA,MAAM,IAAO,GAAA,SAAA,CAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAIA,MAAA,gBAAA,GAAmB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA,aAAA,EAIlC,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAIF,IAAI,CAAA;AAAA;AAAA;;;;"}
|
|
@@ -3,7 +3,7 @@ import { useState } from 'react';
|
|
|
3
3
|
import { SwitchIcon } from '../../../assets/icons.js';
|
|
4
4
|
import styled from '../../../styles/styled/index.js';
|
|
5
5
|
|
|
6
|
-
const Container = styled.button
|
|
6
|
+
const Container = styled.button`
|
|
7
7
|
display: flex;
|
|
8
8
|
align-items: center;
|
|
9
9
|
justify-content: center;
|
|
@@ -12,9 +12,9 @@ const Container = styled.button `
|
|
|
12
12
|
width: fit-content;
|
|
13
13
|
background: transparent;
|
|
14
14
|
`;
|
|
15
|
-
const IconWrapper = styled.div
|
|
16
|
-
opacity: ${({ $isFlipped }) =>
|
|
17
|
-
transform: scaleY(${({ $isFlipped }) =>
|
|
15
|
+
const IconWrapper = styled.div`
|
|
16
|
+
opacity: ${({ $isFlipped }) => $isFlipped ? 1 : 1};
|
|
17
|
+
transform: scaleY(${({ $isFlipped }) => $isFlipped ? -1 : 1});
|
|
18
18
|
transition: all 0.2s ease-in-out;
|
|
19
19
|
|
|
20
20
|
&.fade {
|
|
@@ -23,17 +23,20 @@ const IconWrapper = styled.div `
|
|
|
23
23
|
}
|
|
24
24
|
`;
|
|
25
25
|
const SwitchButton = ({ onClick, children }) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
const [isFlipped, setIsFlipped] = useState(false);
|
|
27
|
+
const [isFading, setIsFading] = useState(false);
|
|
28
|
+
const handleClick = () => {
|
|
29
|
+
setIsFading(true);
|
|
30
|
+
setTimeout(() => {
|
|
31
|
+
setIsFlipped(!isFlipped);
|
|
32
|
+
setIsFading(false);
|
|
33
|
+
}, 150);
|
|
34
|
+
onClick();
|
|
35
|
+
};
|
|
36
|
+
return /* @__PURE__ */ jsxs(Container, { onClick: handleClick, children: [
|
|
37
|
+
/* @__PURE__ */ jsx(IconWrapper, { $isFlipped: isFlipped, className: isFading ? "fade" : "", children: /* @__PURE__ */ jsx(SwitchIcon, {}) }),
|
|
38
|
+
children
|
|
39
|
+
] });
|
|
37
40
|
};
|
|
38
41
|
|
|
39
42
|
export { SwitchButton as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/SwitchButton/index.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/SwitchButton/index.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { SwitchIcon as Icon } from \"../../../assets/icons\";\nimport styled from \"../../../styles/styled\";\n\nconst Container = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n cursor: pointer;\n width: fit-content;\n background: transparent;\n`;\n\nconst IconWrapper = styled.div<{ $isFlipped: boolean }>`\n opacity: ${({ $isFlipped }) => ($isFlipped ? 1 : 1)};\n transform: scaleY(${({ $isFlipped }) => ($isFlipped ? -1 : 1)});\n transition: all 0.2s ease-in-out;\n\n &.fade {\n opacity: 0;\n transform: scaleY(0);\n }\n`;\n\nconst SwitchButton: React.FC<{\n onClick: () => void;\n children?: React.ReactNode;\n}> = ({ onClick, children }) => {\n const [isFlipped, setIsFlipped] = useState(false);\n const [isFading, setIsFading] = useState(false);\n\n const handleClick = () => {\n setIsFading(true);\n setTimeout(() => {\n setIsFlipped(!isFlipped);\n setIsFading(false);\n }, 150); // Match the transition duration\n onClick();\n };\n\n return (\n <Container onClick={handleClick}>\n <IconWrapper $isFlipped={isFlipped} className={isFading ? \"fade\" : \"\"}>\n <Icon />\n </IconWrapper>\n {children}\n </Container>\n );\n};\n\nexport default SwitchButton;\n"],"names":["Icon"],"mappings":";;;;;AAIA,MAAM,YAAY,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAUzB,MAAM,cAAc,MAAO,CAAA,GAAA,CAAA;AAAA,WAAA,EACd,CAAC,EAAE,UAAA,EAAkB,KAAA,UAAA,GAAa,IAAI,CAAE,CAAA;AAAA,oBAAA,EAC/B,CAAC,EAAE,UAAA,EAAkB,KAAA,UAAA,GAAa,KAAK,CAAE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAS/D,MAAM,YAGD,GAAA,CAAC,EAAE,OAAA,EAAS,UAAe,KAAA;AAC9B,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAChD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAE9C,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,WAAA,CAAY,IAAI,CAAA,CAAA;AAChB,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,YAAA,CAAa,CAAC,SAAS,CAAA,CAAA;AACvB,MAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAAA,OAChB,GAAG,CAAA,CAAA;AACN,IAAQ,OAAA,EAAA,CAAA;AAAA,GACV,CAAA;AAEA,EACE,uBAAA,IAAA,CAAC,SAAU,EAAA,EAAA,OAAA,EAAS,WAClB,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,YAAY,SAAW,EAAA,SAAA,EAAW,WAAW,MAAS,GAAA,EAAA,EACjE,QAAC,kBAAA,GAAA,CAAAA,UAAA,EAAA,EAAK,CACR,EAAA,CAAA;AAAA,IACC,QAAA;AAAA,GACH,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -3,22 +3,43 @@ import { Container } from './styles.js';
|
|
|
3
3
|
export { ThemeContainer } from './styles.js';
|
|
4
4
|
import useMeasure from 'react-use-measure';
|
|
5
5
|
|
|
6
|
-
const ThemedButton = ({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
const ThemedButton = ({
|
|
7
|
+
children,
|
|
8
|
+
variant = "primary",
|
|
9
|
+
autoSize = true,
|
|
10
|
+
duration = 0.3,
|
|
11
|
+
style
|
|
12
|
+
}) => {
|
|
13
|
+
const [contentRef, bounds] = useMeasure();
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
Container,
|
|
16
|
+
{
|
|
17
|
+
className: variant,
|
|
18
|
+
initial: false,
|
|
19
|
+
animate: autoSize ? {
|
|
20
|
+
width: bounds.width > 10 ? bounds.width : "auto"
|
|
21
|
+
} : void 0,
|
|
22
|
+
transition: {
|
|
23
|
+
duration,
|
|
24
|
+
ease: [0.25, 1, 0.5, 1],
|
|
25
|
+
delay: 0.01
|
|
26
|
+
},
|
|
27
|
+
style,
|
|
28
|
+
children: /* @__PURE__ */ jsx(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
ref: contentRef,
|
|
32
|
+
style: {
|
|
33
|
+
whiteSpace: "nowrap",
|
|
34
|
+
width: "fit-content",
|
|
35
|
+
position: "relative",
|
|
36
|
+
padding: "0 12px"
|
|
37
|
+
},
|
|
38
|
+
children
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
);
|
|
22
43
|
};
|
|
23
44
|
|
|
24
45
|
export { ThemedButton as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/ThemedButton/index.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/ThemedButton/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Container, ThemeContainer } from \"./styles\";\n\nimport useMeasure from \"react-use-measure\";\nimport { All } from \"./../../../types\";\n\ntype ThemedButtonProps = {\n children?: React.ReactNode;\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n autoSize?: boolean;\n duration?: number;\n style?: React.CSSProperties;\n onClick?: () => void;\n};\n\nexport const PlaceholderButton = () => {\n return <div style={{ height: 40 }} />;\n};\n\nconst ThemedButton: React.FC<ThemedButtonProps & All> = ({\n children,\n variant = \"primary\",\n autoSize = true,\n duration = 0.3,\n style,\n}) => {\n const [contentRef, bounds] = useMeasure();\n return (\n <Container\n className={variant}\n initial={false}\n animate={\n autoSize\n ? {\n width: bounds.width > 10 ? bounds.width : \"auto\",\n }\n : undefined\n }\n transition={{\n duration: duration,\n ease: [0.25, 1, 0.5, 1],\n delay: 0.01,\n }}\n style={style}\n >\n <div\n ref={contentRef}\n style={{\n whiteSpace: \"nowrap\",\n width: \"fit-content\",\n position: \"relative\",\n padding: \"0 12px\",\n }}\n >\n {children}\n </div>\n </Container>\n );\n};\nexport default ThemedButton;\nexport { ThemeContainer };\n"],"names":[],"mappings":";;;;;AAoBA,MAAM,eAAkD,CAAC;AAAA,EACvD,QAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,QAAW,GAAA,IAAA;AAAA,EACX,QAAW,GAAA,GAAA;AAAA,EACX,KAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,UAAA,EAAY,MAAM,CAAA,GAAI,UAAW,EAAA,CAAA;AACxC,EACE,uBAAA,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,OAAA;AAAA,MACX,OAAS,EAAA,KAAA;AAAA,MACT,SACE,QACI,GAAA;AAAA,QACE,KAAO,EAAA,MAAA,CAAO,KAAQ,GAAA,EAAA,GAAK,OAAO,KAAQ,GAAA,MAAA;AAAA,OAE5C,GAAA,KAAA,CAAA;AAAA,MAEN,UAAY,EAAA;AAAA,QACV,QAAA;AAAA,QACA,IAAM,EAAA,CAAC,IAAM,EAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,QACtB,KAAO,EAAA,IAAA;AAAA,OACT;AAAA,MACA,KAAA;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,UAAA;AAAA,UACL,KAAO,EAAA;AAAA,YACL,UAAY,EAAA,QAAA;AAAA,YACZ,KAAO,EAAA,aAAA;AAAA,YACP,QAAU,EAAA,UAAA;AAAA,YACV,OAAS,EAAA,QAAA;AAAA,WACX;AAAA,UAEC,QAAA;AAAA,SAAA;AAAA,OACH;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { motion } from 'framer-motion';
|
|
2
2
|
import styled from '../../../styles/styled/index.js';
|
|
3
3
|
|
|
4
|
-
const Container = styled(motion.div)
|
|
4
|
+
const Container = styled(motion.div)`
|
|
5
5
|
display: flex;
|
|
6
6
|
align-items: center;
|
|
7
7
|
justify-content: flex-start;
|
|
@@ -96,7 +96,7 @@ const Container = styled(motion.div) `
|
|
|
96
96
|
);
|
|
97
97
|
}
|
|
98
98
|
`;
|
|
99
|
-
const ThemeContainer = styled.button
|
|
99
|
+
const ThemeContainer = styled.button`
|
|
100
100
|
all: initial;
|
|
101
101
|
appearance: none;
|
|
102
102
|
user-select: none;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/ThemedButton/styles.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/ThemedButton/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport styled from \"./../../../styles/styled\";\n\nexport const Container = styled(motion.div)<{\n $variant?: string;\n}>`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n height: 40px;\n padding: 0;\n line-height: 0;\n letter-spacing: -0.2px;\n font-size: var(--ck-connectbutton-font-size, 16px);\n font-weight: var(--ck-connectbutton-font-weight, 500);\n text-align: center;\n transition: 100ms ease;\n transition-property: color, background, box-shadow, border-radius;\n\n color: var(--color);\n background: var(--background);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n\n &.primary {\n --color: var(--ck-connectbutton-color);\n --background: var(--ck-connectbutton-background);\n --box-shadow: var(--ck-connectbutton-box-shadow);\n --border-radius: var(--ck-connectbutton-border-radius, 12px);\n\n --hover-color: var(--ck-connectbutton-hover-color, var(--color));\n --hover-background: var(\n --ck-connectbutton-hover-background,\n var(--background)\n );\n --hover-box-shadow: var(\n --ck-connectbutton-hover-box-shadow,\n var(--box-shadow)\n );\n --hover-border-radius: var(\n --ck-connectbutton-hover-border-radius,\n var(--border-radius)\n );\n\n --active-color: var(--ck-connectbutton-active-color, var(--hover-color));\n --active-background: var(\n --ck-connectbutton-active-background,\n var(--hover-background)\n );\n --active-box-shadow: var(\n --ck-connectbutton-active-box-shadow,\n var(--hover-box-shadow)\n );\n --active-border-radius: var(\n --ck-connectbutton-active-border-radius,\n var(--hover-border-radius)\n );\n }\n &.secondary {\n --color: var(--ck-connectbutton-balance-color);\n --background: var(--ck-connectbutton-balance-background);\n --box-shadow: var(--ck-connectbutton-balance-box-shadow);\n --border-radius: var(\n --ck-connectbutton-balance-border-radius,\n var(--ck-connectbutton-border-radius, 12px)\n );\n\n --hover-color: var(--ck-connectbutton-balance-hover-color, var(--color));\n --hover-background: var(\n --ck-connectbutton-balance-hover-background,\n var(--background)\n );\n --hover-box-shadow: var(\n --ck-connectbutton-balance-hover-box-shadow,\n var(--box-shadow)\n );\n --hover-border-radius: var(\n --ck-connectbutton-balance-hover-border-radius,\n var(--border-radius)\n );\n\n --active-color: var(\n --ck-connectbutton-balance-active-color,\n var(--hover-color)\n );\n --active-background: var(\n --ck-connectbutton-balance-active-background,\n var(--hover-background)\n );\n --active-box-shadow: var(\n --ck-connectbutton-balance-active-box-shadow,\n var(--hover-box-shadow)\n );\n --active-border-radius: var(\n --ck-connectbutton-balance-active-border-radius,\n var(--hover-border-radius)\n );\n }\n`;\n\nexport const ThemeContainer = styled.button`\n all: initial;\n appearance: none;\n user-select: none;\n position: relative;\n padding: 0;\n margin: 0;\n background: none;\n border-radius: var(--ck-border-radius);\n\n &:disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n display: flex;\n flex-wrap: nowrap;\n background: none;\n cursor: pointer;\n * {\n cursor: pointer;\n }\n &:hover {\n ${Container} {\n color: var(--hover-color, var(--color));\n background: var(--hover-background, var(--background));\n box-shadow: var(--hover-box-shadow, var(--box-shadow));\n border-radius: var(--hover-border-radius, var(--border-radius));\n }\n }\n &:active {\n ${Container} {\n color: var(--active-color, var(--hover-color, var(--color)));\n background: var(\n --active-background,\n var(--hover-background, var(--background))\n );\n box-shadow: var(\n --active-box-shadow,\n var(--hover-box-shadow, var(--box-shadow))\n );\n border-radius: var(\n --active-border-radius,\n var(--hover-border-radius, var(--border-radius))\n );\n }\n }\n &:focus-visible {\n outline: 2px solid var(--ck-family-brand);\n }\n`;\n"],"names":[],"mappings":";;;AAGa,MAAA,SAAA,GAAY,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAkGnC,MAAM,iBAAiB,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,EAuB/B,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,EAQT,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
|
|
@@ -3,11 +3,18 @@ import { motion } from 'framer-motion';
|
|
|
3
3
|
import { chainToLogo } from '../../../assets/chains.js';
|
|
4
4
|
import styled from '../../../styles/styled/index.js';
|
|
5
5
|
|
|
6
|
-
const TokenChainLogo = ({
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const TokenChainLogo = ({
|
|
7
|
+
token,
|
|
8
|
+
size = 32,
|
|
9
|
+
offset = 0
|
|
10
|
+
}) => {
|
|
11
|
+
const chainLogoSize = Math.round(size * 30 / 64);
|
|
12
|
+
return /* @__PURE__ */ jsxs(TokenChainContainer, { $size: size, children: [
|
|
13
|
+
/* @__PURE__ */ jsx(TokenImage, { src: token.logoURI, alt: token.symbol, $size: size }),
|
|
14
|
+
/* @__PURE__ */ jsx(ChainContainer, { $size: chainLogoSize, $offset: offset, children: chainToLogo[token.chainId] })
|
|
15
|
+
] });
|
|
9
16
|
};
|
|
10
|
-
const TokenChainContainer = styled(motion.div)
|
|
17
|
+
const TokenChainContainer = styled(motion.div)`
|
|
11
18
|
position: relative;
|
|
12
19
|
width: ${(props) => props.$size}px;
|
|
13
20
|
height: ${(props) => props.$size}px;
|
|
@@ -15,19 +22,18 @@ const TokenChainContainer = styled(motion.div) `
|
|
|
15
22
|
align-items: center;
|
|
16
23
|
justify-content: center;
|
|
17
24
|
`;
|
|
18
|
-
const TokenImage = styled.img
|
|
25
|
+
const TokenImage = styled.img`
|
|
19
26
|
width: ${(props) => props.$size}px;
|
|
20
27
|
height: ${(props) => props.$size}px;
|
|
21
28
|
border-radius: 50%;
|
|
22
29
|
object-fit: cover;
|
|
23
30
|
transition: transform 0.2s ease;
|
|
24
31
|
|
|
25
|
-
${(props) => props.$showBorder &&
|
|
26
|
-
`
|
|
32
|
+
${(props) => props.$showBorder && `
|
|
27
33
|
border: 2px solid var(--ck-body-background, #fff);
|
|
28
34
|
`}
|
|
29
35
|
`;
|
|
30
|
-
const ChainContainer = styled(motion.div)
|
|
36
|
+
const ChainContainer = styled(motion.div)`
|
|
31
37
|
position: absolute;
|
|
32
38
|
width: ${(props) => props.$size}px;
|
|
33
39
|
height: ${(props) => props.$size}px;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/TokenChainLogo/index.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/TokenChainLogo/index.tsx"],"sourcesContent":["import { Token } from \"@daimo/pay-common\";\nimport { motion } from \"framer-motion\";\nimport { chainToLogo } from \"../../../assets/chains\";\nimport styled from \"../../../styles/styled\";\n\nconst TokenChainLogo = ({\n token,\n size = 32,\n offset = 0,\n}: {\n token: Token;\n size?: number;\n offset?: number;\n}) => {\n const chainLogoSize = Math.round((size * 30) / 64);\n\n return (\n <TokenChainContainer $size={size}>\n <TokenImage src={token.logoURI} alt={token.symbol} $size={size} />\n <ChainContainer $size={chainLogoSize} $offset={offset}>\n {chainToLogo[token.chainId]}\n </ChainContainer>\n </TokenChainContainer>\n );\n};\n\nconst TokenChainContainer = styled(motion.div)<{ $size: number }>`\n position: relative;\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst TokenImage = styled.img<{ $size: number; $showBorder: boolean }>`\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n border-radius: 50%;\n object-fit: cover;\n transition: transform 0.2s ease;\n\n ${(props) =>\n props.$showBorder &&\n `\n border: 2px solid var(--ck-body-background, #fff);\n `}\n`;\n\nconst ChainContainer = styled(motion.div)<{\n $size: number;\n $offset: number;\n $showBorder: boolean;\n}>`\n position: absolute;\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n min-width: ${(props) => props.$size}px;\n min-height: ${(props) => props.$size}px;\n bottom: 0px;\n right: ${(props) => props.$offset}px;\n border-radius: 50%;\n aspect-ratio: 1 / 1;\n overflow: hidden;\n background: ${(props) =>\n props.$showBorder ? \"var(--ck-body-background, #fff)\" : \"transparent\"};\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n\n svg {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n flex-shrink: 0;\n }\n`;\n\nexport default TokenChainLogo;\n"],"names":[],"mappings":";;;;;AAKA,MAAM,iBAAiB,CAAC;AAAA,EACtB,KAAA;AAAA,EACA,IAAO,GAAA,EAAA;AAAA,EACP,MAAS,GAAA,CAAA;AACX,CAIM,KAAA;AACJ,EAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,KAAO,CAAA,IAAA,GAAO,KAAM,EAAE,CAAA,CAAA;AAEjD,EACE,uBAAA,IAAA,CAAC,mBAAoB,EAAA,EAAA,KAAA,EAAO,IAC1B,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,UAAA,EAAA,EAAW,KAAK,KAAM,CAAA,OAAA,EAAS,KAAK,KAAM,CAAA,MAAA,EAAQ,OAAO,IAAM,EAAA,CAAA;AAAA,oBAChE,GAAA,CAAC,kBAAe,KAAO,EAAA,aAAA,EAAe,SAAS,MAC5C,EAAA,QAAA,EAAA,WAAA,CAAY,KAAM,CAAA,OAAO,CAC5B,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,mBAAA,GAAsB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA,SAElC,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,UACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAMlC,MAAM,aAAa,MAAO,CAAA,GAAA,CAAA;AAAA,SACf,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,UACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9B,EAAA,CAAC,KACD,KAAA,KAAA,CAAM,WACN,IAAA,CAAA;AAAA;AAAA,EAED,CAAA,CAAA;AAAA,CAAA,CAAA;AAGH,MAAM,cAAA,GAAiB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA,SAM7B,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,UACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,aACnB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,cACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA;AAAA,SAE3B,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,OAAO,CAAA;AAAA;AAAA;AAAA;AAAA,cAAA,EAInB,CAAC,KAAA,KACb,KAAM,CAAA,WAAA,GAAc,oCAAoC,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
|
|
@@ -8,89 +8,121 @@ import { ResetContainer } from '../../../styles/index.js';
|
|
|
8
8
|
import { useThemeContext } from '../../DaimoPayThemeProvider/DaimoPayThemeProvider.js';
|
|
9
9
|
import Portal from '../Portal/index.js';
|
|
10
10
|
|
|
11
|
-
const Tooltip = ({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
11
|
+
const Tooltip = ({
|
|
12
|
+
children,
|
|
13
|
+
message,
|
|
14
|
+
open,
|
|
15
|
+
xOffset = 0,
|
|
16
|
+
yOffset = 0,
|
|
17
|
+
delay
|
|
18
|
+
}) => {
|
|
19
|
+
const context = usePayContext();
|
|
20
|
+
const themeContext = useThemeContext();
|
|
21
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
22
|
+
const [outOfBounds, setOutOfBounds] = useState(false);
|
|
23
|
+
const [size, setSize] = useState("small");
|
|
24
|
+
const [ready, setReady] = useState(false);
|
|
25
|
+
const [currentRoute] = useState(context.route);
|
|
26
|
+
const targetRef = useRef(null);
|
|
27
|
+
const [ref, bounds] = useMeasure({
|
|
28
|
+
debounce: !ready ? 220 : 0,
|
|
29
|
+
// fix alignment initial state
|
|
30
|
+
offsetSize: true,
|
|
31
|
+
scroll: true
|
|
32
|
+
});
|
|
33
|
+
const checkBounds = () => {
|
|
34
|
+
let flag = false;
|
|
35
|
+
const x = xOffset + bounds.left + bounds.width;
|
|
36
|
+
const y = yOffset + bounds.top + bounds.height * 0.5;
|
|
37
|
+
if (x > window.innerWidth || x < 0 || y > window.innerHeight || y < 0) {
|
|
38
|
+
flag = true;
|
|
39
|
+
}
|
|
40
|
+
return flag;
|
|
41
|
+
};
|
|
42
|
+
const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
43
|
+
const refreshLayout = () => {
|
|
44
|
+
if (!targetRef.current || bounds.top + bounds.bottom + bounds.left + bounds.right + bounds.height + bounds.width === 0)
|
|
45
|
+
return;
|
|
46
|
+
const x = xOffset + bounds.left + bounds.width;
|
|
47
|
+
const y = yOffset + bounds.top + bounds.height * 0.5;
|
|
48
|
+
if (!ready && x !== 0 && y !== 0) setReady(true);
|
|
49
|
+
targetRef.current.style.left = `${x}px`;
|
|
50
|
+
targetRef.current.style.top = `${y}px`;
|
|
51
|
+
setSize(targetRef.current.offsetHeight <= 40 ? "small" : "large");
|
|
52
|
+
setOutOfBounds(checkBounds());
|
|
53
|
+
};
|
|
54
|
+
useIsomorphicLayoutEffect(refreshLayout, [bounds, open, isOpen]);
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (!context.open) setIsOpen(false);
|
|
57
|
+
}, [context.open]);
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
setIsOpen(!!open);
|
|
60
|
+
}, [open]);
|
|
61
|
+
if (context.options?.hideTooltips) return /* @__PURE__ */ jsx(Fragment, { children });
|
|
62
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
63
|
+
/* @__PURE__ */ jsx(
|
|
64
|
+
motion.div,
|
|
65
|
+
{
|
|
66
|
+
ref,
|
|
67
|
+
style: open === void 0 ? {
|
|
68
|
+
cursor: "help"
|
|
69
|
+
} : {},
|
|
70
|
+
onHoverStart: () => setIsOpen(true),
|
|
71
|
+
onHoverEnd: () => setIsOpen(false),
|
|
72
|
+
onClick: () => setIsOpen(false),
|
|
73
|
+
children
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
/* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(AnimatePresence, { children: currentRoute === context.route && !outOfBounds && isOpen && /* @__PURE__ */ jsx(
|
|
77
|
+
ResetContainer,
|
|
78
|
+
{
|
|
79
|
+
$useTheme: themeContext.theme,
|
|
80
|
+
$useMode: themeContext.mode,
|
|
81
|
+
$customTheme: themeContext.customTheme,
|
|
82
|
+
children: /* @__PURE__ */ jsx(TooltipWindow, { children: /* @__PURE__ */ jsxs(
|
|
83
|
+
TooltipContainer,
|
|
84
|
+
{
|
|
85
|
+
role: "tooltip",
|
|
86
|
+
$size: size,
|
|
87
|
+
ref: targetRef,
|
|
88
|
+
initial: "collapsed",
|
|
89
|
+
animate: ready ? "open" : {},
|
|
90
|
+
exit: "collapsed",
|
|
91
|
+
variants: {
|
|
92
|
+
collapsed: {
|
|
93
|
+
transformOrigin: "20px 50%",
|
|
94
|
+
opacity: 0,
|
|
95
|
+
scale: 0.9,
|
|
96
|
+
z: 0.01,
|
|
97
|
+
y: "-50%",
|
|
98
|
+
x: 20,
|
|
99
|
+
transition: {
|
|
100
|
+
duration: 0.1
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
open: {
|
|
104
|
+
willChange: "opacity,transform",
|
|
105
|
+
opacity: 1,
|
|
106
|
+
scale: 1,
|
|
107
|
+
z: 0.01,
|
|
108
|
+
y: "-50%",
|
|
109
|
+
x: 20,
|
|
110
|
+
transition: {
|
|
111
|
+
ease: [0.76, 0, 0.24, 1],
|
|
112
|
+
duration: 0.15,
|
|
113
|
+
delay: delay ? delay : 0.5
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
children: [
|
|
118
|
+
message,
|
|
119
|
+
/* @__PURE__ */ jsx(TooltipTail, { $size: size })
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
) })
|
|
123
|
+
}
|
|
124
|
+
) }) })
|
|
125
|
+
] });
|
|
94
126
|
};
|
|
95
127
|
|
|
96
128
|
export { Tooltip as default };
|