Pull Button
buttonProA button that leans toward the cursor from a distance and springs back, with a colour fill that wipes in from the exact entry point and out toward the exit point.
Opening soon
Pro cannot be bought yet. The page opens when payment is ready.
Preview
The preview could not load.
Live demo. The theme switches the demo itself.
Code
pull-button.tsxPro
The code is locked
Pull Button is part of Manniche UI Pro. A key unlocks the source of all 60 effects.
Opening soon€49 · Introductory price until 31 December 2026. €79 after that.
- One-off payment
- One developer
- Your key arrives by email straight away
- No VAT (§ 19 UStG)
Have a key? Get the code with the CLI or MCP.
The key lives in MANNICHE_PRO_KEY, never in your code or a URL. How to set it up
CLI
npx shadcn@latest add @manniche-pro/pull-buttonMCP
claude mcp add --transport http manniche-ui https://mikkelmanniche.dk/api/mcp --header "Authorization: Bearer $MANNICHE_PRO_KEY"Props
PullButtonProps
| Prop | Type | Default | What it does |
|---|---|---|---|
ref | Ref<HTMLButtonElement> | – | Ref to the real <button>. |
range | number | 90 | How far from the button (px, measured from its edge) the cursor starts to pull it. 0 turns the magnet off. |
strength | number | 0.35 | How much of the cursor offset the button follows, 0 to 1. Around 0.3 feels firm, 0.6 is loose. |
color | string | 'var(--color-foreground)' | Resting background. Any CSS colour or var(). Defaults to the foreground token. |
textColor | string | 'var(--color-background)' | Text colour at rest. Defaults to the background token. |
fillColor | string | 'var(--color-primary)' | Colour that wipes in on hover. Defaults to the primary token. |
fillTextColor | string | 'var(--color-primary-foreground)' | Text colour on the wipe. Defaults to the primary-foreground token. |
borderWidth | number | 0 | Border width in px; 0 for none. |
borderColor | string | – | Border colour. Defaults to fillColor, so a bordered button keeps a rim while the fill passes. |
duration | number | 480 | Length of the wipe in milliseconds. |
Also takes every prop from ButtonHTMLAttributes<HTMLButtonElement>.
A11y
No accessibility notes written yet.
The notes come with the source when Pro opens.