Saltar al contenido
Logic2BUI

Buscar en la documentación

Busca componentes y documentación

Nuevo
Menú

Paleta de comandos

Menú de comandos rápido y componible para React.

Instalación

npx logic2b@next add command

Uso

import {
  Command,
  CommandEmpty,
  CommandGroup,
  CommandInput,
  CommandItem,
  CommandList,
} from "@/components/ui/command"

<Command>
  <CommandInput placeholder="Escribe un comando o busca…" />
  <CommandList>
    <CommandEmpty>No se han encontrado resultados.</CommandEmpty>
    <CommandGroup heading="Sugerencias">
      <CommandItem>Calendario</CommandItem>
    </CommandGroup>
  </CommandList>
</Command>

CommandDialog

Usa CommandDialog para mostrar la paleta dentro de un modal al estilo ⌘ K. Depende del componente dialog.

import { CommandDialog, CommandInput, CommandList } from "@/components/ui/command"

<CommandDialog open={open} onOpenChange={setOpen}>
  <CommandInput placeholder="Escribe un comando o busca…" />
  <CommandList>...</CommandList>
</CommandDialog>

Notas de uso

Está construido sobre cmdk. Las propiedades se reenvían a las primitivas subyacentes.

Ejemplos

Con iconos

Diálogo de comandos

Muestra el menú dentro de un modal y ábrelo mediante un atajo de teclado.

Press
⌘J
or .

Command Palette

Search for a command to run...

Accesibilidad

  • Se controla completamente con el teclado: las flechas mueven la selección, Intro ejecuta el elemento resaltado e Inicio y Fin saltan a los extremos de la lista.
  • CommandInput es un combobox que controla la lista mediante aria-activedescendant; el foco permanece en la entrada mientras se anuncian los elementos activos.
  • CommandSeparator es decorativo por defecto, por lo que queda fuera del contrato de roles hijos de listbox sin perder su agrupación visual.
  • CommandDialog mantiene el foco dentro, se cierra con Escape e incluye título y descripción solo para lectores de pantalla.

Playground interactivo

Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.

JSX generado
<Command
  className="w-full max-w-md border shadow-sm"
  aria-label="Component commands"
>
  <CommandInput
    placeholder="Search components…"
    aria-label="Search commands"
   />
  <CommandList>
    <CommandEmpty>No component found.</CommandEmpty>
    <CommandGroup
      heading="Components"
    >
      <CommandItem
        value="button"
      >Button</CommandItem>
      <CommandItem
        value="dialog"
      >Dialog</CommandItem>
      <CommandItem
        value="tooltip"
      >Tooltip</CommandItem>
    </CommandGroup>
  </CommandList>
</Command>

Referencia de API

Generada a partir de las exportaciones públicas de TypeScript en src/ui/command.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.

Ver JSON

Command

Componente
Props: React.ComponentProps<typeof CommandPrimitive>

CommandDialog

Componente
Props: React.ComponentProps<typeof Dialog> & { title?: string description?: string className?: string showCloseButton?: boolean }
PropiedadTipoObligatoriaValor predeterminadoDescripción
titlestringNo"Command Palette"—
descriptionstringNo"Search for a command to run..."—
showCloseButtonbooleanNotrue—

CommandInput

Componente
Props: React.ComponentProps<typeof CommandPrimitive.Input>

CommandList

Componente
Props: React.ComponentProps<typeof CommandPrimitive.List>

CommandEmpty

Componente
Props: React.ComponentProps<typeof CommandPrimitive.Empty>

CommandGroup

Componente
Props: React.ComponentProps<typeof CommandPrimitive.Group>

CommandItem

Componente
Props: React.ComponentProps<typeof CommandPrimitive.Item>

CommandShortcut

Componente
Props: React.ComponentProps<"span">

CommandSeparator

Componente
Props: React.ComponentProps<typeof CommandPrimitive.Separator>

Contrato de accesibilidad

Comportamiento legible por máquinas y responsabilidades de quien integra command. Los detalles normativos conservan el texto canónico del registro.

Ver JSON
Soporte
Gestionado por la primitiva
Patrón
combobox with listbox
cmdk
Interacciones de teclado para command
TeclasComportamiento
ArrowUp ArrowDownMove through matching commands.
EnterRun the active command.
EscapeClose the open surface and restore focus.

Semántica incorporada

  • The input and list coordinate with combobox/listbox semantics and active descendant state.

Responsabilidades de integración

  • Give the dialog and input useful labels; commands must remain understandable without shortcut text.