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
| elements | RefObject[] | - | |
| stagger | number | 100 | |
| animation | AnimationConfig | - | |
| duration | number | 500 | |
| easing | string | "ease-out" |
useSequence Options
| steps | SequenceStep[] | - | |
| onComplete | () => void | - | |
| onStepComplete | (step: number) => void | - | |
| loop | boolean | false |