> For AI agents: the complete documentation index is available at https://wallarm.github.io/design-system/llms.txt, the full documentation bundle is available at https://wallarm.github.io/design-system/llms-full.txt.

# AnimatedBackground

The decorative backdrop behind the surfaces that have no chrome of their own — sign-in, the splash screen, the assistant. `pixel`, the default, sweeps a canvas dot grid; `blur` drifts a mesh gradient. Children sit centred above it. It is `aria-hidden` and lets the pointer through, with one exception: the pixel variant’s `game`, which takes pointer events for as long as it is running.

[Source](https://github.com/wallarm/design-system/tree/main/packages/design-system/src/components/AnimatedBackground) · [Storybook](https://wallarm.github.io/design-system/storybook/?path=/docs/layout-animatedbackground--overview)

```tsx
import { AnimatedBackground } from '@wallarm-org/design-system/AnimatedBackground';

export const Pixel = () => (
  <AnimatedBackground className='h-screen w-screen' />
);
```

## Usage

```tsx
import { AnimatedBackground } from '@wallarm-org/design-system/AnimatedBackground';
```

## Examples

### Pixel with card

A card above the grid, with `excludeCardSize` keeping the dots clear behind it. This story also switches on `game` — the easter egg, and the one case where the backdrop accepts clicks.

```tsx
import { AnimatedBackground } from '@wallarm-org/design-system/AnimatedBackground';
import { Card, CardContent, CardHeader, CardTitle } from '@wallarm-org/design-system/Card';

export const PixelWithCard = () => (
  <AnimatedBackground
    className='h-screen w-screen'
    game
    excludeCardSize={{ width: 300, height: 200 }}
  >
    <Card className='w-[300px] h-[200px]'>
      <CardHeader>
        <CardTitle>Sign In</CardTitle>
      </CardHeader>
      <CardContent>
        <p className='text-sm text-text-secondary'>
          Decorative background renders behind interactive content.
        </p>
      </CardContent>
    </Card>
  </AnimatedBackground>
);
```

### Blur

`variant='blur'`: colour blobs drifting behind a frosted layer, which is the assistant’s backdrop rather than the console’s.

```tsx
import { AnimatedBackground } from '@wallarm-org/design-system/AnimatedBackground';

export const Blur = () => (
  <AnimatedBackground variant='blur' className='h-screen w-screen' />
);
```

### Blur with card

The same gradient with content over it. There is no exclusion to set here, since the blur has no grid for a card to interrupt.

```tsx
import { AnimatedBackground } from '@wallarm-org/design-system/AnimatedBackground';
import { Card, CardContent, CardHeader, CardTitle } from '@wallarm-org/design-system/Card';

export const BlurWithCard = () => (
  <AnimatedBackground variant='blur' className='h-screen w-screen'>
    <Card className='w-[300px] h-[200px]'>
      <CardHeader>
        <CardTitle>Wally Chat</CardTitle>
      </CardHeader>
      <CardContent>
        <p className='text-sm text-text-secondary'>
          Liquid gradient background renders behind chat content.
        </p>
      </CardContent>
    </Card>
  </AnimatedBackground>
);
```

## Props

| Prop           | Type                                                 | Default | Description |
| -------------- | ---------------------------------------------------- | ------- | ----------- |
| variant        | `"pixel" \| undefined`                               | `pixel` |             |
| defaultChecked | `boolean \| undefined`                               |         |             |
| defaultValue   | `string \| number \| readonly string[] \| undefined` |         |             |
| autoFocus      | `boolean \| undefined`                               |         |             |
| id             | `string \| undefined`                                |         |             |
| tabIndex       | `number \| undefined`                                |         |             |
| title          | `string \| undefined`                                |         |             |
| rel            | `string \| undefined`                                |         |             |
| onChange       | `ChangeEventHandler<T, Element> \| undefined`        |         |             |

### BlurBackground

| Prop           | Type                                                 | Default   | Description                                                                                                                                                                |
| -------------- | ---------------------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| palette        | `BlurBackgroundPalette \| undefined`                 | `default` | Blob colours and layout. `'chat'` is the Wally chat panel mesh (Figma chat-bg 67:1254), tuned for a \~480px-wide panel and meant to be dimmed by the host (5–12% opacity). |
| defaultChecked | `boolean \| undefined`                               |           |                                                                                                                                                                            |
| defaultValue   | `string \| number \| readonly string[] \| undefined` |           |                                                                                                                                                                            |
| autoFocus      | `boolean \| undefined`                               |           |                                                                                                                                                                            |
| id             | `string \| undefined`                                |           |                                                                                                                                                                            |
| tabIndex       | `number \| undefined`                                |           |                                                                                                                                                                            |
| title          | `string \| undefined`                                |           |                                                                                                                                                                            |
| rel            | `string \| undefined`                                |           |                                                                                                                                                                            |
| onChange       | `ChangeEventHandler<T, Element> \| undefined`        |           |                                                                                                                                                                            |

### PixelBackground

| Prop            | Type                                                 | Default | Description |
| --------------- | ---------------------------------------------------- | ------- | ----------- |
| game            | `boolean \| undefined`                               | `false` |             |
| excludeCardSize | `{ width: number; height: number; } \| undefined`    |         |             |
| defaultChecked  | `boolean \| undefined`                               |         |             |
| defaultValue    | `string \| number \| readonly string[] \| undefined` |         |             |
| autoFocus       | `boolean \| undefined`                               |         |             |
| id              | `string \| undefined`                                |         |             |
| tabIndex        | `number \| undefined`                                |         |             |
| title           | `string \| undefined`                                |         |             |
| rel             | `string \| undefined`                                |         |             |
| onChange        | `ChangeEventHandler<T, Element> \| undefined`        |         |             |
