<!--
Sitemap:
- [MBGA · Reactive Primitives for Spark](/index)
- [Acknowledgments](/acknowledgments)
- [API Reference](/api/)
- [Connectors](/connectors/)
- [Examples](/examples/)
- [Flashnet](/flashnet/)
- [Getting Started](/getting-started)
- [Installation](/installation)
- [Kit](/kit/)
- [Configuration](/api/configuration)
- [Core Actions](/api/core-actions)
- [React Hooks](/api/hooks)
- [Types & Errors](/api/types)
- [Custom Connectors](/connectors/custom)
- [Sats Connect (Xverse)](/connectors/sats-connect)
- [Spark SDK](/connectors/spark-sdk)
- [Wallet Standard](/connectors/wallet-standard)
- [Flashnet Authentication](/flashnet/authentication)
- [Next.js](/frameworks/nextjs)
- [Vite](/frameworks/vite)
- [AccountModal](/kit/account-modal)
- [ConnectButton](/kit/connect-button)
- [ConnectModal](/kit/connect-modal)
-->

# Kit

`@mbga/kit` provides pre-built, themeable React UI components for Spark wallet connection. Drop them into your app for an instant wallet experience.

## Components

| Component | Description |
| --- | --- |
| [`ConnectButton`](/kit/connect-button) | Button that shows "Connect Wallet" when disconnected and account info when connected |
| [`ConnectModal`](/kit/connect-modal) | Modal listing available wallet connectors |
| [`AccountModal`](/kit/account-modal) | Modal showing account details, balance, and disconnect |

## Quick Start

```tsx
import { MbgaProvider } from 'mbga'
import { KitProvider, ConnectButton, ConnectModal, AccountModal } from '@mbga/kit'

function App() {
  return (
    <MbgaProvider config={config}>
      <KitProvider theme="dark">
        <ConnectButton />
        <ConnectModal />
        <AccountModal />
      </KitProvider>
    </MbgaProvider>
  )
}
```

## Theming

Kit supports `light` and `dark` themes out of the box. Pass the `theme` prop to `KitProvider`:

```tsx
<KitProvider theme="dark">
```

You can also provide custom CSS variable overrides:

```tsx
<KitProvider
  customTheme={{
    '--mbgak-border-radius': '42px',
    '--mbgak-primary-button-background': '#ff0000',
  }}
>
```

## Storybook

Browse all component variants and themes interactively by running `pnpm storybook` from the repository root.
