<orbit-absorb>

Icons revolve, collapse into the center, and re-emerge in a staggered wave. Zero dependencies.


		

API reference

Attributes

AttributeTypeDefaultDescription
iconsJSON OrbitIcon[][]Icons that orbit the center. A URL string, or { src, x?, y? } for a fixed position.
dotsJSON OrbitDot[][]Decorative dots/squares scattered in the canvas.
ring-radiiJSON number[]autoExplicit ring radii (px). Overrides the spacing derived from rings.
radiusnumber (px)140Orbit radius — distance of icons from the center.
icon-sizenumber (px)80Width and height of each icon.
badge-sizenumber (px)88Diameter of the center badge.
accentcolor#007CE1Center badge fill and glow color.
ringsnumber3Number of background rings.
spin-durationnumber (s)60Time for one full revolution.
absorb-durationnumber (s)7Length of one absorb-and-re-emerge cycle.
staggernumber (s)0.25Delay between each icon's absorb, creating the wave.
start-anglenumber (deg)-90Angle of the first icon (−90 = top).
glowbooleantrueSoft glow behind the center badge. Set "false" to disable.
emitbooleantrueRipple rings emitted from the center. Set "false" to disable.
widthnumber (px)autoOverride the SVG viewBox width.
heightnumber (px)autoOverride the SVG viewBox height.
center-xnumber (px)width / 2Override the center X coordinate.
center-ynumber (px)height / 2Override the center Y coordinate.

Properties (JavaScript)

For frameworks, set these as JS arrays instead of JSON attributes — they take precedence over the matching attribute.

PropertyTypeDescription
iconsOrbitIcon[]Orbiting icons as a live array.
dotsOrbitDot[]Decorative dots as a live array.
ringRadiinumber[]Explicit ring radii as a live array.

Slot

The default slot renders inside the center badge — drop in a logo or mark, e.g. <img src="/logo.svg" />.

Types

type OrbitIcon = string | { src: string; x?: number; y?: number };
type OrbitDot  = { cx: number; cy: number; r?: number; size?: number; fill: string };

Accessibility

Respects prefers-reduced-motion: reduce — when the user prefers reduced motion, all animations are disabled and icons rest in their orbit.