@rozoai/intent-pay 0.0.7 → 0.0.9
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/README.md +36 -44
- package/build/assets/MobileWithLogos.d.ts +2 -0
- package/build/assets/ScanIconWithLogos.d.ts +6 -0
- package/build/assets/browsers.d.ts +10 -0
- package/build/assets/chains.d.ts +28 -0
- package/build/assets/coins.d.ts +2 -0
- package/build/assets/crepe.d.ts +3 -0
- package/build/assets/icons.d.ts +35 -0
- package/build/assets/logos.d.ts +211 -0
- package/build/assets/wallet.d.ts +3 -0
- package/build/assets/wave.d.ts +2 -0
- package/build/components/Common/Alert/index.d.ts +6 -0
- package/build/components/Common/Alert/styles.d.ts +2 -0
- package/build/components/Common/Alert/types.d.ts +5 -0
- package/build/components/Common/AmountInput/AmountInputField.d.ts +8 -0
- package/build/components/Common/AmountInput/index.d.ts +9 -0
- package/build/components/Common/Avatar/index.d.ts +17 -0
- package/build/components/Common/Avatar/styles.d.ts +2 -0
- package/build/components/Common/BrowserIcon/index.d.ts +4 -0
- package/build/components/Common/BrowserIcon/styles.d.ts +1 -0
- package/build/components/Common/BrowserIcon/types.d.ts +3 -0
- package/build/components/Common/Button/index.d.ts +4 -0
- package/build/components/Common/Button/styles.d.ts +10 -0
- package/build/components/Common/Button/types.d.ts +15 -0
- package/build/components/Common/Chain/index.d.ts +9 -0
- package/build/components/Common/Chain/styles.d.ts +4 -0
- package/build/components/Common/ChainSelectList/index.d.ts +4 -0
- package/build/components/Common/ChainSelectList/styles.d.ts +9 -0
- package/build/components/Common/CircleTimer.d.ts +17 -0
- package/build/components/Common/ConnectorList/index.d.ts +2 -0
- package/build/components/Common/ConnectorList/styles.d.ts +8 -0
- package/build/components/Common/CopyToClipboard/CopyToClipboardIcon.d.ts +6 -0
- package/build/components/Common/CopyToClipboard/index.d.ts +7 -0
- package/build/components/Common/CustomQRCode/QRCode.d.ts +12 -0
- package/build/components/Common/CustomQRCode/index.d.ts +6 -0
- package/build/components/Common/CustomQRCode/styles.d.ts +6 -0
- package/build/components/Common/CustomQRCode/types.d.ts +11 -0
- package/build/components/Common/DynamicContainer/index.d.ts +7 -0
- package/build/components/Common/FitText/index.d.ts +8 -0
- package/build/components/Common/LazyImage/index.d.ts +8 -0
- package/build/components/Common/Logo/index.d.ts +8 -0
- package/build/components/Common/Logo/styles.d.ts +3 -0
- package/build/components/Common/Modal/index.d.ts +25 -0
- package/build/components/Common/Modal/styles.d.ts +25 -0
- package/build/components/Common/OptionsList/index.d.ts +17 -0
- package/build/components/Common/OptionsList/styles.d.ts +5 -0
- package/build/components/Common/OrderHeader/index.d.ts +7 -0
- package/build/components/Common/PaymentBreakdown/index.d.ts +6 -0
- package/build/components/Common/Portal/index.d.ts +2 -0
- package/build/components/Common/PoweredByFooter/index.d.ts +4 -0
- package/build/components/Common/ScrollArea/index.d.ts +9 -0
- package/build/components/Common/ScrollArea/styles.d.ts +3 -0
- package/build/components/Common/SelectAnotherMethodButton/index.d.ts +1 -0
- package/build/components/Common/Spinner/index.d.ts +1 -0
- package/build/components/Common/Spinner/styles.d.ts +1 -0
- package/build/components/Common/SquareTimer.d.ts +19 -0
- package/build/components/Common/SwitchButton/index.d.ts +6 -0
- package/build/components/Common/ThemedButton/index.d.ts +15 -0
- package/build/components/Common/ThemedButton/styles.d.ts +2 -0
- package/build/components/Common/TokenChainLogo/index.d.ts +7 -0
- package/build/components/Common/Tooltip/index.d.ts +4 -0
- package/build/components/Common/Tooltip/styles.d.ts +3 -0
- package/build/components/Common/Tooltip/types.d.ts +9 -0
- package/build/components/Common/WalletChainLogo/index.d.ts +6 -0
- package/build/components/Pages/About/graphics.d.ts +11 -0
- package/build/components/Pages/About/index.d.ts +3 -0
- package/build/components/Pages/About/styles.d.ts +8 -0
- package/build/components/Pages/Confirmation/index.d.ts +3 -0
- package/build/components/Pages/Connectors/index.d.ts +3 -0
- package/build/components/Pages/Connectors/styles.d.ts +9 -0
- package/build/components/Pages/DownloadApp/index.d.ts +2 -0
- package/build/components/Pages/MobileConnectors/index.d.ts +3 -0
- package/build/components/Pages/MobileConnectors/styles.d.ts +5 -0
- package/build/components/Pages/Onboarding/index.d.ts +3 -0
- package/build/components/Pages/Onboarding/styles.d.ts +9 -0
- package/build/components/Pages/PayWithToken/index.d.ts +3 -0
- package/build/components/Pages/SelectAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectDepositAddressAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectDepositAddressChain/index.d.ts +3 -0
- package/build/components/Pages/SelectExternalAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectMethod/index.d.ts +1 -0
- package/build/components/Pages/SelectMethod/styles.d.ts +9 -0
- package/build/components/Pages/SelectToken/index.d.ts +1 -0
- package/build/components/Pages/SelectWalletAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectZKP/index.d.ts +3 -0
- package/build/components/Pages/Solana/ConnectSolana/index.d.ts +3 -0
- package/build/components/Pages/Solana/ConnectorSolana/index.d.ts +4 -0
- package/build/components/Pages/Solana/PayWithSolanaToken/index.d.ts +3 -0
- package/build/components/Pages/Solana/SelectSolanaAmount/index.d.ts +3 -0
- package/build/components/Pages/SwitchNetworks/index.d.ts +3 -0
- package/build/components/Pages/WaitingDepositAddress/index.d.ts +1 -0
- package/build/components/Pages/WaitingExternal/index.d.ts +3 -0
- package/build/components/Pages/WaitingWallet/index.d.ts +3 -0
- package/build/components/RozoPayButton/index.d.ts +132 -0
- package/build/components/RozoPayButton/styles.d.ts +4 -0
- package/build/components/RozoPayModal/ConnectUsing.d.ts +2 -0
- package/build/components/RozoPayModal/ConnectWithInjector/index.d.ts +15 -0
- package/build/components/RozoPayModal/ConnectWithInjector/styles.d.ts +6 -0
- package/build/components/RozoPayModal/ConnectWithQRCode.d.ts +3 -0
- package/build/components/RozoPayModal/index.d.ts +7 -0
- package/build/components/RozoPayThemeProvider/RozoPayThemeProvider.d.ts +16 -0
- package/build/components/Spinners/CircleSpinner/index.d.ts +9 -0
- package/build/components/Spinners/CircleSpinner/styles.d.ts +5 -0
- package/build/components/Spinners/ExternalPaymentSpinner/index.d.ts +5 -0
- package/build/components/Spinners/SquircleSpinner/index.d.ts +5 -0
- package/build/components/Spinners/SquircleSpinner/styles.d.ts +4 -0
- package/build/components/Spinners/TokenLogoSpinner/index.d.ts +5 -0
- package/build/components/Spinners/TokenLogoSpinner/styles.d.ts +1 -0
- package/build/components/Spinners/WalletPaymentSpinner/index.d.ts +5 -0
- package/build/components/Spinners/styles.d.ts +2 -0
- package/build/constants/defaultTheme.d.ts +4 -0
- package/build/constants/routes.d.ts +26 -0
- package/build/defaultConfig.d.ts +17 -0
- package/build/defaultConnectors.d.ts +14 -0
- package/build/hooks/useChainIsSupported.d.ts +2 -0
- package/build/hooks/useChains.d.ts +3 -0
- package/build/hooks/useConnectCallback.d.ts +8 -0
- package/build/hooks/useConnectors.d.ts +3 -0
- package/build/hooks/useDepositAddressOptions.d.ts +10 -0
- package/build/hooks/useEnsFallbackConfig.d.ts +2 -0
- package/build/hooks/useExternalPaymentOptions.d.ts +12 -0
- package/build/hooks/useFitText.d.ts +14 -0
- package/build/hooks/useFocusTrap.d.ts +1 -0
- package/build/hooks/useGoogleFont.d.ts +3 -0
- package/build/hooks/useIsMobile.d.ts +5 -0
- package/build/hooks/useIsMounted.d.ts +3 -0
- package/build/hooks/useLastConnector.d.ts +4 -0
- package/build/hooks/useLocalStorage.d.ts +7 -0
- package/build/hooks/useLocales.d.ts +1 -0
- package/build/hooks/useLockBodyScroll.d.ts +1 -0
- package/build/hooks/useModal.d.ts +8 -0
- package/build/hooks/useOrderUsdLimits.d.ts +7 -0
- package/build/hooks/usePayContext.d.ts +2 -0
- package/build/hooks/usePaymentState.d.ts +65 -0
- package/build/hooks/usePrevious.d.ts +1 -0
- package/build/hooks/useRozoPay.d.ts +91 -0
- package/build/hooks/useRozoPayStatus.d.ts +15 -0
- package/build/hooks/useRozoPayUI.d.ts +6 -0
- package/build/hooks/useSolanaPaymentOptions.d.ts +11 -0
- package/build/hooks/useTokenOptions.d.ts +5 -0
- package/build/hooks/useWalletPaymentOptions.d.ts +19 -0
- package/build/hooks/useWindowSize.d.ts +4 -0
- package/build/index.d.ts +15 -649
- package/build/localizations/index.d.ts +91 -0
- package/build/localizations/locales/ar-AE.d.ts +3 -0
- package/build/localizations/locales/ca-AD.d.ts +3 -0
- package/build/localizations/locales/ee-EE.d.ts +3 -0
- package/build/localizations/locales/en-US.d.ts +91 -0
- package/build/localizations/locales/es-ES.d.ts +3 -0
- package/build/localizations/locales/fa-IR.d.ts +3 -0
- package/build/localizations/locales/fr-FR.d.ts +3 -0
- package/build/localizations/locales/index.d.ts +2 -0
- package/build/localizations/locales/ja-JP.d.ts +91 -0
- package/build/localizations/locales/pt-BR.d.ts +3 -0
- package/build/localizations/locales/ru-RU.d.ts +3 -0
- package/build/localizations/locales/tr-TR.d.ts +3 -0
- package/build/localizations/locales/vi-VN.d.ts +3 -0
- package/build/localizations/locales/zh-CN.d.ts +3 -0
- package/build/package.json.js +125 -0
- package/build/package.json.js.map +1 -0
- package/build/payment/paymentEffects.d.ts +12 -0
- package/build/payment/paymentFsm.d.ts +126 -0
- package/build/payment/paymentStore.d.ts +14 -0
- package/build/provider/PayContext.d.ts +56 -0
- package/build/provider/PaymentProvider.d.ts +8 -0
- package/build/provider/RozoPayProvider.d.ts +24 -0
- package/build/provider/SolanaContextProvider.d.ts +6 -0
- package/build/provider/Web3ContextProvider.d.ts +24 -0
- package/build/src/assets/MobileWithLogos.js +10 -0
- package/build/src/assets/MobileWithLogos.js.map +1 -0
- package/build/src/assets/ScanIconWithLogos.js +37 -0
- package/build/src/assets/ScanIconWithLogos.js.map +1 -0
- package/build/src/assets/browsers.js +13 -0
- package/build/src/assets/browsers.js.map +1 -0
- package/build/src/assets/chains.js +97 -0
- package/build/src/assets/chains.js.map +1 -0
- package/build/src/assets/coins.js +6 -0
- package/build/src/assets/coins.js.map +1 -0
- package/build/src/assets/crepe.js +8 -0
- package/build/src/assets/crepe.js.map +1 -0
- package/build/src/assets/icons.js +30 -0
- package/build/src/assets/icons.js.map +1 -0
- package/build/src/assets/logos.js +177 -0
- package/build/src/assets/logos.js.map +1 -0
- package/build/src/assets/wallet.js +8 -0
- package/build/src/assets/wallet.js.map +1 -0
- package/build/src/assets/wave.js +6 -0
- package/build/src/assets/wave.js.map +1 -0
- package/build/src/components/Common/Alert/index.js +10 -0
- package/build/src/components/Common/Alert/index.js.map +1 -0
- package/build/src/components/Common/Alert/styles.js +55 -0
- package/build/src/components/Common/Alert/styles.js.map +1 -0
- package/build/src/components/Common/AmountInput/AmountInputField.js +60 -0
- package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
- package/build/src/components/Common/AmountInput/index.js +146 -0
- package/build/src/components/Common/AmountInput/index.js.map +1 -0
- package/build/src/components/Common/Avatar/index.js +66 -0
- package/build/src/components/Common/Avatar/index.js.map +1 -0
- package/build/src/components/Common/Avatar/styles.js +59 -0
- package/build/src/components/Common/Avatar/styles.js.map +1 -0
- package/build/src/components/Common/BrowserIcon/index.js +28 -0
- package/build/src/components/Common/BrowserIcon/index.js.map +1 -0
- package/build/src/components/Common/BrowserIcon/styles.js +20 -0
- package/build/src/components/Common/BrowserIcon/styles.js.map +1 -0
- package/build/src/components/Common/Button/index.js +38 -0
- package/build/src/components/Common/Button/index.js.map +1 -0
- package/build/src/components/Common/Button/styles.js +291 -0
- package/build/src/components/Common/Button/styles.js.map +1 -0
- package/build/src/components/Common/Chain/index.js +25 -0
- package/build/src/components/Common/Chain/index.js.map +1 -0
- package/build/src/components/Common/Chain/styles.js +94 -0
- package/build/src/components/Common/Chain/styles.js.map +1 -0
- package/build/src/components/Common/ChainSelectList/index.js +107 -0
- package/build/src/components/Common/ChainSelectList/index.js.map +1 -0
- package/build/src/components/Common/ChainSelectList/styles.js +228 -0
- package/build/src/components/Common/ChainSelectList/styles.js.map +1 -0
- package/build/src/components/Common/CircleTimer.js +48 -0
- package/build/src/components/Common/CircleTimer.js.map +1 -0
- package/build/src/components/Common/ConnectorList/index.js +85 -0
- package/build/src/components/Common/ConnectorList/index.js.map +1 -0
- package/build/src/components/Common/ConnectorList/styles.js +352 -0
- package/build/src/components/Common/ConnectorList/styles.js.map +1 -0
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +71 -0
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
- package/build/src/components/Common/CopyToClipboard/index.js +35 -0
- package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
- package/build/src/components/Common/CustomQRCode/QRCode.js +69 -0
- package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
- package/build/src/components/Common/CustomQRCode/index.js +22 -0
- package/build/src/components/Common/CustomQRCode/index.js.map +1 -0
- package/build/src/components/Common/CustomQRCode/styles.js +139 -0
- package/build/src/components/Common/CustomQRCode/styles.js.map +1 -0
- package/build/src/components/Common/FitText/index.js +27 -0
- package/build/src/components/Common/FitText/index.js.map +1 -0
- package/build/src/components/Common/Logo/styles.js +29 -0
- package/build/src/components/Common/Logo/styles.js.map +1 -0
- package/build/src/components/Common/Modal/index.js +300 -0
- package/build/src/components/Common/Modal/index.js.map +1 -0
- package/build/src/components/Common/Modal/styles.js +669 -0
- package/build/src/components/Common/Modal/styles.js.map +1 -0
- package/build/src/components/Common/OptionsList/index.js +103 -0
- package/build/src/components/Common/OptionsList/index.js.map +1 -0
- package/build/src/components/Common/OptionsList/styles.js +139 -0
- package/build/src/components/Common/OptionsList/styles.js.map +1 -0
- package/build/src/components/Common/OrderHeader/index.js +152 -0
- package/build/src/components/Common/OrderHeader/index.js.map +1 -0
- package/build/src/components/Common/PaymentBreakdown/index.js +48 -0
- package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -0
- package/build/src/components/Common/Portal/index.js +31 -0
- package/build/src/components/Common/Portal/index.js.map +1 -0
- package/build/src/components/Common/PoweredByFooter/index.js +77 -0
- package/build/src/components/Common/PoweredByFooter/index.js.map +1 -0
- package/build/src/components/Common/ScrollArea/index.js +63 -0
- package/build/src/components/Common/ScrollArea/index.js.map +1 -0
- package/build/src/components/Common/ScrollArea/styles.js +173 -0
- package/build/src/components/Common/ScrollArea/styles.js.map +1 -0
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +85 -0
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
- package/build/src/components/Common/Spinner/index.js +24 -0
- package/build/src/components/Common/Spinner/index.js.map +1 -0
- package/build/src/components/Common/Spinner/styles.js +22 -0
- package/build/src/components/Common/Spinner/styles.js.map +1 -0
- package/build/src/components/Common/SwitchButton/index.js +40 -0
- package/build/src/components/Common/SwitchButton/index.js.map +1 -0
- package/build/src/components/Common/ThemedButton/index.js +25 -0
- package/build/src/components/Common/ThemedButton/index.js.map +1 -0
- package/build/src/components/Common/ThemedButton/styles.js +152 -0
- package/build/src/components/Common/ThemedButton/styles.js.map +1 -0
- package/build/src/components/Common/TokenChainLogo/index.js +56 -0
- package/build/src/components/Common/TokenChainLogo/index.js.map +1 -0
- package/build/src/components/Common/Tooltip/index.js +97 -0
- package/build/src/components/Common/Tooltip/index.js.map +1 -0
- package/build/src/components/Common/Tooltip/styles.js +81 -0
- package/build/src/components/Common/Tooltip/styles.js.map +1 -0
- package/build/src/components/Common/WalletChainLogo/index.js +24 -0
- package/build/src/components/Common/WalletChainLogo/index.js.map +1 -0
- package/build/src/components/Pages/About/graphics.js +187 -0
- package/build/src/components/Pages/About/graphics.js.map +1 -0
- package/build/src/components/Pages/About/index.js +129 -0
- package/build/src/components/Pages/About/index.js.map +1 -0
- package/build/src/components/Pages/About/styles.js +144 -0
- package/build/src/components/Pages/About/styles.js.map +1 -0
- package/build/src/components/Pages/Confirmation/index.js +89 -0
- package/build/src/components/Pages/Confirmation/index.js.map +1 -0
- package/build/src/components/Pages/Connectors/index.js +37 -0
- package/build/src/components/Pages/Connectors/index.js.map +1 -0
- package/build/src/components/Pages/Connectors/styles.js +267 -0
- package/build/src/components/Pages/Connectors/styles.js.map +1 -0
- package/build/src/components/Pages/DownloadApp/index.js +30 -0
- package/build/src/components/Pages/DownloadApp/index.js.map +1 -0
- package/build/src/components/Pages/MobileConnectors/index.js +57 -0
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -0
- package/build/src/components/Pages/MobileConnectors/styles.js +66 -0
- package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -0
- package/build/src/components/Pages/Onboarding/index.js +18 -0
- package/build/src/components/Pages/Onboarding/index.js.map +1 -0
- package/build/src/components/Pages/Onboarding/styles.js +229 -0
- package/build/src/components/Pages/Onboarding/styles.js.map +1 -0
- package/build/src/components/Pages/PayWithToken/index.js +127 -0
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -0
- package/build/src/components/Pages/SelectAmount/index.js +17 -0
- package/build/src/components/Pages/SelectAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js +61 -0
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +46 -0
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
- package/build/src/components/Pages/SelectExternalAmount/index.js +64 -0
- package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectMethod/index.js +198 -0
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -0
- package/build/src/components/Pages/SelectToken/index.js +28 -0
- package/build/src/components/Pages/SelectToken/index.js.map +1 -0
- package/build/src/components/Pages/SelectWalletAmount/index.js +55 -0
- package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectZKP/index.js +36 -0
- package/build/src/components/Pages/SelectZKP/index.js.map +1 -0
- package/build/src/components/Pages/Solana/ConnectSolana/index.js +81 -0
- package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +1 -0
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +62 -0
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +72 -0
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +17 -0
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
- package/build/src/components/Pages/SwitchNetworks/index.js +26 -0
- package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -0
- package/build/src/components/Pages/WaitingDepositAddress/index.js +305 -0
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
- package/build/src/components/Pages/WaitingExternal/index.js +68 -0
- package/build/src/components/Pages/WaitingExternal/index.js.map +1 -0
- package/build/src/components/Pages/WaitingWallet/index.js +28 -0
- package/build/src/components/Pages/WaitingWallet/index.js.map +1 -0
- package/build/src/components/RozoPayButton/index.js +201 -0
- package/build/src/components/RozoPayButton/index.js.map +1 -0
- package/build/src/components/RozoPayButton/styles.js +50 -0
- package/build/src/components/RozoPayButton/styles.js.map +1 -0
- package/build/src/components/RozoPayModal/ConnectUsing.js +42 -0
- package/build/src/components/RozoPayModal/ConnectUsing.js.map +1 -0
- package/build/src/components/RozoPayModal/ConnectWithInjector/index.js +195 -0
- package/build/src/components/RozoPayModal/ConnectWithInjector/index.js.map +1 -0
- package/build/src/components/RozoPayModal/ConnectWithInjector/styles.js +133 -0
- package/build/src/components/RozoPayModal/ConnectWithInjector/styles.js.map +1 -0
- package/build/src/components/RozoPayModal/ConnectWithQRCode.js +47 -0
- package/build/src/components/RozoPayModal/ConnectWithQRCode.js.map +1 -0
- package/build/src/components/RozoPayModal/index.js +254 -0
- package/build/src/components/RozoPayModal/index.js.map +1 -0
- package/build/src/components/RozoPayThemeProvider/RozoPayThemeProvider.js +21 -0
- package/build/src/components/RozoPayThemeProvider/RozoPayThemeProvider.js.map +1 -0
- package/build/src/components/Spinners/CircleSpinner/index.js +15 -0
- package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/CircleSpinner/styles.js +118 -0
- package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +20 -0
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/SquircleSpinner/index.js +15 -0
- package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/SquircleSpinner/styles.js +66 -0
- package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +13 -0
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js +30 -0
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/styles.js +33 -0
- package/build/src/components/Spinners/styles.js.map +1 -0
- package/build/src/constants/defaultTheme.js +6 -0
- package/build/src/constants/defaultTheme.js.map +1 -0
- package/build/src/constants/routes.js +31 -0
- package/build/src/constants/routes.js.map +1 -0
- package/build/src/defaultConfig.js +62 -0
- package/build/src/defaultConfig.js.map +1 -0
- package/build/src/defaultConnectors.js +24 -0
- package/build/src/defaultConnectors.js.map +1 -0
- package/build/src/hooks/useChainIsSupported.js +12 -0
- package/build/src/hooks/useChainIsSupported.js.map +1 -0
- package/build/src/hooks/useChains.js +11 -0
- package/build/src/hooks/useChains.js.map +1 -0
- package/build/src/hooks/useConnect.js +49 -0
- package/build/src/hooks/useConnect.js.map +1 -0
- package/build/src/hooks/useConnectCallback.js +18 -0
- package/build/src/hooks/useConnectCallback.js.map +1 -0
- package/build/src/hooks/useConnectors.js +9 -0
- package/build/src/hooks/useConnectors.js.map +1 -0
- package/build/src/hooks/useDepositAddressOptions.js +31 -0
- package/build/src/hooks/useDepositAddressOptions.js.map +1 -0
- package/build/src/hooks/useEnsFallbackConfig.js +16 -0
- package/build/src/hooks/useEnsFallbackConfig.js.map +1 -0
- package/build/src/hooks/useExternalPaymentOptions.js +58 -0
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -0
- package/build/src/hooks/useFitText.js +148 -0
- package/build/src/hooks/useFitText.js.map +1 -0
- package/build/src/hooks/useFocusTrap.js +57 -0
- package/build/src/hooks/useFocusTrap.js.map +1 -0
- package/build/src/hooks/useIsMobile.js +11 -0
- package/build/src/hooks/useIsMobile.js.map +1 -0
- package/build/src/hooks/useIsMounted.js +12 -0
- package/build/src/hooks/useIsMounted.js.map +1 -0
- package/build/src/hooks/useLastConnector.js +24 -0
- package/build/src/hooks/useLastConnector.js.map +1 -0
- package/build/src/hooks/useLocales.js +58 -0
- package/build/src/hooks/useLocales.js.map +1 -0
- package/build/src/hooks/useLockBodyScroll.js +53 -0
- package/build/src/hooks/useLockBodyScroll.js.map +1 -0
- package/build/src/hooks/useOrderUsdLimits.js +26 -0
- package/build/src/hooks/useOrderUsdLimits.js.map +1 -0
- package/build/src/hooks/usePayContext.js +13 -0
- package/build/src/hooks/usePayContext.js.map +1 -0
- package/build/src/hooks/usePaymentState.js +339 -0
- package/build/src/hooks/usePaymentState.js.map +1 -0
- package/build/src/hooks/usePrevious.js +14 -0
- package/build/src/hooks/usePrevious.js.map +1 -0
- package/build/src/hooks/useRozoPay.js +89 -0
- package/build/src/hooks/useRozoPay.js.map +1 -0
- package/build/src/hooks/useRozoPayStatus.js +23 -0
- package/build/src/hooks/useRozoPayStatus.js.map +1 -0
- package/build/src/hooks/useRozoPayUI.js +15 -0
- package/build/src/hooks/useRozoPayUI.js.map +1 -0
- package/build/src/hooks/useSolanaPaymentOptions.js +39 -0
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -0
- package/build/src/hooks/useTokenOptions.js +109 -0
- package/build/src/hooks/useTokenOptions.js.map +1 -0
- package/build/src/hooks/useWalletPaymentOptions.js +59 -0
- package/build/src/hooks/useWalletPaymentOptions.js.map +1 -0
- package/build/src/hooks/useWindowSize.js +23 -0
- package/build/src/hooks/useWindowSize.js.map +1 -0
- package/build/src/index.js +14 -0
- package/build/src/index.js.map +1 -0
- package/build/src/localizations/index.js +48 -0
- package/build/src/localizations/index.js.map +1 -0
- package/build/src/localizations/locales/ar-AE.js +95 -0
- package/build/src/localizations/locales/ar-AE.js.map +1 -0
- package/build/src/localizations/locales/ca-AD.js +93 -0
- package/build/src/localizations/locales/ca-AD.js.map +1 -0
- package/build/src/localizations/locales/ee-EE.js +93 -0
- package/build/src/localizations/locales/ee-EE.js.map +1 -0
- package/build/src/localizations/locales/en-US.js +93 -0
- package/build/src/localizations/locales/en-US.js.map +1 -0
- package/build/src/localizations/locales/es-ES.js +93 -0
- package/build/src/localizations/locales/es-ES.js.map +1 -0
- package/build/src/localizations/locales/fa-IR.js +93 -0
- package/build/src/localizations/locales/fa-IR.js.map +1 -0
- package/build/src/localizations/locales/fr-FR.js +93 -0
- package/build/src/localizations/locales/fr-FR.js.map +1 -0
- package/build/src/localizations/locales/ja-JP.js +93 -0
- package/build/src/localizations/locales/ja-JP.js.map +1 -0
- package/build/src/localizations/locales/pt-BR.js +93 -0
- package/build/src/localizations/locales/pt-BR.js.map +1 -0
- package/build/src/localizations/locales/ru-RU.js +93 -0
- package/build/src/localizations/locales/ru-RU.js.map +1 -0
- package/build/src/localizations/locales/tr-TR.js +93 -0
- package/build/src/localizations/locales/tr-TR.js.map +1 -0
- package/build/src/localizations/locales/vi-VN.js +93 -0
- package/build/src/localizations/locales/vi-VN.js.map +1 -0
- package/build/src/localizations/locales/zh-CN.js +93 -0
- package/build/src/localizations/locales/zh-CN.js.map +1 -0
- package/build/src/payment/paymentEffects.js +298 -0
- package/build/src/payment/paymentEffects.js.map +1 -0
- package/build/src/payment/paymentFsm.js +214 -0
- package/build/src/payment/paymentFsm.js.map +1 -0
- package/build/src/payment/paymentStore.js +20 -0
- package/build/src/payment/paymentStore.js.map +1 -0
- package/build/src/provider/PayContext.js +7 -0
- package/build/src/provider/PayContext.js.map +1 -0
- package/build/src/provider/PaymentProvider.js +28 -0
- package/build/src/provider/PaymentProvider.js.map +1 -0
- package/build/src/provider/RozoPayProvider.js +266 -0
- package/build/src/provider/RozoPayProvider.js.map +1 -0
- package/build/src/provider/SolanaContextProvider.js +11 -0
- package/build/src/provider/SolanaContextProvider.js.map +1 -0
- package/build/src/provider/Web3ContextProvider.js +36 -0
- package/build/src/provider/Web3ContextProvider.js.map +1 -0
- package/build/src/stateStore.js +82 -0
- package/build/src/stateStore.js.map +1 -0
- package/build/src/styles/defaultTheme.js +89 -0
- package/build/src/styles/defaultTheme.js.map +1 -0
- package/build/src/styles/index.js +328 -0
- package/build/src/styles/index.js.map +1 -0
- package/build/src/styles/styled/index.js +16 -0
- package/build/src/styles/styled/index.js.map +1 -0
- package/build/src/styles/themes/base.js +141 -0
- package/build/src/styles/themes/base.js.map +1 -0
- package/build/src/styles/themes/index.js +13 -0
- package/build/src/styles/themes/index.js.map +1 -0
- package/build/src/styles/themes/midnight.js +76 -0
- package/build/src/styles/themes/midnight.js.map +1 -0
- package/build/src/styles/themes/minimal.js +96 -0
- package/build/src/styles/themes/minimal.js.map +1 -0
- package/build/src/styles/themes/nouns.js +81 -0
- package/build/src/styles/themes/nouns.js.map +1 -0
- package/build/src/styles/themes/retro.js +106 -0
- package/build/src/styles/themes/retro.js.map +1 -0
- package/build/src/styles/themes/rounded.js +106 -0
- package/build/src/styles/themes/rounded.js.map +1 -0
- package/build/src/styles/themes/soft.js +71 -0
- package/build/src/styles/themes/soft.js.map +1 -0
- package/build/src/styles/themes/web95.js +132 -0
- package/build/src/styles/themes/web95.js.map +1 -0
- package/build/src/utils/exports.js +5 -0
- package/build/src/utils/exports.js.map +1 -0
- package/build/src/utils/format.js +83 -0
- package/build/src/utils/format.js.map +1 -0
- package/build/src/utils/index.js +39 -0
- package/build/src/utils/index.js.map +1 -0
- package/build/src/utils/p3.js +16 -0
- package/build/src/utils/p3.js.map +1 -0
- package/build/src/utils/platform.js +13 -0
- package/build/src/utils/platform.js.map +1 -0
- package/build/src/utils/polling.js +35 -0
- package/build/src/utils/polling.js.map +1 -0
- package/build/src/utils/supportUrl.js +16 -0
- package/build/src/utils/supportUrl.js.map +1 -0
- package/build/src/utils/trpc.js +19 -0
- package/build/src/utils/trpc.js.map +1 -0
- package/build/src/utils/validateInput.js +36 -0
- package/build/src/utils/validateInput.js.map +1 -0
- package/build/src/wallets/index.js +30 -0
- package/build/src/wallets/index.js.map +1 -0
- package/build/src/wallets/useWallets.js +143 -0
- package/build/src/wallets/useWallets.js.map +1 -0
- package/build/src/wallets/walletConfigs.js +259 -0
- package/build/src/wallets/walletConfigs.js.map +1 -0
- package/build/src/world-mini-app/WorldPayButton.js +75 -0
- package/build/src/world-mini-app/WorldPayButton.js.map +1 -0
- package/build/src/world-mini-app/promptWorldPayment.js +57 -0
- package/build/src/world-mini-app/promptWorldPayment.js.map +1 -0
- package/build/src/world.js +2 -0
- package/build/src/world.js.map +1 -0
- package/build/stateStore.d.ts +66 -0
- package/build/styles/defaultTheme.d.ts +3 -0
- package/build/styles/index.d.ts +1 -0
- package/build/styles/styled/index.d.ts +12 -0
- package/build/styles/themes/base.d.ts +129 -0
- package/build/styles/themes/index.d.ts +673 -0
- package/build/styles/themes/midnight.d.ts +74 -0
- package/build/styles/themes/minimal.d.ts +94 -0
- package/build/styles/themes/nouns.d.ts +79 -0
- package/build/styles/themes/retro.d.ts +89 -0
- package/build/styles/themes/rounded.d.ts +86 -0
- package/build/styles/themes/soft.d.ts +69 -0
- package/build/styles/themes/web95.d.ts +91 -0
- package/build/styles/types.d.ts +80 -0
- package/build/types.d.ts +44 -0
- package/build/utils/exports.d.ts +1 -0
- package/build/utils/format.d.ts +49 -0
- package/build/utils/index.d.ts +17 -0
- package/build/utils/localstorage.d.ts +9 -0
- package/build/utils/p3.d.ts +2 -0
- package/build/utils/platform.d.ts +2 -0
- package/build/utils/polling.d.ts +13 -0
- package/build/utils/supportUrl.d.ts +2 -0
- package/build/utils/trpc.d.ts +3 -0
- package/build/utils/validateInput.d.ts +16 -0
- package/build/utils/wallets.d.ts +24 -0
- package/build/wallets/index.d.ts +5 -0
- package/build/wallets/useWallets.d.ts +9 -0
- package/build/wallets/walletConfigs.d.ts +28 -0
- package/build/world-mini-app/WorldPayButton.d.ts +78 -0
- package/build/world-mini-app/promptWorldPayment.d.ts +9 -0
- package/build/world.d.ts +1 -0
- package/package.json +35 -16
- package/build/index.js +0 -13563
- package/build/index.js.map +0 -1
- package/src/index.ts +0 -38
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { motion } from 'framer-motion';
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
import { keyframes } from 'styled-components';
|
|
5
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
6
|
+
import styled from '../../../styles/styled/index.js';
|
|
7
|
+
import { OrDivider } from '../Modal/index.js';
|
|
8
|
+
import { ScrollArea } from '../ScrollArea/index.js';
|
|
9
|
+
import { OptionsContainer, OptionButton, OptionLabel, OptionTitle, OptionSubtitle } from './styles.js';
|
|
10
|
+
|
|
11
|
+
const OptionsList = ({ options, isLoading, requiredSkeletons, scrollHeight = 300, orDivider = false, hideBottomLine = false, }) => {
|
|
12
|
+
const { triggerResize, log } = usePayContext();
|
|
13
|
+
const optionsLength = options.length;
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
log(`[OPTIONS RESIZE]: ${optionsLength}, triggering resize`);
|
|
16
|
+
if (optionsLength > 0)
|
|
17
|
+
triggerResize();
|
|
18
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
|
+
}, [optionsLength]);
|
|
20
|
+
if (isLoading) {
|
|
21
|
+
const skeletonCount = requiredSkeletons
|
|
22
|
+
? Math.max(requiredSkeletons - optionsLength, 0)
|
|
23
|
+
: 0;
|
|
24
|
+
return (jsxs(OptionsContainer, { "$totalResults": options.length, children: [options.map((option) => (jsx(OptionItem, { option: option }, option.id))), isLoading &&
|
|
25
|
+
Array.from({ length: skeletonCount }).map((_, index) => (jsx(SkeletonOptionItem, {}, index)))] }));
|
|
26
|
+
}
|
|
27
|
+
return (jsxs(Fragment, { children: [jsx(ScrollArea, { mobileDirection: "vertical", height: scrollHeight, hideBottomLine: orDivider || hideBottomLine, totalItems: options.length, children: jsx(OptionsContainer, { "$totalResults": options.length, children: options.map((option) => (jsx(OptionItem, { option: option }, option.id))) }) }), orDivider && jsx(OrDivider, {})] }));
|
|
28
|
+
};
|
|
29
|
+
const SkeletonOptionItem = () => {
|
|
30
|
+
return (jsxs(OptionButton, { type: "button", children: [jsx(SkeletonIcon, {}), jsx(SkeletonLabel, {})] }));
|
|
31
|
+
};
|
|
32
|
+
const pulse = keyframes `
|
|
33
|
+
0% {
|
|
34
|
+
opacity: 0.6;
|
|
35
|
+
}
|
|
36
|
+
50% {
|
|
37
|
+
opacity: 1;
|
|
38
|
+
}
|
|
39
|
+
100% {
|
|
40
|
+
opacity: 0.6;
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
const SkeletonIcon = styled.div `
|
|
44
|
+
position: absolute;
|
|
45
|
+
right: 20px;
|
|
46
|
+
width: 32px;
|
|
47
|
+
height: 32px;
|
|
48
|
+
border-radius: 22.5%;
|
|
49
|
+
background-color: rgba(0, 0, 0, 0.1);
|
|
50
|
+
animation: ${pulse} 1.5s ease-in-out infinite;
|
|
51
|
+
`;
|
|
52
|
+
const SkeletonLabel = styled.div `
|
|
53
|
+
width: 100px;
|
|
54
|
+
height: 16px;
|
|
55
|
+
border-radius: 8px;
|
|
56
|
+
background-color: rgba(0, 0, 0, 0.1);
|
|
57
|
+
animation: ${pulse} 1.5s ease-in-out infinite;
|
|
58
|
+
`;
|
|
59
|
+
const OptionItem = ({ option }) => {
|
|
60
|
+
const hydratedIcons = option.icons.map((icon) => {
|
|
61
|
+
if (typeof icon === "string") {
|
|
62
|
+
return jsx("img", { src: icon, alt: "" }, option.id);
|
|
63
|
+
}
|
|
64
|
+
return icon;
|
|
65
|
+
});
|
|
66
|
+
const iconContent = (() => {
|
|
67
|
+
return (jsx(IconStackContainer, { children: hydratedIcons.map((icon, index) => (jsx(IconStackItem, { "$marginRight": index !== hydratedIcons.length - 1 ? -12 : 0, "$zIndex": hydratedIcons.length - index, children: icon }, index))) }));
|
|
68
|
+
})();
|
|
69
|
+
return (jsxs(OptionButton, { type: "button", onClick: option.onClick, disabled: option.disabled, children: [iconContent, jsxs(OptionLabel, { children: [jsx(OptionTitle, { children: option.title }), option.subtitle && jsx(OptionSubtitle, { children: option.subtitle })] })] }));
|
|
70
|
+
};
|
|
71
|
+
const IconStackContainer = styled(motion.div) `
|
|
72
|
+
position: absolute;
|
|
73
|
+
right: 20px;
|
|
74
|
+
display: flex;
|
|
75
|
+
align-items: center;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
`;
|
|
78
|
+
const IconStackItem = styled(motion.div) `
|
|
79
|
+
display: block;
|
|
80
|
+
overflow: hidden;
|
|
81
|
+
user-select: none;
|
|
82
|
+
display: flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
justify-content: center;
|
|
85
|
+
margin-right: ${(props) => props.$marginRight || 0}px;
|
|
86
|
+
z-index: ${(props) => props.$zIndex || 2};
|
|
87
|
+
width: 32px;
|
|
88
|
+
height: 32px;
|
|
89
|
+
overflow: hidden;
|
|
90
|
+
svg,
|
|
91
|
+
img {
|
|
92
|
+
display: block;
|
|
93
|
+
position: relative;
|
|
94
|
+
pointer-events: none;
|
|
95
|
+
overflow: hidden;
|
|
96
|
+
width: 100%;
|
|
97
|
+
height: 100%;
|
|
98
|
+
}
|
|
99
|
+
border-radius: 22.5%;
|
|
100
|
+
`;
|
|
101
|
+
|
|
102
|
+
export { OptionsList };
|
|
103
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/OptionsList/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { css } from 'styled-components';
|
|
2
|
+
import styled from '../../../styles/styled/index.js';
|
|
3
|
+
import { motion } from 'framer-motion';
|
|
4
|
+
|
|
5
|
+
const OptionButton = styled(motion.button) `
|
|
6
|
+
display: block;
|
|
7
|
+
text-decoration: none;
|
|
8
|
+
cursor: ${(props) => (props.disabled ? "default" : "pointer")};
|
|
9
|
+
user-select: none;
|
|
10
|
+
position: relative;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
padding: 0 20px;
|
|
14
|
+
height: 64px;
|
|
15
|
+
font-size: 17px;
|
|
16
|
+
font-weight: var(--ck-primary-button-font-weight, 500);
|
|
17
|
+
line-height: 20px;
|
|
18
|
+
text-align: var(--ck-body-button-text-align, left);
|
|
19
|
+
transition: 180ms ease;
|
|
20
|
+
transition-property: background, color, box-shadow, transform, opacity;
|
|
21
|
+
will-change: transform, box-shadow, background-color, color, opacity;
|
|
22
|
+
|
|
23
|
+
--fallback-color: var(--ck-primary-button-color);
|
|
24
|
+
--fallback-background: var(--ck-primary-button-background);
|
|
25
|
+
--fallback-box-shadow: var(--ck-primary-button-box-shadow);
|
|
26
|
+
--fallback-border-radius: var(--ck-primary-button-border-radius);
|
|
27
|
+
|
|
28
|
+
--color: var(--ck-primary-button-color, var(--fallback-color));
|
|
29
|
+
--background: var(--ck-primary-button-background, var(--fallback-background));
|
|
30
|
+
--box-shadow: var(--ck-primary-button-box-shadow, var(--fallback-box-shadow));
|
|
31
|
+
--border-radius: var(
|
|
32
|
+
--ck-primary-button-border-radius,
|
|
33
|
+
var(--fallback-border-radius)
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
--hover-color: var(--ck-primary-button-hover-color, var(--color));
|
|
37
|
+
--hover-background: var(
|
|
38
|
+
--ck-primary-button-hover-background,
|
|
39
|
+
var(--background)
|
|
40
|
+
);
|
|
41
|
+
--hover-box-shadow: var(
|
|
42
|
+
--ck-primary-button-hover-box-shadow,
|
|
43
|
+
var(--box-shadow)
|
|
44
|
+
);
|
|
45
|
+
--hover-border-radius: var(
|
|
46
|
+
--ck-primary-button-hover-border-radius,
|
|
47
|
+
var(--border-radius)
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
--active-color: var(--ck-primary-button-active-color, var(--hover-color));
|
|
51
|
+
--active-background: var(
|
|
52
|
+
--ck-primary-button-active-background,
|
|
53
|
+
var(--hover-background)
|
|
54
|
+
);
|
|
55
|
+
--active-box-shadow: var(
|
|
56
|
+
--ck-primary-button-active-box-shadow,
|
|
57
|
+
var(--hover-box-shadow)
|
|
58
|
+
);
|
|
59
|
+
--active-border-radius: var(
|
|
60
|
+
--ck-primary-button-active-border-radius,
|
|
61
|
+
var(--hover-border-radius)
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
color: var(--color);
|
|
65
|
+
background: var(--background);
|
|
66
|
+
box-shadow: var(--box-shadow);
|
|
67
|
+
border-radius: var(--border-radius);
|
|
68
|
+
|
|
69
|
+
&:disabled {
|
|
70
|
+
transition: 180ms ease;
|
|
71
|
+
opacity: 0.4;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
--bg: var(--background);
|
|
75
|
+
&:not(:disabled) {
|
|
76
|
+
&:hover {
|
|
77
|
+
color: var(--hover-color);
|
|
78
|
+
background: var(--hover-background);
|
|
79
|
+
box-shadow: var(--hover-box-shadow);
|
|
80
|
+
border-radius: var(--hover-border-radius);
|
|
81
|
+
--bg: var(--hover-background, var(--background));
|
|
82
|
+
}
|
|
83
|
+
&:focus-visible {
|
|
84
|
+
transition-duration: 100ms;
|
|
85
|
+
color: var(--hover-color);
|
|
86
|
+
background: var(--hover-background);
|
|
87
|
+
box-shadow: var(--hover-box-shadow);
|
|
88
|
+
border-radius: var(--hover-border-radius);
|
|
89
|
+
--bg: var(--hover-background, var(--background));
|
|
90
|
+
}
|
|
91
|
+
&:active {
|
|
92
|
+
color: var(--active-color);
|
|
93
|
+
background: var(--active-background);
|
|
94
|
+
box-shadow: var(--active-box-shadow);
|
|
95
|
+
border-radius: var(--active-border-radius);
|
|
96
|
+
--bg: var(--active-background, var(--background));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
`;
|
|
100
|
+
const OptionLabel = styled(motion.span) `
|
|
101
|
+
display: flex;
|
|
102
|
+
flex-direction: column;
|
|
103
|
+
align-items: flex-start;
|
|
104
|
+
gap: 2px;
|
|
105
|
+
width: 100%;
|
|
106
|
+
overflow: hidden;
|
|
107
|
+
padding: 2px 0;
|
|
108
|
+
padding-right: 38px;
|
|
109
|
+
`;
|
|
110
|
+
const OptionTitle = styled(motion.span) `
|
|
111
|
+
white-space: nowrap;
|
|
112
|
+
text-overflow: ellipsis;
|
|
113
|
+
overflow: hidden;
|
|
114
|
+
width: 100%;
|
|
115
|
+
`;
|
|
116
|
+
const OptionSubtitle = styled(motion.span) `
|
|
117
|
+
font-size: 14px;
|
|
118
|
+
opacity: 0.6;
|
|
119
|
+
font-weight: 400;
|
|
120
|
+
white-space: nowrap;
|
|
121
|
+
text-overflow: ellipsis;
|
|
122
|
+
overflow: hidden;
|
|
123
|
+
width: 100%;
|
|
124
|
+
`;
|
|
125
|
+
const OptionsContainer = styled.div `
|
|
126
|
+
transition: opacity 300ms ease;
|
|
127
|
+
display: flex;
|
|
128
|
+
flex-direction: column;
|
|
129
|
+
gap: 12px;
|
|
130
|
+
|
|
131
|
+
${(props) => props.$disabled &&
|
|
132
|
+
css `
|
|
133
|
+
pointer-events: none;
|
|
134
|
+
opacity: 0.4;
|
|
135
|
+
`}
|
|
136
|
+
`;
|
|
137
|
+
|
|
138
|
+
export { OptionButton, OptionLabel, OptionSubtitle, OptionTitle, OptionsContainer };
|
|
139
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/OptionsList/styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKa,MAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAA;;;AAGrC,UAAA,EAAA,CAAC,KAAK,MAAM,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2F7D;AAEW,MAAA,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA;;;;;;;;;EAS5C;AAEW,MAAA,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA;;;;;EAK5C;AAEW,MAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA;;;;;;;;EAQ/C;AAEW,MAAA,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAExC,CAAA;;;;;;AAME,EAAA,EAAA,CAAC,KAAK,KACN,KAAK,CAAC,SAAS;AACf,IAAA,GAAG,CAAA,CAAA;;;AAGF,IAAA,CAAA,CAAA;;;;;"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { getAddressContraction } from '@rozoai/intent-common';
|
|
3
|
+
import { useWallet } from '@solana/wallet-adapter-react';
|
|
4
|
+
import { motion } from 'framer-motion';
|
|
5
|
+
import { useAccount } from 'wagmi';
|
|
6
|
+
import { Solana, Ethereum, Optimism, Arbitrum, Base, Polygon } from '../../../assets/chains.js';
|
|
7
|
+
import { USDC } from '../../../assets/coins.js';
|
|
8
|
+
import defaultTheme from '../../../constants/defaultTheme.js';
|
|
9
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
10
|
+
import { useRozoPay } from '../../../hooks/useRozoPay.js';
|
|
11
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
12
|
+
import styled from '../../../styles/styled/index.js';
|
|
13
|
+
import { formatUsd } from '../../../utils/format.js';
|
|
14
|
+
|
|
15
|
+
/** Shows payment amount. */
|
|
16
|
+
const OrderHeader = ({ minified = false, showEth = false, showSolana = false, showZKP2P = false, }) => {
|
|
17
|
+
const { paymentState, route } = usePayContext();
|
|
18
|
+
const { isConnected: isEthConnected, address, connector } = useAccount();
|
|
19
|
+
const { connected: isSolanaConnected, publicKey, wallet: solanaWallet, } = useWallet();
|
|
20
|
+
const { senderEnsName } = paymentState;
|
|
21
|
+
const { order } = useRozoPay();
|
|
22
|
+
const ethWalletDisplayName = senderEnsName ?? (address ? getAddressContraction(address) : "wallet");
|
|
23
|
+
const solWalletDisplayName = getAddressContraction(publicKey?.toBase58() ?? "");
|
|
24
|
+
const orderUsd = order?.destFinalCallTokenAmount.usd;
|
|
25
|
+
const titleAmountContent = (() => {
|
|
26
|
+
if (paymentState.isDepositFlow) {
|
|
27
|
+
return route === ROUTES.SELECT_TOKEN ? (
|
|
28
|
+
// TODO: make this match `ModalH1` font size for mobile
|
|
29
|
+
jsx("span", { style: { fontSize: "19px", lineHeight: "22px" }, children: "Your balances" })) : null;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return orderUsd != null ? (jsx("span", { children: formatUsd(orderUsd, "nearest") })) : null;
|
|
33
|
+
}
|
|
34
|
+
})();
|
|
35
|
+
const renderIcon = (icon, name, size = 32) => {
|
|
36
|
+
if (!icon) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return (jsx(LogoContainer, { "$size": size, "$zIndex": 1, style: { borderRadius: "22.5%" }, children: typeof icon === "string" ? (jsx("img", { src: icon, alt: name || "wallet", style: { maxWidth: "100%", maxHeight: "100%" } })) : (icon) }));
|
|
40
|
+
};
|
|
41
|
+
let walletIcon = renderIcon(connector?.icon);
|
|
42
|
+
let solanaIcon = renderIcon(solanaWallet?.adapter.icon || jsx(Solana, {}), solanaWallet?.adapter.name);
|
|
43
|
+
if (minified) {
|
|
44
|
+
if (titleAmountContent != null) {
|
|
45
|
+
return (jsxs(MinifiedContainer, { children: [jsx(MinifiedTitleAmount, { children: titleAmountContent }), showEth && isEthConnected && (jsx(Fragment, { children: jsxs(SubtitleContainer, { children: [jsx(Subtitle, { children: ethWalletDisplayName }), walletIcon] }) })), showSolana && isSolanaConnected && (jsx(Fragment, { children: jsxs(SubtitleContainer, { children: [jsx(Subtitle, { children: solWalletDisplayName }), solanaIcon] }) })), !showEth && !showSolana && !showZKP2P && (jsx(Fragment, { children: jsx(CoinLogos, { "$size": 32 }) }))] }));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return (jsxs(MinifiedContainer, { children: [jsx(CoinLogos, {}), jsx(Subtitle, { children: "1000+ tokens accepted" })] }));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return (jsxs(Fragment, { children: [titleAmountContent && jsx(TitleAmount, { children: titleAmountContent }), jsxs(AnyChainAnyCoinContainer, { children: [jsx(CoinLogos, {}), jsx(Subtitle, { children: "1000+ tokens accepted" })] })] }));
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function CoinLogos({ $size = 24 }) {
|
|
56
|
+
const logos = [
|
|
57
|
+
jsx(Ethereum, {}, "eth"),
|
|
58
|
+
jsx(USDC, {}, "usdc"),
|
|
59
|
+
jsx(Optimism, {}, "optimism"),
|
|
60
|
+
jsx(Arbitrum, {}, "arbitrum"),
|
|
61
|
+
jsx(Base, {}, "base"),
|
|
62
|
+
jsx(Polygon, {}, "polygon"),
|
|
63
|
+
jsx(Solana, {}, "solana"),
|
|
64
|
+
];
|
|
65
|
+
const logoBlock = (element, index) => (jsx(LogoContainer, { "$marginLeft": index !== 0 ? -($size / 3) : 0, "$zIndex": logos.length - index, "$size": $size, transition: { duration: 0.5, ease: [0.175, 0.885, 0.32, 0.98] }, children: element }, index));
|
|
66
|
+
return (jsx(Logos, { children: logos.map((element, index) => logoBlock(element, index)) }));
|
|
67
|
+
}
|
|
68
|
+
const TitleAmount = styled(motion.h1) `
|
|
69
|
+
margin-bottom: 24px;
|
|
70
|
+
padding: 0;
|
|
71
|
+
line-height: 66px;
|
|
72
|
+
font-size: 64px;
|
|
73
|
+
font-weight: var(--ck-modal-h1-font-weight, 600);
|
|
74
|
+
color: ${(props) => {
|
|
75
|
+
if (props.$error)
|
|
76
|
+
return "var(--ck-body-color-danger)";
|
|
77
|
+
if (props.$valid)
|
|
78
|
+
return "var(--ck-body-color-valid)";
|
|
79
|
+
return "var(--ck-body-color)";
|
|
80
|
+
}};
|
|
81
|
+
@media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
|
|
82
|
+
font-size: 64px;
|
|
83
|
+
}
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
gap: 8px;
|
|
88
|
+
`;
|
|
89
|
+
const Subtitle = styled(motion.div) `
|
|
90
|
+
font-size: 18px;
|
|
91
|
+
font-weight: 500;
|
|
92
|
+
line-height: 21px;
|
|
93
|
+
color: var(--ck-body-color-muted);
|
|
94
|
+
`;
|
|
95
|
+
const MinifiedTitleAmount = styled(motion.div) `
|
|
96
|
+
font-size: 32px;
|
|
97
|
+
font-weight: var(--ck-modal-h1-font-weight, 600);
|
|
98
|
+
line-height: 36px;
|
|
99
|
+
color: var(--ck-body-color);
|
|
100
|
+
display: flex;
|
|
101
|
+
align-items: center;
|
|
102
|
+
justify-content: start;
|
|
103
|
+
gap: 8px;
|
|
104
|
+
`;
|
|
105
|
+
const MinifiedContainer = styled(motion.div) `
|
|
106
|
+
display: flex;
|
|
107
|
+
align-items: center;
|
|
108
|
+
justify-content: space-between;
|
|
109
|
+
width: 100%;
|
|
110
|
+
margin-bottom: 24px;
|
|
111
|
+
`;
|
|
112
|
+
const AnyChainAnyCoinContainer = styled(motion.div) `
|
|
113
|
+
display: flex;
|
|
114
|
+
vertical-align: middle;
|
|
115
|
+
align-items: center;
|
|
116
|
+
justify-content: center;
|
|
117
|
+
text-align: center;
|
|
118
|
+
gap: 8px;
|
|
119
|
+
margin-bottom: 24px;
|
|
120
|
+
`;
|
|
121
|
+
const LogoContainer = styled(motion.div) `
|
|
122
|
+
display: block;
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
user-select: none;
|
|
125
|
+
display: flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
justify-content: center;
|
|
128
|
+
margin-left: ${(props) => props.$marginLeft || 0}px;
|
|
129
|
+
z-index: ${(props) => props.$zIndex || 2};
|
|
130
|
+
width: ${(props) => props.$size}px;
|
|
131
|
+
height: ${(props) => props.$size}px;
|
|
132
|
+
border-radius: 9999px;
|
|
133
|
+
svg {
|
|
134
|
+
display: block;
|
|
135
|
+
width: 100%;
|
|
136
|
+
height: auto;
|
|
137
|
+
}
|
|
138
|
+
`;
|
|
139
|
+
const Logos = styled(motion.div) `
|
|
140
|
+
display: flex;
|
|
141
|
+
align-items: center;
|
|
142
|
+
justify-content: center;
|
|
143
|
+
`;
|
|
144
|
+
const SubtitleContainer = styled.div `
|
|
145
|
+
display: flex;
|
|
146
|
+
align-items: center;
|
|
147
|
+
justify-content: flex-end;
|
|
148
|
+
gap: 8px;
|
|
149
|
+
`;
|
|
150
|
+
|
|
151
|
+
export { OrderHeader };
|
|
152
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import defaultTheme from '../../../constants/defaultTheme.js';
|
|
3
|
+
import styled from '../../../styles/styled/index.js';
|
|
4
|
+
import { ModalBody } from '../Modal/styles.js';
|
|
5
|
+
|
|
6
|
+
const PaymentBreakdown = ({ paymentOption }) => {
|
|
7
|
+
const subtotalUsd = paymentOption.required.usd;
|
|
8
|
+
const feesUsd = paymentOption.fees.usd;
|
|
9
|
+
const totalUsd = subtotalUsd + feesUsd;
|
|
10
|
+
return (jsxs(FeesContainer, { children: [feesUsd > 0 && (jsxs(FeeRow, { children: [jsx(ModalBody, { children: "Subtotal" }), jsxs(ModalBody, { children: ["$", subtotalUsd.toFixed(2)] })] })), jsxs(FeeRow, { children: [jsx(ModalBody, { children: "Fees" }), feesUsd === 0 ? (jsx(Badge, { children: "Free" })) : (jsxs(ModalBody, { children: ["$", feesUsd.toFixed(2)] }))] }), jsxs(FeeRow, { style: { marginTop: 8 }, children: [jsx(ModalBody, { style: { fontWeight: 600 }, children: "Total" }), jsxs(ModalBody, { style: { fontWeight: 600 }, children: ["$", totalUsd.toFixed(2)] })] })] }));
|
|
11
|
+
};
|
|
12
|
+
const FeesContainer = styled.div `
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
align-items: center;
|
|
16
|
+
width: 100%;
|
|
17
|
+
gap: 4px;
|
|
18
|
+
margin: 16px 0;
|
|
19
|
+
|
|
20
|
+
@media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
|
|
21
|
+
& ${ModalBody} {
|
|
22
|
+
margin: 0 !important;
|
|
23
|
+
max-width: 100% !important;
|
|
24
|
+
text-align: left !important;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
`;
|
|
28
|
+
const FeeRow = styled.div `
|
|
29
|
+
display: flex;
|
|
30
|
+
justify-content: space-between;
|
|
31
|
+
align-items: center;
|
|
32
|
+
width: 50%;
|
|
33
|
+
`;
|
|
34
|
+
const Badge = styled.span `
|
|
35
|
+
display: inline-block;
|
|
36
|
+
padding: 3px 8px;
|
|
37
|
+
border-radius: var(--ck-primary-button-border-radius);
|
|
38
|
+
font-size: 14px;
|
|
39
|
+
font-weight: 400;
|
|
40
|
+
background: var(
|
|
41
|
+
--ck-secondary-button-background,
|
|
42
|
+
var(--ck-body-background-secondary)
|
|
43
|
+
);
|
|
44
|
+
color: var(--ck-body-color-muted);
|
|
45
|
+
`;
|
|
46
|
+
|
|
47
|
+
export { PaymentBreakdown as default };
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/PaymentBreakdown/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AAOA,MAAM,gBAAgB,GAEjB,CAAC,EAAE,aAAa,EAAE,KAAI;AACzB,IAAA,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC/C,IAAA,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,IAAA,MAAM,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;IAEvC,QACEA,IAAC,CAAA,aAAa,EACX,EAAA,QAAA,EAAA,CAAA,OAAO,GAAG,CAAC,KACVA,IAAA,CAAC,MAAM,EAAA,EAAA,QAAA,EAAA,CACLC,IAAC,SAAS,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAqB,EAC/BD,IAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAa,IACzC,CACV,EACDA,IAAC,CAAA,MAAM,EACL,EAAA,QAAA,EAAA,CAAAC,GAAA,CAAC,SAAS,EAAiB,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,EAC1B,OAAO,KAAK,CAAC,IACZA,GAAC,CAAA,KAAK,EAAa,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,KAEnBD,IAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAa,CAC7C,CACM,EAAA,CAAA,EACTA,IAAC,CAAA,MAAM,EAAC,EAAA,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAC7BC,IAAC,SAAS,EAAA,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAmB,QAAA,EAAA,OAAA,EAAA,CAAA,EACxDD,IAAC,CAAA,SAAS,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EACjC,QAAA,EAAA,CAAA,GAAA,EAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CACX,EAAA,CAAA,CAAA,EAAA,CACL,CACK,EAAA,CAAA,EAChB;AACJ,EAAE;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;;;;AAQO,qCAAA,EAAA,YAAY,CAAC,WAAW,CAAA;QACvD,SAAS,CAAA;;;;;;CAMhB,CAAC;AACF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;CAKxB,CAAC;AACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAA,CAAA;;;;;;;;;;;CAWxB;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useRef, useState, useEffect } from 'react';
|
|
2
|
+
import { createPortal } from 'react-dom';
|
|
3
|
+
import packageJson from '../../../../package.json.js';
|
|
4
|
+
|
|
5
|
+
const Portal = (props) => {
|
|
6
|
+
props = {
|
|
7
|
+
selector: "__ROZOPAY__",
|
|
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-rozopay", `${packageJson.version}`);
|
|
20
|
+
document.body.appendChild(div);
|
|
21
|
+
ref.current = div;
|
|
22
|
+
}
|
|
23
|
+
setMounted(true);
|
|
24
|
+
}, [selector]);
|
|
25
|
+
if (!ref.current)
|
|
26
|
+
return null;
|
|
27
|
+
return mounted ? createPortal(children, ref.current) : null;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { Portal as default };
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Portal/index.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA,MAAM,MAAM,GAAG,CAAC,KAAU,KAAI;AAC5B,IAAA,KAAK,GAAG;AACN,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,GAAG,KAAK;KACT,CAAC;AAEF,IAAA,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AAErC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEvD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,gBAAgB,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,YAAA,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACjC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAG,EAAA,WAAW,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC;AAC3D,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/B,YAAA,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;SACnB;QAED,UAAU,CAAC,IAAI,CAAC,CAAC;AACnB,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAI,CAAC,GAAG,CAAC,OAAO;AAAE,QAAA,OAAO,IAAI,CAAC;AAC9B,IAAA,OAAO,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAC9D;;;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { motion } from 'framer-motion';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { keyframes } from 'styled-components';
|
|
5
|
+
import CrepeIcon from '../../../assets/crepe.js';
|
|
6
|
+
import styled from '../../../styles/styled/index.js';
|
|
7
|
+
import { rozoPayVersion } from '../../../utils/exports.js';
|
|
8
|
+
|
|
9
|
+
const PoweredByFooter = ({ supportUrl } = {}) => {
|
|
10
|
+
const [supportVisible, setSupportVisible] = useState(false);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (supportUrl == null)
|
|
13
|
+
return;
|
|
14
|
+
// Show the support link after delay
|
|
15
|
+
const timer = setTimeout(() => {
|
|
16
|
+
setSupportVisible(true);
|
|
17
|
+
}, 2500);
|
|
18
|
+
return () => clearTimeout(timer);
|
|
19
|
+
}, [supportUrl]);
|
|
20
|
+
return (jsx(Container, { children: jsxs(TextButton, { onClick: () => {
|
|
21
|
+
window.open(globalThis.__SUPPORTURL__ || `https://pay.daimo.com?ref=sdk-v${rozoPayVersion}`, "_blank");
|
|
22
|
+
}, className: supportVisible ? "support" : "", children: [!supportVisible && jsx(CrepeIcon, {}), jsx("span", { children: supportVisible ? (jsxs(Fragment, { children: ["Need help? ", jsx(Underline, { children: "Contact support" })] })) : (jsxs(Fragment, { children: ["Powered by ", globalThis.__POWEREDBY__ || "Rozo Pay"] })) })] }) }));
|
|
23
|
+
};
|
|
24
|
+
const Container = styled(motion.div) `
|
|
25
|
+
text-align: center;
|
|
26
|
+
margin-top: 16px;
|
|
27
|
+
margin-bottom: -4px;
|
|
28
|
+
`;
|
|
29
|
+
const fadeIn = keyframes `
|
|
30
|
+
0%{ opacity:0; }
|
|
31
|
+
100%{ opacity:1; }
|
|
32
|
+
`;
|
|
33
|
+
const TextButton = styled(motion.button) `
|
|
34
|
+
appearance: none;
|
|
35
|
+
user-select: none;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
display: inline-flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
gap: 10px;
|
|
41
|
+
height: 42px;
|
|
42
|
+
padding: 0 16px;
|
|
43
|
+
border-radius: 6px;
|
|
44
|
+
background: none;
|
|
45
|
+
color: var(--ck-body-color-muted);
|
|
46
|
+
text-decoration-color: var(--ck-body-color-muted);
|
|
47
|
+
font-size: 15px;
|
|
48
|
+
line-height: 18px;
|
|
49
|
+
font-weight: 500;
|
|
50
|
+
|
|
51
|
+
transition:
|
|
52
|
+
color 200ms ease,
|
|
53
|
+
transform 100ms ease;
|
|
54
|
+
&:hover {
|
|
55
|
+
color: var(--ck-body-color-muted-hover);
|
|
56
|
+
text-decoration-color: var(--ck-body-color-muted-hover);
|
|
57
|
+
}
|
|
58
|
+
&:active {
|
|
59
|
+
transform: scale(0.96);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
span {
|
|
63
|
+
opacity: 1;
|
|
64
|
+
transition: opacity 300ms ease;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&.support span {
|
|
68
|
+
animation: ${fadeIn} 300ms ease both;
|
|
69
|
+
}
|
|
70
|
+
`;
|
|
71
|
+
const Underline = styled(motion.span) `
|
|
72
|
+
text-underline-offset: 2px;
|
|
73
|
+
text-decoration: underline;
|
|
74
|
+
`;
|
|
75
|
+
|
|
76
|
+
export { PoweredByFooter as default };
|
|
77
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/PoweredByFooter/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;AAOM,MAAA,eAAe,GAAG,CAAC,EAAE,UAAU,EAA8B,GAAA,EAAE,KAAI;IACvE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,MAAK;QACb,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO;;AAE/B,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;YAC5B,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACzB,EAAE,IAAI,CAAC,CAAC;AACT,QAAA,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,QACEA,GAAC,CAAA,SAAS,EACR,EAAA,QAAA,EAAAC,IAAA,CAAC,UAAU,EACT,EAAA,OAAO,EAAE,MAAK;AACZ,gBAAA,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,cAAc,IAAI,CAAA,+BAAA,EAAkC,cAAc,CAAA,CAAE,EAC/E,QAAQ,CACT,CAAC;aACH,EACD,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,EAAE,EAEzC,QAAA,EAAA,CAAA,CAAC,cAAc,IAAID,GAAA,CAAC,SAAS,EAAG,EAAA,CAAA,EACjCA,GACG,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,cAAc,IACbC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,aAAA,EACaF,IAAC,SAAS,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAA4B,IAChD,KAEHC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,aAAA,EAAc,UAAU,CAAC,aAAa,IAAI,UAAU,CAAA,EAAA,CAAI,CACzD,EACI,CAAA,CAAA,EAAA,CACI,EACH,CAAA,EACZ;AACJ,EAAE;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAA;;;;CAInC,CAAC;AAEF,MAAM,MAAM,GAAG,SAAS,CAAA,CAAA;;;CAGvB,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCvB,MAAM,CAAA;;CAEtB,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA;;;CAGpC;;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useEffect } from 'react';
|
|
3
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
4
|
+
import { isMobile } from '../../../utils/index.js';
|
|
5
|
+
import defaultTheme from '../../../constants/defaultTheme.js';
|
|
6
|
+
import { ScrollContainer, ScrollAreaContainer, MoreIndicator } from './styles.js';
|
|
7
|
+
|
|
8
|
+
const ArrowDown = () => (jsx("svg", { width: "11", height: "12", viewBox: "0 0 11 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M5.49438 1L5.49438 11M5.49438 11L9.5 7M5.49438 11L1.5 7", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
9
|
+
const ScrollArea = ({ children, height, backgroundColor, mobileDirection, hideBottomLine = false, totalItems, }) => {
|
|
10
|
+
const { log } = usePayContext();
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
const moreRef = useRef(null);
|
|
13
|
+
const isMobileFormat = isMobile() || window?.innerWidth < defaultTheme.mobileWidth;
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const el = ref.current;
|
|
16
|
+
if (!el)
|
|
17
|
+
return;
|
|
18
|
+
// if ref is not scrollable, hide the more indicator
|
|
19
|
+
if (el.scrollHeight > el.clientHeight) {
|
|
20
|
+
if (moreRef.current) {
|
|
21
|
+
moreRef.current.classList.remove("hide");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
log(`[SCROLL AREA]: ${el.scrollHeight}, ${el.clientHeight}`);
|
|
25
|
+
const handleScroll = (e) => {
|
|
26
|
+
const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth, } = e.target;
|
|
27
|
+
if (moreRef.current) {
|
|
28
|
+
if (scrollTop > 0) {
|
|
29
|
+
moreRef.current.classList.add("hide");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (scrollTop === 0 && scrollLeft === 0) {
|
|
33
|
+
el.classList.add("scroll-start");
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
el.classList.remove("scroll-start");
|
|
37
|
+
}
|
|
38
|
+
if (scrollHeight - scrollTop === clientHeight &&
|
|
39
|
+
scrollWidth - scrollLeft === clientWidth) {
|
|
40
|
+
el.classList.add("scroll-end");
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
el.classList.remove("scroll-end");
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
el.addEventListener("scroll", handleScroll);
|
|
47
|
+
handleScroll({ target: el });
|
|
48
|
+
return () => {
|
|
49
|
+
el.removeEventListener("scroll", handleScroll);
|
|
50
|
+
};
|
|
51
|
+
}, [ref.current]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
52
|
+
return (jsxs(ScrollContainer, { children: [jsx(ScrollAreaContainer, { ref: ref, "$mobile": isMobileFormat, "$height": height, "$backgroundColor": backgroundColor, "$mobileDirection": mobileDirection, "$hideBottomLine": hideBottomLine, "$totalItems": totalItems, children: children }), jsx(MoreIndicator, { ref: moreRef, className: "hide", onClick: () => {
|
|
53
|
+
if (ref.current) {
|
|
54
|
+
ref.current.scrollTo({
|
|
55
|
+
top: ref.current.scrollHeight,
|
|
56
|
+
behavior: "smooth",
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}, children: jsxs("span", { children: [jsx(ArrowDown, {}), " More Available"] }) })] }));
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export { ScrollArea };
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/ScrollArea/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|