# Grid Distortion · Pro

An image sliced into a grid of cells that each sample the picture from a point pushed away from the pointer, so the image bulges around the cursor and relaxes back with a lag. Canvas 2D, idle when nothing moves.

This is a Charcoal UI Pro component. Its source and examples are available with a Pro seat: https://charcoalui.com/pricing

## With a Pro seat

1. Add the registry to components.json:

```json
{
  "registries": {
    "@charcoal": {
      "url": "https://charcoalui.com/r/{name}.json",
      "headers": {
        "Authorization": "Bearer ${CHARCOAL_LICENSE_KEY}"
      }
    }
  }
}
```

2. Copy your licence key from https://charcoalui.com/dashboard and put it in .env.local as CHARCOAL_LICENSE_KEY, then:

```bash
npx shadcn@latest add @charcoal/grid-distortion
```

To read Pro source through this MCP server, reconnect it with the header "Authorization: Bearer <licence key>".

## API — Grid Distortion
| Prop | Type | Default | Notes |
| --- | --- | --- | --- |
| `src` | `string` | — | Image URL, drawn to cover the box. Cross-origin images need CORS headers. |
| `grid` | `number` | `24` | Cells across the width. |
| `strength` | `number` | `0.6` | How far cells are pushed, as a fraction of the radius. |
| `relax` | `number` | `0.08` | Ease factor per frame, 0 to 1. Low values lag and settle slowly. |
| `radius` | `number` | `180` | Pointer influence radius in px. |
| `className` | `string` | — |  |

See it live: https://charcoalui.com/docs/components/grid-distortion