Circles
Rotating orbital rings with images and customizable animations
Customize
Tweak the props liveLayout
Rotation
Fade
Entrance Animation
Props
| Name | Type | Default | Description |
|---|---|---|---|
rows | string[][] | [[...], [...], [...]] | Array of rows, where each row is an array of image URLs. Each row creates a concentric orbit ring with evenly distributed circles. |
circleSize | number | 64 | Size of each circle/image in pixels |
baseRadius | number | 120 | Base radius for the innermost orbit ring in pixels |
orbitGap | number | 100 | Gap between each concentric orbit ring in pixels |
rotationDuration | number | 20 | Duration of one complete rotation in seconds for the first ring |
rowDelay | number | 0.5 | Additional duration added to each subsequent ring's rotation (creates staggered speed) |
direction | "clockwise" | "counterclockwise" | "clockwise" | Direction of rotation for the orbiting circles |
alternateDirection | boolean | false | If true, alternates direction for each row (odd rows go opposite direction) |
fadeMode | "in" | "out" | "none" | "none" | Fade mode for rows. 'in' fades from outside to inside, 'out' fades from inside to outside, 'none' disables fading |
fadeBlur | boolean | false | Apply incremental blur along with fade effect for more depth |
showPaths | boolean | true | Whether to show dashed orbital path rings |
animate | boolean | true | Enable entrance animation on mount with scale and fade |
animationDuration | number | 0.6 | Duration of entrance animation in seconds |
animationStagger | number | 0.15 | Stagger delay between each row's entrance animation in seconds |
staggerScaleFactor | number | 0 | Scale factor for each additional row. Negative values shrink outer rows, positive values grow them. Example: 0.1 = 10% larger per row |
className | string | "" | Additional CSS classes for the container |
rowsstring[][]Array of rows, where each row is an array of image URLs. Each row creates a concentric orbit ring with evenly distributed circles.
[[...], [...], [...]]circleSizenumberSize of each circle/image in pixels
64baseRadiusnumberBase radius for the innermost orbit ring in pixels
120orbitGapnumberGap between each concentric orbit ring in pixels
100rotationDurationnumberDuration of one complete rotation in seconds for the first ring
20rowDelaynumberAdditional duration added to each subsequent ring's rotation (creates staggered speed)
0.5direction"clockwise" | "counterclockwise"Direction of rotation for the orbiting circles
"clockwise"alternateDirectionbooleanIf true, alternates direction for each row (odd rows go opposite direction)
falsefadeMode"in" | "out" | "none"Fade mode for rows. 'in' fades from outside to inside, 'out' fades from inside to outside, 'none' disables fading
"none"fadeBlurbooleanApply incremental blur along with fade effect for more depth
falseshowPathsbooleanWhether to show dashed orbital path rings
trueanimatebooleanEnable entrance animation on mount with scale and fade
trueanimationDurationnumberDuration of entrance animation in seconds
0.6animationStaggernumberStagger delay between each row's entrance animation in seconds
0.15staggerScaleFactornumberScale factor for each additional row. Negative values shrink outer rows, positive values grow them. Example: 0.1 = 10% larger per row
0classNamestringAdditional CSS classes for the container
""