Flip Card
A card with N faces that flips between them. Each face is a group (label, grid, nested children). Two faces give the classic front/back; more faces flip through in sequence and wrap. The active face index is the control value, so it syncs and fires actions, and a jump of several faces chains a flip per step.
Type
"flipCard"
Relevant Fields
| Field | Type | Default | Description |
|---|---|---|---|
panels |
Group Definition[] | — | The faces (2+), each a group definition |
flipTrigger |
string | "tap" |
"tap" or "longPress" |
flipAxis |
string | "horizontal" |
"horizontal" (Y axis) or "vertical" (X axis) |
defaultValue |
number | 0 |
Initial face index |
containerAnimation |
object | — | Motion customization (see below) |
Tapping/long-pressing advances to the next face (wrapping) and fires the action with the new index. An incoming Sync flips to a target face.
3D Flip
The card rotates with perspective and back-face culling — the incoming face stays hidden
until the half-way point, so it never renders mirrored. Customize via containerAnimation:
| Field | Type | Default | Description |
|---|---|---|---|
profile |
string | bouncy |
Base spring profile |
duration |
number | — | Override flip seconds |
bounce |
number | — | Spring bounce 0–1 |
multiStep |
bool | true |
Chain a flip per step on a multi-face jump |
stepInterval |
number | 0.12 |
Seconds between chained flips |
flipPerspective |
number | 0.5 |
3D perspective amount |
Examples
Status front / actions back
{
"type": "flipCard",
"id": "status-card",
"position": [0, 0],
"span": [2, 2],
"flipAxis": "horizontal",
"containerAnimation": { "profile": "snappy", "flipPerspective": 0.7 },
"panels": [
{ "type": "group", "id": "front", "label": "Status", "position": [0,0], "grid": { "columns": 1, "rows": 1 },
"children": [ { "type": "gauge", "id": "f-cpu", "position": [0,0], "label": "CPU", "min": 0, "max": 100, "defaultValue": 42 } ] },
{ "type": "group", "id": "back", "label": "Actions", "position": [0,0], "grid": { "columns": 2, "rows": 1 },
"children": [
{ "type": "button", "id": "b-restart", "position": [0,0], "label": "Restart", "icon": "arrow.clockwise" },
{ "type": "button", "id": "b-stop", "position": [0,1], "label": "Stop", "icon": "stop.fill" }
] }
]
}
Theming
Faces are glass cards from the active theme. Set hideBackground on a face for a
transparent card.
Related
- Group Definition — each face is a group
- Carousel — page horizontally instead of flipping
- Accordion — vertical expand/collapse
- Actions —
{{value}}face index - Sync — drive the face from the server
- Animations — base animation profiles