/Click feedback
Click feedback • CSS
Aurora Download Button
A layered blue download button with a luminous rim, directional shadow, and blended hover bloom.
Installation
Terminal
npx shadcn@latest add https://microkit.co/r/aurora-download-button.jsonCode
TypeScript component
1import "./aurora-download-button.css";23export function AuroraDownloadButton() {4return (5<button type="button" className="aurora-download-button">6<span className="aurora-download-button__rim" aria-hidden="true">7<span className="aurora-download-button__rim-highlight" />8</span>9<span className="aurora-download-button__hover-bloom" aria-hidden="true" />10<svg className="aurora-download-button__icon" width="20" height="20" viewBox="0 0 384 512" fill="currentColor" aria-hidden="true">11<path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5c0 26.2 4.8 53.3 14.4 81.2 12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.7-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.6-91.9zM261.1 104.5c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z" />12</svg>13<span className="aurora-download-button__label">Get for Mac</span>14</button>15);16}
CSS
1.aurora-download-button,2.aurora-download-button * {3box-sizing: border-box;4}5.aurora-download-button {6position: relative;7display: flex;8width: fit-content;9align-items: center;10gap: 6px;11overflow: hidden;12border: 0;13border-radius: 10px;14background:15radial-gradient(101.79% 101.79% at 65.61% 81.79%, rgba(255, 255, 255, .6) 0, rgba(255, 255, 255, 0) 100%),16radial-gradient(114.65% 114.65% at 9.73% 17.27%, rgb(30, 130, 224) 0, rgb(28, 56, 234) 100%);17background-blend-mode: overlay, normal;18box-shadow:19rgba(0, 0, 0, .28) 0 10px 18px,20rgba(191, 229, 251, .4) -3px -3px 4px inset,21rgba(19, 26, 228, .1) 4px 4px 4px inset;22padding: 10px 20px;23color: #fff;24font-family: var(--font-geist-sans, Geist), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;25font-size: 16px;26font-weight: 500;27line-height: 1;28letter-spacing: -.13px;29cursor: pointer;30transition: transform .16s ease-out;31}32.aurora-download-button__hover-bloom {33position: absolute;34z-index: 0;35inset: 1px;36border-radius: inherit;37background: radial-gradient(101.79% 101.79% at 65.61% 81.79%, rgba(255, 255, 255, .6) 0, rgba(255, 255, 255, 0) 100%);38mix-blend-mode: overlay;39opacity: 0;40pointer-events: none;41transition: opacity .3s ease-in-out;42}43.aurora-download-button__rim {44position: absolute;45z-index: 20;46inset: 0;47filter: blur(1px);48pointer-events: none;49}50.aurora-download-button__rim-highlight {51position: absolute;52top: -1px;53left: -1px;54width: 100%;55height: 100%;56border-radius: 10px;57background: linear-gradient(176.87deg, rgba(255, 255, 255, .5) 8.56%, rgba(255, 255, 255, 0) 85.04%);58padding: 3px;59opacity: .45;60-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);61-webkit-mask-composite: xor;62mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);63mask-composite: exclude;64}65.aurora-download-button__icon,66.aurora-download-button__label {67position: relative;68z-index: 1;69}70.aurora-download-button__icon {71flex: 0 0 auto;72}73@media (min-width: 768px) {74.aurora-download-button,75.aurora-download-button__rim-highlight {76border-radius: 12px;77}78}79@media (hover: hover) {80.aurora-download-button:hover {81transform: scale(1.03);82}83.aurora-download-button:hover .aurora-download-button__hover-bloom {84opacity: .4;85}86}87.aurora-download-button:focus-visible {88outline: 2px solid #fff;89outline-offset: 4px;90transform: scale(1.03);91}92.aurora-download-button:focus-visible .aurora-download-button__hover-bloom {93opacity: .4;94}95.aurora-download-button:active {96transform: scale(.97);97}98@media (prefers-reduced-motion: reduce) {99.aurora-download-button,100.aurora-download-button__hover-bloom {101transition-duration: .01ms;102}103}