Assistant Panel

The "Ask Iris" assistant (#30) — header (sparkle + new-chat + dock controls), scrollable messages, composer. Two dock modes: floating (card) and side (flush-right). Toggle below; the app frame is a muted silhouette.

Example
Dock
Viewport
Open full page ↗
Props
mode:"floating" | "side"= "floating"
floating = rounded card overlay; side = full-height flush-right panel.
onNewChat:() => void
When set, the title becomes a new-chat / switch-chat dropdown.
dockControls:ReactNode
Mode-specific dock/min/expand IconButtons in the header.
onClose:() => void
Renders a trailing × when set.
onSubmit:(value: string) => void
Called with the trimmed text on Enter / send.
onVoice:() => void
Renders the voice-chat pill when set.
AssistantPanel.Message / .Suggestion:components
Compose the message area: user/assistant messages + prompt suggestions.
Tokens