Preact

Integración con Preact

@cmd-kit/preact replica la API pública de React sobre Preact.

Instalación

Gestor de paquetes
npm install @cmd-kit/preact

Uso básico

import { CommandPalette } from "@cmd-kit/preact";

const sections = [
  {
    id: "navigation",
    title: "Navigation",
    items: [{ id: "dashboard", title: "Dashboard", href: "/dashboard" }]
  }
];

export function Example() {
  return <CommandPalette sections={sections} title="Comandos del proyecto" />;
}

Superficie de configuración

Iconos y layout

<CommandPalette
  sections={sections}
  renderItem={(item, active) => (
    <div className={active ? "palette-row is-active" : "palette-row"}>
      <MyIcon name={item.id} />
      <span>{item.title}</span>
    </div>
  )}
  title="Comandos del proyecto"
/>

Añadir un comando nuevo

Añade una opción nueva creando un nuevo ítem en tu sección. shortcut es opcional.

const sections = [
  {
    id: "navigation",
    title: "Navigation",
    items: [
      { id: "dashboard", title: "Dashboard", href: "/dashboard" },
      { id: "billing", title: "Billing", href: "/billing", shortcut: "mod+b" },
      { id: "support", title: "Support", href: "/support" }
    ]
  }
];

Comandos recientes

recents es opcional y está desactivado por defecto. Actívalo con recents={true} o configúralo con recents={{ limit, sectionTitle }}. Desactívalo con recents={false}.

<CommandPalette
  sections={sections}
  recents={false}
  title="Comandos del proyecto"
/>

FAQ

¿La API de Preact es intencionalmente parecida a React?

Sí. El adaptador replica la API de React para compartir patrones y configuración.

¿Necesito alias de compatibilidad de React para usarlo?

No. Con @cmd-kit/preact trabajas directamente sobre Preact.

¿También tengo source asíncrono y recientes en Preact?

Sí. source y recents están soportados en el adaptador de Preact.

¿Cómo desactivo recientes en Preact?

Deja recents sin definir (apagado por defecto) o pásalo como recents={false}.

¿Cómo reemplazo la UI por defecto de cada fila?

Usa renderItem para controlar toda la fila o renderers para overrides puntuales.

¿Cuándo es mejor usar Core en vez del adaptador de Preact?

Cuando tu producto requiere una interacción o un render que sobrepasa los límites del componente empaquetado.