# Cursor

Pointer that glides between waypoints over whatever is behind it, pressing down and rippling on a click.

```bash
npx shadcn add https://www.reelcn.dev/r/cursor.json
```

Usage:

```tsx
<AbsoluteFill>
  <BrowserWindow url="app.dev">
    <Dashboard />
  </BrowserWindow>
  <Cursor
    waypoints={[
      { x: 20, y: 30, frame: 0 },
      { x: 62, y: 48, frame: 30, click: true },
      { x: 62, y: 70, frame: 60 },
    ]}
  />
</AbsoluteFill>
```

Use for:

- Demonstrating a click path through a UI mockup, dashboard or website
- Drawing the eye to a button just before a `toast` or `callout` appears

Avoid:

- A static pointer aimed at one target. Use `arrow`

Dependencies:

- `remotion`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| delay? | `number` | — | Frames to wait before entering. |
| duration? | `number` | — | Enter duration in frames. Defaults to 0.6s. Some items reuse `duration` for an unrelated local timing. See that item's own prop docs. |
| exit? | `number \| boolean` | `false` | Exit at the end of the parent `<Sequence>`. `false` keeps it on screen, a number sets the exit length in frames. |
| motion? | `MotionPersonality` | — | Override the theme's motion personality. |
| poster? | `boolean` | — | Renders fully entered, with no exit: for a still frame or thumbnail. Defaults to `false`. |
| holdFrames? | `number` | — | Delays the start of the exit window by this many frames, for a minimum on-screen hold. Defaults to `0`. |
| waypoints | `CursorWaypoint[]` | — |  |
| target? | `{ anchors: Record<string, AnchorRect>; id: string; frame?: number; click?: boolean; }` | — | A kit anchor as one more destination, appended after `waypoints`, equivalent to a literal waypoint, not a replacement for one (§2's anchor proof: a cursor pointed at a kit anchor renders pixel-identical to the same cursor pointed at the anchor's own literal `%` rect). Arrives `frame` frames after the last waypoint (default 20) and clicks, unless overridden. |
| size? | `number` | `34` | Cursor size in design units. |
| color? | `string` | — |  |
| ringColor? | `string` | — | Ripple ring color. Defaults to the theme accent. |
| style? | `CSSProperties` | — |  |
| className? | `string` | — |  |