@daimo/pay 1.18.2 → 1.19.0
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/connectkit/package.json.js +117 -0
- package/build/connectkit/package.json.js.map +1 -0
- package/build/connectkit/src/assets/MobileWithLogos.js +329 -0
- package/build/connectkit/src/assets/MobileWithLogos.js.map +1 -0
- package/build/connectkit/src/assets/ScanIconWithLogos.js +243 -0
- package/build/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
- package/build/connectkit/src/assets/browsers.js +969 -0
- package/build/connectkit/src/assets/browsers.js.map +1 -0
- package/build/connectkit/src/assets/chains.js +648 -0
- package/build/connectkit/src/assets/chains.js.map +1 -0
- package/build/connectkit/src/assets/coins.js +43 -0
- package/build/connectkit/src/assets/coins.js.map +1 -0
- package/build/connectkit/src/assets/icons.js +273 -0
- package/build/connectkit/src/assets/icons.js.map +1 -0
- package/build/connectkit/src/assets/logos.js +1620 -0
- package/build/connectkit/src/assets/logos.js.map +1 -0
- package/build/connectkit/src/assets/wave.js +46 -0
- package/build/connectkit/src/assets/wave.js.map +1 -0
- package/build/connectkit/src/components/Common/Alert/index.js +13 -0
- package/build/connectkit/src/components/Common/Alert/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Alert/styles.js +55 -0
- package/build/connectkit/src/components/Common/Alert/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
- package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
- package/build/connectkit/src/components/Common/AmountInput/index.js +159 -0
- package/build/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Avatar/index.js +78 -0
- package/build/connectkit/src/components/Common/Avatar/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Avatar/styles.js +54 -0
- package/build/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
- package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
- package/build/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
- package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/Button/index.js +144 -0
- package/build/connectkit/src/components/Common/Button/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Button/styles.js +287 -0
- package/build/connectkit/src/components/Common/Button/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/Chain/index.js +141 -0
- package/build/connectkit/src/components/Common/Chain/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Chain/styles.js +90 -0
- package/build/connectkit/src/components/Common/Chain/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
- package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
- package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/CircleTimer.js +92 -0
- package/build/connectkit/src/components/Common/CircleTimer.js.map +1 -0
- package/build/connectkit/src/components/Common/ConnectorList/index.js +120 -0
- package/build/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
- package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/index.js +33 -0
- package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +1 -0
- package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +128 -0
- package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
- package/build/connectkit/src/components/Common/CustomQRCode/index.js +71 -0
- package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
- package/build/connectkit/src/components/Common/CustomQRCode/styles.js +139 -0
- package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/FitText/index.js +34 -0
- package/build/connectkit/src/components/Common/FitText/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Modal/index.js +523 -0
- package/build/connectkit/src/components/Common/Modal/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Modal/styles.js +665 -0
- package/build/connectkit/src/components/Common/Modal/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/OptionsList/index.js +145 -0
- package/build/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
- package/build/connectkit/src/components/Common/OptionsList/styles.js +138 -0
- package/build/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/OrderHeader/index.js +192 -0
- package/build/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
- package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
- package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Portal/index.js +30 -0
- package/build/connectkit/src/components/Common/Portal/index.js.map +1 -0
- package/build/connectkit/src/components/Common/PoweredByFooter/index.js +66 -0
- package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ScrollArea/index.js +120 -0
- package/build/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
- package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
- package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Spinner/index.js +64 -0
- package/build/connectkit/src/components/Common/Spinner/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Spinner/styles.js +22 -0
- package/build/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/SwitchButton/index.js +43 -0
- package/build/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ThemedButton/index.js +46 -0
- package/build/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
- package/build/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
- package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
- package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Tooltip/index.js +129 -0
- package/build/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
- package/build/connectkit/src/components/Common/Tooltip/styles.js +81 -0
- package/build/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
- package/build/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
- package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayButton/index.js +197 -0
- package/build/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayButton/styles.js +50 -0
- package/build/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +68 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +335 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +99 -0
- package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayModal/index.js +462 -0
- package/build/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
- package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
- package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
- package/build/connectkit/src/components/Pages/About/graphics.js +853 -0
- package/build/connectkit/src/components/Pages/About/graphics.js.map +1 -0
- package/build/connectkit/src/components/Pages/About/index.js +222 -0
- package/build/connectkit/src/components/Pages/About/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/About/styles.js +140 -0
- package/build/connectkit/src/components/Pages/About/styles.js.map +1 -0
- package/build/connectkit/src/components/Pages/Confirmation/index.js +128 -0
- package/build/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Connectors/index.js +28 -0
- package/build/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/DownloadApp/index.js +35 -0
- package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Error/index.js +57 -0
- package/build/connectkit/src/components/Pages/Error/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/index.js +65 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
- package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
- package/build/connectkit/src/components/Pages/Onboarding/index.js +34 -0
- package/build/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
- package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
- package/build/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
- package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
- package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +72 -0
- package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectExchange/index.js +41 -0
- package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
- package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectMethod/index.js +230 -0
- package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectToken/index.js +97 -0
- package/build/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +66 -0
- package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
- package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
- package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
- package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
- package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
- package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
- package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +503 -0
- package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/WaitingExternal/index.js +89 -0
- package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
- package/build/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
- package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
- package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
- package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
- package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
- package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
- package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
- package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
- package/build/connectkit/src/components/Spinners/styles.js +32 -0
- package/build/connectkit/src/components/Spinners/styles.js.map +1 -0
- package/build/connectkit/src/constants/defaultTheme.js +6 -0
- package/build/connectkit/src/constants/defaultTheme.js.map +1 -0
- package/build/connectkit/src/constants/routes.js +32 -0
- package/build/connectkit/src/constants/routes.js.map +1 -0
- package/build/connectkit/src/defaultConfig.js +63 -0
- package/build/connectkit/src/defaultConfig.js.map +1 -0
- package/build/connectkit/src/defaultConnectors.js +37 -0
- package/build/connectkit/src/defaultConnectors.js.map +1 -0
- package/build/connectkit/src/hooks/useChainIsSupported.js +10 -0
- package/build/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
- package/build/connectkit/src/hooks/useChains.js +10 -0
- package/build/connectkit/src/hooks/useChains.js.map +1 -0
- package/build/connectkit/src/hooks/useConnect.js +61 -0
- package/build/connectkit/src/hooks/useConnect.js.map +1 -0
- package/build/connectkit/src/hooks/useConnectCallback.js +21 -0
- package/build/connectkit/src/hooks/useConnectCallback.js.map +1 -0
- package/build/connectkit/src/hooks/useConnectors.js +9 -0
- package/build/connectkit/src/hooks/useConnectors.js.map +1 -0
- package/build/connectkit/src/hooks/useDaimoPay.js +107 -0
- package/build/connectkit/src/hooks/useDaimoPay.js.map +1 -0
- package/build/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
- package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
- package/build/connectkit/src/hooks/useDaimoPayUI.js +15 -0
- package/build/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
- package/build/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
- package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
- package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
- package/build/connectkit/src/hooks/useExternalPaymentOptions.js +64 -0
- package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useFitText.js +133 -0
- package/build/connectkit/src/hooks/useFitText.js.map +1 -0
- package/build/connectkit/src/hooks/useFocusTrap.js +53 -0
- package/build/connectkit/src/hooks/useFocusTrap.js.map +1 -0
- package/build/connectkit/src/hooks/useIsMobile.js +11 -0
- package/build/connectkit/src/hooks/useIsMobile.js.map +1 -0
- package/build/connectkit/src/hooks/useIsMounted.js +10 -0
- package/build/connectkit/src/hooks/useIsMounted.js.map +1 -0
- package/build/connectkit/src/hooks/useLastConnector.js +24 -0
- package/build/connectkit/src/hooks/useLastConnector.js.map +1 -0
- package/build/connectkit/src/hooks/useLocales.js +60 -0
- package/build/connectkit/src/hooks/useLocales.js.map +1 -0
- package/build/connectkit/src/hooks/useLockBodyScroll.js +47 -0
- package/build/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
- package/build/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
- package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
- package/build/connectkit/src/hooks/usePayContext.js +11 -0
- package/build/connectkit/src/hooks/usePayContext.js.map +1 -0
- package/build/connectkit/src/hooks/usePaymentState.js +376 -0
- package/build/connectkit/src/hooks/usePaymentState.js.map +1 -0
- package/build/connectkit/src/hooks/usePrevious.js +13 -0
- package/build/connectkit/src/hooks/usePrevious.js.map +1 -0
- package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +40 -0
- package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useTokenOptions.js +152 -0
- package/build/connectkit/src/hooks/useTokenOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useUntronAvailability.js +32 -0
- package/build/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
- package/build/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
- package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
- package/build/connectkit/src/hooks/useWindowSize.js +23 -0
- package/build/connectkit/src/hooks/useWindowSize.js.map +1 -0
- package/build/connectkit/src/index.js +14 -0
- package/build/connectkit/src/index.js.map +1 -0
- package/build/connectkit/src/localizations/index.js +48 -0
- package/build/connectkit/src/localizations/index.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ar-AE.js +95 -0
- package/build/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ca-AD.js +93 -0
- package/build/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ee-EE.js +101 -0
- package/build/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
- package/build/connectkit/src/localizations/locales/en-US.js +139 -0
- package/build/connectkit/src/localizations/locales/en-US.js.map +1 -0
- package/build/connectkit/src/localizations/locales/es-ES.js +131 -0
- package/build/connectkit/src/localizations/locales/es-ES.js.map +1 -0
- package/build/connectkit/src/localizations/locales/fa-IR.js +93 -0
- package/build/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/fr-FR.js +93 -0
- package/build/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ja-JP.js +93 -0
- package/build/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
- package/build/connectkit/src/localizations/locales/pt-BR.js +101 -0
- package/build/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/ru-RU.js +97 -0
- package/build/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
- package/build/connectkit/src/localizations/locales/tr-TR.js +101 -0
- package/build/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
- package/build/connectkit/src/localizations/locales/vi-VN.js +101 -0
- package/build/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
- package/build/connectkit/src/localizations/locales/zh-CN.js +93 -0
- package/build/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
- package/build/connectkit/src/payment/paymentEffects.js +269 -0
- package/build/connectkit/src/payment/paymentEffects.js.map +1 -0
- package/build/connectkit/src/payment/paymentFsm.js +194 -0
- package/build/connectkit/src/payment/paymentFsm.js.map +1 -0
- package/build/connectkit/src/payment/paymentStore.js +18 -0
- package/build/connectkit/src/payment/paymentStore.js.map +1 -0
- package/build/connectkit/src/payment/paymentUtils.js +10 -0
- package/build/connectkit/src/payment/paymentUtils.js.map +1 -0
- package/build/connectkit/src/provider/DaimoPayProvider.js +293 -0
- package/build/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
- package/build/connectkit/src/provider/PayContext.js +6 -0
- package/build/connectkit/src/provider/PayContext.js.map +1 -0
- package/build/connectkit/src/provider/PaymentProvider.js +29 -0
- package/build/connectkit/src/provider/PaymentProvider.js.map +1 -0
- package/build/connectkit/src/provider/SolanaContextProvider.js +14 -0
- package/build/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
- package/build/connectkit/src/provider/Web3ContextProvider.js +36 -0
- package/build/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
- package/build/connectkit/src/stateStore.js +36 -0
- package/build/connectkit/src/stateStore.js.map +1 -0
- package/build/connectkit/src/styles/defaultTheme.js +80 -0
- package/build/connectkit/src/styles/defaultTheme.js.map +1 -0
- package/build/connectkit/src/styles/index.js +313 -0
- package/build/connectkit/src/styles/index.js.map +1 -0
- package/build/connectkit/src/styles/styled/index.js +6 -0
- package/build/connectkit/src/styles/styled/index.js.map +1 -0
- package/build/connectkit/src/styles/themes/base.js +141 -0
- package/build/connectkit/src/styles/themes/base.js.map +1 -0
- package/build/connectkit/src/styles/themes/index.js +13 -0
- package/build/connectkit/src/styles/themes/index.js.map +1 -0
- package/build/connectkit/src/styles/themes/midnight.js +76 -0
- package/build/connectkit/src/styles/themes/midnight.js.map +1 -0
- package/build/connectkit/src/styles/themes/minimal.js +96 -0
- package/build/connectkit/src/styles/themes/minimal.js.map +1 -0
- package/build/connectkit/src/styles/themes/nouns.js +81 -0
- package/build/connectkit/src/styles/themes/nouns.js.map +1 -0
- package/build/connectkit/src/styles/themes/retro.js +106 -0
- package/build/connectkit/src/styles/themes/retro.js.map +1 -0
- package/build/connectkit/src/styles/themes/rounded.js +106 -0
- package/build/connectkit/src/styles/themes/rounded.js.map +1 -0
- package/build/connectkit/src/styles/themes/soft.js +71 -0
- package/build/connectkit/src/styles/themes/soft.js.map +1 -0
- package/build/connectkit/src/styles/themes/web95.js +132 -0
- package/build/connectkit/src/styles/themes/web95.js.map +1 -0
- package/build/connectkit/src/utils/exports.js +6 -0
- package/build/connectkit/src/utils/exports.js.map +1 -0
- package/build/connectkit/src/utils/format.js +45 -0
- package/build/connectkit/src/utils/format.js.map +1 -0
- package/build/connectkit/src/utils/index.js +42 -0
- package/build/connectkit/src/utils/index.js.map +1 -0
- package/build/connectkit/src/utils/p3.js +15 -0
- package/build/connectkit/src/utils/p3.js.map +1 -0
- package/build/connectkit/src/utils/platform.js +11 -0
- package/build/connectkit/src/utils/platform.js.map +1 -0
- package/build/connectkit/src/utils/polling.js +35 -0
- package/build/connectkit/src/utils/polling.js.map +1 -0
- package/build/connectkit/src/utils/supportUrl.js +16 -0
- package/build/connectkit/src/utils/supportUrl.js.map +1 -0
- package/build/connectkit/src/utils/trpc.js +19 -0
- package/build/connectkit/src/utils/trpc.js.map +1 -0
- package/build/connectkit/src/utils/validateInput.js +16 -0
- package/build/connectkit/src/utils/validateInput.js.map +1 -0
- package/build/connectkit/src/wallets/index.js +21 -0
- package/build/connectkit/src/wallets/index.js.map +1 -0
- package/build/connectkit/src/wallets/useWallets.js +207 -0
- package/build/connectkit/src/wallets/useWallets.js.map +1 -0
- package/build/connectkit/src/wallets/walletConfigs.js +277 -0
- package/build/connectkit/src/wallets/walletConfigs.js.map +1 -0
- package/build/connectkit/src/world-mini-app/WorldPayButton.js +148 -0
- package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
- package/build/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
- package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
- package/build/connectkit/src/world.js +2 -0
- package/build/connectkit/src/world.js.map +1 -0
- package/build/index.d.ts +23 -28
- package/build/package.json.js +2 -2
- package/build/pay-common/src/chain.js +9 -0
- package/build/pay-common/src/chain.js.map +1 -0
- package/build/src/assets/chains.js +18 -52
- package/build/src/assets/chains.js.map +1 -1
- package/build/src/assets/coins.js +43 -0
- package/build/src/assets/coins.js.map +1 -0
- package/build/src/assets/logos.js +76 -2
- package/build/src/assets/logos.js.map +1 -1
- package/build/src/components/Common/ConnectorList/index.js +21 -20
- package/build/src/components/Common/ConnectorList/index.js.map +1 -1
- package/build/src/components/Common/CopyToClipboard/index.js +33 -0
- package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
- package/build/src/components/Common/Modal/index.js +31 -8
- package/build/src/components/Common/Modal/index.js.map +1 -1
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +4 -4
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/index.js +1 -2
- package/build/src/components/DaimoPayButton/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectUsing.js +8 -6
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +13 -9
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +17 -23
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
- package/build/src/components/DaimoPayModal/index.js +120 -41
- package/build/src/components/DaimoPayModal/index.js.map +1 -1
- package/build/src/components/Pages/Connectors/index.js +0 -2
- package/build/src/components/Pages/Connectors/index.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/index.js +62 -17
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +9 -2
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
- package/build/src/components/Pages/SelectExchange/index.js +3 -2
- package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js +106 -25
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/SelectWalletAmount/index.js +11 -6
- package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
- package/build/src/components/Pages/WaitingExternal/index.js +88 -3
- package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
- package/build/src/constants/limits.js +4 -0
- package/build/src/constants/limits.js.map +1 -0
- package/build/src/constants/paymentOptions.js +61 -0
- package/build/src/constants/paymentOptions.js.map +1 -0
- package/build/src/constants/routes.js +0 -1
- package/build/src/constants/routes.js.map +1 -1
- package/build/src/constants/wallets.js +7 -0
- package/build/src/constants/wallets.js.map +1 -0
- package/build/src/hooks/useExternalPaymentOptions.js +19 -4
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +41 -6
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/localizations/locales/en-US.js +4 -1
- package/build/src/localizations/locales/en-US.js.map +1 -1
- package/build/src/localizations/locales/es-ES.js +4 -1
- package/build/src/localizations/locales/es-ES.js.map +1 -1
- package/build/src/localizations/locales/pt-BR.js +4 -1
- package/build/src/localizations/locales/pt-BR.js.map +1 -1
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/wallets/useWallets.js +81 -8
- package/build/src/wallets/useWallets.js.map +1 -1
- package/build/src/wallets/walletConfigs.js +65 -76
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/build/src/world.js +1 -0
- package/build/src/world.js.map +1 -1
- package/build/types-20835014.d.ts +68 -0
- package/build/world.d.ts +8 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExternalPaymentOptions.js","sources":["../../../../src/hooks/useExternalPaymentOptions.ts"],"sourcesContent":["import {\n DaimoPayOrderMode,\n ExternalPaymentOptionMetadata,\n ExternalPaymentOptions,\n PlatformType,\n} from \"@daimo/pay-common\";\nimport { useEffect, useState } from \"react\";\nimport { TrpcClient } from \"../utils/trpc\";\n\nconst DEFAULT_EXTERNAL_PAYMENT_OPTIONS = Object.values(\n ExternalPaymentOptions,\n).filter(\n (opt) =>\n // Solana and ExternalChains are handled in the SelectMethod component.\n opt !== ExternalPaymentOptions.ExternalChains &&\n opt !== ExternalPaymentOptions.Daimo,\n);\n\nexport function useExternalPaymentOptions({\n trpc,\n filterIds,\n platform,\n usdRequired,\n mode,\n}: {\n trpc: TrpcClient;\n filterIds: string[] | undefined;\n platform: PlatformType | undefined;\n usdRequired: number | undefined;\n mode: DaimoPayOrderMode | undefined;\n}): {\n /// Exteral options, organized by optionType\n options: Map<\n \"external\" | \"zkp2p\" | \"exchange\",\n ExternalPaymentOptionMetadata[]\n >;\n loading: boolean;\n} {\n const [options, setOptions] = useState<\n Map<\"external\" | \"zkp2p\" | \"exchange\", ExternalPaymentOptionMetadata[]>\n >(new Map());\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n const refreshExternalPaymentOptions = async (\n usd: number,\n mode: DaimoPayOrderMode,\n ) => {\n if (!platform) return;\n\n setLoading(true);\n try {\n const newOptions = await trpc.getExternalPaymentOptions.query({\n platform,\n mode,\n usdRequired: usd,\n });\n\n // Filter out options not in options JSON\n const enabledExtPaymentOptions =\n filterIds || DEFAULT_EXTERNAL_PAYMENT_OPTIONS;\n\n const hasAllPaymentApps = enabledExtPaymentOptions.includes(\n ExternalPaymentOptions.AllPaymentApps,\n );\n const hasAllExchanges = enabledExtPaymentOptions.includes(\n ExternalPaymentOptions.AllExchanges,\n );\n\n const filteredOptions = newOptions.filter(\n (option: ExternalPaymentOptionMetadata) =>\n enabledExtPaymentOptions.includes(option.id) ||\n (hasAllPaymentApps && option.optionType === \"zkp2p\") ||\n (hasAllExchanges && option.optionType === \"exchange\"),\n );\n const optionsByType: Map<\n \"external\" | \"zkp2p\" | \"exchange\",\n ExternalPaymentOptionMetadata[]\n > = new Map();\n filteredOptions.forEach((option) => {\n const { optionType } = option;\n if (!optionsByType.has(optionType)) {\n optionsByType.set(optionType, []);\n }\n optionsByType.get(optionType)!.push(option);\n });\n\n setOptions(optionsByType);\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n }\n };\n\n if (usdRequired != null && mode != null) {\n refreshExternalPaymentOptions(usdRequired, mode);\n }\n // TODO: this is an ugly way to handle polling/refresh\n // Notice the load-bearing JSON.stringify() to prevent a visible infinite\n // refresh glitch on the SelectMethod screen. Replace this useEffect().\n //\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [usdRequired, JSON.stringify(filterIds), platform, mode, trpc]);\n\n return { options, loading };\n}\n"],"names":["mode"],"mappings":";;;AASA,MAAM,mCAAmC,MAAO,CAAA,MAAA;AAAA,EAC9C,sBAAA;AACF,CAAE,CAAA,MAAA;AAAA,EACA,CAAC,GAAA;AAAA;AAAA,IAEC,GAAQ,KAAA,sBAAA,CAAuB,cAC/B,IAAA,GAAA,KAAQ,sBAAuB,CAAA,KAAA;AAAA,GAAA;AACnC,CAAA,CAAA;AAEO,SAAS,yBAA0B,CAAA;AAAA,EACxC,IAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AACF,CAaE,EAAA;AACA,EAAA,MAAM,CAAC,OAAS,EAAA,UAAU,IAAI,QAE5B,iBAAA,IAAI,KAAK,CAAA,CAAA;AACX,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAE5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,6BAAA,GAAgC,OACpC,GAAA,EACAA,KACG,KAAA;AACH,MAAA,IAAI,CAAC,QAAU,EAAA,OAAA;AAEf,MAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,MAAI,IAAA;AACF,QAAA,MAAM,UAAa,GAAA,MAAM,IAAK,CAAA,yBAAA,CAA0B,KAAM,CAAA;AAAA,UAC5D,QAAA;AAAA,UACA,IAAAA,EAAAA,KAAAA;AAAA,UACA,WAAa,EAAA,GAAA;AAAA,SACd,CAAA,CAAA;AAGD,QAAA,MAAM,2BACJ,SAAa,IAAA,gCAAA,CAAA;AAEf,QAAA,MAAM,oBAAoB,wBAAyB,CAAA,QAAA;AAAA,UACjD,sBAAuB,CAAA,cAAA;AAAA,SACzB,CAAA;AACA,QAAA,MAAM,kBAAkB,wBAAyB,CAAA,QAAA;AAAA,UAC/C,sBAAuB,CAAA,YAAA;AAAA,SACzB,CAAA;AAEA,QAAA,MAAM,kBAAkB,UAAW,CAAA,MAAA;AAAA,UACjC,CAAC,MAAA,KACC,wBAAyB,CAAA,QAAA,CAAS,MAAO,CAAA,EAAE,CAC1C,IAAA,iBAAA,IAAqB,MAAO,CAAA,UAAA,KAAe,OAC3C,IAAA,eAAA,IAAmB,OAAO,UAAe,KAAA,UAAA;AAAA,SAC9C,CAAA;AACA,QAAM,MAAA,aAAA,uBAGE,GAAI,EAAA,CAAA;AACZ,QAAgB,eAAA,CAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AAClC,UAAM,MAAA,EAAE,YAAe,GAAA,MAAA,CAAA;AACvB,UAAA,IAAI,CAAC,aAAA,CAAc,GAAI,CAAA,UAAU,CAAG,EAAA;AAClC,YAAc,aAAA,CAAA,GAAA,CAAI,UAAY,EAAA,EAAE,CAAA,CAAA;AAAA,WAClC;AACA,UAAA,aAAA,CAAc,GAAI,CAAA,UAAU,CAAG,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,SAC3C,CAAA,CAAA;AAED,QAAA,UAAA,CAAW,aAAa,CAAA,CAAA;AAAA,eACjB,KAAO,EAAA;AACd,QAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,OACnB,SAAA;AACA,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEA,IAAI,IAAA,WAAA,IAAe,IAAQ,IAAA,IAAA,IAAQ,IAAM,EAAA;AACvC,MAAA,6BAAA,CAA8B,aAAa,IAAI,CAAA,CAAA;AAAA,KACjD;AAAA,GAMF,EAAG,CAAC,WAAA,EAAa,IAAK,CAAA,SAAA,CAAU,SAAS,CAAG,EAAA,QAAA,EAAU,IAAM,EAAA,IAAI,CAAC,CAAA,CAAA;AAEjE,EAAO,OAAA,EAAE,SAAS,OAAQ,EAAA,CAAA;AAC5B;;;;"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { useCallback, useRef, useState, useEffect, useLayoutEffect } from 'react';
|
|
2
|
+
import ResizeObserver from 'resize-observer-polyfill';
|
|
3
|
+
|
|
4
|
+
const LOG_LEVEL = {
|
|
5
|
+
debug: 10,
|
|
6
|
+
info: 20,
|
|
7
|
+
warn: 30,
|
|
8
|
+
error: 40,
|
|
9
|
+
none: 100
|
|
10
|
+
};
|
|
11
|
+
const useIsoLayoutEffect = typeof window !== "undefined" && window.document && window.document.createElement !== void 0 ? useLayoutEffect : useEffect;
|
|
12
|
+
const useFitText = ({
|
|
13
|
+
logLevel: logLevelOption = "info",
|
|
14
|
+
maxFontSize = 100,
|
|
15
|
+
minFontSize = 20,
|
|
16
|
+
onFinish,
|
|
17
|
+
onStart,
|
|
18
|
+
resolution = 5
|
|
19
|
+
} = {}) => {
|
|
20
|
+
const logLevel = LOG_LEVEL[logLevelOption];
|
|
21
|
+
const initState = useCallback(() => {
|
|
22
|
+
return {
|
|
23
|
+
calcKey: 0,
|
|
24
|
+
fontSize: maxFontSize,
|
|
25
|
+
fontSizePrev: minFontSize,
|
|
26
|
+
fontSizeMax: maxFontSize,
|
|
27
|
+
fontSizeMin: minFontSize
|
|
28
|
+
};
|
|
29
|
+
}, [maxFontSize, minFontSize]);
|
|
30
|
+
const ref = useRef(null);
|
|
31
|
+
const innerHtmlPrevRef = useRef();
|
|
32
|
+
const isCalculatingRef = useRef(false);
|
|
33
|
+
const [state, setState] = useState(initState);
|
|
34
|
+
const { calcKey, fontSize, fontSizeMax, fontSizeMin, fontSizePrev } = state;
|
|
35
|
+
let animationFrameId = null;
|
|
36
|
+
const [ro] = useState(
|
|
37
|
+
() => new ResizeObserver(() => {
|
|
38
|
+
animationFrameId = window.requestAnimationFrame(() => {
|
|
39
|
+
if (isCalculatingRef.current) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
onStart && onStart();
|
|
43
|
+
isCalculatingRef.current = true;
|
|
44
|
+
setState({
|
|
45
|
+
...initState(),
|
|
46
|
+
calcKey: calcKey + 1
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
})
|
|
50
|
+
);
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (ref.current) {
|
|
53
|
+
ro.observe(ref.current);
|
|
54
|
+
}
|
|
55
|
+
return () => {
|
|
56
|
+
animationFrameId && window.cancelAnimationFrame(animationFrameId);
|
|
57
|
+
ro.disconnect();
|
|
58
|
+
};
|
|
59
|
+
}, [animationFrameId, ro]);
|
|
60
|
+
const innerHtml = ref.current && ref.current.innerHTML;
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (calcKey === 0 || isCalculatingRef.current) return;
|
|
63
|
+
if (innerHtml !== innerHtmlPrevRef.current) {
|
|
64
|
+
onStart && onStart();
|
|
65
|
+
setState({
|
|
66
|
+
...initState(),
|
|
67
|
+
calcKey: calcKey + 1
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
innerHtmlPrevRef.current = innerHtml;
|
|
71
|
+
}, [calcKey, initState, innerHtml, onStart]);
|
|
72
|
+
useIsoLayoutEffect(() => {
|
|
73
|
+
if (calcKey === 0) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const isWithinResolution = Math.abs(fontSize - fontSizePrev) <= resolution;
|
|
77
|
+
const isOverflow = !!ref.current && (ref.current.scrollHeight > ref.current.offsetHeight || ref.current.scrollWidth > ref.current.offsetWidth);
|
|
78
|
+
const isFailed = isOverflow && fontSize === fontSizePrev;
|
|
79
|
+
const isAsc = fontSize > fontSizePrev;
|
|
80
|
+
if (isWithinResolution) {
|
|
81
|
+
if (isFailed) {
|
|
82
|
+
isCalculatingRef.current = false;
|
|
83
|
+
if (logLevel <= LOG_LEVEL.info) {
|
|
84
|
+
console.info(
|
|
85
|
+
`[use-fit-text] reached \`minFontSize = ${minFontSize}\` without fitting text`
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
} else if (isOverflow) {
|
|
89
|
+
setState({
|
|
90
|
+
fontSize: isAsc ? fontSizePrev : fontSizeMin,
|
|
91
|
+
fontSizeMax,
|
|
92
|
+
fontSizeMin,
|
|
93
|
+
fontSizePrev,
|
|
94
|
+
calcKey
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
isCalculatingRef.current = false;
|
|
98
|
+
onFinish && onFinish(fontSize);
|
|
99
|
+
}
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
let delta;
|
|
103
|
+
let newMax = fontSizeMax;
|
|
104
|
+
let newMin = fontSizeMin;
|
|
105
|
+
if (isOverflow) {
|
|
106
|
+
delta = isAsc ? fontSizePrev - fontSize : fontSizeMin - fontSize;
|
|
107
|
+
newMax = Math.min(fontSizeMax, fontSize);
|
|
108
|
+
} else {
|
|
109
|
+
delta = isAsc ? fontSizeMax - fontSize : fontSizePrev - fontSize;
|
|
110
|
+
newMin = Math.max(fontSizeMin, fontSize);
|
|
111
|
+
}
|
|
112
|
+
setState({
|
|
113
|
+
calcKey,
|
|
114
|
+
fontSize: fontSize + delta / 2,
|
|
115
|
+
fontSizeMax: newMax,
|
|
116
|
+
fontSizeMin: newMin,
|
|
117
|
+
fontSizePrev: fontSize
|
|
118
|
+
});
|
|
119
|
+
}, [
|
|
120
|
+
calcKey,
|
|
121
|
+
fontSize,
|
|
122
|
+
fontSizeMax,
|
|
123
|
+
fontSizeMin,
|
|
124
|
+
fontSizePrev,
|
|
125
|
+
onFinish,
|
|
126
|
+
ref,
|
|
127
|
+
resolution
|
|
128
|
+
]);
|
|
129
|
+
return { fontSize, ref };
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export { useFitText as default };
|
|
133
|
+
//# sourceMappingURL=useFitText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFitText.js","sources":["../../../../src/hooks/useFitText.tsx"],"sourcesContent":["// https://github.com/saltycrane/use-fit-text\n\nimport {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport type TLogLevel = \"debug\" | \"info\" | \"warn\" | \"error\" | \"none\";\n\nexport type TOptions = {\n logLevel?: TLogLevel;\n maxFontSize?: number;\n minFontSize?: number;\n onFinish?: (fontSize: number) => void;\n onStart?: () => void;\n resolution?: number;\n};\n\nconst LOG_LEVEL: Record<TLogLevel, number> = {\n debug: 10,\n info: 20,\n warn: 30,\n error: 40,\n none: 100,\n};\n\n// Suppress `useLayoutEffect` warning when rendering on the server\n// https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useIsoLayoutEffect =\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement !== undefined\n ? useLayoutEffect\n : useEffect;\n\nconst useFitText = ({\n logLevel: logLevelOption = \"info\",\n maxFontSize = 100,\n minFontSize = 20,\n onFinish,\n onStart,\n resolution = 5,\n}: TOptions = {}) => {\n const logLevel = LOG_LEVEL[logLevelOption];\n\n const initState = useCallback(() => {\n return {\n calcKey: 0,\n fontSize: maxFontSize,\n fontSizePrev: minFontSize,\n fontSizeMax: maxFontSize,\n fontSizeMin: minFontSize,\n };\n }, [maxFontSize, minFontSize]);\n\n const ref = useRef<HTMLDivElement>(null);\n const innerHtmlPrevRef = useRef<string | null>();\n const isCalculatingRef = useRef(false);\n const [state, setState] = useState(initState);\n const { calcKey, fontSize, fontSizeMax, fontSizeMin, fontSizePrev } = state;\n\n // Montior div size changes and recalculate on resize\n let animationFrameId: number | null = null;\n const [ro] = useState(\n () =>\n new ResizeObserver(() => {\n animationFrameId = window.requestAnimationFrame(() => {\n if (isCalculatingRef.current) {\n return;\n }\n onStart && onStart();\n isCalculatingRef.current = true;\n // `calcKey` is used in the dependencies array of\n // `useIsoLayoutEffect` below. It is incremented so that the font size\n // will be recalculated even if the previous state didn't change (e.g.\n // when the text fit initially).\n setState({\n ...initState(),\n calcKey: calcKey + 1,\n });\n });\n }),\n );\n\n useEffect(() => {\n if (ref.current) {\n ro.observe(ref.current);\n }\n return () => {\n animationFrameId && window.cancelAnimationFrame(animationFrameId);\n ro.disconnect();\n };\n }, [animationFrameId, ro]);\n\n // Recalculate when the div contents change\n const innerHtml = ref.current && ref.current.innerHTML;\n useEffect(() => {\n if (calcKey === 0 || isCalculatingRef.current) return;\n\n if (innerHtml !== innerHtmlPrevRef.current) {\n onStart && onStart();\n setState({\n ...initState(),\n calcKey: calcKey + 1,\n });\n }\n innerHtmlPrevRef.current = innerHtml;\n }, [calcKey, initState, innerHtml, onStart]);\n\n // Check overflow and resize font\n useIsoLayoutEffect(() => {\n // Don't start calculating font size until the `resizeKey` is incremented\n // above in the `ResizeObserver` callback. This avoids an extra resize\n // on initialization.\n if (calcKey === 0) {\n return;\n }\n\n const isWithinResolution = Math.abs(fontSize - fontSizePrev) <= resolution;\n const isOverflow =\n !!ref.current &&\n (ref.current.scrollHeight > ref.current.offsetHeight ||\n ref.current.scrollWidth > ref.current.offsetWidth);\n const isFailed = isOverflow && fontSize === fontSizePrev;\n const isAsc = fontSize > fontSizePrev;\n\n // Return if the font size has been adjusted \"enough\" (change within `resolution`)\n // reduce font size by one increment if it's overflowing.\n if (isWithinResolution) {\n if (isFailed) {\n isCalculatingRef.current = false;\n if (logLevel <= LOG_LEVEL.info) {\n console.info(\n `[use-fit-text] reached \\`minFontSize = ${minFontSize}\\` without fitting text`,\n );\n }\n } else if (isOverflow) {\n setState({\n fontSize: isAsc ? fontSizePrev : fontSizeMin,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n calcKey,\n });\n } else {\n isCalculatingRef.current = false;\n onFinish && onFinish(fontSize);\n }\n return;\n }\n\n // Binary search to adjust font size\n let delta: number;\n let newMax = fontSizeMax;\n let newMin = fontSizeMin;\n if (isOverflow) {\n delta = isAsc ? fontSizePrev - fontSize : fontSizeMin - fontSize;\n newMax = Math.min(fontSizeMax, fontSize);\n } else {\n delta = isAsc ? fontSizeMax - fontSize : fontSizePrev - fontSize;\n newMin = Math.max(fontSizeMin, fontSize);\n }\n setState({\n calcKey,\n fontSize: fontSize + delta / 2,\n fontSizeMax: newMax,\n fontSizeMin: newMin,\n fontSizePrev: fontSize,\n });\n }, [\n calcKey,\n fontSize,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n onFinish,\n ref,\n resolution,\n ]);\n\n return { fontSize, ref };\n};\n\nexport default useFitText;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useEffect, useRef } from 'react';
|
|
3
|
+
|
|
4
|
+
const KEYCODE_TAB = 9;
|
|
5
|
+
function useFocusTrap() {
|
|
6
|
+
const elRef = useRef(null);
|
|
7
|
+
function handleFocus(e) {
|
|
8
|
+
if (!elRef.current) return;
|
|
9
|
+
var focusableEls = elRef.current.querySelectorAll(`
|
|
10
|
+
a[href]:not(:disabled),
|
|
11
|
+
button:not(:disabled),
|
|
12
|
+
textarea:not(:disabled),
|
|
13
|
+
input[type="text"]:not(:disabled),
|
|
14
|
+
input[type="radio"]:not(:disabled),
|
|
15
|
+
input[type="checkbox"]:not(:disabled),
|
|
16
|
+
select:not(:disabled)
|
|
17
|
+
`), firstFocusableEl = focusableEls[0], lastFocusableEl = focusableEls[focusableEls.length - 1];
|
|
18
|
+
var isTabPressed = e.key === "Tab" || e.keyCode === KEYCODE_TAB;
|
|
19
|
+
if (!isTabPressed) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (e.shiftKey) {
|
|
23
|
+
if (document.activeElement === firstFocusableEl) {
|
|
24
|
+
lastFocusableEl.focus();
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
if (document.activeElement === lastFocusableEl) {
|
|
29
|
+
firstFocusableEl.focus();
|
|
30
|
+
e.preventDefault();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
const el = elRef.current;
|
|
36
|
+
if (el == null) return;
|
|
37
|
+
el.addEventListener("keydown", handleFocus);
|
|
38
|
+
el.focus({ preventScroll: true });
|
|
39
|
+
return () => el.removeEventListener("keydown", handleFocus);
|
|
40
|
+
}, []);
|
|
41
|
+
return elRef;
|
|
42
|
+
}
|
|
43
|
+
function FocusTrap(props) {
|
|
44
|
+
const elRef = useFocusTrap();
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (!elRef.current) return;
|
|
47
|
+
elRef.current.focus({ preventScroll: true });
|
|
48
|
+
}, []);
|
|
49
|
+
return /* @__PURE__ */ jsx("div", { ref: elRef, tabIndex: 0, children: props.children });
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { FocusTrap as default };
|
|
53
|
+
//# sourceMappingURL=useFocusTrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.js","sources":["../../../../src/hooks/useFocusTrap.tsx"],"sourcesContent":["// Based on https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element\n\nimport { useEffect, useRef } from \"react\";\n\nconst KEYCODE_TAB = 9;\n\nfunction useFocusTrap() {\n const elRef = useRef<any>(null);\n\n function handleFocus(e: any) {\n if (!elRef.current) return;\n var focusableEls = elRef.current.querySelectorAll(`\n a[href]:not(:disabled),\n button:not(:disabled),\n textarea:not(:disabled),\n input[type=\"text\"]:not(:disabled),\n input[type=\"radio\"]:not(:disabled),\n input[type=\"checkbox\"]:not(:disabled),\n select:not(:disabled)\n `),\n firstFocusableEl = focusableEls[0],\n lastFocusableEl = focusableEls[focusableEls.length - 1];\n\n var isTabPressed = e.key === \"Tab\" || e.keyCode === KEYCODE_TAB;\n\n if (!isTabPressed) {\n return;\n }\n\n if (e.shiftKey) {\n /* shift + tab */ if (document.activeElement === firstFocusableEl) {\n lastFocusableEl.focus();\n e.preventDefault();\n }\n } /* tab */ else {\n if (document.activeElement === lastFocusableEl) {\n firstFocusableEl.focus();\n e.preventDefault();\n }\n }\n }\n\n useEffect(() => {\n const el = elRef.current;\n if (el == null) return;\n el.addEventListener(\"keydown\", handleFocus);\n el.focus({ preventScroll: true });\n return () => el.removeEventListener(\"keydown\", handleFocus);\n }, []);\n\n return elRef;\n}\n\nexport default function FocusTrap(props: any) {\n const elRef = useFocusTrap();\n\n useEffect(() => {\n if (!elRef.current) return;\n elRef.current.focus({ preventScroll: true });\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div ref={elRef} tabIndex={0}>\n {props.children}\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAIA,MAAM,WAAc,GAAA,CAAA,CAAA;AAEpB,SAAS,YAAe,GAAA;AACtB,EAAM,MAAA,KAAA,GAAQ,OAAY,IAAI,CAAA,CAAA;AAE9B,EAAA,SAAS,YAAY,CAAQ,EAAA;AAC3B,IAAI,IAAA,CAAC,MAAM,OAAS,EAAA,OAAA;AACpB,IAAI,IAAA,YAAA,GAAe,KAAM,CAAA,OAAA,CAAQ,gBAAiB,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQ/C,CAAA,CAAA,EACD,mBAAmB,YAAa,CAAA,CAAC,GACjC,eAAkB,GAAA,YAAA,CAAa,YAAa,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AAExD,IAAA,IAAI,YAAe,GAAA,CAAA,CAAE,GAAQ,KAAA,KAAA,IAAS,EAAE,OAAY,KAAA,WAAA,CAAA;AAEpD,IAAA,IAAI,CAAC,YAAc,EAAA;AACjB,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IAAI,EAAE,QAAU,EAAA;AACI,MAAI,IAAA,QAAA,CAAS,kBAAkB,gBAAkB,EAAA;AACjE,QAAA,eAAA,CAAgB,KAAM,EAAA,CAAA;AACtB,QAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AAAA,OACnB;AAAA,KACe,MAAA;AACf,MAAI,IAAA,QAAA,CAAS,kBAAkB,eAAiB,EAAA;AAC9C,QAAA,gBAAA,CAAiB,KAAM,EAAA,CAAA;AACvB,QAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AAAA,OACnB;AAAA,KACF;AAAA,GACF;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,KAAK,KAAM,CAAA,OAAA,CAAA;AACjB,IAAA,IAAI,MAAM,IAAM,EAAA,OAAA;AAChB,IAAG,EAAA,CAAA,gBAAA,CAAiB,WAAW,WAAW,CAAA,CAAA;AAC1C,IAAA,EAAA,CAAG,KAAM,CAAA,EAAE,aAAe,EAAA,IAAA,EAAM,CAAA,CAAA;AAChC,IAAA,OAAO,MAAM,EAAA,CAAG,mBAAoB,CAAA,SAAA,EAAW,WAAW,CAAA,CAAA;AAAA,GAC5D,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAEA,SAAwB,UAAU,KAAY,EAAA;AAC5C,EAAA,MAAM,QAAQ,YAAa,EAAA,CAAA;AAE3B,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,MAAM,OAAS,EAAA,OAAA;AACpB,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAA,CAAM,EAAE,aAAA,EAAe,MAAM,CAAA,CAAA;AAAA,GAC7C,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,2BACG,KAAI,EAAA,EAAA,GAAA,EAAK,OAAO,QAAU,EAAA,CAAA,EACxB,gBAAM,QACT,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { isIOS, isAndroid } from '../utils/index.js';
|
|
3
|
+
|
|
4
|
+
function useIsMobile() {
|
|
5
|
+
const isI = useMemo(isIOS, []);
|
|
6
|
+
const isA = useMemo(isAndroid, []);
|
|
7
|
+
return { isMobile: isI || isA, isIOS: isI, isAndroid: isA };
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { useIsMobile as default };
|
|
11
|
+
//# sourceMappingURL=useIsMobile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMobile.js","sources":["../../../../src/hooks/useIsMobile.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { isAndroid, isIOS } from \"../utils\";\n\nexport default function useIsMobile() {\n const isI = useMemo(isIOS, []);\n const isA = useMemo(isAndroid, []);\n return { isMobile: isI || isA, isIOS: isI, isAndroid: isA };\n}\n"],"names":[],"mappings":";;;AAGA,SAAwB,WAAc,GAAA;AACpC,EAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,KAAO,EAAA,EAAE,CAAA,CAAA;AAC7B,EAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,SAAW,EAAA,EAAE,CAAA,CAAA;AACjC,EAAA,OAAO,EAAE,QAAU,EAAA,GAAA,IAAO,KAAK,KAAO,EAAA,GAAA,EAAK,WAAW,GAAI,EAAA,CAAA;AAC5D;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
function useIsMounted() {
|
|
4
|
+
const [mounted, setMounted] = useState(false);
|
|
5
|
+
useEffect(() => setMounted(true), []);
|
|
6
|
+
return mounted;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { useIsMounted as default };
|
|
10
|
+
//# sourceMappingURL=useIsMounted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMounted.js","sources":["../../../../src/hooks/useIsMounted.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\n/** Utility. Returns false on first render, true after.\n * Useful for apps with SSR, for example. */\nexport default function useIsMounted() {\n const [mounted, setMounted] = useState(false);\n useEffect(() => setMounted(true), []);\n return mounted;\n}\n"],"names":[],"mappings":";;AAIA,SAAwB,YAAe,GAAA;AACrC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC5C,EAAA,SAAA,CAAU,MAAM,UAAA,CAAW,IAAI,CAAA,EAAG,EAAE,CAAA,CAAA;AACpC,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import { useConfig } from 'wagmi';
|
|
3
|
+
|
|
4
|
+
const useLastConnector = () => {
|
|
5
|
+
const { storage } = useConfig();
|
|
6
|
+
const [lastConnectorId, setLastConnectorId] = useState(null);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const init = async () => {
|
|
9
|
+
const id = await storage?.getItem("recentConnectorId");
|
|
10
|
+
setLastConnectorId(id ?? "");
|
|
11
|
+
};
|
|
12
|
+
init();
|
|
13
|
+
}, []);
|
|
14
|
+
const update = (id) => {
|
|
15
|
+
storage?.setItem("recentConnectorId", id);
|
|
16
|
+
};
|
|
17
|
+
return {
|
|
18
|
+
lastConnectorId,
|
|
19
|
+
updateLastConnectorId: update
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { useLastConnector };
|
|
24
|
+
//# sourceMappingURL=useLastConnector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLastConnector.js","sources":["../../../../src/hooks/useLastConnector.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useConfig } from \"wagmi\";\n\nexport const useLastConnector = () => {\n const { storage } = useConfig();\n const [lastConnectorId, setLastConnectorId] = useState<string | null>(null);\n\n useEffect(() => {\n const init = async () => {\n const id = await storage?.getItem(\"recentConnectorId\");\n setLastConnectorId(id ?? \"\");\n };\n init();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const update = (id: string) => {\n storage?.setItem(\"recentConnectorId\", id);\n };\n\n return {\n lastConnectorId,\n updateLastConnectorId: update,\n };\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,MAAM;AACpC,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,SAAU,EAAA,CAAA;AAC9B,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAI,SAAwB,IAAI,CAAA,CAAA;AAE1E,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,OAAO,YAAY;AACvB,MAAA,MAAM,EAAK,GAAA,MAAM,OAAS,EAAA,OAAA,CAAQ,mBAAmB,CAAA,CAAA;AACrD,MAAA,kBAAA,CAAmB,MAAM,EAAE,CAAA,CAAA;AAAA,KAC7B,CAAA;AACA,IAAK,IAAA,EAAA,CAAA;AAAA,GACP,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,MAAA,GAAS,CAAC,EAAe,KAAA;AAC7B,IAAS,OAAA,EAAA,OAAA,CAAQ,qBAAqB,EAAE,CAAA,CAAA;AAAA,GAC1C,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,eAAA;AAAA,IACA,qBAAuB,EAAA,MAAA;AAAA,GACzB,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React, { useMemo } from 'react';
|
|
3
|
+
import { usePayContext } from './usePayContext.js';
|
|
4
|
+
import { getLocale } from '../localizations/index.js';
|
|
5
|
+
|
|
6
|
+
function useLocales(replacements) {
|
|
7
|
+
const context = usePayContext();
|
|
8
|
+
const language = context.options?.language ?? "en-US";
|
|
9
|
+
const translations = useMemo(() => {
|
|
10
|
+
return getLocale(language);
|
|
11
|
+
}, [language]);
|
|
12
|
+
if (!translations) {
|
|
13
|
+
console.error(`Missing translations for: ${language}`);
|
|
14
|
+
throw new Error(`Missing translations for: ${language}`);
|
|
15
|
+
}
|
|
16
|
+
const translated = {};
|
|
17
|
+
Object.keys(translations).map((key) => {
|
|
18
|
+
const string = translations[key];
|
|
19
|
+
return translated[key] = localize(string, replacements);
|
|
20
|
+
});
|
|
21
|
+
return translated;
|
|
22
|
+
}
|
|
23
|
+
const localize = (text, replacements) => {
|
|
24
|
+
let parsedText = text;
|
|
25
|
+
if (replacements) {
|
|
26
|
+
Object.keys(replacements).forEach((key) => {
|
|
27
|
+
parsedText = parsedText.replace(
|
|
28
|
+
new RegExp(`({{ ${key} }})`, "g"),
|
|
29
|
+
replacements[key]
|
|
30
|
+
);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return replaceMarkdown(parsedText);
|
|
34
|
+
};
|
|
35
|
+
const replaceMarkdown = (markdownText) => {
|
|
36
|
+
let text = markdownText;
|
|
37
|
+
text = text.split("\n");
|
|
38
|
+
text = text.map((t, i) => {
|
|
39
|
+
return /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
40
|
+
wrapTags(t),
|
|
41
|
+
i < text.length - 1 && /* @__PURE__ */ jsx("br", {})
|
|
42
|
+
] }, i);
|
|
43
|
+
});
|
|
44
|
+
return text;
|
|
45
|
+
};
|
|
46
|
+
const wrapTags = (text) => {
|
|
47
|
+
const textArray = text.split(/(\*\*[^\*]*\*\*)/g);
|
|
48
|
+
let result = textArray.map((str, i) => {
|
|
49
|
+
if (/(\*\*.*\*\*)/g.test(str)) {
|
|
50
|
+
return /* @__PURE__ */ jsx("strong", { children: str.replace(/\*\*/g, "") }, i);
|
|
51
|
+
}
|
|
52
|
+
return `${str}`;
|
|
53
|
+
});
|
|
54
|
+
return result.map((r) => {
|
|
55
|
+
return r;
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export { useLocales as default };
|
|
60
|
+
//# sourceMappingURL=useLocales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocales.js","sources":["../../../../src/hooks/useLocales.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\n\nimport { usePayContext } from \"./usePayContext\";\n\nimport { LocaleFull } from \"../localizations/locales\";\nimport { getLocale } from \"./../localizations\";\n\nexport default function useLocales(replacements?: any): LocaleFull {\n const context = usePayContext();\n const language = context.options?.language ?? \"en-US\";\n\n const translations = useMemo(() => {\n return getLocale(language);\n }, [language]);\n\n if (!translations) {\n console.error(`Missing translations for: ${language}`);\n throw new Error(`Missing translations for: ${language}`);\n }\n\n const translated: any = {};\n Object.keys(translations).map((key) => {\n const string = translations[key];\n return (translated[key] = localize(string, replacements));\n });\n\n return translated;\n}\n\nconst localize = (text: string, replacements?: any[string]) => {\n let parsedText: string = text;\n if (replacements) {\n Object.keys(replacements).forEach((key) => {\n // use `replace` instead of `replaceAll` to support Node 14\n parsedText = parsedText.replace(\n new RegExp(`({{ ${key} }})`, \"g\"),\n replacements[key as keyof typeof replacements],\n );\n });\n }\n return replaceMarkdown(parsedText);\n};\n\nconst replaceMarkdown = (markdownText: string) => {\n let text: any = markdownText;\n text = text.split(\"\\n\");\n text = text.map((t: string, i: number) => {\n return (\n <React.Fragment key={i}>\n {wrapTags(t)}\n {i < text.length - 1 && <br />}\n </React.Fragment>\n );\n });\n return text;\n};\n\nconst wrapTags = (text: string) => {\n // Bold markdown handling\n const textArray = text.split(/(\\*\\*[^\\*]*\\*\\*)/g);\n let result = textArray.map((str, i) => {\n if (/(\\*\\*.*\\*\\*)/g.test(str)) {\n // use `replace` instead of `replaceAll` to support Node 14\n return <strong key={i}>{str.replace(/\\*\\*/g, \"\")}</strong>;\n }\n return `${str}`;\n });\n\n // Replace text with logo\n return result.map((r) => {\n return r;\n });\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { useState, useEffect, useLayoutEffect } from 'react';
|
|
2
|
+
import { usePayContext } from './usePayContext.js';
|
|
3
|
+
|
|
4
|
+
const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
5
|
+
function useLockBodyScroll(initialLocked) {
|
|
6
|
+
const [locked, setLocked] = useState(initialLocked);
|
|
7
|
+
const context = usePayContext();
|
|
8
|
+
useIsomorphicLayoutEffect(() => {
|
|
9
|
+
if (!locked) return;
|
|
10
|
+
const original = {
|
|
11
|
+
overflow: document.body.style.overflow,
|
|
12
|
+
position: document.body.style.position,
|
|
13
|
+
touchAction: document.body.style.touchAction,
|
|
14
|
+
paddingRight: document.body.style.paddingRight
|
|
15
|
+
//htmlOverflow: document.documentElement.style.overflow,
|
|
16
|
+
};
|
|
17
|
+
const style = getComputedStyle(document.body);
|
|
18
|
+
const offsetX = parseInt(style.marginRight) + parseInt(style.paddingRight) + parseInt(style.borderRight) + parseInt(style.marginLeft) + parseInt(style.paddingLeft) + parseInt(style.borderLeft);
|
|
19
|
+
const scrollBarWidth = window.innerWidth - document.body.offsetWidth - offsetX;
|
|
20
|
+
document.documentElement.style.setProperty(
|
|
21
|
+
"--ck-scrollbar-width",
|
|
22
|
+
`${scrollBarWidth}px`
|
|
23
|
+
);
|
|
24
|
+
document.body.style.overflow = "hidden";
|
|
25
|
+
document.body.style.position = "relative";
|
|
26
|
+
document.body.style.touchAction = "none";
|
|
27
|
+
if (context.options?.avoidLayoutShift) {
|
|
28
|
+
document.body.style.paddingRight = `${scrollBarWidth}px`;
|
|
29
|
+
}
|
|
30
|
+
return () => {
|
|
31
|
+
document.documentElement.style.removeProperty("--ck-scrollbar-width");
|
|
32
|
+
document.body.style.overflow = original.overflow;
|
|
33
|
+
document.body.style.position = original.position;
|
|
34
|
+
document.body.style.touchAction = original.touchAction;
|
|
35
|
+
if (context.options?.avoidLayoutShift) {
|
|
36
|
+
document.body.style.paddingRight = original.paddingRight;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}, [locked]);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (locked !== initialLocked) setLocked(initialLocked);
|
|
42
|
+
}, [initialLocked]);
|
|
43
|
+
return [locked, setLocked];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { useLockBodyScroll as default };
|
|
47
|
+
//# sourceMappingURL=useLockBodyScroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLockBodyScroll.js","sources":["../../../../src/hooks/useLockBodyScroll.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useState } from \"react\";\nimport { usePayContext } from \"./usePayContext\";\n\nconst useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\nexport default function useLockBodyScroll(initialLocked: boolean) {\n const [locked, setLocked] = useState(initialLocked);\n\n const context = usePayContext();\n\n useIsomorphicLayoutEffect(() => {\n if (!locked) return;\n\n const original = {\n overflow: document.body.style.overflow,\n position: document.body.style.position,\n touchAction: document.body.style.touchAction,\n paddingRight: document.body.style.paddingRight,\n //htmlOverflow: document.documentElement.style.overflow,\n };\n\n const style = getComputedStyle(document.body);\n const offsetX =\n parseInt(style.marginRight) +\n parseInt(style.paddingRight) +\n parseInt(style.borderRight) +\n parseInt(style.marginLeft) +\n parseInt(style.paddingLeft) +\n parseInt(style.borderLeft);\n\n const scrollBarWidth =\n window.innerWidth - document.body.offsetWidth - offsetX;\n document.documentElement.style.setProperty(\n \"--ck-scrollbar-width\",\n `${scrollBarWidth}px`,\n );\n\n document.body.style.overflow = \"hidden\";\n document.body.style.position = \"relative\";\n document.body.style.touchAction = \"none\";\n //document.documentElement.style.overflow = 'hidden'; // overflow:hidden; on <html> breaks position:sticky;\n if (context.options?.avoidLayoutShift) {\n document.body.style.paddingRight = `${scrollBarWidth}px`;\n }\n\n return () => {\n document.documentElement.style.removeProperty(\"--ck-scrollbar-width\");\n\n document.body.style.overflow = original.overflow;\n document.body.style.position = original.position;\n document.body.style.touchAction = original.touchAction;\n //document.documentElement.style.overflow = original.htmlOverflow;\n if (context.options?.avoidLayoutShift) {\n document.body.style.paddingRight = original.paddingRight;\n }\n };\n }, [locked]);\n\n useEffect(() => {\n if (locked !== initialLocked) setLocked(initialLocked);\n }, [initialLocked]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return [locked, setLocked];\n}\n"],"names":[],"mappings":";;;AAGA,MAAM,yBACJ,GAAA,OAAO,MAAW,KAAA,WAAA,GAAc,eAAkB,GAAA,SAAA,CAAA;AAEpD,SAAwB,kBAAkB,aAAwB,EAAA;AAChE,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,aAAa,CAAA,CAAA;AAElD,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAE9B,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,CAAC,MAAQ,EAAA,OAAA;AAEb,IAAA,MAAM,QAAW,GAAA;AAAA,MACf,QAAA,EAAU,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,QAAA;AAAA,MAC9B,QAAA,EAAU,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,QAAA;AAAA,MAC9B,WAAA,EAAa,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,WAAA;AAAA,MACjC,YAAA,EAAc,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,YAAA;AAAA;AAAA,KAEpC,CAAA;AAEA,IAAM,MAAA,KAAA,GAAQ,gBAAiB,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAC5C,IAAM,MAAA,OAAA,GACJ,SAAS,KAAM,CAAA,WAAW,IAC1B,QAAS,CAAA,KAAA,CAAM,YAAY,CAAA,GAC3B,QAAS,CAAA,KAAA,CAAM,WAAW,CAC1B,GAAA,QAAA,CAAS,KAAM,CAAA,UAAU,CACzB,GAAA,QAAA,CAAS,MAAM,WAAW,CAAA,GAC1B,QAAS,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAE3B,IAAA,MAAM,cACJ,GAAA,MAAA,CAAO,UAAa,GAAA,QAAA,CAAS,KAAK,WAAc,GAAA,OAAA,CAAA;AAClD,IAAA,QAAA,CAAS,gBAAgB,KAAM,CAAA,WAAA;AAAA,MAC7B,sBAAA;AAAA,MACA,GAAG,cAAc,CAAA,EAAA,CAAA;AAAA,KACnB,CAAA;AAEA,IAAS,QAAA,CAAA,IAAA,CAAK,MAAM,QAAW,GAAA,QAAA,CAAA;AAC/B,IAAS,QAAA,CAAA,IAAA,CAAK,MAAM,QAAW,GAAA,UAAA,CAAA;AAC/B,IAAS,QAAA,CAAA,IAAA,CAAK,MAAM,WAAc,GAAA,MAAA,CAAA;AAElC,IAAI,IAAA,OAAA,CAAQ,SAAS,gBAAkB,EAAA;AACrC,MAAA,QAAA,CAAS,IAAK,CAAA,KAAA,CAAM,YAAe,GAAA,CAAA,EAAG,cAAc,CAAA,EAAA,CAAA,CAAA;AAAA,KACtD;AAEA,IAAA,OAAO,MAAM;AACX,MAAS,QAAA,CAAA,eAAA,CAAgB,KAAM,CAAA,cAAA,CAAe,sBAAsB,CAAA,CAAA;AAEpE,MAAS,QAAA,CAAA,IAAA,CAAK,KAAM,CAAA,QAAA,GAAW,QAAS,CAAA,QAAA,CAAA;AACxC,MAAS,QAAA,CAAA,IAAA,CAAK,KAAM,CAAA,QAAA,GAAW,QAAS,CAAA,QAAA,CAAA;AACxC,MAAS,QAAA,CAAA,IAAA,CAAK,KAAM,CAAA,WAAA,GAAc,QAAS,CAAA,WAAA,CAAA;AAE3C,MAAI,IAAA,OAAA,CAAQ,SAAS,gBAAkB,EAAA;AACrC,QAAS,QAAA,CAAA,IAAA,CAAK,KAAM,CAAA,YAAA,GAAe,QAAS,CAAA,YAAA,CAAA;AAAA,OAC9C;AAAA,KACF,CAAA;AAAA,GACF,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,MAAA,KAAW,aAAe,EAAA,SAAA,CAAU,aAAa,CAAA,CAAA;AAAA,GACvD,EAAG,CAAC,aAAa,CAAC,CAAA,CAAA;AAElB,EAAO,OAAA,CAAC,QAAQ,SAAS,CAAA,CAAA;AAC3B;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
function useOrderUsdLimits({ trpc }) {
|
|
4
|
+
const [limits, setLimits] = useState({});
|
|
5
|
+
const [loading, setLoading] = useState(false);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
const refreshOrderUsdLimits = async () => {
|
|
8
|
+
setLoading(true);
|
|
9
|
+
try {
|
|
10
|
+
const { limits: newLimits } = await trpc.getOrderUsdLimits.query();
|
|
11
|
+
setLimits(newLimits);
|
|
12
|
+
} catch (e) {
|
|
13
|
+
console.error(e);
|
|
14
|
+
} finally {
|
|
15
|
+
setLoading(false);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
refreshOrderUsdLimits();
|
|
19
|
+
}, []);
|
|
20
|
+
return { limits, loading };
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { useOrderUsdLimits };
|
|
24
|
+
//# sourceMappingURL=useOrderUsdLimits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrderUsdLimits.js","sources":["../../../../src/hooks/useOrderUsdLimits.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { TrpcClient } from \"../utils/trpc\";\n\nexport function useOrderUsdLimits({ trpc }: { trpc: TrpcClient }) {\n const [limits, setLimits] = useState<Record<string, number>>({});\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n const refreshOrderUsdLimits = async () => {\n setLoading(true);\n try {\n const { limits: newLimits } = await trpc.getOrderUsdLimits.query();\n setLimits(newLimits);\n } catch (e) {\n console.error(e);\n } finally {\n setLoading(false);\n }\n };\n\n refreshOrderUsdLimits();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return { limits, loading };\n}\n"],"names":[],"mappings":";;AAGgB,SAAA,iBAAA,CAAkB,EAAE,IAAA,EAA8B,EAAA;AAChE,EAAA,MAAM,CAAC,MAAQ,EAAA,SAAS,CAAI,GAAA,QAAA,CAAiC,EAAE,CAAA,CAAA;AAC/D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAE5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,wBAAwB,YAAY;AACxC,MAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,MAAI,IAAA;AACF,QAAA,MAAM,EAAE,MAAQ,EAAA,SAAA,KAAc,MAAM,IAAA,CAAK,kBAAkB,KAAM,EAAA,CAAA;AACjE,QAAA,SAAA,CAAU,SAAS,CAAA,CAAA;AAAA,eACZ,CAAG,EAAA;AACV,QAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,OACf,SAAA;AACA,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEA,IAAsB,qBAAA,EAAA,CAAA;AAAA,GACxB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA,EAAE,QAAQ,OAAQ,EAAA,CAAA;AAC3B;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PayContext } from '../provider/PayContext.js';
|
|
3
|
+
|
|
4
|
+
const usePayContext = () => {
|
|
5
|
+
const context = React.useContext(PayContext);
|
|
6
|
+
if (!context) throw Error("DaimoPay Hook must be inside a Provider.");
|
|
7
|
+
return context;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { usePayContext };
|
|
11
|
+
//# sourceMappingURL=usePayContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePayContext.js","sources":["../../../../src/hooks/usePayContext.ts"],"sourcesContent":["import React from \"react\";\nimport { PayContext } from \"../provider/PayContext\";\n\n/** Daimo Pay internal context. */\nexport const usePayContext = () => {\n const context = React.useContext(PayContext);\n if (!context) throw Error(\"DaimoPay Hook must be inside a Provider.\");\n return context;\n};\n"],"names":[],"mappings":";;;AAIO,MAAM,gBAAgB,MAAM;AACjC,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,UAAA,CAAW,UAAU,CAAA,CAAA;AAC3C,EAAA,IAAI,CAAC,OAAA,EAAe,MAAA,KAAA,CAAM,0CAA0C,CAAA,CAAA;AACpE,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
|