Components
Expressive agent orb whose eyes and mouth shift per state — idle, listening, thinking, streaming, done — with optional cursor gaze. Respects prefers-reduced-motion.

"use client";
import Component from "@/components/ui/ai-orb-face";
const STATES = ["idle", "listening", "thinking", "streaming", "done"] as const;
export default function DemoOne() {
return (
<div className="flex min-h-[440px] w-full items-center justify-center bg-background p-10">
<div className="w-full max-w-lg rounded-2xl border bg-card p-8 shadow-sm">
<p className="font-semibold text-foreground text-sm">Agent states</p>
<p className="mt-1 text-muted-foreground text-xs">
One face, five behaviours — each expressed in the orb's own material.
</p>
<div className="mt-8 flex flex-wrap items-center justify-between gap-4">
{STATES.map((state) => (
<div className="flex flex-col items-center gap-3" key={state}>
<Component gaze size={72} state={state} />
<span className="text-muted-foreground text-xs">{state}</span>
</div>
))}
</div>
</div>
</div>
);
}