Prime components
Introduction
Section titled “Introduction”Primes are read-only display components — text (optionally badge / markdown / HTML), icons, images, and lists. Use them in infolists, empty-state bodies, or beside form fields when you need chrome without editable state.
from almasix.orbit.schemas import Text, Icon, Image, UnorderedList
Text.make().content("Published").badge().color("success")Icon.make().icon("heroicon-o-check").color("success").size("lg")Image.make().src("/avatars/a.png").image_size(48).align_center()UnorderedList.make().items(["Tables", "Forms", "Panels"]).bullet_size("sm")

Text renders inline or block copy. Pass a string or a callable to .content(...); without content it stringifies the render state.
from almasix.orbit.schemas import Text
Text.make() .content("Published") .badge() .color("success")

Formatting
Section titled “Formatting”Text.make().content("**Bold** and `code`").markdown()Text.make().content("<em>Trusted</em> HTML").html()Text.make().content("SKU-104").size("sm").weight("semibold")Text.make().content("Monospace").font_family("ui-monospace, monospace")Text.make().content("Hover me").tooltip("Copied from inventory")Text.make().content("Verified").icon("heroicon-o-check-badge").color("success")| Method | Role |
|---|---|
.content |
Static string or callable (state, record, …) |
.markdown |
Light markdown → HTML (**, *, `) |
.html |
Pass content through unescaped (trusted HTML only) |
.badge |
Pill / badge chrome |
.color |
Inbuilt color name or callable |
.size |
xs · sm · md · lg · xl |
.weight |
light · normal · medium · semibold · bold |
.font_family |
CSS font-family value |
.tooltip |
Native title tooltip |
.icon |
Icon before the text |

from almasix.orbit.schemas import Icon
Icon.make() .icon("heroicon-o-check") .color("success") .size("lg") .tooltip("Verified")
![]()
.icon(...) accepts a string or callable. Sizes match text primes (xs–xl).
| Method | Role |
|---|---|
.icon |
Icon name or callable |
.color |
Color class |
.size |
xs · sm · md · lg · xl |
.tooltip |
Native title tooltip |
from almasix.orbit.schemas import Image
Image.make() .src("https://api.dicebear.com/9.x/shapes/svg?seed=orbit") .image_size(48) .align_center() .tooltip("Avatar")

.src(...) may be a URL string or callable. Prefer .image_size when width and height should match; otherwise set .width / .height independently.
Alignment
Section titled “Alignment”Image.make().src(url).align_start()Image.make().src(url).align_center()Image.make().src(url).align_end()# or: .alignment("start" | "center" | "end")| Method | Role |
|---|---|
.src |
Image URL or callable |
.image_size |
Square size (px int or CSS length) |
.width / .height |
Independent dimensions |
.align_start / .align_center / .align_end |
Horizontal alignment helpers |
.alignment |
"start" · "center" · "end" |
.tooltip |
Native title on the <img> |
Unordered list
Section titled “Unordered list”from almasix.orbit.schemas import UnorderedList, Text
UnorderedList.make() .items(["Tables", "Forms", "Panels"]) .bullet_size("sm")
# Items may be strings, nested components, or a callable:UnorderedList.make().items([ Text.make().content("Nested prime").badge(), "Plain string",])

| Method | Role |
|---|---|
.items |
Sequence of strings / components, or callable |
.bullet_size |
xs · sm · md · lg · xl |