{"_id":"@0xsequence/react-connect","name":"@0xsequence/react-connect","dist-tags":{"snapshot":"0.0.0-20250312201716","latest":"0.0.0-20250312201716"},"versions":{"0.0.0-20250312201716":{"name":"@0xsequence/react-connect","version":"0.0.0-20250312201716","description":"Connect package for Sequence Web SDK","keywords":["sequence","web-sdk","wallet"],"repository":{"type":"git","url":"git+https://github.com/0xsequence/web-sdk.git#master"},"author":{"name":"Horizon Blockchain Games"},"license":"Apache-2.0","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","require":"./dist/cjs/index.js","import":"./dist/esm/index.js","default":"./dist/esm/index.js"}},"dependencies":{"@0xsequence/api":">= 2.2.13","@0xsequence/auth":">= 2.2.13","@0xsequence/core":">= 2.2.13","@0xsequence/design-system":"^2.0.9","@0xsequence/ethauth":"^1.0.0","@0xsequence/indexer":">= 2.2.13","@0xsequence/metadata":">= 2.2.13","@0xsequence/network":">= 2.2.13","@0xsequence/provider":">= 2.2.13","@0xsequence/utils":">= 2.2.13","@0xsequence/waas":">= 2.2.13","clsx":"^2.1.1","fuse.js":"^6.6.2","motion":"^12.3.1","uuid":"^10.0.0"},"peerDependencies":{"0xsequence":"^2.2.13","@databeat/tracker":"^0.9.3","@react-oauth/google":"^0.11.1","@tanstack/react-query":"^5.0.0","ethers":"^6.13.0","react":">= 17 < 19","react-apple-signin-auth":"^1.1.0","react-dom":">= 17 < 19","viem":"^2.0.0","wagmi":"^2.14.11","@0xsequence/react-hooks":"0.0.0-20250312201716"},"devDependencies":{"0xsequence":"^2.2.13","@tanstack/react-query":"^5.37.1","@types/uuid":"^9.0.8","ethers":"6.13.0","viem":"^2.12.0","wagmi":"^2.14.11","@0xsequence/react-hooks":"0.0.0-20250312201716"},"scripts":{"build":"pnpm run writeVersion && pnpm build:clean && pnpm build:css && pnpm build:types && pnpm build:esm && pnpm build:cjs","build:cjs":"tsc --module commonjs --outDir dist/cjs/","build:esm":"tsc --module es2022 --outDir dist/esm/","build:types":"tsc --declaration --declarationMap --emitDeclarationOnly --declarationDir dist/types/","build:css":"tailwindcss --minify -i ./src/index.css -o - | echo \"export const styles = String.raw\\`\n$(cat)\\`;\" > ./src/styles.ts","build:clean":"rimraf -g ./dist","dev":"pnpm run writeVersion && pnpm pnpm build:css && tsc --watch --module es2022 --declaration --declarationMap --outDir dist/esm/ --declarationDir dist/types/","writeVersion":"node scripts/writeVersion.js","test":"echo","typecheck":"tsc --noEmit"},"bugs":{"url":"https://github.com/0xsequence/web-sdk/issues"},"homepage":"https://github.com/0xsequence/web-sdk/tree/master#readme","_id":"@0xsequence/react-connect@0.0.0-20250312201716","_integrity":"sha512-JxapDOUX4CvpHcDu0eqwQL4yZc5CN89Ln2vZGAgXJv9H9EqktcmTSurb5Pttaw+EyhgBGWCO8DOzwMTNiXTeDQ==","_resolved":"/private/var/folders/ql/km8tc5bj3v3_syyp83m1zlkh0000gn/T/1d14257a91645a6dfe49d7276912f378/0xsequence-react-connect-0.0.0-20250312201716.tgz","_from":"file:0xsequence-react-connect-0.0.0-20250312201716.tgz","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-JxapDOUX4CvpHcDu0eqwQL4yZc5CN89Ln2vZGAgXJv9H9EqktcmTSurb5Pttaw+EyhgBGWCO8DOzwMTNiXTeDQ==","shasum":"9f1b2fe25b51cfc4d9919a0409e701b8099a8144","tarball":"https://registry.npmjs.org/@0xsequence/react-connect/-/react-connect-0.0.0-20250312201716.tgz","fileCount":845,"unpackedSize":1335898,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD+m7XSu1gMJ36lQ60RkbStRS41Whtvhc0oAWfuPrjc0QIhAIwwdFM6BF6ARFETm23P50sy1LwXTFpMWUZt/TjHuKbU"}]},"_npmUser":{"name":"corban","email":"corbanbrook@gmail.com"},"directories":{},"maintainers":[{"name":"corban","email":"corbanbrook@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-connect_0.0.0-20250312201716_1741810910180_0.16530582703514263"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-12T20:21:49.791Z","0.0.0-20250312201716":"2025-03-12T20:21:50.415Z","modified":"2025-03-12T20:21:50.744Z"},"maintainers":[{"name":"corban","email":"corbanbrook@gmail.com"}],"description":"Connect package for Sequence Web SDK","homepage":"https://github.com/0xsequence/web-sdk/tree/master#readme","keywords":["sequence","web-sdk","wallet"],"repository":{"type":"git","url":"git+https://github.com/0xsequence/web-sdk.git#master"},"author":{"name":"Horizon Blockchain Games"},"bugs":{"url":"https://github.com/0xsequence/web-sdk/issues"},"license":"Apache-2.0","readme":"<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/0xsequence/web-sdk/master/public/docs/kit-logo-in-one.png\">\n</div>\n\n# Sequence Web SDK 🧰\n\nSequence Web SDK 🧰 is a library enabling developers to easily integrate web3 wallets in their app. It is based on [wagmi](https://wagmi.sh/) and supports all wagmi features.\n\n- Connect via social logins eg: facebook, google, discord, etc...! 🔐🪪\n- Connect to popular web3 wallets eg: walletConnect, metamask ! 🦊 ⛓️\n- Full-fledged embedded wallet for coins and collectibles 👛 🖼️ 🪙\n- Fiat onramp 💵 💶 💴 💷\n\nView the [demo](https://0xsequence.github.io/web-sdk)! 👀\n\n## Quick Start\n\n### Installing the Library\n\n`@0xsequence/react-connect` is the core package. Any extra modules require this package to be installed first.\nTo install this package:\n\n```bash\nnpm install @0xsequence/react-connect wagmi ethers@6.13.0 viem 0xsequence @tanstack/react-query\n# or\npnpm install @0xsequence/react-connect wagmi ethers@6.13.0 viem 0xsequence @tanstack/react-query\n# or\nyarn add @0xsequence/react-connect wagmi ethers@6.13.0 viem 0xsequence @tanstack/react-query\n```\n\n### Setting up the Library\n\n#### The 'easy' way\n\n- `createConfig(walletType, options)` method is used to create your initial config and prepare sensible defaults that can be overridden\n\n`walletType` is either 'waas' or 'universal'\n\n```ts\ninterface CreateConfigOptions {\n  appName: string\n  projectAccessKey: string\n  chainIds?: number[]\n  defaultChainId?: number\n  disableAnalytics?: boolean\n  defaultTheme?: Theme\n  position?: ModalPosition\n  signIn?: {\n    logoUrl?: string\n    projectName?: string\n    useMock?: boolean\n  }\n  displayedAssets?: Array<{\n    contractAddress: string\n    chainId: number\n  }>\n  ethAuth?: EthAuthSettings\n\n  wagmiConfig?: WagmiConfig // optional wagmiConfig overrides\n\n  waasConfigKey: string\n  enableConfirmationModal?: boolean\n\n  walletConnect?:\n    | boolean\n    | {\n        projectId: string\n      }\n\n  google?:\n    | boolean\n    | {\n        clientId: string\n      }\n\n  apple?:\n    | boolean\n    | {\n        clientId: string\n        rediretURI: string\n      }\n\n  email?:\n    | boolean\n    | {\n        legacyEmailAuth?: boolean\n      }\n}\n```\n\n```js\nimport { SequenceConnect, createConfig } from '@0xsequence/react-connect'\n\nimport Content from './components/Content'\n\nconst config = createConfig('waas', {\n  projectAccessKey: '<your-project-access-key>',\n  chainIds: [1, 137],\n  defaultChainId: 1,\n  appName: 'Demo Dapp',\n  waasConfigKey: '<your-waas-config-key>',\n\n  google: {\n    clientId: '<your-google-client-id>'\n  },\n\n  apple: {\n    clientId: '<your-apple-client-id>',\n    redirectUrl: '...'\n  },\n\n  walletConnect: {\n    projectId: '<your-wallet-connect-id>'\n  }\n})\n\nfunction App() {\n  return (\n    <SequenceConnect config={config}>\n      <Content />\n    </SequenceConnect>\n  )\n}\n```\n\n#### Need more customization?\n\nReact apps must be wrapped by a Wagmi client and the SequenceWalletProvider components. It is important that the Wagmi wrapper comes before the Sequence Web SDK wrapper.\n\n```js\nimport Content from './components/Content'\nimport { SequenceConnectProvider, getDefaultConnectors, getDefaultChains } from '@0xsequence/react-connect'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { createConfig, http, WagmiProvider } from 'wagmi'\nimport { mainnet, polygon, Chain } from 'wagmi/chains'\n\nconst projectAccessKey = 'xyz'\n\nconst chains = getDefaultChains(/* optional array of chain ids to filter */)\n\nconst transports = {}\n\nchains.forEach(chain => {\n  transports[chain.id] = http()\n})\n\nconst connectors = getDefaultConnectors('universal', {\n  projectAccessKey,\n  appName: 'demo app',\n  defaultChainId: 137,\n\n  walletConnect: {\n    projectId: '<your-wallet-connect-project-id>'\n  }\n})\n\nconst config = createConfig({\n  chains,\n  transports,\n  connectors\n})\n\nconst queryClient = new QueryClient()\n\nfunction App() {\n  return (\n    <WagmiProvider config={config}>\n      <QueryClientProvider client={queryClient}>\n        <SequenceConnectProvider>\n          <Content />\n        </SequenceConnectProvider>\n      </QueryClientProvider>\n    </WagmiProvider>\n  )\n}\n```\n\n### Opening the Sign in Modal\n\n<div align=\"center\">\n  <img src=\"public/docs/sign-in-modal.png\">\n</div>\n\nWallet selection is done through a modal which can be called programmatically.\n\n```js\nimport { useOpenConnectModal } from '@0xsequence/react-connect'\nimport { useDisconnect, useAccount } from 'wagmi'\n\nconst MyReactComponent = () => {\n  const { setOpenConnectModal } = useOpenConnectModal()\n\n  const { isConnected } = useAccount()\n\n  const onClick = () => {\n    setOpenConnectModal(true)\n  }\n\n  return <>{!isConnected && <button onClick={onClick}>Sign in</button>}</>\n}\n```\n\n## Hooks\n\n### useOpenConnectModal\n\nUse the `useOpenConnectModal` to change to open or close the connection modal.\n\n```js\nimport { useOpenConnectModal } from '@0xsequence/react-connect'\n// ...\nconst { setOpenConnectModal } = useOpenConnectModal()\nsetOpenConnectModal(true)\n```\n\n### useTheme\n\nUse the `useTheme` hook to get information about the current theme, such as light or dark, or set it to something else.\n\n```js\nimport { useTheme } from '@0xsequence/react-connect'\nconst { theme, setTheme } = useTheme()\n\nsetTheme('light')\n```\n\n## Customization\n\nThe `SequenceConnectProvider` wrapper can accept an optional config object.\n\nThe settings are described in more detailed in the Sequence Web SDK documentation.\n\n```js\n\n  const connectConfig =  {\n    defaultTheme: 'light',\n    position: 'top-left',\n    signIn: {\n      logoUrl: 'https://logo-dark-mode.svg',\n      projectName: 'my app',\n    },\n    // limits the digital assets displayed on the assets summary screen\n    displayedAssets: [\n      {\n        contractAddress: ethers.ZeroAddress,\n        chainId: 137,\n      },\n      {\n        contractAddress: '0x631998e91476da5b870d741192fc5cbc55f5a52e',\n        chainId: 137\n      }\n    ],\n    readOnlyNetworks: [10],\n  }\n\n  <SequenceConnectProvider config={connectConfig}>\n    <App />\n  <SequenceConnectProvider>\n```\n\n## Packages\n\n| Package                                                                                                 | Description                                                     | Docs                                                                                             |\n| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |\n| [@0xsequence/react-connect](https://github.com/0xsequence/web-sdk/tree/master/packages/react-connect)   | Core package for Sequence Web SDK                               | [Read more](https://github.com/0xsequence/web-sdk/blob/master/packages/react-connect/README.md)  |\n| [@0xsequence/react-wallet](https://github.com/0xsequence/web-sdk/tree/master/packages/react-wallet)     | Embedded wallets for viewing and sending coins and collectibles | [Read more](https://github.com/0xsequence/web-sdk/blob/master/packages/react-wallet/README.md)   |\n| [@0xsequence/react-checkout](https://github.com/0xsequence/web-sdk/tree/master/packages/react-checkout) | Checkout modal with fiat onramp                                 | [Read more](https://github.com/0xsequence/web-sdk/blob/master/packages/react-checkout/README.md) |\n| [example-react](https://github.com/0xsequence/web-sdk/tree/master/examples/react)                       | Example application showing sign in, wallet and checkout        | [Read more](https://github.com/0xsequence/web-sdk/blob/master/examples/react/README.md)          |\n\n## Local Development\n\n<div align=\"center\">\n  <img src=\"public/docs/kit-demo.png\">\n</div>\n\nThe React example can be used to test the library locally.\n\n1. `pnpm install`\n2. From the root folder, run `pnpm build` to build the packages.\n3. From the root folder, run `pnpm dev:react` or `pnpm dev:next` to run the examples.\n\n## What to do next?\n\nNow that the core package is installed, you can install the [embedded wallet](https://github.com/0xsequence/web-sdk/tree/master/packages/react-wallet) or take a look at the [checkout](https://github.com/0xsequence/web-sdk/tree/master/packages/react-checkout).\n\n## LICENSE\n\nApache-2.0\n\nCopyright (c) 2017-present Horizon Blockchain Games Inc. / https://horizon.io\n","readmeFilename":"README.md","_rev":"1-eb8f59d335a97ef5fbe5940797bbfc7a"}