Command: HextaUI y shadcn/ui

El Command de HextaUI mantiene los nombres y tokens de tema de shadcn/ui y se instala con la misma CLI. Esta página lista lo que cambia, leído del código de ambos. El lado de shadcn/ui es su registro base-vega a fecha de 2026-10-16.

De un vistazo

MedidaHextaUIshadcn/ui
Partes exportadas129
Props que gestiona el envoltorio333
Líneas de código1179210
Dependencias de npm@base-ui/react@^1.8.0@tabler/icons-reactcmdk@^1.1.1cncmdkcn
Construido conbuttonhotkeymotionspinnerthemedialoginput-group

Más código no es mejor por sí solo. La mayoría de las líneas extra de HextaUI cubren estados, animaciones y casos límite que de otro modo escribirías tú.

Partes

Solo en HextaUICommandPageCommandLoadingCommandFooter

En ambosCommandCommandInputCommandListCommandEmptyCommandGroupCommandSeparatorCommandItemCommandShortcutCommandDialog

Props que añade HextaUI

Props que gestiona el propio envoltorio de HextaUI y el de shadcn/ui no. Se omiten las props que pasan directamente a Base UI o a la librería subyacente, porque ambas versiones las aceptan.

PropQué hace
formatResultsCommandTexto que se anuncia a los lectores de pantalla tras escribir.
highlightCommandResalta las letras coincidentes en cada elemento y atenúa el resto.
rootTitleCommandSe anuncia al salir de la última página y volver a la raíz.
clearLabelCommandInputNombre accesible del botón de borrar.
backLabelCommandInputNombre accesible del chip de página.
minDurationCommandLoadingMilisegundos mínimos que permanece el spinner una vez mostrado.
shortcutCommandItemUn atajo como "mod+shift+c". Se muestra en el elemento y lo ejecuta mientras el foco está en el menú.
pageCommandItemAbre el CommandPage con este id en lugar de ejecutarse.
pageTitleCommandItemTítulo que se muestra en el chip de página. Por defecto es el valor.
confirmCommandItemHace parpadear brevemente el elemento antes de ejecutarlo, para que se note la elección.
hotkeyCommandShortcutDa formato a un atajo como "mod+k" para la plataforma actual. Los hijos lo reemplazan.
preserveSearchCommandDialogMantiene el diálogo montado para que la consulta, la página y la selección sobrevivan al cierre. La consulta queda seleccionada al reabrirlo.

La versión de HextaUI

import {
  IconCalculator,
  IconCalendar,
  IconCreditCard,
  IconMoodSmile,
  IconSettings,
  IconUser,
} from "@tabler/icons-react"

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

export function CommandDemo() {
  return (
    <Command highlight className="w-full max-w-sm">
      <CommandInput placeholder="Type a command or search…" />
      <CommandList>
        <CommandEmpty>No results found.</CommandEmpty>
        <CommandGroup heading="Suggestions">
          <CommandItem>
            <IconCalendar />
            Calendar
          </CommandItem>
          <CommandItem>
            <IconMoodSmile />
            Search Emoji
          </CommandItem>
          <CommandItem disabled>
            <IconCalculator />
            Calculator
          </CommandItem>
        </CommandGroup>
        <CommandSeparator />
        <CommandGroup heading="Settings">
          <CommandItem shortcut="mod+p">
            <IconUser />
            Profile
          </CommandItem>
          <CommandItem shortcut="mod+b">
            <IconCreditCard />
            Billing
          </CommandItem>
          <CommandItem shortcut="mod+,">
            <IconSettings />
            Settings
          </CommandItem>
        </CommandGroup>
      </CommandList>
    </Command>
  )
}

Todos los estados, el mapa de teclado y la referencia de la API están en la página del componente.

7 de sus ejemplos también tienen su propia página.

Cambia un componente

Ejecuta el comando add con --overwrite para reemplazar el archivo de shadcn/ui en @/components/ui y revisa el diff en git antes de quedártelo. Los imports no cambian y los componentes que no reemplaces siguen funcionando.

pnpm dlx shadcn@latest add https://hextaui.com/r/command.json --overwrite
  • Cada prop de la tabla anterior es nueva, así que el código escrito para shadcn/ui todavía no la pasa.
  • Antes de cambiar, revisa cualquier parte o variante que solo aparezca en shadcn/ui y asígnala a la más parecida de HextaUI.

Otros componentes comparados

Más comparaciones