/Click feedback
Click feedback • CSS
Pricing Slide Link
A text link whose arrow slides in from the left as the label settles into place.
Installation
Requires lucide-react for its icons. The shadcn CLI installs it for you; copying the code by hand means installing it yourself.
Terminal
npx shadcn@latest add https://microkit.co/r/pricing-slide-link.jsonCode
TypeScript component
1import { ArrowRight } from "lucide-react";23export function PricingSlideLink() {4return (5<button type="button" className="pricing-slide">6<span className="pricing-slide-icon" aria-hidden="true">7<ArrowRight size={23} strokeWidth={2.25} />8</span>9<span className="pricing-slide-label">Pricing</span>10</button>11);12}
CSS
1.pricing-slide {2display: inline-flex;3align-items: center;4gap: 8px;5overflow: hidden;6border: 0;7background: transparent;8padding: 0;9color: #f0f0f0;10font-size: 16px;11font-weight: 500;12line-height: 1;13cursor: pointer;14}15.pricing-slide-icon {16display: flex;17align-items: center;18justify-content: center;19width: 23px;20height: 23px;21transform: translateX(-150%);22transition: transform .5s cubic-bezier(.16, 1, .3, 1);23}24.pricing-slide-label {25transform: translateX(-16px);26transition: transform .5s cubic-bezier(.16, 1, .3, 1);27}28.pricing-slide:hover .pricing-slide-icon,29.pricing-slide:focus-visible .pricing-slide-icon {30transform: translateX(0);31}32.pricing-slide:hover .pricing-slide-label,33.pricing-slide:focus-visible .pricing-slide-label {34transform: translateX(0);35}36.pricing-slide:focus-visible {37outline: 2px solid #f97316;38outline-offset: 5px;39}