- Implementation
- SystemMessage API
Common Examples
Basic Usage
Interactive prompt with radio options:Copy
Ask AI
import { SystemMessage } from "@servicetitan/ext-atlas";
function SystemMessageExample() {
const [selected, setSelected] = useState("");
return (
<SystemMessage
message="How would you like to proceed?"
radioOptions={[
{ value: "continue", label: "Continue", description: "Proceed with current settings" },
{ value: "modify", label: "Modify", description: "Change the settings first" },
]}
selectedValue={selected}
onRadioChange={setSelected}
buttonText="Confirm"
onSubmit={() => handleSubmit(selected)}
/>
);
}
With Disabled Submit
Disable submit until selection is made:Copy
Ask AI
import { SystemMessage } from "@servicetitan/ext-atlas";
function SystemMessageDisabled() {
const [selected, setSelected] = useState("");
return (
<SystemMessage
message="Choose an option to continue"
radioOptions={options}
selectedValue={selected}
onRadioChange={setSelected}
buttonText="Continue"
onSubmit={() => handleSubmit(selected)}
buttonDisabled={!selected}
/>
);
}
Copy
Ask AI
<SystemMessage
message="Select an option"
radioOptions={options}
selectedValue={selected}
onRadioChange={setSelected}
buttonText="Confirm"
onSubmit={handleSubmit}
buttonDisabled={false}
/>
SystemMessage Props
Text to display on the submit button.
The prompt message to display.
Callback fired when the selected option changes.
Callback fired when the submit button is clicked.
Array of options to display as radio buttons.
The currently selected option value.
When true, disables the submit button.
Additional CSS class name for custom styling.
