Skip to content

Callouts

Callout surfaces status messages inside a form or page schema — tips before save, destructive confirmations, or success banners. Status helpers set both the semantic role and default icon / color.

app/orbit/schemas/callout_info.py
from almasix.orbit.schemas import Callout
Callout.make()
.info()
.label("Tip")
.description("Fill these fields before saving.")

Info callout (light) Info callout (dark)

app/orbit/schemas/callout_status.py
Callout.make().info().label("Tip").description("")
Callout.make().success().label("Saved").description("")
Callout.make().warning().label("Check").description("")
Callout.make().danger().label("Danger").description("")
# or: .status("info" | "success" | "warning" | "danger")

Danger callout (light) Danger callout (dark)

Success callout (light) Success callout (dark)

Callout (light) Callout (dark)

Override the default status icon / color when needed:

app/orbit/schemas/callout_icon.py
Callout.make()
.warning()
.label("Storage")
.description("Disk is 90% full.")
.icon("heroicon-o-server-stack")
.icon_color("danger")
.color("warning")

Attach action buttons under the callout body:

app/orbit/schemas/callout_footer.py
from almasix.orbit.actions import Action
from almasix.orbit.schemas import Callout
Callout.make()
.danger()
.label("Delete project")
.description("This action cannot be undone.")
.footer_actions([
Action.make("confirm").label("Delete").color("danger"),
])
.footer_actions_alignment("end")

You can also nest schema children via .schema([...]) inside the callout body.

Method Role
.info / .success / .warning / .danger Status helpers
.status Explicit status string
.label Title text
.description Supporting copy
.icon / .icon_color / .color Visual overrides
.footer_actions Action components in the footer
.footer_actions_alignment e.g. start / end
.schema Nested body components