BloomOrb
An organic, breathing orb — bloomkit's signature ambient decoration. It breathes with a subtle scale animation and morphs its shape continuously, making every orb feel alive and unique. Leave it empty for pure decoration, or place content inside for avatar-style use.
Installation
npm install @bloomkit/reactUsage
import { BloomOrb } from "@bloomkit/react";
<BloomOrb color="accent1" size="md" />Sizes
Four preset sizes: sm, md, lg, xl. Use sizePx to override with a custom pixel value.
<BloomOrb color="accent2" size="sm" />
<BloomOrb color="accent2" size="md" />
<BloomOrb color="accent2" size="lg" />
<BloomOrb color="accent2" size="xl" />Colors
Four accent colors map to your theme palette: accent1, accent2, accent3, accent4.
<BloomOrb color="accent1" size="md" />
<BloomOrb color="accent2" size="md" />
<BloomOrb color="accent3" size="md" />
<BloomOrb color="accent4" size="md" />With content
Pass children to render initials, numbers, or icons inside the orb.
BK
42
<BloomOrb color="accent1" size="md">BK</BloomOrb>
<BloomOrb color="accent3" size="lg">42</BloomOrb>Morph disabled
Set morphDisabled to freeze the orb in its initial shape. The breathing animation still runs unless breatheDisabled is also set.
{/* flowing */}
<BloomOrb color="accent4" size="md" />
{/* fixed shape */}
<BloomOrb color="accent4" size="md" morphDisabled />Props
| Prop | Type | Default | Description |
|---|---|---|---|
| color | "accent1" | "accent2" | "accent3" | "accent4" | — | Accent color from the theme palette |
| size | "sm" | "md" | "lg" | "xl" | "md" | Preset size of the orb |
| sizePx | number | — | Custom pixel size. Overrides the size preset when set |
| children | ReactNode | — | Optional content rendered inside the orb (initials, icon, number) |
| breatheScale | number | 1.03 | Peak scale factor of the breathing animation |
| breatheDuration | number | 6 | Length of one full breath cycle in seconds |
| breatheDisabled | boolean | false | Disable the breathing scale animation entirely |
| morphDuration | number | 8 | Center of the morph duration range in seconds (randomized ±20% per instance) |
| morphDisabled | boolean | false | Disable the organic morph animation, keeping the orb in its initial shape |
| shapeSeed | string | — | Seed string for the shape sequence. Omit to get a unique shape per instance |
| className | string | — | Extra Tailwind classes |