Skip to main content
Slots let you replace specific parts of ExperienceWidget while keeping the default journey orchestration. Use slots when most of the widget works for you but one or two states need custom brand treatment.

Slot example

The granted slot’s grant prop is the grant token string (grant?: string), and may be undefined. Pass it to your checkout handoff as a token, not as an object.

Available slots

Slot props include the current snapshot, view, and error where relevant, plus state-specific callbacks such as onStart, onEnter, onLeave, or onRetry. Inside the enterable and participating slots the slot’s sequence is a routed SequenceView; participating views expose their live data as the display$ atom (not state$). Subscribe to it (for example with useNanostore) to render real-time fields such as queue position.

Render prop

Use the render prop when you want the widget to create and observe the journey, but you want to own the entire UI for that widget instance.
If you need to share journey state across multiple components or routes, use useExperienceJourney directly instead of the render prop.