Skip to content

useOrchestration

@hua-labs/hua/framework
Pro

useMotionOrchestra

useSequence

tsx
import { useMotionOrchestra, useSequence } from "@hua-labs/hua/framework";

// Orchestrate multiple elements
const orchestra = useMotionOrchestra({
  elements: [ref1, ref2, ref3],
  stagger: 150,
  animation: { opacity: [0, 1], scale: [0.8, 1] },
  duration: 500,
});

// Sequential animation chain
const sequence = useSequence([
  { target: ref1, animation: 'fadeIn', duration: 300 },
  { target: ref2, animation: 'slideUp', duration: 300 },
  { target: ref3, animation: 'scaleIn', duration: 300 },
], {
  onComplete: () => console.log('Sequence complete!'),
});

// Play animations
orchestra.play();
sequence.start();

useMotionOrchestra Options

elementsRefObject[]-
staggernumber100
animationAnimationConfig-
durationnumber500
easingstring"ease-out"

useSequence Options

stepsSequenceStep[]-
onComplete() => void-
onStepComplete(step: number) => void-
loopbooleanfalse