UNPKG

@0xsequence/connect

Version:
43 lines 2.9 kB
'use client'; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { ThemeProvider } from '@0xsequence/design-system'; import { GoogleOAuthProvider } from '@react-oauth/google'; import { useState } from 'react'; import { useConfig } from 'wagmi'; import { AnalyticsContextProvider } from '../../contexts/Analytics.js'; import { ConnectConfigContextProvider } from '../../contexts/ConnectConfig.js'; import { ThemeContextProvider } from '../../contexts/Theme.js'; import { WalletConfigContextProvider } from '../../contexts/WalletConfig.js'; import { useEmailConflict } from '../../hooks/useWaasEmailConflict.js'; import { Connect } from '../Connect/Connect.js'; /** * @internal * Preview version of SequenceConnectProvider component. * This component should only be used for testing purposes. * It provides the same functionality as SequenceConnectProvider but only for preview purposes. */ export const SequenceConnectPreviewProvider = (props) => { const { config, children } = props; const { defaultTheme = 'dark', position = 'center', displayedAssets: displayedAssetsSetting = [], readOnlyNetworks, hideExternalConnectOptions = false, hideConnectedWallets = false, hideSocialConnectOptions = false } = config; const [theme, setTheme] = useState(defaultTheme || 'dark'); const [modalPosition, setModalPosition] = useState(position); const [displayedAssets, setDisplayedAssets] = useState(displayedAssetsSetting); const wagmiConfig = useConfig(); const googleWaasConnector = wagmiConfig.connectors.find(c => c.id === 'sequence-waas' && c._wallet.id === 'google-waas'); const googleClientId = googleWaasConnector?.params?.googleClientId || ''; const { emailConflictInfo } = useEmailConflict(); return (_jsx(ConnectConfigContextProvider, { value: config, children: _jsx(ThemeContextProvider, { value: { theme, setTheme, position: modalPosition, setPosition: setModalPosition }, children: _jsx(AnalyticsContextProvider, { value: { setAnalytics: () => { }, analytics: undefined }, children: _jsx(GoogleOAuthProvider, { clientId: googleClientId, children: _jsxs(WalletConfigContextProvider, { value: { setDisplayedAssets, displayedAssets, readOnlyNetworks, hideExternalConnectOptions, hideConnectedWallets, hideSocialConnectOptions }, children: [_jsx("div", { id: "kit-provider", children: _jsx(ThemeProvider, { root: "#kit-provider", scope: "kit", theme: theme, children: _jsx(Connect, { onClose: () => { }, emailConflictInfo: emailConflictInfo, isInline: true, ...props }) }) }), children] }) }) }) }) })); }; //# sourceMappingURL=SequenceConnectPreviewProvider.js.map