@daimo/pay 1.19.5 → 1.19.7
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/_virtual/common.js +4 -0
- package/build/_virtual/common.js.map +1 -0
- package/build/_virtual/common2.js +4 -0
- package/build/_virtual/common2.js.map +1 -0
- package/build/_virtual/hash.js +4 -0
- package/build/_virtual/hash.js.map +1 -0
- package/build/_virtual/hash2.js +4 -0
- package/build/_virtual/hash2.js.map +1 -0
- package/build/_virtual/index.js +4 -0
- package/build/_virtual/index.js.map +1 -0
- package/build/_virtual/index2.js +4 -0
- package/build/_virtual/index2.js.map +1 -0
- package/build/_virtual/inherits_browser.js +4 -0
- package/build/_virtual/inherits_browser.js.map +1 -0
- package/build/_virtual/ripemd.js +4 -0
- package/build/_virtual/ripemd.js.map +1 -0
- package/build/_virtual/sha.js +4 -0
- package/build/_virtual/sha.js.map +1 -0
- package/build/_virtual/utils.js +4 -0
- package/build/_virtual/utils.js.map +1 -0
- package/build/node_modules/@binance/w3w-utils/dist/index.js +7 -0
- package/build/node_modules/@binance/w3w-utils/dist/index.js.map +1 -0
- package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js +349 -0
- package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/common.js +105 -0
- package/build/node_modules/hash.js/lib/hash/common.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/hmac.js +60 -0
- package/build/node_modules/hash.js/lib/hash/hmac.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/ripemd.js +159 -0
- package/build/node_modules/hash.js/lib/hash/ripemd.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/1.js +88 -0
- package/build/node_modules/hash.js/lib/hash/sha/1.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/224.js +42 -0
- package/build/node_modules/hash.js/lib/hash/sha/224.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/256.js +120 -0
- package/build/node_modules/hash.js/lib/hash/sha/256.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/384.js +48 -0
- package/build/node_modules/hash.js/lib/hash/sha/384.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/512.js +344 -0
- package/build/node_modules/hash.js/lib/hash/sha/512.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/common.js +61 -0
- package/build/node_modules/hash.js/lib/hash/sha/common.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha.js +23 -0
- package/build/node_modules/hash.js/lib/hash/sha.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/utils.js +291 -0
- package/build/node_modules/hash.js/lib/hash/utils.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash.js +34 -0
- package/build/node_modules/hash.js/lib/hash.js.map +1 -0
- package/build/node_modules/inherits/inherits_browser.js +39 -0
- package/build/node_modules/inherits/inherits_browser.js.map +1 -0
- package/build/node_modules/minimalistic-assert/index.js +22 -0
- package/build/node_modules/minimalistic-assert/index.js.map +1 -0
- package/build/package.json.js +2 -2
- package/build/pay/packages/connectkit/package.json.js +123 -0
- package/build/pay/packages/connectkit/package.json.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js +329 -0
- package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js +243 -0
- package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/browsers.js +969 -0
- package/build/pay/packages/connectkit/src/assets/browsers.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/chains.js +639 -0
- package/build/pay/packages/connectkit/src/assets/chains.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/icons.js +273 -0
- package/build/pay/packages/connectkit/src/assets/icons.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/logos.js +1722 -0
- package/build/pay/packages/connectkit/src/assets/logos.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/wave.js +46 -0
- package/build/pay/packages/connectkit/src/assets/wave.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/index.js +13 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js +55 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js +159 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js +78 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js +54 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/index.js +144 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/styles.js +287 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/index.js +141 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js +90 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js +92 -0
- package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js +121 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js +132 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js +89 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js +142 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/FitText/index.js +34 -0
- package/build/pay/packages/connectkit/src/components/Common/FitText/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/index.js +547 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js +665 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js +145 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js +138 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js +148 -0
- package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
- package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Portal/index.js +30 -0
- package/build/pay/packages/connectkit/src/components/Common/Portal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js +39 -0
- package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js +120 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
- package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js +64 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js +22 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js +43 -0
- package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js +46 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
- package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js +129 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js +81 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
- package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js +196 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js +50 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js +70 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +339 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +86 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js +605 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js +853 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/index.js +222 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/styles.js +140 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js +126 -0
- package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js +26 -0
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Error/index.js +57 -0
- package/build/pay/packages/connectkit/src/components/Pages/Error/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js +108 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js +34 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
- package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +80 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js +62 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js +315 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js +99 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js +71 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
- package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js +586 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js +174 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js +56 -0
- package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
- package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
- package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/styles.js +32 -0
- package/build/pay/packages/connectkit/src/components/Spinners/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/defaultTheme.js +6 -0
- package/build/pay/packages/connectkit/src/constants/defaultTheme.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/limits.js +4 -0
- package/build/pay/packages/connectkit/src/constants/limits.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/paymentOptions.js +62 -0
- package/build/pay/packages/connectkit/src/constants/paymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/routes.js +31 -0
- package/build/pay/packages/connectkit/src/constants/routes.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/wallets.js +7 -0
- package/build/pay/packages/connectkit/src/constants/wallets.js.map +1 -0
- package/build/pay/packages/connectkit/src/defaultConfig.js +64 -0
- package/build/pay/packages/connectkit/src/defaultConfig.js.map +1 -0
- package/build/pay/packages/connectkit/src/defaultConnectors.js +37 -0
- package/build/pay/packages/connectkit/src/defaultConnectors.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js +10 -0
- package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useChains.js +10 -0
- package/build/pay/packages/connectkit/src/hooks/useChains.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useConnect.js +61 -0
- package/build/pay/packages/connectkit/src/hooks/useConnect.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js +21 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectors.js +20 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectors.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js +131 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js +15 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
- package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
- package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js +79 -0
- package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useFitText.js +133 -0
- package/build/pay/packages/connectkit/src/hooks/useFitText.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js +53 -0
- package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMobile.js +11 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMobile.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMounted.js +10 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMounted.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useLastConnector.js +24 -0
- package/build/pay/packages/connectkit/src/hooks/useLastConnector.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useLocales.js +60 -0
- package/build/pay/packages/connectkit/src/hooks/useLocales.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js +47 -0
- package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
- package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/usePayContext.js +11 -0
- package/build/pay/packages/connectkit/src/hooks/usePayContext.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/usePaymentState.js +410 -0
- package/build/pay/packages/connectkit/src/hooks/usePaymentState.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/usePrevious.js +13 -0
- package/build/pay/packages/connectkit/src/hooks/usePrevious.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js +38 -0
- package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js +152 -0
- package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js +32 -0
- package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
- package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useWindowSize.js +23 -0
- package/build/pay/packages/connectkit/src/hooks/useWindowSize.js.map +1 -0
- package/build/pay/packages/connectkit/src/index.js +14 -0
- package/build/pay/packages/connectkit/src/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/index.js +48 -0
- package/build/pay/packages/connectkit/src/localizations/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js +95 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js +101 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/en-US.js +145 -0
- package/build/pay/packages/connectkit/src/localizations/locales/en-US.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js +138 -0
- package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js +145 -0
- package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js +97 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js +101 -0
- package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js +101 -0
- package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentEffects.js +268 -0
- package/build/pay/packages/connectkit/src/payment/paymentEffects.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentFsm.js +234 -0
- package/build/pay/packages/connectkit/src/payment/paymentFsm.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentStore.js +18 -0
- package/build/pay/packages/connectkit/src/payment/paymentStore.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentUtils.js +10 -0
- package/build/pay/packages/connectkit/src/payment/paymentUtils.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js +292 -0
- package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/PayContext.js +6 -0
- package/build/pay/packages/connectkit/src/provider/PayContext.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/PaymentProvider.js +29 -0
- package/build/pay/packages/connectkit/src/provider/PaymentProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js +14 -0
- package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js +36 -0
- package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/stateStore.js +36 -0
- package/build/pay/packages/connectkit/src/stateStore.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/defaultTheme.js +80 -0
- package/build/pay/packages/connectkit/src/styles/defaultTheme.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/index.js +313 -0
- package/build/pay/packages/connectkit/src/styles/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/styled/index.js +6 -0
- package/build/pay/packages/connectkit/src/styles/styled/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/base.js +141 -0
- package/build/pay/packages/connectkit/src/styles/themes/base.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/index.js +13 -0
- package/build/pay/packages/connectkit/src/styles/themes/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/midnight.js +76 -0
- package/build/pay/packages/connectkit/src/styles/themes/midnight.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/minimal.js +96 -0
- package/build/pay/packages/connectkit/src/styles/themes/minimal.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/nouns.js +81 -0
- package/build/pay/packages/connectkit/src/styles/themes/nouns.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/retro.js +106 -0
- package/build/pay/packages/connectkit/src/styles/themes/retro.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/rounded.js +106 -0
- package/build/pay/packages/connectkit/src/styles/themes/rounded.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/soft.js +71 -0
- package/build/pay/packages/connectkit/src/styles/themes/soft.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/web95.js +132 -0
- package/build/pay/packages/connectkit/src/styles/themes/web95.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/exports.js +6 -0
- package/build/pay/packages/connectkit/src/utils/exports.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/format.js +45 -0
- package/build/pay/packages/connectkit/src/utils/format.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/index.js +42 -0
- package/build/pay/packages/connectkit/src/utils/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/p3.js +15 -0
- package/build/pay/packages/connectkit/src/utils/p3.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/platform.js +11 -0
- package/build/pay/packages/connectkit/src/utils/platform.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/polling.js +35 -0
- package/build/pay/packages/connectkit/src/utils/polling.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/supportUrl.js +16 -0
- package/build/pay/packages/connectkit/src/utils/supportUrl.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/trpc.js +19 -0
- package/build/pay/packages/connectkit/src/utils/trpc.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/validateInput.js +16 -0
- package/build/pay/packages/connectkit/src/utils/validateInput.js.map +1 -0
- package/build/pay/packages/connectkit/src/wallets/index.js +21 -0
- package/build/pay/packages/connectkit/src/wallets/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/wallets/useWallets.js +278 -0
- package/build/pay/packages/connectkit/src/wallets/useWallets.js.map +1 -0
- package/build/pay/packages/connectkit/src/wallets/walletConfigs.js +281 -0
- package/build/pay/packages/connectkit/src/wallets/walletConfigs.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js +165 -0
- package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
- package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js +76 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js +74 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js.map +1 -0
- package/build/pay/packages/connectkit/src/world.js +4 -0
- package/build/pay/packages/connectkit/src/world.js.map +1 -0
- package/build/src/components/Common/PoweredByFooter/index.js +10 -37
- package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +3 -0
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
- package/build/src/components/Pages/Confirmation/index.js +8 -10
- package/build/src/components/Pages/Confirmation/index.js.map +1 -1
- package/build/src/payment/paymentEffects.js +9 -7
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/provider/DaimoPayProvider.js +9 -1
- package/build/src/provider/DaimoPayProvider.js.map +1 -1
- package/build/src/provider/PaymentProvider.js +9 -3
- package/build/src/provider/PaymentProvider.js.map +1 -1
- package/build/src/utils/polling.js +14 -5
- package/build/src/utils/polling.js.map +1 -1
- package/build/src/utils/wallets.js +9 -0
- package/build/src/utils/wallets.js.map +1 -0
- package/build/src/wallets/useWallets.js +1 -1
- package/build/src/wallets/useWallets.js.map +1 -1
- package/build/src/wallets/walletConfigs.js +8 -84
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { debugJson, DaimoPayOrderMode, DaimoPayOrderStatusSource } from '@daimo/pay-common';
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
import React, { useMemo, useState, useRef, useCallback, useEffect, createElement } from 'react';
|
|
5
|
+
import { ThemeProvider } from 'styled-components';
|
|
6
|
+
import { WagmiContext } from 'wagmi';
|
|
7
|
+
import { DaimoPayModal } from '../components/DaimoPayModal/index.js';
|
|
8
|
+
import { ROUTES } from '../constants/routes.js';
|
|
9
|
+
import { REQUIRED_CHAINS } from '../defaultConfig.js';
|
|
10
|
+
import { useChains } from '../hooks/useChains.js';
|
|
11
|
+
import { useConnectCallback } from '../hooks/useConnectCallback.js';
|
|
12
|
+
import { useDaimoPay } from '../hooks/useDaimoPay.js';
|
|
13
|
+
import { usePaymentState } from '../hooks/usePaymentState.js';
|
|
14
|
+
import { PaymentProvider, PaymentContext } from './PaymentProvider.js';
|
|
15
|
+
import defaultTheme from '../styles/defaultTheme.js';
|
|
16
|
+
import { createTrpcClient } from '../utils/trpc.js';
|
|
17
|
+
import { setInWalletPaymentUrlFromApiUrl } from '../wallets/walletConfigs.js';
|
|
18
|
+
import { PayContext } from './PayContext.js';
|
|
19
|
+
import { SolanaContextProvider } from './SolanaContextProvider.js';
|
|
20
|
+
import { Web3ContextProvider } from './Web3ContextProvider.js';
|
|
21
|
+
|
|
22
|
+
const DaimoPayUIProvider = ({
|
|
23
|
+
children,
|
|
24
|
+
theme = "auto",
|
|
25
|
+
mode = "auto",
|
|
26
|
+
customTheme,
|
|
27
|
+
options,
|
|
28
|
+
onConnect,
|
|
29
|
+
onDisconnect,
|
|
30
|
+
debugMode = false,
|
|
31
|
+
payApiUrl,
|
|
32
|
+
log
|
|
33
|
+
}) => {
|
|
34
|
+
if (!React.useContext(PaymentContext)) {
|
|
35
|
+
throw Error("DaimoPayProvider must be within a PaymentProvider");
|
|
36
|
+
}
|
|
37
|
+
if (!React.useContext(WagmiContext)) {
|
|
38
|
+
throw Error("DaimoPayProvider must be within a WagmiProvider");
|
|
39
|
+
}
|
|
40
|
+
if (React.useContext(PayContext)) {
|
|
41
|
+
throw new Error(
|
|
42
|
+
"Multiple, nested usages of DaimoPayProvider detected. Please use only one."
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
useConnectCallback({
|
|
46
|
+
onConnect,
|
|
47
|
+
onDisconnect
|
|
48
|
+
});
|
|
49
|
+
const chains = useChains();
|
|
50
|
+
for (const requiredChain of REQUIRED_CHAINS) {
|
|
51
|
+
if (!chains.some((c) => c.id === requiredChain.id)) {
|
|
52
|
+
throw new Error(
|
|
53
|
+
`Daimo Pay requires chains ${REQUIRED_CHAINS.map((c) => c.name).join(", ")}. Use \`getDefaultConfig\` to automatically configure required chains.`
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const defaultOptions = {
|
|
58
|
+
language: "en-US",
|
|
59
|
+
hideBalance: false,
|
|
60
|
+
hideTooltips: false,
|
|
61
|
+
hideQuestionMarkCTA: false,
|
|
62
|
+
hideRecentBadge: false,
|
|
63
|
+
avoidLayoutShift: true,
|
|
64
|
+
embedGoogleFonts: false,
|
|
65
|
+
truncateLongENSAddress: true,
|
|
66
|
+
reducedMotion: false,
|
|
67
|
+
disclaimer: null,
|
|
68
|
+
bufferPolyfill: true,
|
|
69
|
+
customAvatar: void 0,
|
|
70
|
+
initialChainId: void 0,
|
|
71
|
+
enforceSupportedChains: false,
|
|
72
|
+
ethereumOnboardingUrl: void 0,
|
|
73
|
+
walletOnboardingUrl: void 0,
|
|
74
|
+
overlayBlur: void 0,
|
|
75
|
+
disableMobileInjector: false
|
|
76
|
+
};
|
|
77
|
+
const opts = Object.assign(
|
|
78
|
+
{},
|
|
79
|
+
defaultOptions,
|
|
80
|
+
options
|
|
81
|
+
);
|
|
82
|
+
if (typeof window !== "undefined") {
|
|
83
|
+
if (opts.bufferPolyfill) window.Buffer = window.Buffer ?? Buffer;
|
|
84
|
+
}
|
|
85
|
+
const pay = useDaimoPay();
|
|
86
|
+
const [ckTheme, setTheme] = useState(theme);
|
|
87
|
+
const [ckMode, setMode] = useState(mode);
|
|
88
|
+
const [ckCustomTheme, setCustomTheme] = useState(
|
|
89
|
+
customTheme ?? {}
|
|
90
|
+
);
|
|
91
|
+
const [ckLang, setLang] = useState("en-US");
|
|
92
|
+
const [disableMobileInjector, setDisableMobileInjector] = useState(
|
|
93
|
+
opts.disableMobileInjector ?? false
|
|
94
|
+
);
|
|
95
|
+
const onOpenRef = useRef();
|
|
96
|
+
const onCloseRef = useRef();
|
|
97
|
+
const setOnOpen = useCallback((fn) => {
|
|
98
|
+
onOpenRef.current = fn;
|
|
99
|
+
}, []);
|
|
100
|
+
const setOnClose = useCallback((fn) => {
|
|
101
|
+
onCloseRef.current = fn;
|
|
102
|
+
}, []);
|
|
103
|
+
const [open, setOpenState] = useState(false);
|
|
104
|
+
const [lockPayParams, setLockPayParams] = useState(false);
|
|
105
|
+
const [paymentCompleted, setPaymentCompleted] = useState(false);
|
|
106
|
+
const [route, setRouteState] = useState(ROUTES.SELECT_METHOD);
|
|
107
|
+
const [modalOptions, setModalOptions] = useState();
|
|
108
|
+
const [uniquePaymentMethodPage, setUniquePaymentMethodPage] = useState(ROUTES.SELECT_METHOD);
|
|
109
|
+
const [pendingConnectorId, setPendingConnectorId] = useState(void 0);
|
|
110
|
+
const [sessionId] = useState(() => crypto.randomUUID().replaceAll("-", ""));
|
|
111
|
+
const [solanaConnector, setSolanaConnector] = useState();
|
|
112
|
+
const [errorMessage, setErrorMessage] = useState("");
|
|
113
|
+
const [showContactSupport, setShowContactSupport] = useState(true);
|
|
114
|
+
const [confirmationMessage, setConfirmationMessage] = useState(void 0);
|
|
115
|
+
const [redirectReturnUrl, setRedirectReturnUrl] = useState(void 0);
|
|
116
|
+
const trpc = useMemo(() => {
|
|
117
|
+
return createTrpcClient(payApiUrl, sessionId);
|
|
118
|
+
}, [payApiUrl, sessionId]);
|
|
119
|
+
const [resize, onResize] = useState(0);
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
setInWalletPaymentUrlFromApiUrl(payApiUrl);
|
|
122
|
+
}, [payApiUrl]);
|
|
123
|
+
const setOpen = useCallback(
|
|
124
|
+
(open2, meta) => {
|
|
125
|
+
setOpenState(open2);
|
|
126
|
+
if (open2) {
|
|
127
|
+
setLockPayParams(true);
|
|
128
|
+
}
|
|
129
|
+
if (!open2 && paymentCompleted && modalOptions?.resetOnSuccess) {
|
|
130
|
+
setPaymentCompleted(false);
|
|
131
|
+
setLockPayParams(false);
|
|
132
|
+
paymentState.resetOrder();
|
|
133
|
+
}
|
|
134
|
+
trpc.nav.mutate({
|
|
135
|
+
action: open2 ? "navOpenPay" : "navClosePay",
|
|
136
|
+
orderId: pay.order?.id?.toString(),
|
|
137
|
+
data: meta ?? {}
|
|
138
|
+
});
|
|
139
|
+
if (open2) onOpenRef.current?.();
|
|
140
|
+
else onCloseRef.current?.();
|
|
141
|
+
},
|
|
142
|
+
// We don't have good caching on paymentState, so don't include it as a dep
|
|
143
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
144
|
+
[trpc, pay.order?.id, modalOptions?.resetOnSuccess, paymentCompleted]
|
|
145
|
+
);
|
|
146
|
+
const onSuccess = useCallback(() => {
|
|
147
|
+
if (modalOptions?.closeOnSuccess) {
|
|
148
|
+
setTimeout(() => setOpen(false, { event: "wait-success" }), 1e3);
|
|
149
|
+
}
|
|
150
|
+
setPaymentCompleted(true);
|
|
151
|
+
}, [modalOptions?.closeOnSuccess, setOpen, setPaymentCompleted]);
|
|
152
|
+
const setRoute = useCallback(
|
|
153
|
+
(route2, data) => {
|
|
154
|
+
const action = route2.replace("daimoPay", "");
|
|
155
|
+
log(`[SET ROUTE] ${action} ${pay.order?.id} ${debugJson(data ?? {})}`);
|
|
156
|
+
trpc.nav.mutate({
|
|
157
|
+
action,
|
|
158
|
+
orderId: pay.order?.id?.toString(),
|
|
159
|
+
data: data ?? {}
|
|
160
|
+
});
|
|
161
|
+
setRouteState(route2);
|
|
162
|
+
},
|
|
163
|
+
[trpc, pay.order?.id, log]
|
|
164
|
+
);
|
|
165
|
+
useEffect(() => setTheme(theme), [theme]);
|
|
166
|
+
useEffect(() => setLang(opts.language || "en-US"), [opts.language]);
|
|
167
|
+
useEffect(
|
|
168
|
+
() => setDisableMobileInjector(opts.disableMobileInjector ?? false),
|
|
169
|
+
[opts.disableMobileInjector]
|
|
170
|
+
);
|
|
171
|
+
useEffect(() => setErrorMessage(null), [route, open]);
|
|
172
|
+
const paymentState = usePaymentState({
|
|
173
|
+
trpc,
|
|
174
|
+
lockPayParams,
|
|
175
|
+
setRoute,
|
|
176
|
+
log,
|
|
177
|
+
redirectReturnUrl
|
|
178
|
+
});
|
|
179
|
+
const showPayment = async (modalOptions2) => {
|
|
180
|
+
const id = pay.order?.id;
|
|
181
|
+
log(
|
|
182
|
+
`[PAY] showing modal ${debugJson({ id, modalOptions: modalOptions2, paymentFsmState: pay.paymentState })}`
|
|
183
|
+
);
|
|
184
|
+
setModalOptions(modalOptions2);
|
|
185
|
+
setOpen(true);
|
|
186
|
+
if (modalOptions2.connectedWalletOnly) {
|
|
187
|
+
paymentState.setTokenMode("all");
|
|
188
|
+
}
|
|
189
|
+
if (pay.paymentState === "error") {
|
|
190
|
+
setRoute(ROUTES.ERROR);
|
|
191
|
+
} else if (pay.paymentState === "payment_started" || pay.paymentState === "payment_completed" || pay.paymentState === "payment_bounced") {
|
|
192
|
+
setRoute(ROUTES.CONFIRMATION);
|
|
193
|
+
} else if (modalOptions2.connectedWalletOnly) {
|
|
194
|
+
setRoute(ROUTES.SELECT_TOKEN);
|
|
195
|
+
} else {
|
|
196
|
+
setRoute(ROUTES.SELECT_METHOD);
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
const isUnderpaid = pay.order?.mode === DaimoPayOrderMode.HYDRATED && pay.order.sourceStatus === DaimoPayOrderStatusSource.WAITING_PAYMENT && pay.order.sourceTokenAmount != null;
|
|
200
|
+
useEffect(() => {
|
|
201
|
+
if (pay.paymentState === "error") {
|
|
202
|
+
setRoute(ROUTES.ERROR);
|
|
203
|
+
} else if (pay.paymentState === "payment_started" || pay.paymentState === "payment_completed" || pay.paymentState === "payment_bounced") {
|
|
204
|
+
setRoute(ROUTES.CONFIRMATION, { event: "payment-started" });
|
|
205
|
+
} else if (isUnderpaid) {
|
|
206
|
+
paymentState.setSelectedDepositAddressOption(void 0);
|
|
207
|
+
setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS);
|
|
208
|
+
}
|
|
209
|
+
}, [pay.paymentState, setRoute, isUnderpaid]);
|
|
210
|
+
const value = {
|
|
211
|
+
theme: ckTheme,
|
|
212
|
+
setTheme,
|
|
213
|
+
mode: ckMode,
|
|
214
|
+
setMode,
|
|
215
|
+
customTheme,
|
|
216
|
+
setCustomTheme,
|
|
217
|
+
lang: ckLang,
|
|
218
|
+
setLang,
|
|
219
|
+
disableMobileInjector,
|
|
220
|
+
setDisableMobileInjector,
|
|
221
|
+
setOnOpen,
|
|
222
|
+
setOnClose,
|
|
223
|
+
open,
|
|
224
|
+
setOpen,
|
|
225
|
+
route,
|
|
226
|
+
setRoute,
|
|
227
|
+
// Daimo Pay context
|
|
228
|
+
uniquePaymentMethodPage,
|
|
229
|
+
setUniquePaymentMethodPage,
|
|
230
|
+
pendingConnectorId,
|
|
231
|
+
setPendingConnectorId,
|
|
232
|
+
sessionId,
|
|
233
|
+
solanaConnector,
|
|
234
|
+
setSolanaConnector,
|
|
235
|
+
onConnect,
|
|
236
|
+
// Other configuration
|
|
237
|
+
options: opts,
|
|
238
|
+
errorMessage,
|
|
239
|
+
onSuccess,
|
|
240
|
+
showContactSupport,
|
|
241
|
+
setShowContactSupport,
|
|
242
|
+
confirmationMessage,
|
|
243
|
+
setConfirmationMessage,
|
|
244
|
+
redirectReturnUrl,
|
|
245
|
+
setRedirectReturnUrl,
|
|
246
|
+
debugMode,
|
|
247
|
+
log,
|
|
248
|
+
displayError: (message, code) => {
|
|
249
|
+
setErrorMessage(message);
|
|
250
|
+
console.log("---------DAIMOPAY DEBUG---------");
|
|
251
|
+
console.log(message);
|
|
252
|
+
if (code) console.table(code);
|
|
253
|
+
console.log("---------/DAIMOPAY DEBUG---------");
|
|
254
|
+
},
|
|
255
|
+
resize,
|
|
256
|
+
triggerResize: () => onResize((prev) => prev + 1),
|
|
257
|
+
// Above: generic ConnectKit context
|
|
258
|
+
// Below: Daimo Pay context
|
|
259
|
+
showPayment,
|
|
260
|
+
paymentState,
|
|
261
|
+
trpc
|
|
262
|
+
};
|
|
263
|
+
return createElement(
|
|
264
|
+
PayContext.Provider,
|
|
265
|
+
{ value },
|
|
266
|
+
/* @__PURE__ */ jsx(Web3ContextProvider, { children: /* @__PURE__ */ jsxs(ThemeProvider, { theme: defaultTheme, children: [
|
|
267
|
+
children,
|
|
268
|
+
/* @__PURE__ */ jsx(
|
|
269
|
+
DaimoPayModal,
|
|
270
|
+
{
|
|
271
|
+
lang: ckLang,
|
|
272
|
+
theme: ckTheme,
|
|
273
|
+
mode,
|
|
274
|
+
customTheme: ckCustomTheme,
|
|
275
|
+
disableMobileInjector
|
|
276
|
+
}
|
|
277
|
+
)
|
|
278
|
+
] }) })
|
|
279
|
+
);
|
|
280
|
+
};
|
|
281
|
+
const DaimoPayProvider = (props) => {
|
|
282
|
+
const payApiUrl = props.payApiUrl ?? "https://pay-api.daimo.xyz/";
|
|
283
|
+
const log = useMemo(
|
|
284
|
+
() => props.debugMode ? (...args) => console.log(...args) : () => {
|
|
285
|
+
},
|
|
286
|
+
[props.debugMode]
|
|
287
|
+
);
|
|
288
|
+
return /* @__PURE__ */ jsx(PaymentProvider, { payApiUrl, log, children: /* @__PURE__ */ jsx(SolanaContextProvider, { solanaRpcUrl: props.solanaRpcUrl, children: /* @__PURE__ */ jsx(DaimoPayUIProvider, { ...props, payApiUrl, log }) }) });
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
export { DaimoPayProvider };
|
|
292
|
+
//# sourceMappingURL=DaimoPayProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaimoPayProvider.js","sources":["../../../../../../src/provider/DaimoPayProvider.tsx"],"sourcesContent":["import {\n DaimoPayOrderMode,\n DaimoPayOrderStatusSource,\n debugJson,\n} from \"@daimo/pay-common\";\nimport { Buffer } from \"buffer\";\nimport React, {\n createElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ThemeProvider } from \"styled-components\";\nimport { WagmiContext } from \"wagmi\";\n\nimport { DaimoPayModal } from \"../components/DaimoPayModal\";\nimport { ROUTES } from \"../constants/routes\";\nimport { REQUIRED_CHAINS } from \"../defaultConfig\";\nimport { useChains } from \"../hooks/useChains\";\nimport {\n useConnectCallback,\n useConnectCallbackProps,\n} from \"../hooks/useConnectCallback\";\nimport { useDaimoPay } from \"../hooks/useDaimoPay\";\nimport { usePaymentState } from \"../hooks/usePaymentState\";\nimport { PaymentContext, PaymentProvider } from \"../provider/PaymentProvider\";\nimport defaultTheme from \"../styles/defaultTheme\";\nimport {\n CustomTheme,\n DaimoPayContextOptions,\n DaimoPayModalOptions,\n Languages,\n Mode,\n Theme,\n} from \"../types\";\nimport { createTrpcClient } from \"../utils/trpc\";\nimport { setInWalletPaymentUrlFromApiUrl } from \"../wallets/walletConfigs\";\nimport { PayContext, PayContextValue } from \"./PayContext\";\nimport {\n SolanaContextProvider,\n SolanaWalletName,\n} from \"./SolanaContextProvider\";\nimport { Web3ContextProvider } from \"./Web3ContextProvider\";\n\ntype DaimoPayUIProviderProps = {\n children?: React.ReactNode;\n theme?: Theme;\n mode?: Mode;\n customTheme?: CustomTheme;\n options?: DaimoPayContextOptions;\n debugMode?: boolean;\n /** Custom Pay API, useful for test and staging. */\n payApiUrl: string;\n log: (msg: string, ...props: any[]) => void;\n} & useConnectCallbackProps;\n\nconst DaimoPayUIProvider = ({\n children,\n theme = \"auto\",\n mode = \"auto\",\n customTheme,\n options,\n onConnect,\n onDisconnect,\n debugMode = false,\n payApiUrl,\n log,\n}: DaimoPayUIProviderProps) => {\n if (!React.useContext(PaymentContext)) {\n throw Error(\"DaimoPayProvider must be within a PaymentProvider\");\n }\n\n if (!React.useContext(WagmiContext)) {\n throw Error(\"DaimoPayProvider must be within a WagmiProvider\");\n }\n\n // Only allow for mounting DaimoPayProvider once, so we avoid weird global\n // state collisions.\n if (React.useContext(PayContext)) {\n throw new Error(\n \"Multiple, nested usages of DaimoPayProvider detected. Please use only one.\",\n );\n }\n\n useConnectCallback({\n onConnect,\n onDisconnect,\n });\n\n const chains = useChains();\n\n for (const requiredChain of REQUIRED_CHAINS) {\n if (!chains.some((c) => c.id === requiredChain.id)) {\n throw new Error(\n `Daimo Pay requires chains ${REQUIRED_CHAINS.map((c) => c.name).join(\", \")}. Use \\`getDefaultConfig\\` to automatically configure required chains.`,\n );\n }\n }\n\n // Default config options\n const defaultOptions: DaimoPayContextOptions = {\n language: \"en-US\",\n hideBalance: false,\n hideTooltips: false,\n hideQuestionMarkCTA: false,\n hideRecentBadge: false,\n avoidLayoutShift: true,\n embedGoogleFonts: false,\n truncateLongENSAddress: true,\n reducedMotion: false,\n disclaimer: null,\n bufferPolyfill: true,\n customAvatar: undefined,\n initialChainId: undefined,\n enforceSupportedChains: false,\n ethereumOnboardingUrl: undefined,\n walletOnboardingUrl: undefined,\n overlayBlur: undefined,\n disableMobileInjector: false,\n };\n\n const opts: DaimoPayContextOptions = Object.assign(\n {},\n defaultOptions,\n options,\n );\n\n if (typeof window !== \"undefined\") {\n // Buffer Polyfill, needed for bundlers that don't provide Node polyfills (e.g CRA, Vite, etc.)\n if (opts.bufferPolyfill) window.Buffer = window.Buffer ?? Buffer;\n\n // Some bundlers may need `global` and `process.env` polyfills as well\n // Not implemented here to avoid unexpected behaviors, but leaving example here for future reference\n /*\n * window.global = window.global ?? window;\n * window.process = window.process ?? { env: {} };\n */\n }\n\n const pay = useDaimoPay();\n\n const [ckTheme, setTheme] = useState<Theme>(theme);\n const [ckMode, setMode] = useState<Mode>(mode);\n const [ckCustomTheme, setCustomTheme] = useState<CustomTheme | undefined>(\n customTheme ?? {},\n );\n const [ckLang, setLang] = useState<Languages>(\"en-US\");\n const [disableMobileInjector, setDisableMobileInjector] = useState<boolean>(\n opts.disableMobileInjector ?? false,\n );\n\n const onOpenRef = useRef<(() => void) | undefined>();\n const onCloseRef = useRef<(() => void) | undefined>();\n const setOnOpen = useCallback((fn?: () => void) => {\n onOpenRef.current = fn;\n }, []);\n const setOnClose = useCallback((fn?: () => void) => {\n onCloseRef.current = fn;\n }, []);\n const [open, setOpenState] = useState<boolean>(false);\n const [lockPayParams, setLockPayParams] = useState<boolean>(false);\n const [paymentCompleted, setPaymentCompleted] = useState<boolean>(false);\n const [route, setRouteState] = useState<ROUTES>(ROUTES.SELECT_METHOD);\n const [modalOptions, setModalOptions] = useState<DaimoPayModalOptions>();\n\n // Daimo Pay context\n const [uniquePaymentMethodPage, setUniquePaymentMethodPage] =\n useState<ROUTES>(ROUTES.SELECT_METHOD);\n const [pendingConnectorId, setPendingConnectorId] = useState<\n string | undefined\n >(undefined);\n // Track sessions. Each generates separate intent IDs unless using externalId.\n const [sessionId] = useState(() => crypto.randomUUID().replaceAll(\"-\", \"\"));\n const [solanaConnector, setSolanaConnector] = useState<\n SolanaWalletName | undefined\n >();\n\n // Other configuration\n const [errorMessage, setErrorMessage] = useState<\n string | React.ReactNode | null\n >(\"\");\n const [showContactSupport, setShowContactSupport] = useState<boolean>(true);\n const [confirmationMessage, setConfirmationMessage] = useState<\n string | undefined\n >(undefined);\n const [redirectReturnUrl, setRedirectReturnUrl] = useState<\n string | undefined\n >(undefined);\n // Connect to the Daimo Pay TRPC API\n const trpc = useMemo(() => {\n return createTrpcClient(payApiUrl, sessionId);\n }, [payApiUrl, sessionId]);\n const [resize, onResize] = useState<number>(0);\n\n useEffect(() => {\n setInWalletPaymentUrlFromApiUrl(payApiUrl);\n }, [payApiUrl]);\n\n const setOpen = useCallback(\n (open: boolean, meta?: Record<string, any>) => {\n setOpenState(open);\n\n // Lock pay params starting from the first time the modal is opened to\n // prevent the daimo pay order from changing from under the user\n if (open) {\n setLockPayParams(true);\n }\n // Reset payment state on close if resetOnSuccess is true\n if (!open && paymentCompleted && modalOptions?.resetOnSuccess) {\n setPaymentCompleted(false);\n setLockPayParams(false);\n paymentState.resetOrder();\n }\n\n // Log the open/close event\n trpc.nav.mutate({\n action: open ? \"navOpenPay\" : \"navClosePay\",\n orderId: pay.order?.id?.toString(),\n data: meta ?? {},\n });\n\n // Run the onOpen and onClose callbacks\n if (open) onOpenRef.current?.();\n else onCloseRef.current?.();\n },\n // We don't have good caching on paymentState, so don't include it as a dep\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [trpc, pay.order?.id, modalOptions?.resetOnSuccess, paymentCompleted],\n );\n\n // Callback when a payment is successfully completed (regardless of whether\n // the final call succeeded or bounced)\n const onSuccess = useCallback(() => {\n if (modalOptions?.closeOnSuccess) {\n setTimeout(() => setOpen(false, { event: \"wait-success\" }), 1000);\n }\n setPaymentCompleted(true);\n }, [modalOptions?.closeOnSuccess, setOpen, setPaymentCompleted]);\n\n const setRoute = useCallback(\n (route: ROUTES, data?: Record<string, any>) => {\n const action = route.replace(\"daimoPay\", \"\");\n log(`[SET ROUTE] ${action} ${pay.order?.id} ${debugJson(data ?? {})}`);\n trpc.nav.mutate({\n action,\n orderId: pay.order?.id?.toString(),\n data: data ?? {},\n });\n setRouteState(route);\n },\n [trpc, pay.order?.id, log],\n );\n\n // Other Configuration\n useEffect(() => setTheme(theme), [theme]);\n useEffect(() => setLang(opts.language || \"en-US\"), [opts.language]);\n useEffect(\n () => setDisableMobileInjector(opts.disableMobileInjector ?? false),\n [opts.disableMobileInjector],\n );\n useEffect(() => setErrorMessage(null), [route, open]);\n\n // TODO: replace with dispatcher pattern; remove hook slop\n const paymentState = usePaymentState({\n trpc,\n lockPayParams,\n setRoute,\n log,\n redirectReturnUrl,\n });\n\n const showPayment = async (modalOptions: DaimoPayModalOptions) => {\n const id = pay.order?.id;\n log(\n `[PAY] showing modal ${debugJson({ id, modalOptions, paymentFsmState: pay.paymentState })}`,\n );\n\n setModalOptions(modalOptions);\n setOpen(true);\n if (modalOptions.connectedWalletOnly) {\n paymentState.setTokenMode(\"all\");\n }\n\n if (pay.paymentState === \"error\") {\n setRoute(ROUTES.ERROR);\n } else if (\n pay.paymentState === \"payment_started\" ||\n pay.paymentState === \"payment_completed\" ||\n pay.paymentState === \"payment_bounced\"\n ) {\n setRoute(ROUTES.CONFIRMATION);\n } else if (modalOptions.connectedWalletOnly) {\n setRoute(ROUTES.SELECT_TOKEN);\n } else {\n setRoute(ROUTES.SELECT_METHOD);\n }\n };\n\n // Watch when the order gets paid and navigate to confirmation\n // ...if underpaid, go to the deposit addr screen, let the user finish paying.\n const isUnderpaid =\n pay.order?.mode === DaimoPayOrderMode.HYDRATED &&\n pay.order.sourceStatus === DaimoPayOrderStatusSource.WAITING_PAYMENT &&\n pay.order.sourceTokenAmount != null;\n useEffect(() => {\n if (pay.paymentState === \"error\") {\n setRoute(ROUTES.ERROR);\n } else if (\n pay.paymentState === \"payment_started\" ||\n pay.paymentState === \"payment_completed\" ||\n pay.paymentState === \"payment_bounced\"\n ) {\n setRoute(ROUTES.CONFIRMATION, { event: \"payment-started\" });\n } else if (isUnderpaid) {\n paymentState.setSelectedDepositAddressOption(undefined);\n setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pay.paymentState, setRoute, isUnderpaid]);\n\n const value: PayContextValue = {\n theme: ckTheme,\n setTheme,\n mode: ckMode,\n setMode,\n customTheme,\n setCustomTheme,\n lang: ckLang,\n setLang,\n disableMobileInjector,\n setDisableMobileInjector,\n setOnOpen,\n setOnClose,\n open,\n setOpen,\n route,\n setRoute,\n // Daimo Pay context\n uniquePaymentMethodPage,\n setUniquePaymentMethodPage,\n pendingConnectorId,\n setPendingConnectorId,\n sessionId,\n solanaConnector,\n setSolanaConnector,\n onConnect,\n // Other configuration\n options: opts,\n errorMessage,\n onSuccess,\n showContactSupport,\n setShowContactSupport,\n confirmationMessage,\n setConfirmationMessage,\n redirectReturnUrl,\n setRedirectReturnUrl,\n debugMode,\n log,\n displayError: (message: string | React.ReactNode | null, code?: any) => {\n setErrorMessage(message);\n console.log(\"---------DAIMOPAY DEBUG---------\");\n console.log(message);\n if (code) console.table(code);\n console.log(\"---------/DAIMOPAY DEBUG---------\");\n },\n resize,\n triggerResize: () => onResize((prev) => prev + 1),\n\n // Above: generic ConnectKit context\n // Below: Daimo Pay context\n showPayment,\n paymentState,\n trpc,\n };\n\n return createElement(\n PayContext.Provider,\n { value },\n <Web3ContextProvider>\n <ThemeProvider theme={defaultTheme}>\n {children}\n <DaimoPayModal\n lang={ckLang}\n theme={ckTheme}\n mode={mode}\n customTheme={ckCustomTheme}\n disableMobileInjector={disableMobileInjector}\n />\n </ThemeProvider>\n </Web3ContextProvider>,\n );\n};\n\ntype DaimoPayProviderProps = {\n children?: React.ReactNode;\n theme?: Theme;\n mode?: Mode;\n customTheme?: CustomTheme;\n options?: DaimoPayContextOptions;\n debugMode?: boolean;\n /**\n * Be careful with this endpoint, some endpoints (incl. Alchemy) don't support\n * `signatureSubscribe` which leads to txes behaving erratically\n * (ex. successful txes take minutes to confirm instead of seconds)\n */\n solanaRpcUrl?: string;\n /** Custom Pay API, useful for test and staging. */\n payApiUrl?: string;\n} & useConnectCallbackProps;\n\n/**\n * Provides context for DaimoPayButton and hooks. Place in app root or layout.\n */\nexport const DaimoPayProvider = (props: DaimoPayProviderProps) => {\n const payApiUrl = props.payApiUrl ?? \"https://pay-api.daimo.xyz/\";\n const log = useMemo(\n () =>\n props.debugMode ? (...args: any[]) => console.log(...args) : () => {},\n [props.debugMode],\n );\n\n return (\n <PaymentProvider payApiUrl={payApiUrl} log={log}>\n <SolanaContextProvider solanaRpcUrl={props.solanaRpcUrl}>\n <DaimoPayUIProvider {...props} payApiUrl={payApiUrl} log={log} />\n </SolanaContextProvider>\n </PaymentProvider>\n );\n};\n"],"names":["open","route","modalOptions"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayContext.js","sources":["../../../../../../src/provider/PayContext.tsx"],"sourcesContent":["import React, { createContext } from \"react\";\n\nimport { ROUTES } from \"../constants/routes\";\nimport { useConnectCallbackProps } from \"../hooks/useConnectCallback\";\nimport { PaymentState } from \"../hooks/usePaymentState\";\nimport {\n CustomTheme,\n DaimoPayContextOptions,\n DaimoPayModalOptions,\n Languages,\n Mode,\n Theme,\n} from \"../types\";\nimport { SolanaWalletName } from \"./SolanaContextProvider\";\n\n/** Meant for internal use. This will be non-exported in a future SDK version. */\nexport const PayContext = createContext<PayContextValue | null>(null);\n\nexport type PayLogFn = (message: string, ...props: any[]) => void;\n\n/** Daimo Pay internal context. */\nexport type PayContextValue = {\n theme: Theme;\n setTheme: React.Dispatch<React.SetStateAction<Theme>>;\n mode: Mode;\n setMode: React.Dispatch<React.SetStateAction<Mode>>;\n customTheme: CustomTheme | undefined;\n setCustomTheme: React.Dispatch<React.SetStateAction<CustomTheme | undefined>>;\n lang: Languages;\n setLang: React.Dispatch<React.SetStateAction<Languages>>;\n disableMobileInjector: boolean;\n setDisableMobileInjector: React.Dispatch<React.SetStateAction<boolean>>;\n setOnOpen: (fn?: () => void) => void;\n setOnClose: (fn?: () => void) => void;\n open: boolean;\n setOpen: (open: boolean, meta?: Record<string, any>) => void;\n route: string;\n setRoute: (route: ROUTES, data?: Record<string, any>) => void;\n errorMessage: string | React.ReactNode | null;\n debugMode?: boolean;\n log: PayLogFn;\n displayError: (message: string | React.ReactNode | null, code?: any) => void;\n resize: number;\n triggerResize: () => void;\n uniquePaymentMethodPage: ROUTES;\n setUniquePaymentMethodPage: React.Dispatch<React.SetStateAction<ROUTES>>;\n // All options below are new, specific to Daimo Pay.\n /** Session ID. */\n sessionId: string;\n /** EVM pending connector */\n pendingConnectorId: string | undefined;\n setPendingConnectorId: (id: string) => void;\n /** Chosen Solana wallet, eg Phantom.*/\n solanaConnector: SolanaWalletName | undefined;\n setSolanaConnector: React.Dispatch<\n React.SetStateAction<SolanaWalletName | undefined>\n >;\n /** Global options, across all pay buttons and payments. */\n options?: DaimoPayContextOptions;\n /** Loads a payment, then shows the modal to complete payment. */\n showPayment: (modalOptions: DaimoPayModalOptions) => Promise<void>;\n /** Payment status & callbacks. */\n paymentState: PaymentState;\n /** TRPC API client. Internal use only. */\n trpc: any;\n /** Callback to call when the payment is successful. */\n onSuccess: () => void;\n /**\n * Whether to show the contact support button. Used specifically for\n * WorldPayButton on iOS since links are broken on iOS in World App.\n */\n showContactSupport: boolean;\n setShowContactSupport: React.Dispatch<React.SetStateAction<boolean>>;\n /** Custom message to display on confirmation page. */\n confirmationMessage?: string;\n setConfirmationMessage: React.Dispatch<\n React.SetStateAction<string | undefined>\n >;\n /** Redirect URL to return to the app. E.g. after Coinbase, Binance, RampNetwork. */\n redirectReturnUrl?: string;\n setRedirectReturnUrl: React.Dispatch<\n React.SetStateAction<string | undefined>\n >;\n} & useConnectCallbackProps;\n"],"names":[],"mappings":";;AAgBa,MAAA,UAAA,GAAa,cAAsC,IAAI;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, useState, useMemo, useLayoutEffect } from 'react';
|
|
3
|
+
import { attachPaymentEffectHandlers } from '../payment/paymentEffects.js';
|
|
4
|
+
import { createPaymentStore } from '../payment/paymentStore.js';
|
|
5
|
+
import { createTrpcClient } from '../utils/trpc.js';
|
|
6
|
+
|
|
7
|
+
const PaymentContext = createContext(null);
|
|
8
|
+
function PaymentProvider({
|
|
9
|
+
children,
|
|
10
|
+
payApiUrl,
|
|
11
|
+
log = console.log
|
|
12
|
+
}) {
|
|
13
|
+
const [sessionId] = useState(() => crypto.randomUUID().replaceAll("-", ""));
|
|
14
|
+
const trpc = useMemo(() => {
|
|
15
|
+
return createTrpcClient(payApiUrl, sessionId);
|
|
16
|
+
}, [payApiUrl, sessionId]);
|
|
17
|
+
const store = useMemo(() => {
|
|
18
|
+
return createPaymentStore();
|
|
19
|
+
}, []);
|
|
20
|
+
useLayoutEffect(() => {
|
|
21
|
+
const unsubscribe = attachPaymentEffectHandlers(store, trpc, log);
|
|
22
|
+
log("[EFFECT] subscribed to payment effects");
|
|
23
|
+
return unsubscribe;
|
|
24
|
+
}, [store, trpc, log]);
|
|
25
|
+
return /* @__PURE__ */ jsx(PaymentContext.Provider, { value: store, children });
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { PaymentContext, PaymentProvider };
|
|
29
|
+
//# sourceMappingURL=PaymentProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentProvider.js","sources":["../../../../../../src/provider/PaymentProvider.tsx"],"sourcesContent":["import { createContext, useLayoutEffect, useMemo, useState } from \"react\";\nimport { attachPaymentEffectHandlers } from \"../payment/paymentEffects\";\nimport { createPaymentStore, PaymentStore } from \"../payment/paymentStore\";\nimport { createTrpcClient } from \"../utils/trpc\";\n\nexport const PaymentContext = createContext<PaymentStore | null>(null);\n\ntype PaymentProviderProps = {\n children: React.ReactNode;\n payApiUrl: string;\n log?: (msg: string) => void;\n};\n\nexport function PaymentProvider({\n children,\n payApiUrl,\n log = console.log,\n}: PaymentProviderProps) {\n // Generate unique sessionId for tracking in the backend\n const [sessionId] = useState(() => crypto.randomUUID().replaceAll(\"-\", \"\"));\n const trpc = useMemo(() => {\n return createTrpcClient(payApiUrl, sessionId);\n }, [payApiUrl, sessionId]);\n\n const store = useMemo(() => {\n return createPaymentStore();\n }, []);\n\n // Attach subscriber to run side effects in response to events. Use a\n // layout effect that runs before the first render.\n useLayoutEffect(() => {\n const unsubscribe = attachPaymentEffectHandlers(store, trpc, log);\n log(\"[EFFECT] subscribed to payment effects\");\n return unsubscribe;\n }, [store, trpc, log]);\n\n return (\n <PaymentContext.Provider value={store}>{children}</PaymentContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;AAKa,MAAA,cAAA,GAAiB,cAAmC,IAAI,EAAA;AAQ9D,SAAS,eAAgB,CAAA;AAAA,EAC9B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAM,OAAQ,CAAA,GAAA;AAChB,CAAyB,EAAA;AAEvB,EAAM,MAAA,CAAC,SAAS,CAAA,GAAI,QAAS,CAAA,MAAM,MAAO,CAAA,UAAA,EAAa,CAAA,UAAA,CAAW,GAAK,EAAA,EAAE,CAAC,CAAA,CAAA;AAC1E,EAAM,MAAA,IAAA,GAAO,QAAQ,MAAM;AACzB,IAAO,OAAA,gBAAA,CAAiB,WAAW,SAAS,CAAA,CAAA;AAAA,GAC3C,EAAA,CAAC,SAAW,EAAA,SAAS,CAAC,CAAA,CAAA;AAEzB,EAAM,MAAA,KAAA,GAAQ,QAAQ,MAAM;AAC1B,IAAA,OAAO,kBAAmB,EAAA,CAAA;AAAA,GAC5B,EAAG,EAAE,CAAA,CAAA;AAIL,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,MAAM,WAAc,GAAA,2BAAA,CAA4B,KAAO,EAAA,IAAA,EAAM,GAAG,CAAA,CAAA;AAChE,IAAA,GAAA,CAAI,wCAAwC,CAAA,CAAA;AAC5C,IAAO,OAAA,WAAA,CAAA;AAAA,GACN,EAAA,CAAC,KAAO,EAAA,IAAA,EAAM,GAAG,CAAC,CAAA,CAAA;AAErB,EAAA,2BACG,cAAe,CAAA,QAAA,EAAf,EAAwB,KAAA,EAAO,OAAQ,QAAS,EAAA,CAAA,CAAA;AAErD;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
|
|
3
|
+
|
|
4
|
+
const DEFAULT_SOLANA_RPC_URL = "https://nameless-thrilling-spring.solana-mainnet.quiknode.pro/71d5c9acbf54c7cf00584cf6fab7fc37e844415f/";
|
|
5
|
+
const SolanaContextProvider = ({
|
|
6
|
+
children,
|
|
7
|
+
solanaRpcUrl
|
|
8
|
+
}) => {
|
|
9
|
+
const endpoint = solanaRpcUrl ?? DEFAULT_SOLANA_RPC_URL;
|
|
10
|
+
return /* @__PURE__ */ jsx(ConnectionProvider, { endpoint, children: /* @__PURE__ */ jsx(WalletProvider, { wallets: [], autoConnect: true, children }) });
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { SolanaContextProvider };
|
|
14
|
+
//# sourceMappingURL=SolanaContextProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolanaContextProvider.js","sources":["../../../../../../src/provider/SolanaContextProvider.tsx"],"sourcesContent":["import { WalletName } from \"@solana/wallet-adapter-base\";\nimport {\n ConnectionProvider,\n WalletProvider,\n} from \"@solana/wallet-adapter-react\";\n\nexport type SolanaWalletName = WalletName<string>;\n\nconst DEFAULT_SOLANA_RPC_URL =\n \"https://nameless-thrilling-spring.solana-mainnet.quiknode.pro/71d5c9acbf54c7cf00584cf6fab7fc37e844415f/\";\n\nexport const SolanaContextProvider = ({\n children,\n solanaRpcUrl,\n}: {\n children: React.ReactNode;\n solanaRpcUrl?: string;\n}) => {\n const endpoint = solanaRpcUrl ?? DEFAULT_SOLANA_RPC_URL;\n\n return (\n <ConnectionProvider endpoint={endpoint}>\n <WalletProvider wallets={[]} autoConnect>\n {children}\n </WalletProvider>\n </ConnectionProvider>\n );\n};\n"],"names":[],"mappings":";;;AAQA,MAAM,sBACJ,GAAA,yGAAA,CAAA;AAEK,MAAM,wBAAwB,CAAC;AAAA,EACpC,QAAA;AAAA,EACA,YAAA;AACF,CAGM,KAAA;AACJ,EAAA,MAAM,WAAW,YAAgB,IAAA,sBAAA,CAAA;AAEjC,EACE,uBAAA,GAAA,CAAC,kBAAmB,EAAA,EAAA,QAAA,EAClB,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA,EAAe,OAAS,EAAA,EAAI,EAAA,WAAA,EAAW,IACrC,EAAA,QAAA,EACH,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useAccount } from 'wagmi';
|
|
4
|
+
import { useChainIsSupported } from '../hooks/useChainIsSupported.js';
|
|
5
|
+
import { useChains } from '../hooks/useChains.js';
|
|
6
|
+
|
|
7
|
+
const Web3Context = React.createContext({
|
|
8
|
+
connect: {
|
|
9
|
+
getUri: () => ""
|
|
10
|
+
},
|
|
11
|
+
dapp: {
|
|
12
|
+
chains: []
|
|
13
|
+
},
|
|
14
|
+
account: void 0
|
|
15
|
+
});
|
|
16
|
+
const Web3ContextProvider = ({
|
|
17
|
+
children
|
|
18
|
+
}) => {
|
|
19
|
+
const { address: currentAddress, chain } = useAccount();
|
|
20
|
+
const chainIsSupported = useChainIsSupported(chain?.id);
|
|
21
|
+
const chains = useChains();
|
|
22
|
+
const value = {
|
|
23
|
+
dapp: {
|
|
24
|
+
chains
|
|
25
|
+
},
|
|
26
|
+
account: currentAddress ? {
|
|
27
|
+
chain,
|
|
28
|
+
chainIsSupported,
|
|
29
|
+
address: currentAddress
|
|
30
|
+
} : void 0
|
|
31
|
+
};
|
|
32
|
+
return /* @__PURE__ */ jsx(Web3Context.Provider, { value, children });
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { Web3ContextProvider };
|
|
36
|
+
//# sourceMappingURL=Web3ContextProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Web3ContextProvider.js","sources":["../../../../../../src/provider/Web3ContextProvider.tsx"],"sourcesContent":["/**\n * This provider is responsible for handling reusable web3 logic across the app.\n */\n\nimport React from \"react\";\n\nimport { Address, Chain } from \"viem\";\nimport { useAccount } from \"wagmi\";\n\nimport { useChainIsSupported } from \"../hooks/useChainIsSupported\";\nimport { useChains } from \"../hooks/useChains\";\n\ntype Web3Context = {\n connect: {\n getUri: (id?: string) => string;\n };\n dapp: {\n chains: Chain[];\n };\n account?: {\n chain: Chain;\n chainIsSupported: boolean;\n address: Address;\n };\n};\n\nconst Web3Context = React.createContext({\n connect: {\n getUri: () => \"\",\n },\n dapp: {\n chains: [],\n },\n account: undefined,\n} as Web3Context);\n\nexport const Web3ContextProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { address: currentAddress, chain } = useAccount();\n const chainIsSupported = useChainIsSupported(chain?.id);\n const chains = useChains();\n\n const value = {\n dapp: {\n chains,\n },\n account: currentAddress\n ? {\n chain,\n chainIsSupported,\n address: currentAddress,\n }\n : undefined,\n } as Web3Context;\n\n return <Web3Context.Provider value={value}>{children}</Web3Context.Provider>;\n};\n\nexport const useWeb3 = () => React.useContext(Web3Context);\n"],"names":[],"mappings":";;;;;;AA0BA,MAAM,WAAA,GAAc,MAAM,aAAc,CAAA;AAAA,EACtC,OAAS,EAAA;AAAA,IACP,QAAQ,MAAM,EAAA;AAAA,GAChB;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,QAAQ,EAAC;AAAA,GACX;AAAA,EACA,OAAS,EAAA,KAAA,CAAA;AACX,CAAgB,CAAA,CAAA;AAET,MAAM,sBAAsB,CAAC;AAAA,EAClC,QAAA;AACF,CAEM,KAAA;AACJ,EAAA,MAAM,EAAE,OAAA,EAAS,cAAgB,EAAA,KAAA,KAAU,UAAW,EAAA,CAAA;AACtD,EAAM,MAAA,gBAAA,GAAmB,mBAAoB,CAAA,KAAA,EAAO,EAAE,CAAA,CAAA;AACtD,EAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AAEzB,EAAA,MAAM,KAAQ,GAAA;AAAA,IACZ,IAAM,EAAA;AAAA,MACJ,MAAA;AAAA,KACF;AAAA,IACA,SAAS,cACL,GAAA;AAAA,MACE,KAAA;AAAA,MACA,gBAAA;AAAA,MACA,OAAS,EAAA,cAAA;AAAA,KAEX,GAAA,KAAA,CAAA;AAAA,GACN,CAAA;AAEA,EAAA,uBAAQ,GAAA,CAAA,WAAA,CAAY,QAAZ,EAAA,EAAqB,OAAe,QAAS,EAAA,CAAA,CAAA;AACvD;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
function createStore(reducer, init) {
|
|
2
|
+
let state = init;
|
|
3
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
4
|
+
return {
|
|
5
|
+
getState: () => state,
|
|
6
|
+
dispatch: (e) => {
|
|
7
|
+
const prev = state;
|
|
8
|
+
state = reducer(state, e);
|
|
9
|
+
listeners.forEach((l) => l({ prev, next: state, event: e }));
|
|
10
|
+
},
|
|
11
|
+
subscribe: (l) => {
|
|
12
|
+
listeners.add(l);
|
|
13
|
+
return () => listeners.delete(l);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function waitForState(store, predicates, isError, getErrorMessage) {
|
|
18
|
+
const guards = typeof predicates === "function" ? [predicates] : predicates;
|
|
19
|
+
const matches = (s) => guards.some((g) => g(s));
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
const first = store.getState();
|
|
22
|
+
if (matches(first)) return resolve(first);
|
|
23
|
+
const unsubscribe = store.subscribe(({ next }) => {
|
|
24
|
+
if (matches(next)) {
|
|
25
|
+
unsubscribe();
|
|
26
|
+
resolve(next);
|
|
27
|
+
} else if (isError?.(next)) {
|
|
28
|
+
unsubscribe();
|
|
29
|
+
reject(new Error(getErrorMessage?.(next) ?? "error"));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { createStore, waitForState };
|
|
36
|
+
//# sourceMappingURL=stateStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateStore.js","sources":["../../../../../src/stateStore.ts"],"sourcesContent":["/**\n * A store that manages state and dispatches events to a list of subscribers.\n * - getState: Returns the current state of the store.\n * - dispatch: Transition to a new state by applying the reducer function to\n * the current state and the event.\n * - subscribe: Takes a function as an argument and adds it to the list of\n * subscribers. When the state changes, all subscribers will be called. The\n * function returns a function that can be used to unsubscribe from the store.\n *\n * @template S The type of the state.\n * @template E The type of the events.\n */\nexport interface Store<S, E> {\n getState: () => S;\n dispatch: (e: E) => void;\n subscribe: (l: listener<S, E>) => () => void;\n}\n\ntype listener<S, E> = ({\n prev,\n next,\n event,\n}: {\n prev: S;\n next: S;\n event: E;\n}) => void;\n\n/**\n * Creates a store that manages state and dispatches events to a list of\n * subscribers.\n *\n * @param reducer The reducer function that takes the current state and an event\n * and deterministically returns a new state.\n * @param init The initial state of the store.\n * @returns An object with three methods:\n * - getState: Returns the current state of the store.\n * - dispatch: Transition to a new state by applying the reducer function to\n * the current state and the event.\n * - subscribe: Takes a function as an argument and adds it to the list of\n * subscribers. When the state changes, all subscribers will be called. The\n * function returns a function that can be used to unsubscribe from the store.\n */\nexport function createStore<S, E>(\n reducer: (s: S, e: E) => S,\n init: S,\n): Store<S, E> {\n let state = init;\n const listeners = new Set<listener<S, E>>();\n\n return {\n getState: () => state,\n dispatch: (e) => {\n const prev = state;\n state = reducer(state, e);\n listeners.forEach((l) => l({ prev, next: state, event: e }));\n },\n subscribe: (l) => {\n listeners.add(l);\n // Return an unsubscribe function.\n return () => listeners.delete(l);\n },\n };\n}\n\n/**\n * Wait until the store enters any state that satisfies the given predicate(s),\n * or reject on error.\n * \n * @returns\n * `Promise<T>` resolving with the first state where `predicate` is true,\n * or rejecting if `isError` ever returns true.\n *\n * @example After hydrating an order, wait for the payment FSM to transition to\n * the new state before returning the updated order.\n * \n * // 1. Kick off the preview transition\n * store.dispatch({ type: \"hydrate_order\" });\n *\n * // 2. Pause until the order is successfully hydrated or errors\n * const newState = await waitForState(\n * store,\n * (s): s is NewState => s.type === \"payment_unpaid\",\n * s => s.type === \"error\",\n * s => (s as ErrorState).message\n * );\n *\n * // 3. Now newState.order is updated with the hydrated order\n * return newState.order;\n * ```\n */\nexport function waitForState<S, E, T extends S>(\n store: Store<S, E>,\n predicates: ((s: S) => s is T) | ReadonlyArray<(s: S) => s is T>,\n isError?: (s: S) => boolean,\n getErrorMessage?: (s: S) => string,\n): Promise<T> {\n // Normalise to an array and build a helper that succeeds if *any* guard passes\n const guards = typeof predicates === \"function\" ? [predicates] : predicates;\n\n const matches = (s: S): s is T => guards.some((g) => g(s));\n\n return new Promise((resolve, reject) => {\n // Fast path – we might already be in a valid state\n const first = store.getState();\n if (matches(first)) return resolve(first);\n\n const unsubscribe = store.subscribe(({ next }) => {\n if (matches(next)) {\n unsubscribe();\n resolve(next);\n } else if (isError?.(next)) {\n unsubscribe();\n reject(new Error(getErrorMessage?.(next) ?? \"error\"));\n }\n });\n });\n}\n"],"names":[],"mappings":"AA2CgB,SAAA,WAAA,CACd,SACA,IACa,EAAA;AACb,EAAA,IAAI,KAAQ,GAAA,IAAA,CAAA;AACZ,EAAM,MAAA,SAAA,uBAAgB,GAAoB,EAAA,CAAA;AAE1C,EAAO,OAAA;AAAA,IACL,UAAU,MAAM,KAAA;AAAA,IAChB,QAAA,EAAU,CAAC,CAAM,KAAA;AACf,MAAA,MAAM,IAAO,GAAA,KAAA,CAAA;AACb,MAAQ,KAAA,GAAA,OAAA,CAAQ,OAAO,CAAC,CAAA,CAAA;AACxB,MAAU,SAAA,CAAA,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAE,CAAA,EAAE,IAAM,EAAA,IAAA,EAAM,KAAO,EAAA,KAAA,EAAO,CAAE,EAAC,CAAC,CAAA,CAAA;AAAA,KAC7D;AAAA,IACA,SAAA,EAAW,CAAC,CAAM,KAAA;AAChB,MAAA,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA;AAEf,MAAO,OAAA,MAAM,SAAU,CAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAAA,KACjC;AAAA,GACF,CAAA;AACF,CAAA;AA4BO,SAAS,YACd,CAAA,KAAA,EACA,UACA,EAAA,OAAA,EACA,eACY,EAAA;AAEZ,EAAA,MAAM,SAAS,OAAO,UAAA,KAAe,UAAa,GAAA,CAAC,UAAU,CAAI,GAAA,UAAA,CAAA;AAEjE,EAAM,MAAA,OAAA,GAAU,CAAC,CAAiB,KAAA,MAAA,CAAO,KAAK,CAAC,CAAA,KAAM,CAAE,CAAA,CAAC,CAAC,CAAA,CAAA;AAEzD,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AAEtC,IAAM,MAAA,KAAA,GAAQ,MAAM,QAAS,EAAA,CAAA;AAC7B,IAAA,IAAI,OAAQ,CAAA,KAAK,CAAG,EAAA,OAAO,QAAQ,KAAK,CAAA,CAAA;AAExC,IAAA,MAAM,cAAc,KAAM,CAAA,SAAA,CAAU,CAAC,EAAE,MAAW,KAAA;AAChD,MAAI,IAAA,OAAA,CAAQ,IAAI,CAAG,EAAA;AACjB,QAAY,WAAA,EAAA,CAAA;AACZ,QAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,OACd,MAAA,IAAW,OAAU,GAAA,IAAI,CAAG,EAAA;AAC1B,QAAY,WAAA,EAAA,CAAA;AACZ,QAAA,MAAA,CAAO,IAAI,KAAM,CAAA,eAAA,GAAkB,IAAI,CAAA,IAAK,OAAO,CAAC,CAAA,CAAA;AAAA,OACtD;AAAA,KACD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACH;;;;"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
const defaultLightTheme = {
|
|
2
|
+
font: {
|
|
3
|
+
family: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji'`
|
|
4
|
+
},
|
|
5
|
+
text: {
|
|
6
|
+
primary: {
|
|
7
|
+
color: "#373737"
|
|
8
|
+
},
|
|
9
|
+
secondary: {
|
|
10
|
+
color: "#999999",
|
|
11
|
+
hover: {
|
|
12
|
+
color: "#111111"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
error: "#FC6464",
|
|
16
|
+
valid: "#32D74B"
|
|
17
|
+
},
|
|
18
|
+
buttons: {
|
|
19
|
+
primary: {
|
|
20
|
+
borderRadius: 16,
|
|
21
|
+
color: "#000373737000",
|
|
22
|
+
background: "#FFFFFF",
|
|
23
|
+
border: "#F0F0F0",
|
|
24
|
+
hover: {
|
|
25
|
+
color: "#000000",
|
|
26
|
+
border: "#1A88F8"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
secondary: {
|
|
30
|
+
borderRadius: 16,
|
|
31
|
+
background: "#F6F7F9",
|
|
32
|
+
color: "#000000"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
navigation: {
|
|
36
|
+
color: "#999999"
|
|
37
|
+
},
|
|
38
|
+
modal: {
|
|
39
|
+
background: "#ffffff",
|
|
40
|
+
// need to generate an rgba transparent version of this for Safari
|
|
41
|
+
divider: "#f7f6f8"
|
|
42
|
+
},
|
|
43
|
+
tooltips: {
|
|
44
|
+
color: "#999999",
|
|
45
|
+
background: "#ffffff",
|
|
46
|
+
hover: {
|
|
47
|
+
background: "#f6f7f9"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
overlay: {
|
|
51
|
+
background: "rgba(0, 0, 0, 0.06)"
|
|
52
|
+
},
|
|
53
|
+
qrCode: {
|
|
54
|
+
accentColor: "#F7F6F8"
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const parseTheme = (theme) => {
|
|
58
|
+
return theme;
|
|
59
|
+
};
|
|
60
|
+
const userPrefersDarkMode = () => {
|
|
61
|
+
if (typeof window === "undefined") return false;
|
|
62
|
+
return window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
63
|
+
};
|
|
64
|
+
userPrefersDarkMode();
|
|
65
|
+
const defaultTheme = {
|
|
66
|
+
daimoPay: {
|
|
67
|
+
options: {
|
|
68
|
+
iconStyle: "light"
|
|
69
|
+
},
|
|
70
|
+
//theme: parseTheme(defaultLightTheme),
|
|
71
|
+
theme: {
|
|
72
|
+
preferred: "dark",
|
|
73
|
+
light: parseTheme(defaultLightTheme),
|
|
74
|
+
dark: parseTheme(defaultLightTheme)
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { defaultTheme as default };
|
|
80
|
+
//# sourceMappingURL=defaultTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultTheme.js","sources":["../../../../../../src/styles/defaultTheme.ts"],"sourcesContent":["import { CustomTheme, Theme } from \"./types\";\n\nconst defaultLightTheme: Theme = {\n font: {\n family: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji'`,\n },\n text: {\n primary: {\n color: \"#373737\",\n },\n secondary: {\n color: \"#999999\",\n hover: {\n color: \"#111111\",\n },\n },\n error: \"#FC6464\",\n valid: \"#32D74B\",\n },\n buttons: {\n primary: {\n borderRadius: 16,\n color: \"#000373737000\",\n background: \"#FFFFFF\",\n border: \"#F0F0F0\",\n hover: {\n color: \"#000000\",\n border: \"#1A88F8\",\n },\n },\n secondary: {\n borderRadius: 16,\n background: \"#F6F7F9\",\n color: \"#000000\",\n },\n },\n navigation: {\n color: \"#999999\",\n },\n modal: {\n background: \"#ffffff\", // need to generate an rgba transparent version of this for Safari\n divider: \"#f7f6f8\",\n },\n tooltips: {\n color: \"#999999\",\n background: \"#ffffff\",\n hover: {\n background: \"#f6f7f9\",\n },\n },\n overlay: {\n background: \"rgba(0, 0, 0, 0.06)\",\n },\n qrCode: {\n accentColor: \"#F7F6F8\",\n },\n};\n\n// parse into css variables so we can use p3 colors\nconst parseTheme = (theme: Theme) => {\n return theme;\n};\n\nconst userPrefersDarkMode = () => {\n if (typeof window === \"undefined\") return false;\n return (\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n );\n /*\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .addEventListener('change', (event) => {\n userPrefersDarkMode = event.matches;\n });\n */\n};\nlet darkMode = userPrefersDarkMode();\n\nif (darkMode) {\n}\n\nconst defaultTheme: CustomTheme = {\n daimoPay: {\n options: {\n iconStyle: \"light\",\n },\n //theme: parseTheme(defaultLightTheme),\n theme: {\n preferred: \"dark\",\n light: parseTheme(defaultLightTheme),\n dark: parseTheme(defaultLightTheme),\n },\n },\n};\nexport default defaultTheme;\n"],"names":[],"mappings":"AAEA,MAAM,iBAA2B,GAAA;AAAA,EAC/B,IAAM,EAAA;AAAA,IACJ,MAAQ,EAAA,CAAA,kHAAA,CAAA;AAAA,GACV;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,OAAS,EAAA;AAAA,MACP,KAAO,EAAA,SAAA;AAAA,KACT;AAAA,IACA,SAAW,EAAA;AAAA,MACT,KAAO,EAAA,SAAA;AAAA,MACP,KAAO,EAAA;AAAA,QACL,KAAO,EAAA,SAAA;AAAA,OACT;AAAA,KACF;AAAA,IACA,KAAO,EAAA,SAAA;AAAA,IACP,KAAO,EAAA,SAAA;AAAA,GACT;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAS,EAAA;AAAA,MACP,YAAc,EAAA,EAAA;AAAA,MACd,KAAO,EAAA,eAAA;AAAA,MACP,UAAY,EAAA,SAAA;AAAA,MACZ,MAAQ,EAAA,SAAA;AAAA,MACR,KAAO,EAAA;AAAA,QACL,KAAO,EAAA,SAAA;AAAA,QACP,MAAQ,EAAA,SAAA;AAAA,OACV;AAAA,KACF;AAAA,IACA,SAAW,EAAA;AAAA,MACT,YAAc,EAAA,EAAA;AAAA,MACd,UAAY,EAAA,SAAA;AAAA,MACZ,KAAO,EAAA,SAAA;AAAA,KACT;AAAA,GACF;AAAA,EACA,UAAY,EAAA;AAAA,IACV,KAAO,EAAA,SAAA;AAAA,GACT;AAAA,EACA,KAAO,EAAA;AAAA,IACL,UAAY,EAAA,SAAA;AAAA;AAAA,IACZ,OAAS,EAAA,SAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,KAAO,EAAA,SAAA;AAAA,IACP,UAAY,EAAA,SAAA;AAAA,IACZ,KAAO,EAAA;AAAA,MACL,UAAY,EAAA,SAAA;AAAA,KACd;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,UAAY,EAAA,qBAAA;AAAA,GACd;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,WAAa,EAAA,SAAA;AAAA,GACf;AACF,CAAA,CAAA;AAGA,MAAM,UAAA,GAAa,CAAC,KAAiB,KAAA;AACnC,EAAO,OAAA,KAAA,CAAA;AACT,CAAA,CAAA;AAEA,MAAM,sBAAsB,MAAM;AAChC,EAAI,IAAA,OAAO,MAAW,KAAA,WAAA,EAAoB,OAAA,KAAA,CAAA;AAC1C,EAAA,OACE,MAAO,CAAA,UAAA,IACP,MAAO,CAAA,UAAA,CAAW,8BAA8B,CAAE,CAAA,OAAA,CAAA;AAStD,CAAA,CAAA;AACe,mBAAoB,GAAA;AAKnC,MAAM,YAA4B,GAAA;AAAA,EAChC,QAAU,EAAA;AAAA,IACR,OAAS,EAAA;AAAA,MACP,SAAW,EAAA,OAAA;AAAA,KACb;AAAA;AAAA,IAEA,KAAO,EAAA;AAAA,MACL,SAAW,EAAA,MAAA;AAAA,MACX,KAAA,EAAO,WAAW,iBAAiB,CAAA;AAAA,MACnC,IAAA,EAAM,WAAW,iBAAiB,CAAA;AAAA,KACpC;AAAA,GACF;AACF;;;;"}
|