A chip-style call-to-action link with a Motion-powered sliding label and rotating icon chips on hover. React.
Made by AxylInstallation
File Structure
Usage
Props
| Prop | Type | Default |
|---|---|---|
asChild? | boolean | false |
children? | string | ReactElement | - |
label? | string | - |
variant? | "accent" | "inverted" | "outline" | "ghost" | "accent" |
size? | "sm" | "default" | "lg" | "default" |
duration? | number | 0.7 |
ease? | [number, number, number, number] | [0.77, 0, 0.175, 1] |
labelOffset? | number | - |
labelOffsetLg? | number | - |
startChipRestRotate? | number | -45 |
startChipActiveRotate? | number | 0 |
endChipRestRotate? | number | 0 |
endChipActiveRotate? | number | -45 |
startChipRestScale? | number | 0 |
startChipActiveScale? | number | 1 |
endChipRestScale? | number | 1 |
endChipActiveScale? | number | 0 |
icon? | ReactNode | - |
startIcon? | ReactNode | - |
endIcon? | ReactNode | - |
className? | string | - |
groupClassName? | string | - |
chipClassName? | string | - |
labelClassName? | string | - |
startChipClassName? | string | - |
endChipClassName? | string | - |
iconClassName? | string | - |
When to Use
Use SlidingChipButton as a single primary call to action in hero sections, feature highlights, or pricing pages. The animated chips signal interactivity and direct the eye to the most important next step.
Pair it with a clear, short label (2–5 words). Avoid using more than one SlidingChipButton per visible viewport section — multiple animated CTAs compete for attention and dilute the effect.
Accessibility
SlidingChipButton renders as an <a> by default and forwards href directly. Use asChild to wrap a <button> for in-page actions that do not navigate. The sliding label and rotating chips are purely decorative; the link text is always in the DOM and read by screen readers. Focus state uses the standard visible outline. When prefers-reduced-motion: reduce is set, useReducedMotion() collapses the hover transition to duration: 0 — the end state still applies instantly, just without the animated motion.
Credits
Inspired by Annnimate.
Built by Axyl. A motion-first component registry for React.
Last updated: 7/29/2026