ValyroUI Русская версия

Orbit Showcase

3D ring of cards: drag with momentum, arrows, keyboard. Pro · 3D and motion › 3D objects and showcases

Items on a ring in 3D space, turning to bring one to the front — a showcase for products, plans or covers. Drag or swipe it (with momentum), use the arrows or the keyboard, or click an item at the side; focusing an item brings it forward too. The ring's rotation is a spring on one custom property — a CSS animation whose curve is worked out once per move, throws included (a frame loop where custom properties can't animate); React renders only when the front item changes. Vertical page scrolling keeps working on touch screens. With reduced motion the ring turns without animation.

Installation

npx valyro-cli@latest login
npx valyro-cli@latest add orbit-showcase
npm install valyro-ui-pro

import 'valyro-ui-pro/styles.css';
import { OrbitShowcase } from 'valyro-ui-pro';

Props

PropTypeDefault
childrenReactNodeThe items on the ring, one per child: product cards, images — anything of the same width.
indexnumberIndex of the item facing the viewer (controlled).
defaultIndexnumber0Index of the item facing the viewer at first (uncontrolled).
onIndexChange(index: number) => voidCalled when another item is brought to the front: by a drag, the arrows, the keyboard or a click.
itemWidthnumber260Width of an item, px. On a narrow screen items shrink to fit (never below 160 px).
gapnumber28Space between neighbouring items around the ring, px.
tiltnumber6How far the ring tips towards the viewer, degrees: the far side rises above the front.
perspectivenumber1400Perspective of the scene, px: smaller is more dramatic.
autoplaynumber0Turns to the next item every so many ms (0 — never). Pauses on hover, focus, drag and off screen.
pausedbooleanfalseHolds the autoplay, e.g. from a pause button of the page (moving content must be pausable, WCAG 2.2.2).
controlsbooleantrueShows the previous / next buttons.
labelsPartial<OrbitShowcaseLabels>Text for assistive technology and the buttons.

Related components

  • Coverflow Carousel — 3D product carousel on native scroll: swipe with momentum, arrows, keyboard
  • Flip Card — Two-sided card that flips in 3D
  • Word Prism — Words on the faces of a prism that turns to the next one
  • Reveal — Reveal any component on scroll: rise, fade in, 3D unfold
  • Stagger — Lists, grids and table rows appear in a wave, one after another
  • Tilt — Tilt, lift, glare and magnetic pull under the cursor for any card
  • Layout Group — Jump-free reordering: filter, sort, regrid
  • Presence — Enter and exit: an element stays mounted until its exit animation ends
  • Scene Backdrop — WebGL or CSS scene behind a regular UI: hero, cards, dashboard
  • Scroll Cylinder — Headline lines on a rotating cylinder, driven by scroll
  • Stacking Panels — Panels stick on scroll and pile into a stack
  • Helix Rail — Cards on a helix that spins with scroll

Previous: Parallax Layers · Next: Coverflow Carousel · All 3D and motion