@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,7 +1,38 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
3
|
function WalletIcon({ ...props }) {
|
|
4
|
-
|
|
4
|
+
return /* @__PURE__ */ jsxs(
|
|
5
|
+
"svg",
|
|
6
|
+
{
|
|
7
|
+
"aria-hidden": "true",
|
|
8
|
+
width: "20",
|
|
9
|
+
height: "19",
|
|
10
|
+
viewBox: "0 0 20 19",
|
|
11
|
+
fill: "none",
|
|
12
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
...props,
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ jsx(
|
|
16
|
+
"path",
|
|
17
|
+
{
|
|
18
|
+
d: "M1.57568 4.60616C1.57568 2.69827 3.12234 1.15161 5.03023 1.15161H15.3939C17.3018 1.15161 18.8484 2.69826 18.8484 4.60616V10.3637C18.8484 12.2716 17.3018 13.8183 15.3939 13.8183H5.03023C3.12234 13.8183 1.57568 12.2716 1.57568 10.3637V4.60616Z",
|
|
19
|
+
stroke: "currentColor",
|
|
20
|
+
strokeWidth: "2"
|
|
21
|
+
}
|
|
22
|
+
),
|
|
23
|
+
/* @__PURE__ */ jsx(
|
|
24
|
+
"path",
|
|
25
|
+
{
|
|
26
|
+
d: "M1 4.79293C1 2.435 3.31004 0.770014 5.54697 1.51566L12.4561 3.81869C13.8667 4.2889 14.8182 5.60901 14.8182 7.09596V13.6313C14.8182 15.9892 12.5081 17.6542 10.2712 16.9086L3.36212 14.6056C1.95149 14.1353 1 12.8152 1 11.3283V4.79293Z",
|
|
27
|
+
fill: "var(--ck-body-background)",
|
|
28
|
+
stroke: "currentColor",
|
|
29
|
+
strokeWidth: "2"
|
|
30
|
+
}
|
|
31
|
+
),
|
|
32
|
+
/* @__PURE__ */ jsx("circle", { cx: "10.3863", cy: "10.1894", r: "1.32574", fill: "currentColor" })
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
);
|
|
5
36
|
}
|
|
6
37
|
|
|
7
38
|
export { WalletIcon as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sources":["../../../src/assets/wallet.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"wallet.js","sources":["../../../src/assets/wallet.tsx"],"sourcesContent":["export default function WalletIcon({ ...props }) {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"19\"\n viewBox=\"0 0 20 19\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M1.57568 4.60616C1.57568 2.69827 3.12234 1.15161 5.03023 1.15161H15.3939C17.3018 1.15161 18.8484 2.69826 18.8484 4.60616V10.3637C18.8484 12.2716 17.3018 13.8183 15.3939 13.8183H5.03023C3.12234 13.8183 1.57568 12.2716 1.57568 10.3637V4.60616Z\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M1 4.79293C1 2.435 3.31004 0.770014 5.54697 1.51566L12.4561 3.81869C13.8667 4.2889 14.8182 5.60901 14.8182 7.09596V13.6313C14.8182 15.9892 12.5081 17.6542 10.2712 16.9086L3.36212 14.6056C1.95149 14.1353 1 12.8152 1 11.3283V4.79293Z\"\n fill=\"var(--ck-body-background)\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <circle cx=\"10.3863\" cy=\"10.1894\" r=\"1.32574\" fill=\"currentColor\" />\n </svg>\n );\n};\n"],"names":[],"mappings":";;AAAA,SAAwB,UAAW,CAAA,EAAE,GAAG,KAAA,EAAS,EAAA;AAC/C,EACE,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAY,EAAA,MAAA;AAAA,MACZ,KAAM,EAAA,IAAA;AAAA,MACN,MAAO,EAAA,IAAA;AAAA,MACP,OAAQ,EAAA,WAAA;AAAA,MACR,IAAK,EAAA,MAAA;AAAA,MACL,KAAM,EAAA,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,CAAE,EAAA,mPAAA;AAAA,YACF,MAAO,EAAA,cAAA;AAAA,YACP,WAAY,EAAA,GAAA;AAAA,WAAA;AAAA,SACd;AAAA,wBACA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,CAAE,EAAA,yOAAA;AAAA,YACF,IAAK,EAAA,2BAAA;AAAA,YACL,MAAO,EAAA,cAAA;AAAA,YACP,WAAY,EAAA,GAAA;AAAA,WAAA;AAAA,SACd;AAAA,wBACA,GAAA,CAAC,YAAO,EAAG,EAAA,SAAA,EAAU,IAAG,SAAU,EAAA,CAAA,EAAE,SAAU,EAAA,IAAA,EAAK,cAAe,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACpE,CAAA;AAEJ;;;;"}
|
package/build/src/assets/wave.js
CHANGED
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
|
-
var wave =
|
|
3
|
+
var wave = /* @__PURE__ */ jsxs(
|
|
4
|
+
"svg",
|
|
5
|
+
{
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "298",
|
|
8
|
+
height: "188",
|
|
9
|
+
viewBox: "0 0 298 188",
|
|
10
|
+
fill: "none",
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
children: [
|
|
13
|
+
/* @__PURE__ */ jsx(
|
|
14
|
+
"path",
|
|
15
|
+
{
|
|
16
|
+
d: "M1 55.2757L21.6438 46.0285C55.5896 30.8228 94.4104 30.8228 128.356 46.0286L169.644 64.5229C203.59 79.7287 242.41 79.7286 276.356 64.5229L297 55.2757M1 44.2118L21.6438 34.9646C55.5896 19.7589 94.4104 19.7589 128.356 34.9646L169.644 53.459C203.59 68.6647 242.41 68.6647 276.356 53.459L297 44.2118M1 33.1477L21.6438 23.9005C55.5896 8.69479 94.4104 8.69479 128.356 23.9005L169.644 42.3949C203.59 57.6006 242.41 57.6006 276.356 42.3949L297 33.1477M1 22.1477L21.6438 12.9005C55.5896 -2.30521 94.4104 -2.30521 128.356 12.9005L169.644 31.3949C203.59 46.6006 242.41 46.6006 276.356 31.3949L297 22.1477M1 66.3398L21.6438 57.0926C55.5896 41.8869 94.4104 41.8869 128.356 57.0926L169.644 75.587C203.59 90.7927 242.41 90.7927 276.356 75.587L297 66.3398M1 77.404L21.6438 68.1568C55.5896 52.9511 94.4104 52.9511 128.356 68.1569L169.644 86.6512C203.59 101.857 242.41 101.857 276.356 86.6512L297 77.404M1 88.4681L21.6438 79.2209C55.5896 64.0152 94.4104 64.0152 128.356 79.2209L169.644 97.7153C203.59 112.921 242.41 112.921 276.356 97.7153L297 88.4681M1 121.66L21.6438 112.413C55.5896 97.2075 94.4104 97.2075 128.356 112.413L169.644 130.908C203.59 146.113 242.41 146.113 276.356 130.908L297 121.66M1 110.596L21.6438 101.349C55.5896 86.1433 94.4104 86.1433 128.356 101.349L169.644 119.843C203.59 135.049 242.41 135.049 276.356 119.843L297 110.596M1 99.5321L21.6438 90.2849C55.5896 75.0792 94.4104 75.0792 128.356 90.2849L169.644 108.779C203.59 123.985 242.41 123.985 276.356 108.779L297 99.5321M1 132.724L21.6438 123.477C55.5896 108.271 94.4104 108.271 128.356 123.477L169.644 141.971C203.59 157.177 242.41 157.177 276.356 141.971L297 132.724M1 143.788L21.6438 134.541C55.5896 119.336 94.4104 119.336 128.356 134.541L169.644 153.036C203.59 168.241 242.41 168.241 276.356 153.036L297 143.788M1 154.853L21.6438 145.605C55.5896 130.4 94.4104 130.4 128.356 145.605L169.644 164.1C203.59 179.305 242.41 179.305 276.356 164.1L297 154.853M1 165.853L21.6438 156.605C55.5896 141.4 94.4104 141.4 128.356 156.605L169.644 175.1C203.59 190.305 242.41 190.305 276.356 175.1L297 165.853",
|
|
17
|
+
stroke: "url(#paint0_linear_1094_2077)",
|
|
18
|
+
strokeOpacity: "0.9",
|
|
19
|
+
strokeLinecap: "round",
|
|
20
|
+
strokeLinejoin: "round"
|
|
21
|
+
}
|
|
22
|
+
),
|
|
23
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
|
|
24
|
+
"linearGradient",
|
|
25
|
+
{
|
|
26
|
+
id: "paint0_linear_1094_2077",
|
|
27
|
+
x1: "1",
|
|
28
|
+
y1: "112.587",
|
|
29
|
+
x2: "297.034",
|
|
30
|
+
y2: "79.6111",
|
|
31
|
+
gradientUnits: "userSpaceOnUse",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsx("stop", { stopColor: "var(--ck-graphic-wave-stop-01)" }),
|
|
34
|
+
/* @__PURE__ */ jsx("stop", { stopColor: "var(--ck-graphic-wave-stop-02)", offset: "0.239583" }),
|
|
35
|
+
/* @__PURE__ */ jsx("stop", { stopColor: "var(--ck-graphic-wave-stop-03)", offset: "0.515625" }),
|
|
36
|
+
/* @__PURE__ */ jsx("stop", { stopColor: "var(--ck-graphic-wave-stop-04)", offset: "0.739583" }),
|
|
37
|
+
/* @__PURE__ */ jsx("stop", { stopColor: "var(--ck-graphic-wave-stop-05)", offset: "1" })
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
) })
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
);
|
|
4
44
|
|
|
5
45
|
export { wave as default };
|
|
6
46
|
//# sourceMappingURL=wave.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wave.js","sources":["../../../src/assets/wave.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"wave.js","sources":["../../../src/assets/wave.tsx"],"sourcesContent":["export default (\n <svg\n aria-hidden=\"true\"\n width=\"298\"\n height=\"188\"\n viewBox=\"0 0 298 188\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1 55.2757L21.6438 46.0285C55.5896 30.8228 94.4104 30.8228 128.356 46.0286L169.644 64.5229C203.59 79.7287 242.41 79.7286 276.356 64.5229L297 55.2757M1 44.2118L21.6438 34.9646C55.5896 19.7589 94.4104 19.7589 128.356 34.9646L169.644 53.459C203.59 68.6647 242.41 68.6647 276.356 53.459L297 44.2118M1 33.1477L21.6438 23.9005C55.5896 8.69479 94.4104 8.69479 128.356 23.9005L169.644 42.3949C203.59 57.6006 242.41 57.6006 276.356 42.3949L297 33.1477M1 22.1477L21.6438 12.9005C55.5896 -2.30521 94.4104 -2.30521 128.356 12.9005L169.644 31.3949C203.59 46.6006 242.41 46.6006 276.356 31.3949L297 22.1477M1 66.3398L21.6438 57.0926C55.5896 41.8869 94.4104 41.8869 128.356 57.0926L169.644 75.587C203.59 90.7927 242.41 90.7927 276.356 75.587L297 66.3398M1 77.404L21.6438 68.1568C55.5896 52.9511 94.4104 52.9511 128.356 68.1569L169.644 86.6512C203.59 101.857 242.41 101.857 276.356 86.6512L297 77.404M1 88.4681L21.6438 79.2209C55.5896 64.0152 94.4104 64.0152 128.356 79.2209L169.644 97.7153C203.59 112.921 242.41 112.921 276.356 97.7153L297 88.4681M1 121.66L21.6438 112.413C55.5896 97.2075 94.4104 97.2075 128.356 112.413L169.644 130.908C203.59 146.113 242.41 146.113 276.356 130.908L297 121.66M1 110.596L21.6438 101.349C55.5896 86.1433 94.4104 86.1433 128.356 101.349L169.644 119.843C203.59 135.049 242.41 135.049 276.356 119.843L297 110.596M1 99.5321L21.6438 90.2849C55.5896 75.0792 94.4104 75.0792 128.356 90.2849L169.644 108.779C203.59 123.985 242.41 123.985 276.356 108.779L297 99.5321M1 132.724L21.6438 123.477C55.5896 108.271 94.4104 108.271 128.356 123.477L169.644 141.971C203.59 157.177 242.41 157.177 276.356 141.971L297 132.724M1 143.788L21.6438 134.541C55.5896 119.336 94.4104 119.336 128.356 134.541L169.644 153.036C203.59 168.241 242.41 168.241 276.356 153.036L297 143.788M1 154.853L21.6438 145.605C55.5896 130.4 94.4104 130.4 128.356 145.605L169.644 164.1C203.59 179.305 242.41 179.305 276.356 164.1L297 154.853M1 165.853L21.6438 156.605C55.5896 141.4 94.4104 141.4 128.356 156.605L169.644 175.1C203.59 190.305 242.41 190.305 276.356 175.1L297 165.853\"\n stroke=\"url(#paint0_linear_1094_2077)\"\n strokeOpacity=\"0.9\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1094_2077\"\n x1=\"1\"\n y1=\"112.587\"\n x2=\"297.034\"\n y2=\"79.6111\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"var(--ck-graphic-wave-stop-01)\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-02)\" offset=\"0.239583\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-03)\" offset=\"0.515625\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-04)\" offset=\"0.739583\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-05)\" offset=\"1\" />\n </linearGradient>\n </defs>\n </svg>\n);\n"],"names":[],"mappings":";;AAAA,WACE,gBAAA,IAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,KAAM,EAAA,KAAA;AAAA,IACN,MAAO,EAAA,KAAA;AAAA,IACP,OAAQ,EAAA,aAAA;AAAA,IACR,IAAK,EAAA,MAAA;AAAA,IACL,KAAM,EAAA,4BAAA;AAAA,IAEN,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,CAAE,EAAA,ogEAAA;AAAA,UACF,MAAO,EAAA,+BAAA;AAAA,UACP,aAAc,EAAA,KAAA;AAAA,UACd,aAAc,EAAA,OAAA;AAAA,UACd,cAAe,EAAA,OAAA;AAAA,SAAA;AAAA,OACjB;AAAA,0BACC,MACC,EAAA,EAAA,QAAA,kBAAA,IAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,EAAG,EAAA,yBAAA;AAAA,UACH,EAAG,EAAA,GAAA;AAAA,UACH,EAAG,EAAA,SAAA;AAAA,UACH,EAAG,EAAA,SAAA;AAAA,UACH,EAAG,EAAA,SAAA;AAAA,UACH,aAAc,EAAA,gBAAA;AAAA,UAEd,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,MAAA,EAAA,EAAK,WAAU,gCAAiC,EAAA,CAAA;AAAA,4BAChD,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,UAAW,EAAA,CAAA;AAAA,4BAClE,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,UAAW,EAAA,CAAA;AAAA,4BAClE,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,UAAW,EAAA,CAAA;AAAA,4BAClE,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,GAAI,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA;AAAA,OAEhE,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AACF,CAAA;;;;"}
|
|
@@ -2,7 +2,10 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { AlertContainer, IconContainer } from './styles.js';
|
|
3
3
|
|
|
4
4
|
const Alert = ({ children, error, icon }) => {
|
|
5
|
-
|
|
5
|
+
return /* @__PURE__ */ jsxs(AlertContainer, { $error: error, children: [
|
|
6
|
+
icon && /* @__PURE__ */ jsx(IconContainer, { children: icon }),
|
|
7
|
+
/* @__PURE__ */ jsx("div", { children })
|
|
8
|
+
] });
|
|
6
9
|
};
|
|
7
10
|
Alert.displayName = "Alert";
|
|
8
11
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Alert/index.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Alert/index.tsx"],"sourcesContent":["import { AlertContainer, IconContainer } from \"./styles\";\nimport { AlertProps } from \"./types\";\n\nconst Alert = ({ children, error, icon }: AlertProps) => {\n return (\n <AlertContainer $error={error}>\n {icon && <IconContainer>{icon}</IconContainer>}\n <div>{children}</div>\n </AlertContainer>\n );\n};\nAlert.displayName = \"Alert\";\n\nexport default Alert;\n"],"names":[],"mappings":";;;AAGA,MAAM,QAAQ,CAAC,EAAE,QAAU,EAAA,KAAA,EAAO,MAAuB,KAAA;AACvD,EACE,uBAAA,IAAA,CAAC,cAAe,EAAA,EAAA,MAAA,EAAQ,KACrB,EAAA,QAAA,EAAA;AAAA,IAAQ,IAAA,oBAAA,GAAA,CAAC,iBAAe,QAAK,EAAA,IAAA,EAAA,CAAA;AAAA,oBAC9B,GAAA,CAAC,SAAK,QAAS,EAAA,CAAA;AAAA,GACjB,EAAA,CAAA,CAAA;AAEJ,EAAA;AACA,KAAA,CAAM,WAAc,GAAA,OAAA;;;;"}
|
|
@@ -3,7 +3,7 @@ import { css } from 'styled-components';
|
|
|
3
3
|
import defaultTheme from '../../../constants/defaultTheme.js';
|
|
4
4
|
import styled from '../../../styles/styled/index.js';
|
|
5
5
|
|
|
6
|
-
const AlertContainer = styled(motion.div)
|
|
6
|
+
const AlertContainer = styled(motion.div)`
|
|
7
7
|
display: flex;
|
|
8
8
|
gap: 8px;
|
|
9
9
|
position: relative;
|
|
@@ -31,14 +31,14 @@ const AlertContainer = styled(motion.div) `
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
${($error) => {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
if ($error)
|
|
35
|
+
return css`
|
|
36
36
|
color: #fff;
|
|
37
37
|
background: var(--ck-body-color-danger, red);
|
|
38
38
|
`;
|
|
39
39
|
}}
|
|
40
40
|
`;
|
|
41
|
-
const IconContainer = styled(motion.div)
|
|
41
|
+
const IconContainer = styled(motion.div)`
|
|
42
42
|
width: 24px;
|
|
43
43
|
height: 24px;
|
|
44
44
|
display: flex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/Alert/styles.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/Alert/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { css } from \"styled-components\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport styled from \"./../../../styles/styled\";\n\nexport const AlertContainer = styled(motion.div)<{ $error?: boolean }>`\n display: flex;\n gap: 8px;\n position: relative;\n border-radius: 9px;\n margin: 0 auto;\n padding: 10px;\n text-align: left;\n font-size: 14px;\n line-height: 17px;\n font-weight: 400;\n max-width: 260px;\n min-width: 100%;\n\n border-radius: var(--ck-alert-border-radius, 12px);\n color: var(--ck-alert-color, var(--ck-body-color-muted));\n background: var(--ck-alert-background, var(--ck-body-background-secondary));\n box-shadow: var(--ck-alert-box-shadow, var(--ck-body-box-shadow));\n\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n padding: 16px;\n font-size: 16px;\n line-height: 21px;\n border-radius: 24px;\n text-align: center;\n }\n\n ${($error) => {\n if ($error)\n return css`\n color: #fff;\n background: var(--ck-body-color-danger, red);\n `;\n }}\n`;\n\nexport const IconContainer = styled(motion.div)`\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n display: block;\n width: 100%;\n height: auto;\n }\n`;\n"],"names":[],"mappings":";;;;;AAKa,MAAA,cAAA,GAAiB,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,qCAAA,EAmBR,aAAa,WAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,EAQ3D,CAAC,MAAW,KAAA;AACZ,EAAI,IAAA,MAAA;AACF,IAAO,OAAA,GAAA,CAAA;AAAA;AAAA;AAAA,MAAA,CAAA,CAAA;AAIX,CAAC,CAAA;AAAA,EAAA;AAGU,MAAA,aAAA,GAAgB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
|
|
@@ -3,14 +3,14 @@ import { useRef, useEffect } from 'react';
|
|
|
3
3
|
import styled from '../../../styles/styled/index.js';
|
|
4
4
|
import { ModalBody } from '../Modal/styles.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;
|
|
10
10
|
gap: 4px;
|
|
11
11
|
background: transparent;
|
|
12
12
|
`;
|
|
13
|
-
const InputField = styled.input
|
|
13
|
+
const InputField = styled.input`
|
|
14
14
|
margin: 0;
|
|
15
15
|
padding: 0;
|
|
16
16
|
background: none;
|
|
@@ -20,19 +20,16 @@ const InputField = styled.input `
|
|
|
20
20
|
font-weight: var(--ck-modal-h1-font-weight, 600);
|
|
21
21
|
color: var(--ck-body-color);
|
|
22
22
|
width: ${(props) => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const numPunctuations = (props.value?.match(/[.,]/g) || []).length;
|
|
29
|
-
const adjustedLength = length - numPunctuations * 0.55;
|
|
30
|
-
return `${Math.min(adjustedLength, 10)}ch`;
|
|
23
|
+
const length = props.value?.length ?? 0;
|
|
24
|
+
if (length === 0) return "3.55ch";
|
|
25
|
+
const numPunctuations = (props.value?.match(/[.,]/g) || []).length;
|
|
26
|
+
const adjustedLength = length - numPunctuations * 0.55;
|
|
27
|
+
return `${Math.min(adjustedLength, 10)}ch`;
|
|
31
28
|
}};
|
|
32
29
|
min-width: 1ch;
|
|
33
30
|
max-width: 10ch;
|
|
34
31
|
`;
|
|
35
|
-
const AnimatedCurrency = styled(ModalBody)
|
|
32
|
+
const AnimatedCurrency = styled(ModalBody)`
|
|
36
33
|
@keyframes fadeInDown {
|
|
37
34
|
from {
|
|
38
35
|
opacity: 0;
|
|
@@ -45,15 +42,29 @@ const AnimatedCurrency = styled(ModalBody) `
|
|
|
45
42
|
}
|
|
46
43
|
|
|
47
44
|
animation: fadeInDown 0.3s ease-out forwards;
|
|
48
|
-
font-size: ${(props) =>
|
|
45
|
+
font-size: ${(props) => props.$small ? "16px" : "24px"};
|
|
49
46
|
`;
|
|
50
47
|
const AmountInputField = ({ value, onChange, currency = "$", onKeyDown }) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
const inputRef = useRef(null);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
inputRef.current?.focus();
|
|
51
|
+
}, [value]);
|
|
52
|
+
return /* @__PURE__ */ jsxs(Container, { children: [
|
|
53
|
+
currency === "$" && /* @__PURE__ */ jsx(AnimatedCurrency, { children: currency }),
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
InputField,
|
|
56
|
+
{
|
|
57
|
+
ref: inputRef,
|
|
58
|
+
type: "text",
|
|
59
|
+
inputMode: "decimal",
|
|
60
|
+
value,
|
|
61
|
+
onChange,
|
|
62
|
+
placeholder: "0.00",
|
|
63
|
+
onKeyDown
|
|
64
|
+
}
|
|
65
|
+
),
|
|
66
|
+
currency !== "$" && /* @__PURE__ */ jsx(AnimatedCurrency, { $small: true, children: currency })
|
|
67
|
+
] });
|
|
57
68
|
};
|
|
58
69
|
|
|
59
70
|
export { AmountInputField as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmountInputField.js","sources":["../../../../../src/components/Common/AmountInput/AmountInputField.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"AmountInputField.js","sources":["../../../../../src/components/Common/AmountInput/AmountInputField.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport styled from \"../../../styles/styled\";\nimport { ModalBody } from \"../Modal/styles\";\n\nconst Container = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: transparent;\n`;\n\nconst InputField = styled.input`\n margin: 0;\n padding: 0;\n background: none;\n border: none;\n outline: none;\n font-size: 30px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n color: var(--ck-body-color);\n width: ${(props) => {\n const length = props.value?.length ?? 0;\n // Placeholder is \"0.00\", 3ch for digits + 0.55ch for decimal point\n if (length === 0) return \"3.55ch\";\n // Reduce width when decimal or commas are present since they're smaller than normal chars\n const numPunctuations = (props.value?.match(/[.,]/g) || []).length;\n const adjustedLength = length - numPunctuations * 0.55;\n return `${Math.min(adjustedLength, 10)}ch`;\n }};\n min-width: 1ch;\n max-width: 10ch;\n`;\n\nconst AnimatedCurrency = styled(ModalBody)<{ $small?: boolean }>`\n @keyframes fadeInDown {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n animation: fadeInDown 0.3s ease-out forwards;\n font-size: ${(props) => (props.$small ? \"16px\" : \"24px\")};\n`;\n\nconst AmountInputField: React.FC<{\n value: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n currency?: string;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n}> = ({ value, onChange, currency = \"$\", onKeyDown }) => {\n // Focus the input when the component mounts so the user can start typing immediately\n const inputRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n inputRef.current?.focus();\n }, [value]);\n\n return (\n <Container>\n {currency === \"$\" && <AnimatedCurrency>{currency}</AnimatedCurrency>}\n <InputField\n ref={inputRef}\n type=\"text\"\n inputMode=\"decimal\"\n value={value}\n onChange={onChange}\n placeholder=\"0.00\"\n onKeyDown={onKeyDown}\n />\n {currency !== \"$\" && (\n <AnimatedCurrency $small>{currency}</AnimatedCurrency>\n )}\n </Container>\n );\n};\n\nexport default AmountInputField;\n"],"names":[],"mappings":";;;;;AAIA,MAAM,YAAY,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQzB,MAAM,aAAa,MAAO,CAAA,KAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,EASf,CAAC,KAAU,KAAA;AAClB,EAAM,MAAA,MAAA,GAAS,KAAM,CAAA,KAAA,EAAO,MAAU,IAAA,CAAA,CAAA;AAEtC,EAAI,IAAA,MAAA,KAAW,GAAU,OAAA,QAAA,CAAA;AAEzB,EAAA,MAAM,mBAAmB,KAAM,CAAA,KAAA,EAAO,MAAM,OAAO,CAAA,IAAK,EAAI,EAAA,MAAA,CAAA;AAC5D,EAAM,MAAA,cAAA,GAAiB,SAAS,eAAkB,GAAA,IAAA,CAAA;AAClD,EAAA,OAAO,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,cAAA,EAAgB,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;AACxC,CAAC,CAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAKH,MAAM,gBAAA,GAAmB,OAAO,SAAS,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAA,EAa1B,CAAC,KAAA,KAAW,KAAM,CAAA,MAAA,GAAS,SAAS,MAAO,CAAA;AAAA,CAAA,CAAA;AAGpD,MAAA,gBAAA,GAKD,CAAC,EAAE,KAAA,EAAO,UAAU,QAAW,GAAA,GAAA,EAAK,WAAgB,KAAA;AAEvD,EAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA,CAAA;AAC9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,SAAS,KAAM,EAAA,CAAA;AAAA,GAC1B,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AAEV,EAAA,4BACG,SACE,EAAA,EAAA,QAAA,EAAA;AAAA,IAAa,QAAA,KAAA,GAAA,oBAAQ,GAAA,CAAA,gBAAA,EAAA,EAAkB,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,oBACjD,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA,QAAA;AAAA,QACL,IAAK,EAAA,MAAA;AAAA,QACL,SAAU,EAAA,SAAA;AAAA,QACV,KAAA;AAAA,QACA,QAAA;AAAA,QACA,WAAY,EAAA,MAAA;AAAA,QACZ,SAAA;AAAA,OAAA;AAAA,KACF;AAAA,IACC,aAAa,GACZ,oBAAA,GAAA,CAAC,gBAAiB,EAAA,EAAA,MAAA,EAAM,MAAE,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,GAEvC,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -12,108 +12,121 @@ import TokenLogoSpinner from '../../Spinners/TokenLogoSpinner/index.js';
|
|
|
12
12
|
import AmountInputField from './AmountInputField.js';
|
|
13
13
|
|
|
14
14
|
const MultiCurrencySelectAmount = ({ selectedTokenOption, setSelectedTokenOption, nextPage }) => {
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const
|
|
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
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
15
|
+
const { paymentState, setRoute, triggerResize } = usePayContext();
|
|
16
|
+
const maxUsdLimit = paymentState.getOrderUsdLimit();
|
|
17
|
+
const balanceToken = selectedTokenOption.balance.token;
|
|
18
|
+
const minimumMessage = selectedTokenOption.minimumRequired.usd > 0 ? `Minimum
|
|
19
|
+
${formatUsd(selectedTokenOption.minimumRequired.usd, "up")}` : null;
|
|
20
|
+
const [usdValue, setUsdValue] = useState("");
|
|
21
|
+
const [tokenValue, setTokenValue] = useState(
|
|
22
|
+
usdToRoundedTokenAmount(0, balanceToken)
|
|
23
|
+
);
|
|
24
|
+
const [isEditingUsd, setIsEditingUsd] = useState(true);
|
|
25
|
+
const [message, setMessage] = useState(minimumMessage);
|
|
26
|
+
const [continueDisabled, setContinueDisabled] = useState(true);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
triggerResize();
|
|
29
|
+
}, [message]);
|
|
30
|
+
const updateValues = (newUsdValue, newTokenValue, newIsEditingUsd) => {
|
|
31
|
+
const sanitizedUsdValue = sanitizeNumber(newUsdValue);
|
|
32
|
+
const sanitizedTokenValue = sanitizeNumber(newTokenValue);
|
|
33
|
+
setUsdValue(
|
|
34
|
+
newIsEditingUsd ? newUsdValue : roundUsd(Number(sanitizedUsdValue))
|
|
35
|
+
);
|
|
36
|
+
setTokenValue(
|
|
37
|
+
newIsEditingUsd ? roundTokenAmountUnits(Number(sanitizedTokenValue), balanceToken) : newTokenValue
|
|
38
|
+
);
|
|
39
|
+
setIsEditingUsd(newIsEditingUsd);
|
|
40
|
+
setContinueDisabled(
|
|
41
|
+
Number(sanitizedUsdValue) <= 0 || Number(sanitizedUsdValue) < selectedTokenOption.minimumRequired.usd || Number(sanitizedUsdValue) > selectedTokenOption.balance.usd || Number(sanitizedUsdValue) > maxUsdLimit
|
|
42
|
+
);
|
|
43
|
+
if (Number(sanitizedUsdValue) > selectedTokenOption.balance.usd) {
|
|
44
|
+
setMessage(
|
|
45
|
+
`Amount exceeds your balance:
|
|
46
|
+
${formatUsd(selectedTokenOption.balance.usd)}`
|
|
47
|
+
);
|
|
48
|
+
} else if (Number(usdValue) > maxUsdLimit) {
|
|
49
|
+
setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);
|
|
50
|
+
} else {
|
|
51
|
+
setMessage(minimumMessage);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const handleAmountChange = (e) => {
|
|
55
|
+
const value = e.target.value;
|
|
56
|
+
const maxDecimals = isEditingUsd ? USD_DECIMALS : balanceToken.displayDecimals;
|
|
57
|
+
if (value !== "" && !isValidNumber(value, maxDecimals)) return;
|
|
58
|
+
const sanitizedValue = sanitizeNumber(value);
|
|
59
|
+
const newUsdValue = isEditingUsd ? value : tokenAmountToRoundedUsd(
|
|
60
|
+
parseUnits(sanitizedValue, balanceToken.decimals),
|
|
61
|
+
balanceToken
|
|
62
|
+
);
|
|
63
|
+
const newTokenValue = isEditingUsd ? usdToRoundedTokenAmount(Number(sanitizedValue), balanceToken) : value;
|
|
64
|
+
updateValues(newUsdValue, newTokenValue, isEditingUsd);
|
|
65
|
+
};
|
|
66
|
+
const handleMax = () => {
|
|
67
|
+
const usdValue2 = roundUsd(Number(selectedTokenOption.balance.usd));
|
|
68
|
+
const tokenValue2 = roundTokenAmount(
|
|
69
|
+
selectedTokenOption.balance.amount,
|
|
70
|
+
balanceToken
|
|
71
|
+
);
|
|
72
|
+
updateValues(usdValue2, tokenValue2, isEditingUsd);
|
|
73
|
+
};
|
|
74
|
+
const handleKeyDown = (e) => {
|
|
75
|
+
if (e.key === "Enter" && !continueDisabled) {
|
|
76
|
+
handleContinue();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const handleSwitchCurrency = () => {
|
|
80
|
+
updateValues(usdValue, tokenValue, !isEditingUsd);
|
|
81
|
+
};
|
|
82
|
+
const handleContinue = () => {
|
|
83
|
+
const usd = Number(sanitizeNumber(usdValue));
|
|
84
|
+
const amountUnits = usd / balanceToken.usd;
|
|
85
|
+
const amount = parseUnits(amountUnits.toString(), balanceToken.decimals);
|
|
86
|
+
setSelectedTokenOption({
|
|
87
|
+
...selectedTokenOption,
|
|
88
|
+
required: {
|
|
89
|
+
token: balanceToken,
|
|
90
|
+
amount: amount.toString(),
|
|
91
|
+
usd
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
paymentState.setChosenUsd(usd);
|
|
95
|
+
setRoute(nextPage, {
|
|
96
|
+
amountUsd: usd,
|
|
97
|
+
amountUnits,
|
|
98
|
+
tokenSymbol: balanceToken.symbol
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
102
|
+
/* @__PURE__ */ jsx(TokenLogoSpinner, { token: balanceToken }),
|
|
103
|
+
/* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
|
|
104
|
+
/* @__PURE__ */ jsxs(AmountInputContainer, { children: [
|
|
105
|
+
/* @__PURE__ */ jsx(MaxButton, { style: { visibility: "hidden" }, children: "Max" }),
|
|
106
|
+
/* @__PURE__ */ jsx(
|
|
107
|
+
AmountInputField,
|
|
108
|
+
{
|
|
109
|
+
value: isEditingUsd ? usdValue : tokenValue,
|
|
110
|
+
onChange: handleAmountChange,
|
|
111
|
+
currency: isEditingUsd ? "$" : balanceToken.symbol,
|
|
112
|
+
onKeyDown: handleKeyDown
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
/* @__PURE__ */ jsx(MaxButton, { onClick: handleMax, children: "Max" })
|
|
116
|
+
] }),
|
|
117
|
+
balanceToken.fiatISO !== "USD" && /* @__PURE__ */ jsx(SwitchContainer, { children: /* @__PURE__ */ jsx(SwitchButton, { onClick: handleSwitchCurrency, children: /* @__PURE__ */ jsx(SecondaryAmount, { children: isEditingUsd ? `${tokenValue} ${balanceToken.symbol}` : `$${usdValue}` }) }) }),
|
|
118
|
+
message && /* @__PURE__ */ jsx(ModalBody, { children: message }),
|
|
119
|
+
/* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
|
|
120
|
+
] })
|
|
121
|
+
] });
|
|
109
122
|
};
|
|
110
|
-
const AmountInputContainer = styled.div
|
|
123
|
+
const AmountInputContainer = styled.div`
|
|
111
124
|
display: flex;
|
|
112
125
|
align-items: center;
|
|
113
126
|
justify-content: center;
|
|
114
127
|
gap: 6px;
|
|
115
128
|
`;
|
|
116
|
-
const SecondaryAmount = styled.div
|
|
129
|
+
const SecondaryAmount = styled.div`
|
|
117
130
|
font-size: 16px;
|
|
118
131
|
font-weight: 400;
|
|
119
132
|
line-height: 21px;
|
|
@@ -123,7 +136,7 @@ const SecondaryAmount = styled.div `
|
|
|
123
136
|
color: var(--ck-body-color);
|
|
124
137
|
}
|
|
125
138
|
`;
|
|
126
|
-
const MaxButton = styled.button
|
|
139
|
+
const MaxButton = styled.button`
|
|
127
140
|
display: inline-block;
|
|
128
141
|
padding: 3px 8px;
|
|
129
142
|
border-radius: var(--ck-primary-button-border-radius);
|
|
@@ -133,10 +146,10 @@ const MaxButton = styled.button `
|
|
|
133
146
|
--ck-secondary-button-background,
|
|
134
147
|
var(--ck-body-background-secondary)
|
|
135
148
|
);
|
|
136
|
-
color: var(--ck-body-color-
|
|
149
|
+
color: var(--ck-body-color-secondary);
|
|
137
150
|
cursor: pointer;
|
|
138
151
|
`;
|
|
139
|
-
const SwitchContainer = styled.div
|
|
152
|
+
const SwitchContainer = styled.div`
|
|
140
153
|
display: flex;
|
|
141
154
|
align-items: center;
|
|
142
155
|
justify-content: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/AmountInput/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/AmountInput/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport {\n ModalBody,\n ModalContent,\n PageContent,\n} from \"../../Common/Modal/styles\";\n\nimport { WalletPaymentOption } from \"@daimo/pay-common\";\nimport { parseUnits } from \"viem\";\nimport styled from \"../../../styles/styled\";\nimport {\n formatUsd,\n roundTokenAmount,\n roundTokenAmountUnits,\n roundUsd,\n tokenAmountToRoundedUsd,\n USD_DECIMALS,\n usdToRoundedTokenAmount,\n} from \"../../../utils/format\";\nimport { isValidNumber, sanitizeNumber } from \"../../../utils/validateInput\";\nimport Button from \"../../Common/Button\";\nimport SwitchButton from \"../../Common/SwitchButton\";\nimport TokenLogoSpinner from \"../../Spinners/TokenLogoSpinner\";\nimport AmountInputField from \"./AmountInputField\";\n\nconst MultiCurrencySelectAmount: React.FC<{\n selectedTokenOption: WalletPaymentOption;\n setSelectedTokenOption: (option: WalletPaymentOption) => void;\n nextPage: ROUTES;\n}> = ({ selectedTokenOption, setSelectedTokenOption, nextPage }) => {\n const { paymentState, setRoute, triggerResize } = usePayContext();\n const maxUsdLimit = paymentState.getOrderUsdLimit();\n\n const balanceToken = selectedTokenOption.balance.token;\n\n const minimumMessage =\n selectedTokenOption.minimumRequired.usd > 0\n ? `Minimum \n ${formatUsd(selectedTokenOption.minimumRequired.usd, \"up\")}`\n : null;\n\n const [usdValue, setUsdValue] = useState(\"\");\n const [tokenValue, setTokenValue] = useState(\n usdToRoundedTokenAmount(0, balanceToken),\n );\n const [isEditingUsd, setIsEditingUsd] = useState(true);\n const [message, setMessage] = useState<string | null>(minimumMessage);\n const [continueDisabled, setContinueDisabled] = useState(true);\n\n useEffect(() => {\n triggerResize();\n }, [message]); // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Update the editable value and secondary value, taking into account whether\n * the user is currently editing the USD value or the token value.\n */\n const updateValues = (\n newUsdValue: string,\n newTokenValue: string,\n newIsEditingUsd: boolean,\n ) => {\n const sanitizedUsdValue = sanitizeNumber(newUsdValue);\n const sanitizedTokenValue = sanitizeNumber(newTokenValue);\n\n // Update the state. Don't sanitize the value if the user is editing it.\n setUsdValue(\n newIsEditingUsd ? newUsdValue : roundUsd(Number(sanitizedUsdValue)),\n );\n setTokenValue(\n newIsEditingUsd\n ? roundTokenAmountUnits(Number(sanitizedTokenValue), balanceToken)\n : newTokenValue,\n );\n setIsEditingUsd(newIsEditingUsd);\n\n setContinueDisabled(\n Number(sanitizedUsdValue) <= 0 ||\n Number(sanitizedUsdValue) < selectedTokenOption.minimumRequired.usd ||\n Number(sanitizedUsdValue) > selectedTokenOption.balance.usd ||\n Number(sanitizedUsdValue) > maxUsdLimit,\n );\n\n if (Number(sanitizedUsdValue) > selectedTokenOption.balance.usd) {\n setMessage(\n `Amount exceeds your balance: \n ${formatUsd(selectedTokenOption.balance.usd)}`,\n );\n } else if (Number(usdValue) > maxUsdLimit) {\n setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);\n } else {\n setMessage(minimumMessage);\n }\n };\n\n const handleAmountChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n const maxDecimals = isEditingUsd\n ? USD_DECIMALS\n : balanceToken.displayDecimals;\n if (value !== \"\" && !isValidNumber(value, maxDecimals)) return;\n\n const sanitizedValue = sanitizeNumber(value);\n\n const newUsdValue = isEditingUsd\n ? value\n : tokenAmountToRoundedUsd(\n parseUnits(sanitizedValue, balanceToken.decimals),\n balanceToken,\n );\n const newTokenValue = isEditingUsd\n ? usdToRoundedTokenAmount(Number(sanitizedValue), balanceToken)\n : value;\n updateValues(newUsdValue, newTokenValue, isEditingUsd);\n };\n\n const handleMax = () => {\n const usdValue = roundUsd(Number(selectedTokenOption.balance.usd));\n const tokenValue = roundTokenAmount(\n selectedTokenOption.balance.amount,\n balanceToken,\n );\n updateValues(usdValue, tokenValue, isEditingUsd);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" && !continueDisabled) {\n handleContinue();\n }\n };\n\n const handleSwitchCurrency = () => {\n updateValues(usdValue, tokenValue, !isEditingUsd);\n };\n\n const handleContinue = () => {\n const usd = Number(sanitizeNumber(usdValue));\n const amountUnits = usd / balanceToken.usd;\n const amount = parseUnits(amountUnits.toString(), balanceToken.decimals);\n setSelectedTokenOption({\n ...selectedTokenOption,\n required: {\n token: balanceToken,\n amount: amount.toString() as `${bigint}`,\n usd,\n },\n });\n paymentState.setChosenUsd(usd);\n setRoute(nextPage, {\n amountUsd: usd,\n amountUnits,\n tokenSymbol: balanceToken.symbol,\n });\n };\n\n return (\n <PageContent>\n <TokenLogoSpinner token={balanceToken} />\n <ModalContent $preserveDisplay={true}>\n <AmountInputContainer>\n {/* Invisible div to balance spacing */}\n <MaxButton style={{ visibility: \"hidden\" }}>Max</MaxButton>\n <AmountInputField\n value={isEditingUsd ? usdValue : tokenValue}\n onChange={handleAmountChange}\n currency={isEditingUsd ? \"$\" : balanceToken.symbol}\n onKeyDown={handleKeyDown}\n />\n <MaxButton onClick={handleMax}>Max</MaxButton>\n </AmountInputContainer>\n\n {balanceToken.fiatISO !== \"USD\" && (\n <SwitchContainer>\n <SwitchButton onClick={handleSwitchCurrency}>\n <SecondaryAmount>\n {isEditingUsd\n ? `${tokenValue} ${balanceToken.symbol}`\n : `$${usdValue}`}\n </SecondaryAmount>\n </SwitchButton>\n </SwitchContainer>\n )}\n\n {message && <ModalBody>{message}</ModalBody>}\n\n <Button onClick={handleContinue} disabled={continueDisabled}>\n Continue\n </Button>\n </ModalContent>\n </PageContent>\n );\n};\n\nconst AmountInputContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n`;\nconst SecondaryAmount = styled.div`\n font-size: 16px;\n font-weight: 400;\n line-height: 21px;\n color: var(--ck-body-color-muted);\n strong {\n font-weight: 500;\n color: var(--ck-body-color);\n }\n`;\nconst MaxButton = styled.button`\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-secondary);\n cursor: pointer;\n`;\nconst SwitchContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport default MultiCurrencySelectAmount;\n"],"names":["usdValue","tokenValue"],"mappings":";;;;;;;;;;;;;AA4BA,MAAM,4BAID,CAAC,EAAE,mBAAqB,EAAA,sBAAA,EAAwB,UAAe,KAAA;AAClE,EAAA,MAAM,EAAE,YAAA,EAAc,QAAU,EAAA,aAAA,KAAkB,aAAc,EAAA,CAAA;AAChE,EAAM,MAAA,WAAA,GAAc,aAAa,gBAAiB,EAAA,CAAA;AAElD,EAAM,MAAA,YAAA,GAAe,oBAAoB,OAAQ,CAAA,KAAA,CAAA;AAEjD,EAAA,MAAM,cACJ,GAAA,mBAAA,CAAoB,eAAgB,CAAA,GAAA,GAAM,CACtC,GAAA,CAAA;AAAA,EAAA,EACJ,UAAU,mBAAoB,CAAA,eAAA,CAAgB,GAAK,EAAA,IAAI,CAAC,CACpD,CAAA,GAAA,IAAA,CAAA;AAEN,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,EAAE,CAAA,CAAA;AAC3C,EAAM,MAAA,CAAC,UAAY,EAAA,aAAa,CAAI,GAAA,QAAA;AAAA,IAClC,uBAAA,CAAwB,GAAG,YAAY,CAAA;AAAA,GACzC,CAAA;AACA,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AACrD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAwB,cAAc,CAAA,CAAA;AACpE,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAE7D,EAAA,SAAA,CAAU,MAAM;AACd,IAAc,aAAA,EAAA,CAAA;AAAA,GAChB,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAMZ,EAAA,MAAM,YAAe,GAAA,CACnB,WACA,EAAA,aAAA,EACA,eACG,KAAA;AACH,IAAM,MAAA,iBAAA,GAAoB,eAAe,WAAW,CAAA,CAAA;AACpD,IAAM,MAAA,mBAAA,GAAsB,eAAe,aAAa,CAAA,CAAA;AAGxD,IAAA,WAAA;AAAA,MACE,eAAkB,GAAA,WAAA,GAAc,QAAS,CAAA,MAAA,CAAO,iBAAiB,CAAC,CAAA;AAAA,KACpE,CAAA;AACA,IAAA,aAAA;AAAA,MACE,kBACI,qBAAsB,CAAA,MAAA,CAAO,mBAAmB,CAAA,EAAG,YAAY,CAC/D,GAAA,aAAA;AAAA,KACN,CAAA;AACA,IAAA,eAAA,CAAgB,eAAe,CAAA,CAAA;AAE/B,IAAA,mBAAA;AAAA,MACE,OAAO,iBAAiB,CAAA,IAAK,KAC3B,MAAO,CAAA,iBAAiB,IAAI,mBAAoB,CAAA,eAAA,CAAgB,GAChE,IAAA,MAAA,CAAO,iBAAiB,CAAI,GAAA,mBAAA,CAAoB,QAAQ,GACxD,IAAA,MAAA,CAAO,iBAAiB,CAAI,GAAA,WAAA;AAAA,KAChC,CAAA;AAEA,IAAA,IAAI,MAAO,CAAA,iBAAiB,CAAI,GAAA,mBAAA,CAAoB,QAAQ,GAAK,EAAA;AAC/D,MAAA,UAAA;AAAA,QACE,CAAA;AAAA,EAAA,EACJ,SAAU,CAAA,mBAAA,CAAoB,OAAQ,CAAA,GAAG,CAAC,CAAA,CAAA;AAAA,OACxC,CAAA;AAAA,KACS,MAAA,IAAA,MAAA,CAAO,QAAQ,CAAA,GAAI,WAAa,EAAA;AACzC,MAAA,UAAA,CAAW,CAAW,QAAA,EAAA,SAAA,CAAU,WAAW,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,KACzC,MAAA;AACL,MAAA,UAAA,CAAW,cAAc,CAAA,CAAA;AAAA,KAC3B;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,kBAAA,GAAqB,CAAC,CAA2C,KAAA;AACrE,IAAM,MAAA,KAAA,GAAQ,EAAE,MAAO,CAAA,KAAA,CAAA;AACvB,IAAM,MAAA,WAAA,GAAc,YAChB,GAAA,YAAA,GACA,YAAa,CAAA,eAAA,CAAA;AACjB,IAAA,IAAI,UAAU,EAAM,IAAA,CAAC,aAAc,CAAA,KAAA,EAAO,WAAW,CAAG,EAAA,OAAA;AAExD,IAAM,MAAA,cAAA,GAAiB,eAAe,KAAK,CAAA,CAAA;AAE3C,IAAM,MAAA,WAAA,GAAc,eAChB,KACA,GAAA,uBAAA;AAAA,MACE,UAAA,CAAW,cAAgB,EAAA,YAAA,CAAa,QAAQ,CAAA;AAAA,MAChD,YAAA;AAAA,KACF,CAAA;AACJ,IAAA,MAAM,gBAAgB,YAClB,GAAA,uBAAA,CAAwB,OAAO,cAAc,CAAA,EAAG,YAAY,CAC5D,GAAA,KAAA,CAAA;AACJ,IAAa,YAAA,CAAA,WAAA,EAAa,eAAe,YAAY,CAAA,CAAA;AAAA,GACvD,CAAA;AAEA,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,MAAMA,YAAW,QAAS,CAAA,MAAA,CAAO,mBAAoB,CAAA,OAAA,CAAQ,GAAG,CAAC,CAAA,CAAA;AACjE,IAAA,MAAMC,WAAa,GAAA,gBAAA;AAAA,MACjB,oBAAoB,OAAQ,CAAA,MAAA;AAAA,MAC5B,YAAA;AAAA,KACF,CAAA;AACA,IAAaD,YAAAA,CAAAA,SAAAA,EAAUC,aAAY,YAAY,CAAA,CAAA;AAAA,GACjD,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,CAAC,CAA6C,KAAA;AAClE,IAAA,IAAI,CAAE,CAAA,GAAA,KAAQ,OAAW,IAAA,CAAC,gBAAkB,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,uBAAuB,MAAM;AACjC,IAAa,YAAA,CAAA,QAAA,EAAU,UAAY,EAAA,CAAC,YAAY,CAAA,CAAA;AAAA,GAClD,CAAA;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAM,GAAM,GAAA,MAAA,CAAO,cAAe,CAAA,QAAQ,CAAC,CAAA,CAAA;AAC3C,IAAM,MAAA,WAAA,GAAc,MAAM,YAAa,CAAA,GAAA,CAAA;AACvC,IAAA,MAAM,SAAS,UAAW,CAAA,WAAA,CAAY,QAAS,EAAA,EAAG,aAAa,QAAQ,CAAA,CAAA;AACvE,IAAuB,sBAAA,CAAA;AAAA,MACrB,GAAG,mBAAA;AAAA,MACH,QAAU,EAAA;AAAA,QACR,KAAO,EAAA,YAAA;AAAA,QACP,MAAA,EAAQ,OAAO,QAAS,EAAA;AAAA,QACxB,GAAA;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAA,YAAA,CAAa,aAAa,GAAG,CAAA,CAAA;AAC7B,IAAA,QAAA,CAAS,QAAU,EAAA;AAAA,MACjB,SAAW,EAAA,GAAA;AAAA,MACX,WAAA;AAAA,MACA,aAAa,YAAa,CAAA,MAAA;AAAA,KAC3B,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,gBAAA,EAAA,EAAiB,OAAO,YAAc,EAAA,CAAA;AAAA,oBACvC,IAAA,CAAC,YAAa,EAAA,EAAA,gBAAA,EAAkB,IAC9B,EAAA,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,oBAEC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,aAAU,KAAO,EAAA,EAAE,UAAY,EAAA,QAAA,IAAY,QAAG,EAAA,KAAA,EAAA,CAAA;AAAA,wBAC/C,GAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,eAAe,QAAW,GAAA,UAAA;AAAA,YACjC,QAAU,EAAA,kBAAA;AAAA,YACV,QAAA,EAAU,YAAe,GAAA,GAAA,GAAM,YAAa,CAAA,MAAA;AAAA,YAC5C,SAAW,EAAA,aAAA;AAAA,WAAA;AAAA,SACb;AAAA,wBACC,GAAA,CAAA,SAAA,EAAA,EAAU,OAAS,EAAA,SAAA,EAAW,QAAG,EAAA,KAAA,EAAA,CAAA;AAAA,OACpC,EAAA,CAAA;AAAA,MAEC,YAAA,CAAa,YAAY,KACxB,oBAAA,GAAA,CAAC,mBACC,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA,EAAa,OAAS,EAAA,oBAAA,EACrB,QAAC,kBAAA,GAAA,CAAA,eAAA,EAAA,EACE,yBACG,CAAG,EAAA,UAAU,IAAI,YAAa,CAAA,MAAM,KACpC,CAAI,CAAA,EAAA,QAAQ,CAClB,CAAA,EAAA,CAAA,EACF,CACF,EAAA,CAAA;AAAA,MAGD,OAAA,oBAAY,GAAA,CAAA,SAAA,EAAA,EAAW,QAAQ,EAAA,OAAA,EAAA,CAAA;AAAA,0BAE/B,MAAO,EAAA,EAAA,OAAA,EAAS,cAAgB,EAAA,QAAA,EAAU,kBAAkB,QAE7D,EAAA,UAAA,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,uBAAuB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAMpC,MAAM,kBAAkB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAU/B,MAAM,YAAY,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAazB,MAAM,kBAAkB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
|