Panel
The Panel component (ui:panel) wraps a single suppressed block variable in a styled container. Use it to add visual weight, grouping, or breathing room to any block — including layout blocks like ui:columns and ui:rows.
Examples
Card (default)
Subtle background, rounded corners, thin border, and a light shadow.
View Glyph Markdown source
```ui:kpi=_revenuemetrics: - label: Revenue value: $4.2M delta: "+18% YoY" trend: up sentiment: positive - label: ARR value: $50.4M trend: up sentiment: positivecolumns: 2```
```ui:panelchild: revenuestyle: cardpadding: 1.5rem```Bordered
Visible border with rounded corners, no fill. Clean and minimal.
View Glyph Markdown source
```ui:callout=_notetype: infotitle: Deployment Noticecontent: Release 2.4.0 is scheduled for March 12. No breaking changes.```
```ui:panelchild: notestyle: borderedpadding: 1.25rem```Elevated
Prominent drop shadow to visually lift the panel. Use sparingly to highlight the most important block.
View Glyph Markdown source
```ui:callout=_highlighttype: tiptitle: Q1 Objectivecontent: Achieve $50M ARR by March 31. Current tracking at 98.7% of target.```
```ui:panelchild: highlightstyle: elevatedpadding: 1.5rem```Ghost
No visual chrome — only padding is applied. Useful for spacing control without adding borders or background.
View Glyph Markdown source
```ui:callout=_quiettype: warningtitle: Internal Notecontent: Do not distribute outside the executive team before board approval.```
```ui:panelchild: quietstyle: ghostpadding: 2rem```Properties
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
child | string | Yes | — | Name of the suppressed block variable to wrap. |
style | "card" | "bordered" | "elevated" | "ghost" | No | "card" | Visual style of the panel container. |
padding | string | No | "1rem" | CSS padding inside the panel (e.g. "1.5rem", "1rem 2rem"). |
Wrapping layout blocks
ui:panel can wrap any block, including ui:columns and ui:rows. Define the layout block as a suppressed variable and reference it:
```ui:columns=_gridratio: [1, 1]gap: 1remchildren: [left, right]child: gridstyle: cardpadding: 1.5remThe suppressed block must be defined before the panel that references it.