Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/feedback

DropdownMenu

Menú que se despliega desde un disparador, con ítems, separadores e ítems de tilde.

77 sitios de import en 8 de 15 verticales — un archivo que la importa cuenta una vez, monte una instancia o veinte.

  • TheCharterPanel
  • carlosmartinpavon
  • cmp-packages
  • dietaly
  • gestorsalon
  • luigi
  • raquetea
  • zentrya

El componente, montado

Cargando el espécimen…

Éste es el conjunto completo. Abajo, los mismos casos por separado, cada uno con su código.

Cómo se usa

import {
  DropdownMenu,
  DropdownMenuCheckboxItem,
  DropdownMenuContent,
  DropdownMenuGroup,
  DropdownMenuItem,
  DropdownMenuLabel,
  DropdownMenuSeparator,
  DropdownMenuTrigger,
} from '@solu30/ui-kit/feedback'
<DropdownMenu>
  <DropdownMenuTrigger asChild>
    <Button variant="ghost" size="sm">
      Acciones
    </Button>
  </DropdownMenuTrigger>
  <DropdownMenuContent>
    <DropdownMenuItem>Ver la ficha</DropdownMenuItem>
    <DropdownMenuItem>Descargar el contrato</DropdownMenuItem>
  </DropdownMenuContent>
</DropdownMenu>

Anatomía

Las partes que componen DropdownMenu se importan del mismo subpath. Sueltas no significan nada: se montan siempre dentro de su padre.

DropdownMenu
├── DropdownMenuCheckboxItem
├── DropdownMenuContent
├── DropdownMenuGroup
├── DropdownMenuItem
├── DropdownMenuLabel
├── DropdownMenuSeparator
└── DropdownMenuTrigger

Props

4 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
openopcionalboolean—
onOpenChangeopcional(open: boolean) => void—
modalopcionalbooleanPass modal={false} when nested inside a Sheet/Dialog to avoid double scroll-lock.
childrensíReactNode—

Acciones

Para un menú de acciones que se ejecutan y cierran el menú al tocarlas — editar, duplicar, eliminar sobre una fila o una tarjeta.

Cargando el espécimen…

Casilleros

Cuando el menú controla filtros o preferencias que el usuario alterna sin cerrar el menú en cada click — el ítem con casillero en vez del ítem simple.

Cargando el espécimen…

Ejemplo del paquete

<DropdownMenu>
  <DropdownMenuTrigger asChild>
    <IconButton icon={MoreVertical} tooltip="Acciones" />
  </DropdownMenuTrigger>
  <DropdownMenuContent align="end">
    <DropdownMenuLabel>Reserva</DropdownMenuLabel>
    <DropdownMenuItem onClick={editar}>Editar</DropdownMenuItem>
    <DropdownMenuSeparator />
    <DropdownMenuItem onClick={borrar} className="text-ui-error-text">Borrar</DropdownMenuItem>
  </DropdownMenuContent>
</DropdownMenu>

Del @example del JSDoc de @solu30/ui-kit, sin editar: son 65 de los 541 símbolos. La sangría y los renglones en blanco son los del paquete.