OrbitMenu
Shell de menú desplegable — radius.md (8px, “field / menu” en la
escala de radios), fondo surface.card, borde surface.border-strong,
sombra (menú/popover son justo lo que la especificación de elevación
de Orbit marca con sombra). Es el mismo shell que usa el dropdown de
OrbitSelect — factorizado acá como la pieza reutilizable. Los ítems
son OrbitMenuItem; destructive en un ítem lee
color.semantic-error.solid, el mismo set cerrado de cinco semánticos
que usan alerts y badges, no un rojo suelto.
Uso
En web, el trigger va en el slot trigger, los ítems son hijos
<orbit-menu-item>.
<orbit-menu> <orbit-button slot="trigger" variant="secondary" size="sm">Acciones</orbit-button> <orbit-menu-item label="Renombrar"></orbit-menu-item> <orbit-menu-item label="Duplicar"></orbit-menu-item> <orbit-menu-item label="Eliminar" destructive></orbit-menu-item></orbit-menu>var expanded by remember { mutableStateOf(false) }Box { OrbitButton(text = "Acciones", onClick = { expanded = true }, variant = OrbitButtonVariant.Secondary, size = OrbitButtonSize.Sm) OrbitMenu(expanded = expanded, onDismissRequest = { expanded = false }) { OrbitMenuItem(label = "Renombrar", onClick = { expanded = false }) OrbitMenuItem(label = "Duplicar", onClick = { expanded = false }) OrbitMenuItem(label = "Eliminar", onClick = { expanded = false }, destructive = true) }}Se cierra solo al clickear afuera, al elegir un ítem, o con Escape.
Props
OrbitMenu
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
expanded (Kotlin) / attr open (web, se controla solo) | boolean | false | Controla si el menú está abierto. |
onDismissRequest (Kotlin) | () => void | — | Se dispara al cerrar. |
| trigger | slot trigger (web) / composable externo (Kotlin) | — | El elemento que abre el menú. |
OrbitMenuItem
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
label | string | — | Texto del ítem. |
onClick / evento click | () => void | — | Se dispara al elegir el ítem. |
icon | OrbitIcon? / catálogo cerrado | null | Ícono antes del texto. |
destructive | boolean | false | Pinta texto/ícono con semantic-error.solid. |
enabled / attr disabled | boolean | true | Habilita/deshabilita el ítem. |