# Border Beam · Pro

A beam of coloured light that rides the border of any card, input or button, with a soft glow outside and an optional wash inside. Nine palettes, rotate or pulse.

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/border-beam
```

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

## API — AI prompt
| Prop | Type | Default | Notes |
| --- | --- | --- | --- |
| `family` | `"rotate" \| "pulse"` | `"rotate"` | Rotate circles the border; pulse breathes along the bottom edge. |
| `size` | `"line" \| "sm" \| "lg"` | `"sm"` | Line is the edge only; sm adds an outer glow; lg also washes light inside. |
| `colors` | `BeamPalette \| string[]` | `"colorful"` | ember, colorful, mono, ocean, sunset, forest, candy, ice, gold, or your own colours. |
| `duration` | `number` | — | Seconds per lap or breath. 3 for rotate, 2.4 for pulse. |
| `arc` | `number` | `90` | Beam length in degrees. |
| `width` | `number` | `1` | Border thickness in px. |
| `brightness` | `number` | `1.2` |  |
| `hueShift` | `number` | `0` | Degrees around the colour wheel. |
| `active` | `boolean` | `true` | Fades the beam out when false. |

See it live: https://charcoalui.com/docs/components/border-beam