/**
* OmniMotion — 脉冲加载 / Spinner (React 18+ · 纯 CSS 版本)
* 复刻来源: stripe.com — 三点错峰缩放
* 用法:
*/
export default function Spinner({ variant = "pulse", dots = 3 }) {
return (
{Array.from({ length: dots }).map((_, i) => (
))}
);
}
/* 样式(可直接放入全局 CSS)
.mk-pulse { display: inline-flex; align-items: center; gap: 10px; }
.mk-pulse__dot {
width: 12px; height: 12px; border-radius: 999px;
background: var(--mk-primary-quiet);
animation: mk-pulse 900ms cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}
@keyframes mk-pulse {
0%, 100% { transform: scale(0.6); opacity: 0.35; }
50% { transform: scale(1.15); opacity: 1; }
}
*/