airiaMessageButton
A single clickable suggestion. One tap → submit.
airiaMessageDropdown
One trigger, a dropdown of suggestions. Clicking an option submits it immediately.
airiaMessageRadios
An inline radio group plus a Send button. User picks one, then submits.
airiaMessageCheckboxes
One trigger, a checkbox list plus a Send button. Picks are joined into one user message.
/chat, /catalog/chat, and the embeddable chat widget. They are emitted by the assistant as XML-like tags in the markdown reply; the chat UI parses them and swaps in interactive React components.
When to use which
One obvious follow-up
Use airiaMessageButton. Best when there is a clear next question and you want to minimize friction.
A small list of alternatives, pick one (compact)
Use airiaMessageDropdown. Best for 3–8 mutually-exclusive follow-ups with longer labels, or when conversation density matters and you want the suggestions tucked behind a trigger.
A small list of alternatives, pick one (inline)
Use airiaMessageRadios. Best for 2–5 short labels the user benefits from comparing at a glance before committing. Same single-select intent as the dropdown, but always visible.
airiaMessageButton
A single suggestion. Click submitsbuttonText (or the tag body if buttonText is empty) as a new user message.
| Attribute | Required | Purpose |
|---|---|---|
buttonText | No | Visible label on the button. Falls back to the tag body if empty. |
buttonText is provided, it becomes the label and the body becomes the submitted message; if not, the body is used for both.
airiaMessageDropdown
A dropdown of single-submit suggestions. The tag body is a JSON array of{label, message} objects — label is what the user sees in the menu, message is what gets submitted when they click that option.
| Attribute | Required | Purpose |
|---|---|---|
buttonText | No | Label on the dropdown trigger. Falls back to a localized default. |
message value as a new user turn.
If the body is not valid JSON or not an array of
{label, message} objects, the dropdown silently renders nothing rather than crashing the message. Always emit valid JSON.airiaMessageRadios
An inline radio group rendered directly in the assistant message, plus an explicit Send button below the options. The user picks one option and can change their mind freely until they click Send — only then is the selectedmessage submitted as a new user turn. Same single-select intent as airiaMessageDropdown, but always-visible rather than hidden behind a trigger.
| Attribute | Required | Purpose |
|---|---|---|
buttonText | No | Heading rendered above the radio group. Falls back to a localized default. |
sendButtonText | No | Label on the Send button. Defaults to the localized “Send” string. |
airiaMessageDropdown:
Prefer radios over a dropdown when you have 2–5 short labels and want the user to see every option at once. Prefer a dropdown when labels are longer or the list is bigger and inline rendering would crowd the message.
airiaMessageCheckboxes
A checkbox list plus an explicit Send button inside the menu. Users tick one or more options, then click Send. The selectedmessage values are joined with newlines and submitted as a single user turn.
| Attribute | Required | Purpose |
|---|---|---|
buttonText | No | Label on the trigger that opens the checkbox menu. |
sendButtonText | No | Label on the Send item inside the menu. Defaults to the localized “Send” string. |
airiaMessageDropdown:
Checkboxes do not submit on each tick — the menu stays open while the user is choosing, and submission only happens when they click Send. Write
message values that read naturally when combined with other picks via newlines.