@particle-network/connectkit
Version:
8 lines (7 loc) • 13.5 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../../src/utils/theme.ts", "../../../../src/utils/deepEqual.ts", "../../../../src/context/index.tsx", "../../../../src/hooks/useAppearance.ts", "../../../../src/hooks/useIconColor.ts", "../../../../src/assets/wallets/Trust.tsx"],
"sourcesContent": ["export function getSystemMode() {\n if (typeof window !== 'undefined' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n return 'dark';\n } else {\n return 'light';\n }\n}\n", "/** Forked from https://github.com/epoberezkin/fast-deep-equal */\n\nexport function deepEqual(a: any, b: any) {\n if (a === b) return true;\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) return false;\n\n let length: number;\n let i: number;\n\n if (Array.isArray(a) && Array.isArray(b)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0; ) if (!deepEqual(a[i], b[i])) return false;\n return true;\n }\n\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n const keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(b, keys[i]!)) return false;\n\n for (i = length; i-- !== 0; ) {\n const key = keys[i];\n\n if (key && !deepEqual(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n // biome-ignore lint/suspicious/noSelfCompare: <explanation>\n return a !== a && b !== b;\n}\n", "import type { AAPlugin } from '@particle-network/aa-plugin';\nimport React, { createContext, useMemo, type ReactNode } from 'react';\nimport ConnectModal from '../components/connectModal';\nimport { type Config } from '../createConfig';\nimport { useAppearance } from '../hooks/useAppearance';\nimport { getAuthCoreTheme } from '../styles';\nimport type { AuthWalletConnectorProperties } from '../types/properties';\nimport { getSystemMode } from '../utils/theme';\nimport { ModalProvider } from './modalProvider';\nimport type { ConnectKitOptions } from './types';\nimport { Web3Provder } from './web3Provider';\n\ntype ContextValue = {\n options: ConnectKitOptions;\n config: Config;\n};\n\nexport const Context = createContext<ContextValue | null>(null);\n\nexport type ConnectKitProviderProps = {\n children?: ReactNode;\n config: Config;\n reconnectOnMount?: boolean | undefined;\n};\n\nexport const ConnectKitProvider = (parameters: ConnectKitProviderProps): React.ReactElement => {\n // Only allow for mounting ConnectKitProvider once, so we avoid weird global\n // state collisions.\n if (React.useContext(Context)) {\n throw new Error('Multiple, nested usages of ConnectKitProvider detected. Please use only one.');\n }\n\n const { children, config, reconnectOnMount = true } = parameters;\n const { appearance } = useAppearance(config);\n\n const { AuthCoreContextProvider, authOptions } = useMemo(() => {\n const authWalletConnector = config.getWalletConnector<AuthWalletConnectorProperties>('particleAuth');\n const aaPlugin = config.plugins.find((plugin) => plugin.id === 'aa') as AAPlugin;\n const erc4337 = aaPlugin ? aaPlugin.erc4337 : undefined;\n\n let theme = appearance?.mode ?? getSystemMode();\n if (theme === 'auto') {\n theme = getSystemMode();\n }\n\n return {\n AuthCoreContextProvider: authWalletConnector?.AuthCoreContextProvider ?? React.Fragment,\n authOptions: authWalletConnector\n ? {\n options: {\n themeType: theme,\n ...authWalletConnector.authOptions,\n customStyle: {\n ...authWalletConnector.authOptions?.customStyle,\n theme: {\n [theme as string]: getAuthCoreTheme(appearance),\n },\n },\n erc4337,\n },\n }\n : undefined,\n };\n }, [config, appearance]);\n\n return (\n <Context.Provider\n value={{\n options: config.options,\n config,\n }}\n >\n <AuthCoreContextProvider {...authOptions}>\n <Web3Provder>\n {children}\n <ModalProvider reconnectOnMount={reconnectOnMount}>\n <ConnectModal />\n </ModalProvider>\n </Web3Provder>\n </AuthCoreContextProvider>\n </Context.Provider>\n );\n};\n\nexport const useContext = () => {\n const context = React.useContext(Context);\n if (!context) throw Error('ConnectKit Hook must be inside a Provider.');\n return context;\n};\n", "import { useCallback, useSyncExternalStore } from 'react';\nimport { useContext } from '../context';\nimport type { Appearance } from '../context/types';\nimport type { Config } from '../createConfig';\nimport { deepEqual } from '../utils/deepEqual';\n\nexport type UseAppearanceReturnType = {\n appearance: Appearance;\n setAppearance: (value?: Appearance) => void;\n};\n\nexport type WatchAppearanceParameters = {\n onChange(appearance: Appearance, prevAppearance: Appearance): void;\n};\n\nlet previousAppearance: Appearance = {};\n\nexport function getAppearance(config: Config) {\n const appearance = { ...config.appearanceStore.getState() };\n if (deepEqual(previousAppearance, appearance)) return previousAppearance;\n\n previousAppearance = appearance;\n return appearance;\n}\n\nexport function useAppearance(config?: Config): UseAppearanceReturnType {\n if (!config) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { config: globalConfig } = useContext();\n config = globalConfig;\n }\n\n const setAppearance = useCallback(\n (value?: Appearance) => {\n config.appearanceStore.setState(value || {}, true);\n },\n [config.appearanceStore]\n );\n\n const appearance = useSyncExternalStore(\n config.appearanceStore.subscribe,\n () => getAppearance(config),\n () => getAppearance(config)\n );\n\n return {\n appearance,\n setAppearance,\n };\n}\n", "import { useEffect, useMemo, useState } from 'react';\nimport { getSystemMode } from '../utils/theme';\nimport { useAppearance } from './useAppearance';\n\nconst useIconColor = () => {\n const [currentMode, setCurrentMode] = useState<'light' | 'dark'>();\n const { appearance } = useAppearance();\n\n useEffect(() => {\n if (appearance?.mode && appearance?.mode !== 'auto') {\n setCurrentMode(appearance?.mode);\n } else {\n setCurrentMode(getSystemMode());\n }\n }, [appearance?.mode]);\n\n const foreground = useMemo(() => {\n if (currentMode === 'dark') {\n return '#000000';\n } else {\n return '#ffffff';\n }\n }, [currentMode]);\n\n const background = useMemo(() => {\n if (currentMode === 'dark') {\n return '#ffffff';\n } else {\n return '#000000';\n }\n }, [currentMode]);\n\n return { foreground, background, currentMode };\n};\n\nexport default useIconColor;\n", "import { useMemo } from 'react';\nimport useIconColor from '../../hooks/useIconColor';\n\nconst Trust = ({ ...props }) => {\n const { currentMode } = useIconColor();\n\n const id = useMemo(() => {\n return Math.random().toString(36).substring(7);\n }, []);\n\n const id2 = useMemo(() => {\n return Math.random().toString(36).substring(7);\n }, []);\n\n return currentMode === 'light' ? (\n <svg xmlns='http://www.w3.org/2000/svg' width='22' height='24' viewBox='0 0 22 24' fill='none' {...props}>\n <path\n d='M0.286133 3.46686L10.9995 0V24C3.34699 20.7997 0.286133 14.6664 0.286133 11.2003V3.46686Z'\n fill='#0500FF'\n />\n <path\n d='M21.7137 3.46686L11.0004 0V24C18.6529 20.7997 21.7137 14.6664 21.7137 11.2003V3.46686Z'\n fill={`url(#${id})`}\n />\n <defs>\n <linearGradient id={id} x1='18.8679' y1='-1.68063' x2='10.8399' y2='23.6925' gradientUnits='userSpaceOnUse'>\n <stop offset='0.02' stopColor='#0000FF' />\n <stop offset='0.08' stopColor='#0094FF' />\n <stop offset='0.16' stopColor='#48FF91' />\n <stop offset='0.42' stopColor='#0094FF' />\n <stop offset='0.68' stopColor='#0038FF' />\n <stop offset='0.9' stopColor='#0500FF' />\n </linearGradient>\n </defs>\n </svg>\n ) : (\n <svg xmlns='http://www.w3.org/2000/svg' width='22' height='24' viewBox='0 0 22 24' fill='none' {...props}>\n <path\n d='M0.269531 3.46687L10.9994 0V24C3.33511 20.7997 0.269531 14.6664 0.269531 11.2003V3.46687Z'\n fill='#48FF91'\n />\n <path\n d='M21.7305 3.46687L11.0006 0V24C18.6649 20.7997 21.7305 14.6664 21.7305 11.2003V3.46687Z'\n fill={`url(#${id2})`}\n />\n <defs>\n <linearGradient id={id2} x1='10.5475' y1='27.0164' x2='19.2341' y2='-4.58841' gradientUnits='userSpaceOnUse'>\n <stop offset='0.26' stopColor='#48FF91' />\n <stop offset='0.66' stopColor='#0094FF' />\n <stop offset='0.8' stopColor='#0038FF' />\n <stop offset='0.89' stopColor='#0500FF' />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n\nexport default Trust;\n"],
"mappings": "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",
"names": ["React", "import_react", "import_react", "import_react", "import_jsx_runtime"]
}