Controles

Cuatro entradas + el botón. Cada una lleva name: lo que un submit recolecta es todo lo nombrado en la pantalla.
Botones — plain y prominent, y compact para caber en una fila:
{ "type": "stack", "props": { "spacing": 8 }, "children": [ { "type": "button", "props": { "action": { "type": "navigate", "target": "treceui/text" }, "style": "prominent", "title": "Continuar" } }, { "type": "button", "props": { "action": { "type": "navigate", "target": "treceui/text" }, "style": "prominent", "title": "Secundario" } }, { "type": "button", "props": { "action": { "type": "navigate", "target": "treceui/text" }, "size": "compact", "style": "prominent", "title": "+" } } ] }
sale esto:

field — texto libre, con placeholder y teclado:
{ "type": "field", "props": { "name": "q", "placeholder": "Escribe algo…" } }
sale esto:

toggle — encendido o no; trae su propia etiqueta:
{ "type": "toggle", "props": { "is_on": true, "label": "Avisarme", "name": "notify", "subtitle": "Cuando algo cambie" } }
sale esto:

radio — una opción entre nombradas:
{ "type": "radio", "props": { "name": "size", "options": [ "S", "M", "L" ], "selected": "M" } }
sale esto:

slider — una cantidad con rango que se debe ver:
{ "type": "slider", "props": { "label": "Brillo", "max": 100, "min": 0, "name": "brightness", "unit": "%", "value": 60 } }
sale esto: