NarraLeaf

SayComponent

The slot type for `game.configure({ dialog })`, the no-argument component contract a custom dialog box must satisfy.

interface IDialogProps {}

type SayComponent = Components<IDialogProps>;

SayComponent is the slot type for game.configure({ dialog }). It is a no-argument component contract: the player provides the current line through dialog context, not through props.

Inside the component, render Dialog, Nametag, Texts, Avatar, or call useDialog to read the active dialogue state.

Dialog itself accepts HTMLMotionProps<"div">, so a SayComponent can return <Dialog initial={...} animate={...} exit={...}>...</Dialog> without changing the slot signature.

For Components, see Components.