Input: HextaUI y shadcn/ui

El Input 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 exportadas21
Props que gestiona el envoltorio81
Líneas de código18519
Dependencias de npm@base-ui/react@^1.8.0class-variance-authoritycncn
Construido conmotionnumber-flowthemeuse-autosizeuse-composed-refuse-invalid-shakeuse-merged-ref–

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 HextaUIInputCount

En ambosInput

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
htmlSizeInputEl atributo size nativo, renombrado porque size es la variante.
shakeInputSe sacude una vez cuando el envío de un formulario encuentra este input no válido. Funciona con la validación nativa, Field de Base UI y librerías que definen aria-invalid. Se omite con movimiento reducido.
thresholdInputCountVer la referencia de la API
announcementInputCountVer la referencia de la API

Variantes

PropEn ambosSolo HextaUISolo shadcn/ui
sizeInput–smdefaultlg–

La versión de HextaUI

import { Input } from "@/components/ui/input"
import { Label } from "@/components/ui/label"

export function InputDemo() {
  return (
    <div className="flex w-full max-w-sm flex-col gap-2">
      <Label htmlFor="input-demo-email">Email</Label>
      <Input
        id="input-demo-email"
        type="email"
        autoComplete="email"
        placeholder="[email protected]"
      />
    </div>
  )
}

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

13 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/input.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