← каталог
Gradient Orb
Пульсирующий градиентный шар с настраиваемыми оттенком, размером, свечением и скоростью — крути в панели и копируй.
cssautospringbasic~1 КБreduced-motion ✓
🎛 Настройки — крути и копируй
Пропсы
Разобрано из кода записи: обязательные — без «?», у остальных показано значение по умолчанию.
| Проп | Тип | По умолчанию | Что это |
|---|---|---|---|
| hue? | number | 280 | |
| size? | number | 140 | |
| glow? | number | 40 | |
| speed? | number | 3 |
Установка
npx shadcn@latest add https://motiva.pages.dev/r/gradient-orb.jsonЧто нужно в проекте до установки
components.jsonв корне — с алиасами в форме"components": "@/components". Нет файла — CLI не поймёт, куда класть.- Алиас
@объявлен дважды:"paths": {"@/*": ["./src/*"]}в корневомtsconfig.json(в Vite он часто содержит толькоreferences— тогда CLI создаёт папку@) иresolve.aliasв конфиге сборщика. - Токены подключены один раз на приложение:
import "@/styles/motiva-tokens.css"— они приезжают вместе с записью. Без них секция потеряет цвета, ритм и тему. - Своя типографика не должна спорить: если у вас на обёртке
text-align: center, он протечёт внутрь блоков. - Проект без TypeScript? Всё равно нужен минимальный
tsconfig.jsonсpathsи"tsx": trueвcomponents.json: CLI грузит tsconfig безусловно, а с"tsx": falseидёт заjsconfig.jsonи падает так же. Приехавший рядом.tsxможно не трогать — вам нужен.vanilla.js.
Экспорт
Код
.orb {
border-radius: 50%;
animation: orb-pulse var(--orb-speed, 3s) ease-in-out infinite;
}
@keyframes orb-pulse {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.08);
}
}
@media (prefers-reduced-motion: reduce) {
.orb {
animation: none;
}
}
import { type CSSProperties } from "react";
import "./gradient-orb.css";
export interface GradientOrbProps {
hue?: number;
size?: number;
glow?: number;
speed?: number;
}
/** Пульсирующий градиентный шар. Все параметры выносятся в панель Motiva (Tier-2 tune-then-copy). */
export function GradientOrb({ hue = 280, size = 140, glow = 40, speed = 3 }: GradientOrbProps) {
return (
<div
className="orb"
style={
{
width: size,
height: size,
background: `radial-gradient(circle at 35% 30%, oklch(0.84 0.13 ${hue}), oklch(0.5 0.2 ${hue}) 72%)`,
boxShadow: `0 0 ${glow}px oklch(0.6 0.2 ${hue} / 0.55)`,
"--orb-speed": `${speed}s`,
} as CSSProperties
}
/>
);
}
Похожие эффекты
лицензия: MITавтор: Motivaисточник: оригинал (Motiva)v1.0.0