DONUT
Anillo de proporciones con leyenda.
En esta página
Props
Tabla generada desde el esquema real (ui-schema.ts); si el esquema cambia, cambia esta tabla.
| Prop | Tipo | Requerido | Valores permitidos | Por defecto | Descripción |
|---|---|---|---|---|---|
| data | arreglo de objeto | No | — | — | Datos [{label,value,tone?}]. |
| centerLabel | texto | No | — | — | Texto central. |
| size | enum | No | "xs""sm""md""lg""xl" | "md" | Tamano. |
| showLegend | booleano | No | truefalse | true | Leyenda. |
| title | texto | No | — | — | Titulo accesible. |
Estructuras anidadas
data[]
| Prop | Tipo | Valores permitidos | Por defecto | Descripción |
|---|---|---|---|---|
| data[].label | texto | — | — | Etiqueta. |
| data[].value | numero | — | — | Valor. |
| data[].tone | enum | "neutral""primary""success""warning""danger""info" | "primary" | Intencion semantica; el tema decide el color. |
Props comunes a todos los componentes
| Prop | Tipo | Valores permitidos | Por defecto | Descripción |
|---|---|---|---|---|
| hidden | booleano | truefalse | — | true oculta el componente (admite expresiones). |
| onLoad | accion(es)acción | — | — | Accion que se ejecuta una vez al montar. |
| onLoadWhen | cualquiera | — | — | Condicion: onLoad se ejecuta cuando pasa a verdadera. |
| ariaLabel | texto | — | — | Nombre accesible explicito. |
Eventos y acciones que acepta
Props que ejecutan una acción (o cadena de acciones). Las variables disponibles en ${...} dentro de la acción son las que recibe cada evento.
No tiene eventos propios (solo onLoad, común a todos).
| Evento | Recibe | Descripción |
|---|---|---|
| onLoad | — | Accion que se ejecuta una vez al montar. |
Estado y contexto que usa
Cómo interactúa con state y context (expresiones ${...}).
items / data / rows / optionsLos datos suelen venir de
${state.<clave>}(rellenada porresultKeyde CALL_BACKEND) o de${context.*}.hidden / onLoadWhenCondiciones comunes:
hidden: "${!state.x}"oculta el componente;onLoadWhenejecutaonLoadal pasar a verdadera.
Simulador interactivo
Renderiza el JSON validado con el mismo renderer y el mismo kit que la app, con el tema actual de esta página. Nada sale a la red: CALL_BACKEND usa una respuesta simulada.
Acciones relacionadas
Acciones que este componente puede disparar desde sus props de acción (cualquiera de UI_ACTIONS) y las que lo controlan. Detalle de cada acción en la sección de acciones.
Usadas en sus ejemplos y manifests
Ninguna.
Acciones que lo controlan
Ninguna.
Ejemplo en un manifest real
Ningún manifest de bloomx-extensions usa todavía este componente. Este es el ejemplo del esquema (ui-examples.ts) dentro de un manifest mínimo.
{
"manifestVersion": "1.0",
"id": "my-extension",
"version": "1.0.0",
"name": "My extension",
"permissions": [],
"mounts": [
{
"point": "EMAIL_TOOLBAR",
"component": {
"type": "DONUT",
"props": {
"title": "Por estado",
"centerLabel": "100",
"data": [
{
"label": "Activos",
"value": 60,
"tone": "success"
},
{
"label": "Pendientes",
"value": 25,
"tone": "warning"
},
{
"label": "Inactivos",
"value": 15,
"tone": "danger"
}
]
}
}
}
]
}