@daimo/pay 1.16.0 → 1.16.2
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 +628 -15
- package/build/package.json.js +6 -4
- package/build/package.json.js.map +1 -1
- 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 +80 -56
- 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 +171 -180
- 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 +71 -48
- 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 +200 -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 +332 -184
- 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 -324
- 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 +129 -112
- 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 +83 -78
- 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 -126
- package/build/src/localizations/locales/en-US.js.map +1 -1
- package/build/src/localizations/locales/es-ES.js +126 -126
- 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 -265
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/payment/paymentFsm.js +165 -186
- 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 +5 -9
- package/build/src/payment/paymentUtils.js.map +1 -1
- package/build/src/provider/DaimoPayProvider.js +258 -249
- 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.d.ts → types-7ed033b6.d.ts} +31 -11
- package/build/world.d.ts +89 -1
- package/package.json +7 -5
- package/build/assets/MobileWithLogos.d.ts +0 -2
- package/build/assets/ScanIconWithLogos.d.ts +0 -6
- package/build/assets/browsers.d.ts +0 -10
- package/build/assets/chains.d.ts +0 -28
- package/build/assets/coins.d.ts +0 -2
- package/build/assets/crepe.d.ts +0 -3
- package/build/assets/icons.d.ts +0 -35
- package/build/assets/logos.d.ts +0 -207
- package/build/assets/wallet.d.ts +0 -3
- package/build/assets/wave.d.ts +0 -2
- package/build/components/Common/Alert/index.d.ts +0 -6
- package/build/components/Common/Alert/styles.d.ts +0 -2
- package/build/components/Common/Alert/types.d.ts +0 -5
- package/build/components/Common/AmountInput/AmountInputField.d.ts +0 -8
- package/build/components/Common/AmountInput/index.d.ts +0 -9
- package/build/components/Common/Avatar/index.d.ts +0 -17
- package/build/components/Common/Avatar/styles.d.ts +0 -2
- package/build/components/Common/BrowserIcon/index.d.ts +0 -4
- package/build/components/Common/BrowserIcon/styles.d.ts +0 -1
- package/build/components/Common/BrowserIcon/types.d.ts +0 -3
- package/build/components/Common/Button/index.d.ts +0 -4
- package/build/components/Common/Button/styles.d.ts +0 -10
- package/build/components/Common/Button/types.d.ts +0 -15
- package/build/components/Common/Chain/index.d.ts +0 -9
- package/build/components/Common/Chain/styles.d.ts +0 -4
- package/build/components/Common/ChainSelectList/index.d.ts +0 -4
- package/build/components/Common/ChainSelectList/styles.d.ts +0 -9
- package/build/components/Common/CircleTimer.d.ts +0 -17
- package/build/components/Common/ConnectorList/index.d.ts +0 -2
- package/build/components/Common/ConnectorList/styles.d.ts +0 -8
- package/build/components/Common/CopyToClipboard/CopyToClipboardIcon.d.ts +0 -6
- package/build/components/Common/CopyToClipboard/index.d.ts +0 -7
- package/build/components/Common/CustomQRCode/QRCode.d.ts +0 -12
- package/build/components/Common/CustomQRCode/index.d.ts +0 -6
- package/build/components/Common/CustomQRCode/styles.d.ts +0 -6
- package/build/components/Common/CustomQRCode/types.d.ts +0 -11
- package/build/components/Common/DynamicContainer/index.d.ts +0 -7
- package/build/components/Common/FitText/index.d.ts +0 -8
- package/build/components/Common/LazyImage/index.d.ts +0 -8
- package/build/components/Common/Logo/index.d.ts +0 -8
- package/build/components/Common/Logo/styles.d.ts +0 -3
- package/build/components/Common/Modal/index.d.ts +0 -25
- package/build/components/Common/Modal/styles.d.ts +0 -25
- package/build/components/Common/OptionsList/index.d.ts +0 -17
- package/build/components/Common/OptionsList/styles.d.ts +0 -5
- package/build/components/Common/OrderHeader/index.d.ts +0 -5
- package/build/components/Common/PaymentBreakdown/index.d.ts +0 -6
- package/build/components/Common/Portal/index.d.ts +0 -2
- package/build/components/Common/PoweredByFooter/index.d.ts +0 -5
- package/build/components/Common/ScrollArea/index.d.ts +0 -9
- package/build/components/Common/ScrollArea/styles.d.ts +0 -3
- package/build/components/Common/SelectAnotherMethodButton/index.d.ts +0 -1
- package/build/components/Common/Spinner/index.d.ts +0 -1
- package/build/components/Common/Spinner/styles.d.ts +0 -1
- package/build/components/Common/SquareTimer.d.ts +0 -19
- package/build/components/Common/SwitchButton/index.d.ts +0 -6
- package/build/components/Common/ThemedButton/index.d.ts +0 -15
- package/build/components/Common/ThemedButton/styles.d.ts +0 -2
- package/build/components/Common/TokenChainLogo/index.d.ts +0 -7
- package/build/components/Common/Tooltip/index.d.ts +0 -4
- package/build/components/Common/Tooltip/styles.d.ts +0 -3
- package/build/components/Common/Tooltip/types.d.ts +0 -9
- package/build/components/Common/WalletChainLogo/index.d.ts +0 -6
- package/build/components/DaimoPayButton/index.d.ts +0 -149
- package/build/components/DaimoPayButton/styles.d.ts +0 -4
- package/build/components/DaimoPayModal/ConnectUsing.d.ts +0 -2
- package/build/components/DaimoPayModal/ConnectWithInjector/index.d.ts +0 -15
- package/build/components/DaimoPayModal/ConnectWithInjector/styles.d.ts +0 -6
- package/build/components/DaimoPayModal/ConnectWithQRCode.d.ts +0 -12
- package/build/components/DaimoPayModal/index.d.ts +0 -8
- package/build/components/DaimoPayThemeProvider/DaimoPayThemeProvider.d.ts +0 -16
- package/build/components/Pages/About/graphics.d.ts +0 -11
- package/build/components/Pages/About/index.d.ts +0 -3
- package/build/components/Pages/About/styles.d.ts +0 -8
- package/build/components/Pages/Confirmation/index.d.ts +0 -3
- package/build/components/Pages/Connectors/index.d.ts +0 -3
- package/build/components/Pages/Connectors/styles.d.ts +0 -9
- package/build/components/Pages/DownloadApp/index.d.ts +0 -2
- package/build/components/Pages/Error/index.d.ts +0 -1
- package/build/components/Pages/MobileConnectors/index.d.ts +0 -3
- package/build/components/Pages/MobileConnectors/styles.d.ts +0 -5
- package/build/components/Pages/Onboarding/index.d.ts +0 -3
- package/build/components/Pages/Onboarding/styles.d.ts +0 -9
- package/build/components/Pages/PayWithToken/index.d.ts +0 -3
- package/build/components/Pages/SelectAmount/index.d.ts +0 -3
- package/build/components/Pages/SelectDepositAddressAmount/index.d.ts +0 -3
- package/build/components/Pages/SelectDepositAddressChain/index.d.ts +0 -3
- package/build/components/Pages/SelectExchange/index.d.ts +0 -3
- package/build/components/Pages/SelectExternalAmount/index.d.ts +0 -3
- package/build/components/Pages/SelectMethod/index.d.ts +0 -1
- package/build/components/Pages/SelectMethod/styles.d.ts +0 -9
- package/build/components/Pages/SelectToken/index.d.ts +0 -1
- package/build/components/Pages/SelectWalletAmount/index.d.ts +0 -3
- package/build/components/Pages/SelectWalletChain/index.d.ts +0 -3
- package/build/components/Pages/SelectZKP/index.d.ts +0 -3
- package/build/components/Pages/Solana/ConnectorSolana/index.d.ts +0 -4
- package/build/components/Pages/Solana/PayWithSolanaToken/index.d.ts +0 -3
- package/build/components/Pages/Solana/SelectSolanaAmount/index.d.ts +0 -3
- package/build/components/Pages/SwitchNetworks/index.d.ts +0 -3
- package/build/components/Pages/WaitingDepositAddress/index.d.ts +0 -1
- package/build/components/Pages/WaitingExternal/index.d.ts +0 -3
- package/build/components/Pages/WaitingWallet/index.d.ts +0 -3
- package/build/components/Spinners/CircleSpinner/index.d.ts +0 -9
- package/build/components/Spinners/CircleSpinner/styles.d.ts +0 -5
- package/build/components/Spinners/ExternalPaymentSpinner/index.d.ts +0 -5
- package/build/components/Spinners/SquircleSpinner/index.d.ts +0 -5
- package/build/components/Spinners/SquircleSpinner/styles.d.ts +0 -4
- package/build/components/Spinners/TokenLogoSpinner/index.d.ts +0 -5
- package/build/components/Spinners/TokenLogoSpinner/styles.d.ts +0 -1
- package/build/components/Spinners/WalletPaymentSpinner/index.d.ts +0 -5
- package/build/components/Spinners/styles.d.ts +0 -2
- package/build/constants/defaultTheme.d.ts +0 -4
- package/build/constants/routes.d.ts +0 -28
- package/build/defaultConfig.d.ts +0 -17
- package/build/defaultConnectors.d.ts +0 -14
- package/build/hooks/useChainIsSupported.d.ts +0 -2
- package/build/hooks/useChains.d.ts +0 -3
- package/build/hooks/useConnect.d.ts +0 -110
- package/build/hooks/useConnectCallback.d.ts +0 -8
- package/build/hooks/useConnectors.d.ts +0 -3
- package/build/hooks/useDaimoPay.d.ts +0 -94
- package/build/hooks/useDaimoPayStatus.d.ts +0 -15
- package/build/hooks/useDaimoPayUI.d.ts +0 -6
- package/build/hooks/useDepositAddressOptions.d.ts +0 -10
- package/build/hooks/useEnsFallbackConfig.d.ts +0 -2
- package/build/hooks/useExternalPaymentOptions.d.ts +0 -12
- package/build/hooks/useFitText.d.ts +0 -14
- package/build/hooks/useFocusTrap.d.ts +0 -1
- package/build/hooks/useGoogleFont.d.ts +0 -3
- package/build/hooks/useIsMobile.d.ts +0 -5
- package/build/hooks/useIsMounted.d.ts +0 -3
- package/build/hooks/useLastConnector.d.ts +0 -4
- package/build/hooks/useLocalStorage.d.ts +0 -7
- package/build/hooks/useLocales.d.ts +0 -2
- package/build/hooks/useLockBodyScroll.d.ts +0 -1
- package/build/hooks/useModal.d.ts +0 -8
- package/build/hooks/useOrderUsdLimits.d.ts +0 -7
- package/build/hooks/usePayContext.d.ts +0 -2
- package/build/hooks/usePaymentState.d.ts +0 -67
- package/build/hooks/usePrevious.d.ts +0 -1
- package/build/hooks/useSolanaPaymentOptions.d.ts +0 -13
- package/build/hooks/useTokenOptions.d.ts +0 -5
- package/build/hooks/useUntronAvailability.d.ts +0 -14
- package/build/hooks/useWalletPaymentOptions.d.ts +0 -31
- package/build/hooks/useWindowSize.d.ts +0 -4
- package/build/localizations/index.d.ts +0 -2
- package/build/localizations/locales/ar-AE.d.ts +0 -3
- package/build/localizations/locales/ca-AD.d.ts +0 -3
- package/build/localizations/locales/ee-EE.d.ts +0 -3
- package/build/localizations/locales/en-US.d.ts +0 -128
- package/build/localizations/locales/es-ES.d.ts +0 -3
- package/build/localizations/locales/fa-IR.d.ts +0 -3
- package/build/localizations/locales/fr-FR.d.ts +0 -3
- package/build/localizations/locales/index.d.ts +0 -3
- package/build/localizations/locales/ja-JP.d.ts +0 -91
- package/build/localizations/locales/pt-BR.d.ts +0 -3
- package/build/localizations/locales/ru-RU.d.ts +0 -3
- package/build/localizations/locales/tr-TR.d.ts +0 -3
- package/build/localizations/locales/vi-VN.d.ts +0 -3
- package/build/localizations/locales/zh-CN.d.ts +0 -3
- package/build/payment/paymentEffects.d.ts +0 -12
- package/build/payment/paymentFsm.d.ts +0 -131
- package/build/payment/paymentStore.d.ts +0 -14
- package/build/payment/paymentUtils.d.ts +0 -6
- package/build/provider/DaimoPayProvider.d.ts +0 -24
- package/build/provider/PayContext.d.ts +0 -66
- package/build/provider/PaymentProvider.d.ts +0 -8
- package/build/provider/SolanaContextProvider.d.ts +0 -6
- package/build/provider/Web3ContextProvider.d.ts +0 -24
- package/build/stateStore.d.ts +0 -66
- package/build/styles/defaultTheme.d.ts +0 -3
- package/build/styles/index.d.ts +0 -1
- package/build/styles/styled/index.d.ts +0 -12
- package/build/styles/themes/base.d.ts +0 -129
- package/build/styles/themes/index.d.ts +0 -673
- package/build/styles/themes/midnight.d.ts +0 -74
- package/build/styles/themes/minimal.d.ts +0 -94
- package/build/styles/themes/nouns.d.ts +0 -79
- package/build/styles/themes/retro.d.ts +0 -89
- package/build/styles/themes/rounded.d.ts +0 -86
- package/build/styles/themes/soft.d.ts +0 -69
- package/build/styles/themes/web95.d.ts +0 -91
- package/build/styles/types.d.ts +0 -80
- package/build/utils/exports.d.ts +0 -1
- package/build/utils/format.d.ts +0 -49
- package/build/utils/index.d.ts +0 -17
- package/build/utils/localstorage.d.ts +0 -9
- package/build/utils/p3.d.ts +0 -2
- package/build/utils/platform.d.ts +0 -2
- package/build/utils/polling.d.ts +0 -13
- package/build/utils/supportUrl.d.ts +0 -2
- package/build/utils/trpc.d.ts +0 -4
- package/build/utils/validateInput.d.ts +0 -16
- package/build/utils/wallets.d.ts +0 -24
- package/build/wallets/index.d.ts +0 -5
- package/build/wallets/useWallets.d.ts +0 -16
- package/build/wallets/walletConfigs.d.ts +0 -29
- package/build/world-mini-app/WorldPayButton.d.ts +0 -84
- package/build/world-mini-app/promptWorldPayment.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/OptionsList/index.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/OptionsList/index.tsx"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { useEffect } from \"react\";\nimport { keyframes } from \"styled-components\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport styled from \"../../../styles/styled\";\nimport { OrDivider } from \"../Modal\";\nimport { ScrollArea } from \"../ScrollArea\";\nimport {\n OptionButton,\n OptionLabel,\n OptionSubtitle,\n OptionTitle,\n OptionsContainer,\n} from \"./styles\";\n\nexport interface Option {\n id: string;\n sortValue?: number;\n title: string;\n subtitle?: string;\n icons: (React.ReactNode | string)[];\n onClick: () => void;\n disabled?: boolean;\n}\n\nexport const OptionsList = ({\n options,\n isLoading,\n requiredSkeletons,\n scrollHeight = 300,\n orDivider = false,\n hideBottomLine = false,\n}: {\n options: Option[];\n isLoading?: boolean;\n requiredSkeletons?: number;\n scrollHeight?: number;\n orDivider?: boolean;\n hideBottomLine?: boolean;\n}) => {\n const { triggerResize, log } = usePayContext();\n const optionsLength = options.length;\n\n useEffect(() => {\n log(`[OPTIONS RESIZE]: ${optionsLength}, triggering resize`);\n if (optionsLength > 0) triggerResize();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [optionsLength]);\n\n if (isLoading) {\n const skeletonCount = requiredSkeletons\n ? Math.max(requiredSkeletons - optionsLength, 0)\n : 0;\n\n return (\n <OptionsContainer $totalResults={options.length}>\n {options.map((option) => (\n <OptionItem key={option.id} option={option} />\n ))}\n {isLoading &&\n Array.from({ length: skeletonCount }).map((_, index) => (\n <SkeletonOptionItem key={index} />\n ))}\n </OptionsContainer>\n );\n }\n\n return (\n <>\n <ScrollArea\n mobileDirection={\"vertical\"}\n height={scrollHeight}\n hideBottomLine={orDivider || hideBottomLine}\n totalItems={options.length}\n >\n <OptionsContainer $totalResults={options.length}>\n {options.map((option) => (\n <OptionItem key={option.id} option={option} />\n ))}\n </OptionsContainer>\n </ScrollArea>\n {orDivider && <OrDivider />}\n </>\n );\n};\n\nconst SkeletonOptionItem = () => {\n return (\n <OptionButton type=\"button\">\n <SkeletonIcon />\n <SkeletonLabel />\n </OptionButton>\n );\n};\n\nconst pulse = keyframes`\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.6;\n }\n`;\n\nconst SkeletonIcon = styled.div`\n position: absolute;\n right: 20px;\n width: 32px;\n height: 32px;\n border-radius: 22.5%;\n background-color: rgba(0, 0, 0, 0.1);\n animation: ${pulse} 1.5s ease-in-out infinite;\n`;\n\nconst SkeletonLabel = styled.div`\n width: 100px;\n height: 16px;\n border-radius: 8px;\n background-color: rgba(0, 0, 0, 0.1);\n animation: ${pulse} 1.5s ease-in-out infinite;\n`;\n\nconst OptionItem = ({ option }: { option: Option }) => {\n const hydratedIcons = option.icons.map((icon) => {\n if (typeof icon === \"string\") {\n return <img key={option.id} src={icon} alt=\"\" />;\n }\n return icon;\n });\n\n const iconContent = (() => {\n return (\n <IconStackContainer>\n {hydratedIcons.map((icon, index) => (\n <IconStackItem\n key={index}\n $marginRight={index !== hydratedIcons.length - 1 ? -12 : 0}\n $zIndex={hydratedIcons.length - index}\n >\n {icon}\n </IconStackItem>\n ))}\n </IconStackContainer>\n );\n })();\n\n return (\n <OptionButton\n type=\"button\"\n onClick={option.onClick}\n disabled={option.disabled}\n >\n {iconContent}\n <OptionLabel>\n <OptionTitle>{option.title}</OptionTitle>\n {option.subtitle && <OptionSubtitle>{option.subtitle}</OptionSubtitle>}\n </OptionLabel>\n </OptionButton>\n );\n};\n\nconst IconStackContainer = styled(motion.div)`\n position: absolute;\n right: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst IconStackItem = styled(motion.div)<{\n $marginRight?: number;\n $zIndex?: number;\n}>`\n display: block;\n overflow: hidden;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: ${(props) => props.$marginRight || 0}px;\n z-index: ${(props) => props.$zIndex || 2};\n width: 32px;\n height: 32px;\n overflow: hidden;\n svg,\n img {\n display: block;\n position: relative;\n pointer-events: none;\n overflow: hidden;\n width: 100%;\n height: 100%;\n }\n border-radius: 22.5%;\n`;\n"],"names":[],"mappings":";;;;;;;;;;AAyBO,MAAM,cAAc,CAAC;AAAA,EAC1B,OAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,YAAe,GAAA,GAAA;AAAA,EACf,SAAY,GAAA,KAAA;AAAA,EACZ,cAAiB,GAAA,KAAA;AACnB,CAOM,KAAA;AACJ,EAAA,MAAM,EAAE,aAAA,EAAe,GAAI,EAAA,GAAI,aAAc,EAAA,CAAA;AAC7C,EAAA,MAAM,gBAAgB,OAAQ,CAAA,MAAA,CAAA;AAE9B,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,GAAA,CAAA,CAAA,kBAAA,EAAqB,aAAa,CAAqB,mBAAA,CAAA,CAAA,CAAA;AAC3D,IAAI,IAAA,aAAA,GAAgB,GAAiB,aAAA,EAAA,CAAA;AAAA,GAEvC,EAAG,CAAC,aAAa,CAAC,CAAA,CAAA;AAElB,EAAA,IAAI,SAAW,EAAA;AACb,IAAA,MAAM,gBAAgB,iBAClB,GAAA,IAAA,CAAK,IAAI,iBAAoB,GAAA,aAAA,EAAe,CAAC,CAC7C,GAAA,CAAA,CAAA;AAEJ,IAAA,uBACG,IAAA,CAAA,gBAAA,EAAA,EAAiB,aAAe,EAAA,OAAA,CAAQ,MACtC,EAAA,QAAA,EAAA;AAAA,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAC,MACZ,qBAAA,GAAA,CAAC,cAA2B,MAAX,EAAA,EAAA,MAAA,CAAO,EAAoB,CAC7C,CAAA;AAAA,MACA,SACC,IAAA,KAAA,CAAM,IAAK,CAAA,EAAE,QAAQ,aAAc,EAAC,CAAE,CAAA,GAAA,CAAI,CAAC,CAAG,EAAA,KAAA,qBAC3C,GAAA,CAAA,kBAAA,EAAA,EAAA,EAAwB,KAAO,CACjC,CAAA;AAAA,KACL,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,eAAiB,EAAA,UAAA;AAAA,QACjB,MAAQ,EAAA,YAAA;AAAA,QACR,gBAAgB,SAAa,IAAA,cAAA;AAAA,QAC7B,YAAY,OAAQ,CAAA,MAAA;AAAA,QAEpB,QAAC,kBAAA,GAAA,CAAA,gBAAA,EAAA,EAAiB,aAAe,EAAA,OAAA,CAAQ,QACtC,QAAQ,EAAA,OAAA,CAAA,GAAA,CAAI,CAAC,MAAA,yBACX,UAA2B,EAAA,EAAA,MAAA,EAAA,EAAX,MAAO,CAAA,EAAoB,CAC7C,CACH,EAAA,CAAA;AAAA,OAAA;AAAA,KACF;AAAA,IACC,SAAA,wBAAc,SAAU,EAAA,EAAA,CAAA;AAAA,GAC3B,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,qBAAqB,MAAM;AAC/B,EACE,uBAAA,IAAA,CAAC,YAAa,EAAA,EAAA,IAAA,EAAK,QACjB,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,YAAa,EAAA,EAAA,CAAA;AAAA,wBACb,aAAc,EAAA,EAAA,CAAA;AAAA,GACjB,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,KAAQ,GAAA,SAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAYd,MAAM,eAAe,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAA,EAOb,KAAK,CAAA;AAAA,CAAA,CAAA;AAGpB,MAAM,gBAAgB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAA,EAKd,KAAK,CAAA;AAAA,CAAA,CAAA;AAGpB,MAAM,UAAa,GAAA,CAAC,EAAE,MAAA,EAAiC,KAAA;AACrD,EAAA,MAAM,aAAgB,GAAA,MAAA,CAAO,KAAM,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AAC/C,IAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC5B,MAAA,2BAAQ,KAAoB,EAAA,EAAA,GAAA,EAAK,MAAM,GAAI,EAAA,EAAA,EAAA,EAA1B,OAAO,EAAsB,CAAA,CAAA;AAAA,KAChD;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,2BACG,kBACE,EAAA,EAAA,QAAA,EAAA,aAAA,CAAc,GAAI,CAAA,CAAC,MAAM,KACxB,qBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QAEC,YAAc,EAAA,KAAA,KAAU,aAAc,CAAA,MAAA,GAAS,IAAI,CAAM,EAAA,GAAA,CAAA;AAAA,QACzD,OAAA,EAAS,cAAc,MAAS,GAAA,KAAA;AAAA,QAE/B,QAAA,EAAA,IAAA;AAAA,OAAA;AAAA,MAJI,KAAA;AAAA,KAMR,CACH,EAAA,CAAA,CAAA;AAAA,GAED,GAAA,CAAA;AAEH,EACE,uBAAA,IAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,QAAA;AAAA,MACL,SAAS,MAAO,CAAA,OAAA;AAAA,MAChB,UAAU,MAAO,CAAA,QAAA;AAAA,MAEhB,QAAA,EAAA;AAAA,QAAA,WAAA;AAAA,6BACA,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,WAAA,EAAA,EAAa,iBAAO,KAAM,EAAA,CAAA;AAAA,UAC1B,MAAO,CAAA,QAAA,oBAAa,GAAA,CAAA,cAAA,EAAA,EAAgB,iBAAO,QAAS,EAAA,CAAA;AAAA,SACvD,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,kBAAA,GAAqB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQ5C,MAAM,aAAA,GAAgB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAA,EAUrB,CAAC,KAAA,KAAU,KAAM,CAAA,YAAA,IAAgB,CAAC,CAAA;AAAA,WAAA,EACvC,CAAC,KAAA,KAAU,KAAM,CAAA,OAAA,IAAW,CAAC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
|
|
@@ -2,10 +2,10 @@ import { css } from 'styled-components';
|
|
|
2
2
|
import styled from '../../../styles/styled/index.js';
|
|
3
3
|
import { motion } from 'framer-motion';
|
|
4
4
|
|
|
5
|
-
const OptionButton = styled(motion.button)
|
|
5
|
+
const OptionButton = styled(motion.button)`
|
|
6
6
|
display: block;
|
|
7
7
|
text-decoration: none;
|
|
8
|
-
cursor: ${(props) =>
|
|
8
|
+
cursor: ${(props) => props.disabled ? "default" : "pointer"};
|
|
9
9
|
user-select: none;
|
|
10
10
|
position: relative;
|
|
11
11
|
display: flex;
|
|
@@ -97,7 +97,7 @@ const OptionButton = styled(motion.button) `
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
`;
|
|
100
|
-
const OptionLabel = styled(motion.span)
|
|
100
|
+
const OptionLabel = styled(motion.span)`
|
|
101
101
|
display: flex;
|
|
102
102
|
flex-direction: column;
|
|
103
103
|
align-items: flex-start;
|
|
@@ -107,13 +107,13 @@ const OptionLabel = styled(motion.span) `
|
|
|
107
107
|
padding: 2px 0;
|
|
108
108
|
padding-right: 38px;
|
|
109
109
|
`;
|
|
110
|
-
const OptionTitle = styled(motion.span)
|
|
110
|
+
const OptionTitle = styled(motion.span)`
|
|
111
111
|
white-space: nowrap;
|
|
112
112
|
text-overflow: ellipsis;
|
|
113
113
|
overflow: hidden;
|
|
114
114
|
width: 100%;
|
|
115
115
|
`;
|
|
116
|
-
const OptionSubtitle = styled(motion.span)
|
|
116
|
+
const OptionSubtitle = styled(motion.span)`
|
|
117
117
|
font-size: 14px;
|
|
118
118
|
opacity: 0.6;
|
|
119
119
|
font-weight: 400;
|
|
@@ -122,14 +122,13 @@ const OptionSubtitle = styled(motion.span) `
|
|
|
122
122
|
overflow: hidden;
|
|
123
123
|
width: 100%;
|
|
124
124
|
`;
|
|
125
|
-
const OptionsContainer = styled.div
|
|
125
|
+
const OptionsContainer = styled.div`
|
|
126
126
|
transition: opacity 300ms ease;
|
|
127
127
|
display: flex;
|
|
128
128
|
flex-direction: column;
|
|
129
129
|
gap: 12px;
|
|
130
130
|
|
|
131
|
-
${(props) => props.$disabled &&
|
|
132
|
-
css `
|
|
131
|
+
${(props) => props.$disabled && css`
|
|
133
132
|
pointer-events: none;
|
|
134
133
|
opacity: 0.4;
|
|
135
134
|
`}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/OptionsList/styles.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/OptionsList/styles.ts"],"sourcesContent":["import { css } from \"styled-components\";\nimport styled from \"../../../styles/styled\";\n\nimport { motion } from \"framer-motion\";\n\nexport const OptionButton = styled(motion.button)`\n display: block;\n text-decoration: none;\n cursor: ${(props) => (props.disabled ? \"default\" : \"pointer\")};\n user-select: none;\n position: relative;\n display: flex;\n align-items: center;\n padding: 0 20px;\n height: 64px;\n font-size: 17px;\n font-weight: var(--ck-primary-button-font-weight, 500);\n line-height: 20px;\n text-align: var(--ck-body-button-text-align, left);\n transition: 180ms ease;\n transition-property: background, color, box-shadow, transform, opacity;\n will-change: transform, box-shadow, background-color, color, opacity;\n\n --fallback-color: var(--ck-primary-button-color);\n --fallback-background: var(--ck-primary-button-background);\n --fallback-box-shadow: var(--ck-primary-button-box-shadow);\n --fallback-border-radius: var(--ck-primary-button-border-radius);\n\n --color: var(--ck-primary-button-color, var(--fallback-color));\n --background: var(--ck-primary-button-background, var(--fallback-background));\n --box-shadow: var(--ck-primary-button-box-shadow, var(--fallback-box-shadow));\n --border-radius: var(\n --ck-primary-button-border-radius,\n var(--fallback-border-radius)\n );\n\n --hover-color: var(--ck-primary-button-hover-color, var(--color));\n --hover-background: var(\n --ck-primary-button-hover-background,\n var(--background)\n );\n --hover-box-shadow: var(\n --ck-primary-button-hover-box-shadow,\n var(--box-shadow)\n );\n --hover-border-radius: var(\n --ck-primary-button-hover-border-radius,\n var(--border-radius)\n );\n\n --active-color: var(--ck-primary-button-active-color, var(--hover-color));\n --active-background: var(\n --ck-primary-button-active-background,\n var(--hover-background)\n );\n --active-box-shadow: var(\n --ck-primary-button-active-box-shadow,\n var(--hover-box-shadow)\n );\n --active-border-radius: var(\n --ck-primary-button-active-border-radius,\n var(--hover-border-radius)\n );\n\n color: var(--color);\n background: var(--background);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n\n &:disabled {\n transition: 180ms ease;\n opacity: 0.4;\n }\n\n --bg: var(--background);\n &:not(:disabled) {\n &:hover {\n color: var(--hover-color);\n background: var(--hover-background);\n box-shadow: var(--hover-box-shadow);\n border-radius: var(--hover-border-radius);\n --bg: var(--hover-background, var(--background));\n }\n &:focus-visible {\n transition-duration: 100ms;\n color: var(--hover-color);\n background: var(--hover-background);\n box-shadow: var(--hover-box-shadow);\n border-radius: var(--hover-border-radius);\n --bg: var(--hover-background, var(--background));\n }\n &:active {\n color: var(--active-color);\n background: var(--active-background);\n box-shadow: var(--active-box-shadow);\n border-radius: var(--active-border-radius);\n --bg: var(--active-background, var(--background));\n }\n }\n`;\n\nexport const OptionLabel = styled(motion.span)`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 2px;\n width: 100%;\n overflow: hidden;\n padding: 2px 0;\n padding-right: 38px;\n`;\n\nexport const OptionTitle = styled(motion.span)`\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n`;\n\nexport const OptionSubtitle = styled(motion.span)`\n font-size: 14px;\n opacity: 0.6;\n font-weight: 400;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n`;\n\nexport const OptionsContainer = styled.div<{\n $disabled?: boolean;\n}>`\n transition: opacity 300ms ease;\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n ${(props) =>\n props.$disabled &&\n css`\n pointer-events: none;\n opacity: 0.4;\n `}\n`;\n"],"names":[],"mappings":";;;;AAKa,MAAA,YAAA,GAAe,MAAO,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AAAA;AAAA;AAAA,UAAA,EAGpC,CAAC,KAAA,KAAW,KAAM,CAAA,QAAA,GAAW,YAAY,SAAU,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,EAAA;AA6FlD,MAAA,WAAA,GAAc,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAWhC,MAAA,WAAA,GAAc,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAOhC,MAAA,cAAA,GAAiB,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAUzC,MAAM,mBAAmB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnC,EAAA,CAAC,KACD,KAAA,KAAA,CAAM,SACN,IAAA,GAAA,CAAA;AAAA;AAAA;AAAA,IAGC,CAAA,CAAA;AAAA;;;;"}
|
|
@@ -13,75 +13,119 @@ import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
|
13
13
|
import styled from '../../../styles/styled/index.js';
|
|
14
14
|
import { formatUsd } from '../../../utils/format.js';
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
let walletIcon = renderIcon(connector?.icon);
|
|
44
|
-
let solanaIcon = renderIcon(solanaWallet?.adapter.icon || jsx(Solana, {}), solanaWallet?.adapter.name);
|
|
45
|
-
if (minified) {
|
|
46
|
-
if (titleAmountContent != null) {
|
|
47
|
-
if (show === "zkp2p") {
|
|
48
|
-
return (jsx(MinifiedContainer, { children: jsx(MinifiedTitleAmount, { children: titleAmountContent }) }));
|
|
49
|
-
}
|
|
50
|
-
return (jsxs(MinifiedContainer, { children: [jsx(MinifiedTitleAmount, { children: titleAmountContent }), show === "evm" && isEthConnected && (jsx(Fragment, { children: jsxs(SubtitleContainer, { children: [jsx(Subtitle, { children: ethWalletDisplayName }), walletIcon] }) })), show === "solana" && isSolanaConnected && (jsx(Fragment, { children: jsxs(SubtitleContainer, { children: [jsx(Subtitle, { children: solWalletDisplayName }), solanaIcon] }) })), show === "all" && (jsx(Fragment, { children: jsx(CoinLogos, { "$size": 32 }) }))] }));
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
return (jsxs(MinifiedContainer, { children: [jsx(CoinLogos, {}), jsx(Subtitle, { children: locales.tokensAccepted })] }));
|
|
54
|
-
}
|
|
16
|
+
const OrderHeader = ({
|
|
17
|
+
minified = false,
|
|
18
|
+
show = "all"
|
|
19
|
+
}) => {
|
|
20
|
+
const { paymentState, route } = usePayContext();
|
|
21
|
+
const { isConnected: isEthConnected, address, connector } = useAccount();
|
|
22
|
+
const {
|
|
23
|
+
connected: isSolanaConnected,
|
|
24
|
+
publicKey,
|
|
25
|
+
wallet: solanaWallet
|
|
26
|
+
} = useWallet();
|
|
27
|
+
const { senderEnsName } = paymentState;
|
|
28
|
+
const { order } = useDaimoPay();
|
|
29
|
+
const ethWalletDisplayName = senderEnsName ?? (address ? getAddressContraction(address) : "wallet");
|
|
30
|
+
const solWalletDisplayName = getAddressContraction(
|
|
31
|
+
publicKey?.toBase58() ?? ""
|
|
32
|
+
);
|
|
33
|
+
const orderUsd = order?.destFinalCallTokenAmount.usd;
|
|
34
|
+
const locales = useLocales();
|
|
35
|
+
const titleAmountContent = (() => {
|
|
36
|
+
if (paymentState.isDepositFlow) {
|
|
37
|
+
return route === ROUTES.SELECT_TOKEN ? (
|
|
38
|
+
// TODO: make this match `ModalH1` font size for mobile
|
|
39
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: "19px", lineHeight: "22px" }, children: locales.yourBalances })
|
|
40
|
+
) : null;
|
|
41
|
+
} else {
|
|
42
|
+
return orderUsd != null ? /* @__PURE__ */ jsx("span", { children: formatUsd(orderUsd, "nearest") }) : null;
|
|
55
43
|
}
|
|
56
|
-
|
|
57
|
-
|
|
44
|
+
})();
|
|
45
|
+
const renderIcon = (icon, name, size = 32) => {
|
|
46
|
+
if (!icon) {
|
|
47
|
+
return null;
|
|
58
48
|
}
|
|
49
|
+
return /* @__PURE__ */ jsx(LogoContainer, { $size: size, $zIndex: 1, style: { borderRadius: "22.5%" }, children: typeof icon === "string" ? /* @__PURE__ */ jsx(
|
|
50
|
+
"img",
|
|
51
|
+
{
|
|
52
|
+
src: icon,
|
|
53
|
+
alt: name || "wallet",
|
|
54
|
+
style: { maxWidth: "100%", maxHeight: "100%" }
|
|
55
|
+
}
|
|
56
|
+
) : icon });
|
|
57
|
+
};
|
|
58
|
+
let walletIcon = renderIcon(connector?.icon);
|
|
59
|
+
let solanaIcon = renderIcon(
|
|
60
|
+
solanaWallet?.adapter.icon || /* @__PURE__ */ jsx(Solana, {}),
|
|
61
|
+
solanaWallet?.adapter.name
|
|
62
|
+
);
|
|
63
|
+
if (minified) {
|
|
64
|
+
if (titleAmountContent != null) {
|
|
65
|
+
if (show === "zkp2p") {
|
|
66
|
+
return /* @__PURE__ */ jsx(MinifiedContainer, { children: /* @__PURE__ */ jsx(MinifiedTitleAmount, { children: titleAmountContent }) });
|
|
67
|
+
}
|
|
68
|
+
return /* @__PURE__ */ jsxs(MinifiedContainer, { children: [
|
|
69
|
+
/* @__PURE__ */ jsx(MinifiedTitleAmount, { children: titleAmountContent }),
|
|
70
|
+
show === "evm" && isEthConnected && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(SubtitleContainer, { children: [
|
|
71
|
+
/* @__PURE__ */ jsx(Subtitle, { children: ethWalletDisplayName }),
|
|
72
|
+
walletIcon
|
|
73
|
+
] }) }),
|
|
74
|
+
show === "solana" && isSolanaConnected && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(SubtitleContainer, { children: [
|
|
75
|
+
/* @__PURE__ */ jsx(Subtitle, { children: solWalletDisplayName }),
|
|
76
|
+
solanaIcon
|
|
77
|
+
] }) }),
|
|
78
|
+
show === "all" && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(CoinLogos, { $size: 32 }) })
|
|
79
|
+
] });
|
|
80
|
+
} else {
|
|
81
|
+
return /* @__PURE__ */ jsxs(MinifiedContainer, { children: [
|
|
82
|
+
/* @__PURE__ */ jsx(CoinLogos, {}),
|
|
83
|
+
/* @__PURE__ */ jsx(Subtitle, { children: locales.tokensAccepted })
|
|
84
|
+
] });
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
88
|
+
titleAmountContent && /* @__PURE__ */ jsx(TitleAmount, { children: titleAmountContent }),
|
|
89
|
+
/* @__PURE__ */ jsxs(AnyChainAnyCoinContainer, { children: [
|
|
90
|
+
/* @__PURE__ */ jsx(CoinLogos, {}),
|
|
91
|
+
/* @__PURE__ */ jsx(Subtitle, { children: locales.tokensAccepted })
|
|
92
|
+
] })
|
|
93
|
+
] });
|
|
94
|
+
}
|
|
59
95
|
};
|
|
60
96
|
function CoinLogos({ $size = 24 }) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
97
|
+
const logos = [
|
|
98
|
+
/* @__PURE__ */ jsx(Ethereum, {}, "eth"),
|
|
99
|
+
/* @__PURE__ */ jsx(USDC, {}, "usdc"),
|
|
100
|
+
/* @__PURE__ */ jsx(Optimism, {}, "optimism"),
|
|
101
|
+
/* @__PURE__ */ jsx(Arbitrum, {}, "arbitrum"),
|
|
102
|
+
/* @__PURE__ */ jsx(Base, {}, "base"),
|
|
103
|
+
/* @__PURE__ */ jsx(Polygon, {}, "polygon"),
|
|
104
|
+
/* @__PURE__ */ jsx(Solana, {}, "solana")
|
|
105
|
+
];
|
|
106
|
+
const logoBlock = (element, index) => /* @__PURE__ */ jsx(
|
|
107
|
+
LogoContainer,
|
|
108
|
+
{
|
|
109
|
+
$marginLeft: index !== 0 ? -($size / 3) : 0,
|
|
110
|
+
$zIndex: logos.length - index,
|
|
111
|
+
$size,
|
|
112
|
+
transition: { duration: 0.5, ease: [0.175, 0.885, 0.32, 0.98] },
|
|
113
|
+
children: element
|
|
114
|
+
},
|
|
115
|
+
index
|
|
116
|
+
);
|
|
117
|
+
return /* @__PURE__ */ jsx(Logos, { children: logos.map((element, index) => logoBlock(element, index)) });
|
|
72
118
|
}
|
|
73
|
-
const TitleAmount = styled(motion.h1)
|
|
119
|
+
const TitleAmount = styled(motion.h1)`
|
|
74
120
|
margin-bottom: 24px;
|
|
75
121
|
padding: 0;
|
|
76
122
|
line-height: 66px;
|
|
77
123
|
font-size: 64px;
|
|
78
124
|
font-weight: var(--ck-modal-h1-font-weight, 600);
|
|
79
125
|
color: ${(props) => {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return "var(--ck-body-color-valid)";
|
|
84
|
-
return "var(--ck-body-color)";
|
|
126
|
+
if (props.$error) return "var(--ck-body-color-danger)";
|
|
127
|
+
if (props.$valid) return "var(--ck-body-color-valid)";
|
|
128
|
+
return "var(--ck-body-color)";
|
|
85
129
|
}};
|
|
86
130
|
@media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
|
|
87
131
|
font-size: 64px;
|
|
@@ -91,13 +135,13 @@ const TitleAmount = styled(motion.h1) `
|
|
|
91
135
|
justify-content: center;
|
|
92
136
|
gap: 8px;
|
|
93
137
|
`;
|
|
94
|
-
const Subtitle = styled(motion.div)
|
|
138
|
+
const Subtitle = styled(motion.div)`
|
|
95
139
|
font-size: 18px;
|
|
96
140
|
font-weight: 500;
|
|
97
141
|
line-height: 21px;
|
|
98
142
|
color: var(--ck-body-color-muted);
|
|
99
143
|
`;
|
|
100
|
-
const MinifiedTitleAmount = styled(motion.div)
|
|
144
|
+
const MinifiedTitleAmount = styled(motion.div)`
|
|
101
145
|
font-size: 32px;
|
|
102
146
|
font-weight: var(--ck-modal-h1-font-weight, 600);
|
|
103
147
|
line-height: 36px;
|
|
@@ -107,14 +151,14 @@ const MinifiedTitleAmount = styled(motion.div) `
|
|
|
107
151
|
justify-content: start;
|
|
108
152
|
gap: 8px;
|
|
109
153
|
`;
|
|
110
|
-
const MinifiedContainer = styled(motion.div)
|
|
154
|
+
const MinifiedContainer = styled(motion.div)`
|
|
111
155
|
display: flex;
|
|
112
156
|
align-items: center;
|
|
113
157
|
justify-content: space-between;
|
|
114
158
|
width: 100%;
|
|
115
159
|
margin-bottom: 24px;
|
|
116
160
|
`;
|
|
117
|
-
const AnyChainAnyCoinContainer = styled(motion.div)
|
|
161
|
+
const AnyChainAnyCoinContainer = styled(motion.div)`
|
|
118
162
|
display: flex;
|
|
119
163
|
vertical-align: middle;
|
|
120
164
|
align-items: center;
|
|
@@ -123,7 +167,7 @@ const AnyChainAnyCoinContainer = styled(motion.div) `
|
|
|
123
167
|
gap: 8px;
|
|
124
168
|
margin-bottom: 24px;
|
|
125
169
|
`;
|
|
126
|
-
const LogoContainer = styled(motion.div)
|
|
170
|
+
const LogoContainer = styled(motion.div)`
|
|
127
171
|
display: block;
|
|
128
172
|
overflow: hidden;
|
|
129
173
|
user-select: none;
|
|
@@ -141,12 +185,12 @@ const LogoContainer = styled(motion.div) `
|
|
|
141
185
|
height: auto;
|
|
142
186
|
}
|
|
143
187
|
`;
|
|
144
|
-
const Logos = styled(motion.div)
|
|
188
|
+
const Logos = styled(motion.div)`
|
|
145
189
|
display: flex;
|
|
146
190
|
align-items: center;
|
|
147
191
|
justify-content: center;
|
|
148
192
|
`;
|
|
149
|
-
const SubtitleContainer = styled.div
|
|
193
|
+
const SubtitleContainer = styled.div`
|
|
150
194
|
display: flex;
|
|
151
195
|
align-items: center;
|
|
152
196
|
justify-content: flex-end;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/OrderHeader/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/OrderHeader/index.tsx"],"sourcesContent":["import { getAddressContraction } from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { motion } from \"framer-motion\";\nimport React from \"react\";\nimport { useAccount } from \"wagmi\";\nimport {\n Arbitrum,\n Base,\n Ethereum,\n Optimism,\n Polygon,\n Solana,\n} from \"../../../assets/chains\";\nimport { USDC } from \"../../../assets/coins\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport styled from \"../../../styles/styled\";\nimport { formatUsd } from \"../../../utils/format\";\n\n/** Shows payment amount. */\nexport const OrderHeader = ({\n minified = false,\n show = \"all\",\n}: {\n minified?: boolean;\n show?: \"evm\" | \"solana\" | \"zkp2p\" | \"all\";\n}) => {\n const { paymentState, route } = usePayContext();\n const { isConnected: isEthConnected, address, connector } = useAccount();\n const {\n connected: isSolanaConnected,\n publicKey,\n wallet: solanaWallet,\n } = useWallet();\n const { senderEnsName } = paymentState;\n const { order } = useDaimoPay();\n\n const ethWalletDisplayName =\n senderEnsName ?? (address ? getAddressContraction(address) : \"wallet\");\n const solWalletDisplayName = getAddressContraction(\n publicKey?.toBase58() ?? \"\",\n );\n const orderUsd = order?.destFinalCallTokenAmount.usd;\n\n const locales = useLocales();\n\n const titleAmountContent = (() => {\n if (paymentState.isDepositFlow) {\n return route === ROUTES.SELECT_TOKEN ? (\n // TODO: make this match `ModalH1` font size for mobile\n <span style={{ fontSize: \"19px\", lineHeight: \"22px\" }}>\n {locales.yourBalances}\n </span>\n ) : null;\n } else {\n return orderUsd != null ? (\n <span>{formatUsd(orderUsd, \"nearest\")}</span>\n ) : null;\n }\n })();\n\n const renderIcon = (\n icon: React.ReactNode | string | undefined,\n name?: string,\n size = 32,\n ): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n return (\n <LogoContainer $size={size} $zIndex={1} style={{ borderRadius: \"22.5%\" }}>\n {typeof icon === \"string\" ? (\n <img\n src={icon}\n alt={name || \"wallet\"}\n style={{ maxWidth: \"100%\", maxHeight: \"100%\" }}\n />\n ) : (\n icon\n )}\n </LogoContainer>\n );\n };\n let walletIcon = renderIcon(connector?.icon);\n let solanaIcon = renderIcon(\n solanaWallet?.adapter.icon || <Solana />,\n solanaWallet?.adapter.name,\n );\n\n if (minified) {\n if (titleAmountContent != null) {\n if (show === \"zkp2p\") {\n return (\n <MinifiedContainer>\n <MinifiedTitleAmount>{titleAmountContent}</MinifiedTitleAmount>\n </MinifiedContainer>\n );\n }\n\n return (\n <MinifiedContainer>\n <MinifiedTitleAmount>{titleAmountContent}</MinifiedTitleAmount>\n {show === \"evm\" && isEthConnected && (\n <>\n <SubtitleContainer>\n <Subtitle>{ethWalletDisplayName}</Subtitle>\n {walletIcon}\n </SubtitleContainer>\n </>\n )}\n {show === \"solana\" && isSolanaConnected && (\n <>\n <SubtitleContainer>\n <Subtitle>{solWalletDisplayName}</Subtitle>\n {solanaIcon}\n </SubtitleContainer>\n </>\n )}\n {show === \"all\" && (\n <>\n <CoinLogos $size={32} />\n </>\n )}\n </MinifiedContainer>\n );\n } else {\n return (\n <MinifiedContainer>\n <CoinLogos />\n <Subtitle>{locales.tokensAccepted}</Subtitle>\n </MinifiedContainer>\n );\n }\n } else {\n return (\n <>\n {titleAmountContent && <TitleAmount>{titleAmountContent}</TitleAmount>}\n <AnyChainAnyCoinContainer>\n <CoinLogos />\n <Subtitle>{locales.tokensAccepted}</Subtitle>\n </AnyChainAnyCoinContainer>\n </>\n );\n }\n};\n\nfunction CoinLogos({ $size = 24 }: { $size?: number }) {\n const logos = [\n <Ethereum key=\"eth\" />,\n <USDC key=\"usdc\" />,\n <Optimism key=\"optimism\" />,\n <Arbitrum key=\"arbitrum\" />,\n <Base key=\"base\" />,\n <Polygon key=\"polygon\" />,\n <Solana key=\"solana\" />,\n ];\n\n const logoBlock = (element: React.ReactElement, index: number) => (\n <LogoContainer\n key={index}\n $marginLeft={index !== 0 ? -($size / 3) : 0}\n $zIndex={logos.length - index}\n $size={$size}\n transition={{ duration: 0.5, ease: [0.175, 0.885, 0.32, 0.98] }}\n >\n {element}\n </LogoContainer>\n );\n\n return (\n <Logos>{logos.map((element, index) => logoBlock(element, index))}</Logos>\n );\n}\n\nconst TitleAmount = styled(motion.h1)<{\n $error?: boolean;\n $valid?: boolean;\n}>`\n margin-bottom: 24px;\n padding: 0;\n line-height: 66px;\n font-size: 64px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n color: ${(props) => {\n if (props.$error) return \"var(--ck-body-color-danger)\";\n if (props.$valid) return \"var(--ck-body-color-valid)\";\n return \"var(--ck-body-color)\";\n }};\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n font-size: 64px;\n }\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n`;\n\nconst Subtitle = styled(motion.div)`\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n color: var(--ck-body-color-muted);\n`;\n\nconst MinifiedTitleAmount = styled(motion.div)`\n font-size: 32px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n line-height: 36px;\n color: var(--ck-body-color);\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 8px;\n`;\n\nconst MinifiedContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n margin-bottom: 24px;\n`;\n\nconst AnyChainAnyCoinContainer = styled(motion.div)`\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n text-align: center;\n gap: 8px;\n margin-bottom: 24px;\n`;\n\nconst LogoContainer = styled(motion.div)<{\n $marginLeft?: number;\n $zIndex?: number;\n $size: number;\n}>`\n display: block;\n overflow: hidden;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: ${(props) => props.$marginLeft || 0}px;\n z-index: ${(props) => props.$zIndex || 2};\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n border-radius: 9999px;\n svg {\n display: block;\n width: 100%;\n height: auto;\n }\n`;\n\nconst Logos = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst SubtitleContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n`;\n"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,34 @@ import styled from '../../../styles/styled/index.js';
|
|
|
4
4
|
import { ModalBody } from '../Modal/styles.js';
|
|
5
5
|
|
|
6
6
|
const PaymentBreakdown = ({ paymentOption }) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const subtotalUsd = paymentOption.required.usd;
|
|
8
|
+
const feesUsd = paymentOption.fees.usd;
|
|
9
|
+
const totalUsd = subtotalUsd + feesUsd;
|
|
10
|
+
return /* @__PURE__ */ jsxs(FeesContainer, { children: [
|
|
11
|
+
feesUsd > 0 && /* @__PURE__ */ jsxs(FeeRow, { children: [
|
|
12
|
+
/* @__PURE__ */ jsx(ModalBody, { children: "Subtotal" }),
|
|
13
|
+
/* @__PURE__ */ jsxs(ModalBody, { children: [
|
|
14
|
+
"$",
|
|
15
|
+
subtotalUsd.toFixed(2)
|
|
16
|
+
] })
|
|
17
|
+
] }),
|
|
18
|
+
/* @__PURE__ */ jsxs(FeeRow, { children: [
|
|
19
|
+
/* @__PURE__ */ jsx(ModalBody, { children: "Fees" }),
|
|
20
|
+
feesUsd === 0 ? /* @__PURE__ */ jsx(Badge, { children: "Free" }) : /* @__PURE__ */ jsxs(ModalBody, { children: [
|
|
21
|
+
"$",
|
|
22
|
+
feesUsd.toFixed(2)
|
|
23
|
+
] })
|
|
24
|
+
] }),
|
|
25
|
+
/* @__PURE__ */ jsxs(FeeRow, { style: { marginTop: 8 }, children: [
|
|
26
|
+
/* @__PURE__ */ jsx(ModalBody, { style: { fontWeight: 600 }, children: "Total" }),
|
|
27
|
+
/* @__PURE__ */ jsxs(ModalBody, { style: { fontWeight: 600 }, children: [
|
|
28
|
+
"$",
|
|
29
|
+
totalUsd.toFixed(2)
|
|
30
|
+
] })
|
|
31
|
+
] })
|
|
32
|
+
] });
|
|
11
33
|
};
|
|
12
|
-
const FeesContainer = styled.div
|
|
34
|
+
const FeesContainer = styled.div`
|
|
13
35
|
display: flex;
|
|
14
36
|
flex-direction: column;
|
|
15
37
|
align-items: center;
|
|
@@ -25,13 +47,13 @@ const FeesContainer = styled.div `
|
|
|
25
47
|
}
|
|
26
48
|
}
|
|
27
49
|
`;
|
|
28
|
-
const FeeRow = styled.div
|
|
50
|
+
const FeeRow = styled.div`
|
|
29
51
|
display: flex;
|
|
30
52
|
justify-content: space-between;
|
|
31
53
|
align-items: center;
|
|
32
54
|
width: 50%;
|
|
33
55
|
`;
|
|
34
|
-
const Badge = styled.span
|
|
56
|
+
const Badge = styled.span`
|
|
35
57
|
display: inline-block;
|
|
36
58
|
padding: 3px 8px;
|
|
37
59
|
border-radius: var(--ck-primary-button-border-radius);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/PaymentBreakdown/index.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/PaymentBreakdown/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { WalletPaymentOption } from \"@daimo/pay-common\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport styled from \"../../../styles/styled\";\nimport { ModalBody } from \"../../Common/Modal/styles\";\n\nconst PaymentBreakdown: React.FC<{\n paymentOption: WalletPaymentOption;\n}> = ({ paymentOption }) => {\n const subtotalUsd = paymentOption.required.usd;\n const feesUsd = paymentOption.fees.usd;\n const totalUsd = subtotalUsd + feesUsd;\n\n return (\n <FeesContainer>\n {feesUsd > 0 && (\n <FeeRow>\n <ModalBody>Subtotal</ModalBody>\n <ModalBody>${subtotalUsd.toFixed(2)}</ModalBody>\n </FeeRow>\n )}\n <FeeRow>\n <ModalBody>Fees</ModalBody>\n {feesUsd === 0 ? (\n <Badge>Free</Badge>\n ) : (\n <ModalBody>${feesUsd.toFixed(2)}</ModalBody>\n )}\n </FeeRow>\n <FeeRow style={{ marginTop: 8 }}>\n <ModalBody style={{ fontWeight: 600 }}>Total</ModalBody>\n <ModalBody style={{ fontWeight: 600 }}>\n ${totalUsd.toFixed(2)}\n </ModalBody>\n </FeeRow>\n </FeesContainer>\n );\n};\n\nconst FeesContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n gap: 4px;\n margin: 16px 0;\n\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n & ${ModalBody} {\n margin: 0 !important;\n max-width: 100% !important;\n text-align: left !important;\n }\n }\n`;\nconst FeeRow = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 50%;\n`;\nconst Badge = styled.span`\n display: inline-block;\n padding: 3px 8px;\n border-radius: var(--ck-primary-button-border-radius);\n font-size: 14px;\n font-weight: 400;\n background: var(\n --ck-secondary-button-background,\n var(--ck-body-background-secondary)\n );\n color: var(--ck-body-color-muted);\n`;\n\nexport default PaymentBreakdown;\n"],"names":[],"mappings":";;;;;AAOA,MAAM,gBAED,GAAA,CAAC,EAAE,aAAA,EAAoB,KAAA;AAC1B,EAAM,MAAA,WAAA,GAAc,cAAc,QAAS,CAAA,GAAA,CAAA;AAC3C,EAAM,MAAA,OAAA,GAAU,cAAc,IAAK,CAAA,GAAA,CAAA;AACnC,EAAA,MAAM,WAAW,WAAc,GAAA,OAAA,CAAA;AAE/B,EAAA,4BACG,aACE,EAAA,EAAA,QAAA,EAAA;AAAA,IAAU,OAAA,GAAA,CAAA,yBACR,MACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAU,QAAQ,EAAA,UAAA,EAAA,CAAA;AAAA,2BAClB,SAAU,EAAA,EAAA,QAAA,EAAA;AAAA,QAAA,GAAA;AAAA,QAAE,WAAA,CAAY,QAAQ,CAAC,CAAA;AAAA,OAAE,EAAA,CAAA;AAAA,KACtC,EAAA,CAAA;AAAA,yBAED,MACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAU,QAAI,EAAA,MAAA,EAAA,CAAA;AAAA,MACd,YAAY,CACX,mBAAA,GAAA,CAAC,SAAM,QAAI,EAAA,MAAA,EAAA,CAAA,wBAEV,SAAU,EAAA,EAAA,QAAA,EAAA;AAAA,QAAA,GAAA;AAAA,QAAE,OAAA,CAAQ,QAAQ,CAAC,CAAA;AAAA,OAAE,EAAA,CAAA;AAAA,KAEpC,EAAA,CAAA;AAAA,yBACC,MAAO,EAAA,EAAA,KAAA,EAAO,EAAE,SAAA,EAAW,GAC1B,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAU,KAAO,EAAA,EAAE,UAAY,EAAA,GAAA,IAAO,QAAK,EAAA,OAAA,EAAA,CAAA;AAAA,2BAC3C,SAAU,EAAA,EAAA,KAAA,EAAO,EAAE,UAAA,EAAY,KAAO,EAAA,QAAA,EAAA;AAAA,QAAA,GAAA;AAAA,QACnC,QAAA,CAAS,QAAQ,CAAC,CAAA;AAAA,OACtB,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,gBAAgB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qCAAA,EAQU,aAAa,WAAW,CAAA;AAAA,MAAA,EACvD,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAOjB,MAAM,SAAS,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAMtB,MAAM,QAAQ,MAAO,CAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
|
|
@@ -3,28 +3,27 @@ import { createPortal } from 'react-dom';
|
|
|
3
3
|
import packageJson from '../../../../package.json.js';
|
|
4
4
|
|
|
5
5
|
const Portal = (props) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return mounted ? createPortal(children, ref.current) : null;
|
|
6
|
+
props = {
|
|
7
|
+
selector: "__DAIMOPAY__",
|
|
8
|
+
...props
|
|
9
|
+
};
|
|
10
|
+
const { selector, children } = props;
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
const [mounted, setMounted] = useState(false);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const selectorPrefixed = "#" + selector.replace(/^#/, "");
|
|
15
|
+
ref.current = document.querySelector(selectorPrefixed);
|
|
16
|
+
if (!ref.current) {
|
|
17
|
+
const div = document.createElement("div");
|
|
18
|
+
div.setAttribute("id", selector);
|
|
19
|
+
div.setAttribute("data-daimopay", `${packageJson.version}`);
|
|
20
|
+
document.body.appendChild(div);
|
|
21
|
+
ref.current = div;
|
|
22
|
+
}
|
|
23
|
+
setMounted(true);
|
|
24
|
+
}, [selector]);
|
|
25
|
+
if (!ref.current) return null;
|
|
26
|
+
return mounted ? createPortal(children, ref.current) : null;
|
|
28
27
|
};
|
|
29
28
|
|
|
30
29
|
export { Portal as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Portal/index.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Portal/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport packageJson from \"../../../../package.json\";\n\nconst Portal = (props: any) => {\n props = {\n selector: \"__DAIMOPAY__\",\n ...props,\n };\n\n const { selector, children } = props;\n\n const ref = useRef<Element | null>(null);\n const [mounted, setMounted] = useState<boolean>(false);\n\n useEffect(() => {\n const selectorPrefixed = \"#\" + selector.replace(/^#/, \"\");\n ref.current = document.querySelector(selectorPrefixed);\n\n if (!ref.current) {\n const div = document.createElement(\"div\");\n div.setAttribute(\"id\", selector);\n div.setAttribute(\"data-daimopay\", `${packageJson.version}`);\n document.body.appendChild(div);\n ref.current = div;\n }\n\n setMounted(true);\n }, [selector]);\n\n if (!ref.current) return null;\n return mounted ? createPortal(children, ref.current) : null;\n};\n\nexport default Portal;\n"],"names":[],"mappings":";;;;AAIM,MAAA,MAAA,GAAS,CAAC,KAAe,KAAA;AAC7B,EAAQ,KAAA,GAAA;AAAA,IACN,QAAU,EAAA,cAAA;AAAA,IACV,GAAG,KAAA;AAAA,GACL,CAAA;AAEA,EAAM,MAAA,EAAE,QAAU,EAAA,QAAA,EAAa,GAAA,KAAA,CAAA;AAE/B,EAAM,MAAA,GAAA,GAAM,OAAuB,IAAI,CAAA,CAAA;AACvC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAkB,KAAK,CAAA,CAAA;AAErD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,gBAAmB,GAAA,GAAA,GAAM,QAAS,CAAA,OAAA,CAAQ,MAAM,EAAE,CAAA,CAAA;AACxD,IAAI,GAAA,CAAA,OAAA,GAAU,QAAS,CAAA,aAAA,CAAc,gBAAgB,CAAA,CAAA;AAErD,IAAI,IAAA,CAAC,IAAI,OAAS,EAAA;AAChB,MAAM,MAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACxC,MAAI,GAAA,CAAA,YAAA,CAAa,MAAM,QAAQ,CAAA,CAAA;AAC/B,MAAA,GAAA,CAAI,YAAa,CAAA,eAAA,EAAiB,CAAG,EAAA,WAAA,CAAY,OAAO,CAAE,CAAA,CAAA,CAAA;AAC1D,MAAS,QAAA,CAAA,IAAA,CAAK,YAAY,GAAG,CAAA,CAAA;AAC7B,MAAA,GAAA,CAAI,OAAU,GAAA,GAAA,CAAA;AAAA,KAChB;AAEA,IAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAAA,GACjB,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAI,IAAA,CAAC,GAAI,CAAA,OAAA,EAAgB,OAAA,IAAA,CAAA;AACzB,EAAA,OAAO,OAAU,GAAA,YAAA,CAAa,QAAU,EAAA,GAAA,CAAI,OAAO,CAAI,GAAA,IAAA,CAAA;AACzD;;;;"}
|