ObjectStackObjectStack

Element components — component reference

The element:* components: text, numbers, buttons, dividers, definition lists and repeaters.

The element:* components are small, self-contained page elements.

This page is generated from the repo-root sdui.manifest.json, the component manifest CI regenerates from the renderer registry. Regenerate it with node scripts/gen-sdui-reference.mjs; node scripts/gen-sdui-reference.mjs --check fails when it is stale.

element:button

Namespace element.

InputTypeRequiredDescription
labelstring | objectyesAccepts an inline translation map ({ en, "zh-CN", … })
actionobjectInline ActionDef executed on click (url / navigation / api / script / modal / flow); omitted → renders inert
variantenum: primary, secondary, danger, ghost, link—
sizeenum: small, medium, large—
iconstringLucide icon name
iconPositionenum: left, right—
disabledboolean—

element:definition-list

Namespace element.

InputTypeRequiredDescription
itemsarray of objectTerm/description pairs [{ term, description }], in order: term is the row label, description is shown as-is (an object as JSON, an omitted one as an em dash). Omitted or empty renders the empty state: the active language’s "No data" (common.noData)
columnsenum: [object Object], [object Object]Grid columns from the small breakpoint up: the NUMBER 1 or 2 (default 1)
inlinebooleanTerm and description on one baseline-aligned row

element:divider

Namespace element.

It takes no inputs.

element:number

Namespace element.

InputTypeRequiredDescription
aggregateenum: count, sum, avg, min, maxyes—
fieldstringMeasure field (required for every aggregate except count)
formatenum: number, currency, percent—
prefixstring—
suffixstring—
dataSourceobject (object data binding)Per-element data binding: { object, view, filter, sort, limit }. Overrides the page-level object context for this block; view names a saved view of object, and filter is ANDed with the view’s own rather than replacing it.

element:repeater

Namespace element.

InputTypeRequiredDescription
titleFieldstring—
fieldsarrayFields shown after the title on each line, in order: a bare field name, or { field }
emptyTextstring—
dividedbooleanSeparator between rows
dataSourceobject (object data binding)Per-element data binding: { object, view, filter, sort, limit }. Overrides the page-level object context for this block; view names a saved view of object, and filter is ANDed with the view’s own rather than replacing it.

element:text

Namespace element.

InputTypeRequiredDescription
contentstring | objectyesAccepts an inline translation map ({ en, "zh-CN", … })
variantenum: h1, h2, h3, h4, h5, h6, body, caption, overlineOne of the nine text styles ui:text uses: h1-h6 (rendered as that heading level), body, caption or overline. The earlier spellings heading and subheading are refused; write h2 or h3 instead.
alignenum: left, center, right—

On this page