/Click feedback
Click feedback • CSS
Next Reveal Button
An outlined arrow control that expands into a bright Next button on hover.
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/next-reveal-button.jsonCode
TypeScript component
1import { ArrowRight } from "lucide-react";23export function NextRevealButton() {4return (5<button type="button" className="next-reveal">6<span className="next-reveal-label">Next</span>7<ArrowRight className="next-reveal-arrow" size={27} strokeWidth={1.7} />8</button>9);10}
CSS
1.next-reveal {2position: relative;3display: inline-flex;4align-items: center;5justify-content: flex-end;6width: 110px;7height: 42px;8overflow: hidden;9border: 1px solid #f0f0f033;10border-radius: 999px;11background: #171717;12color: #f0f0f0;13padding: 0 15px;14cursor: pointer;15transition: background-color .3s cubic-bezier(.16, 1, .3, 1), border-color .3s cubic-bezier(.16, 1, .3, 1), color .3s cubic-bezier(.16, 1, .3, 1);16}17.next-reveal-label {18position: absolute;19left: 21px;20font-size: 16px;21font-weight: 400;22opacity: 0;23transform: translateY(160%);24transition: opacity .3s cubic-bezier(.16, 1, .3, 1), transform .3s cubic-bezier(.16, 1, .3, 1);25}26.next-reveal-arrow {27position: relative;28z-index: 1;29flex: none;30}31.next-reveal:hover,32.next-reveal:focus-visible {33border-color: transparent;34background: #f97316;35color: #171d1a;36}37.next-reveal:hover .next-reveal-label,38.next-reveal:focus-visible .next-reveal-label {39opacity: 1;40transform: translateY(0);41}42.next-reveal:focus-visible {43outline: 2px solid #f97316;44outline-offset: 4px;45}