Input

Un componente de entrada de texto moderno con efectos de foco y múltiples variantes de estilo.

Cargando...
import { Input } from "stofli-ui";
Cargando...

Ejemplos básicos para diferentes usos.

Cargando...
Cargando...

Usando la prop size: sm, md y lg.

Cargando...
Cargando...

Usando la prop variant: default, primary, secondary, success, warning y danger.

Cargando...
Cargando...

Añade íconos al inicio o final del input para mejorar la experiencia visual.

Cargando...
Cargando...

El componente Input incluye validación automática para tipos específicos como email y url, además de mostrar mensajes de error y éxito.

Cargando...
Cargando...

Controla manualmente los estados de error y éxito con las props error y success.

Cargando...
Cargando...

Usa la prop pattern para validar el input con expresiones regulares personalizadas.

Cargando...
Cargando...

Usando la prop radius: none, sm, md y full.

Cargando...
Cargando...

Utilizando la prop fullWidth para que el input ocupe todo el ancho disponible.

Cargando...
Cargando...

Ejemplo de un formulario de contacto con validación integrada.

Cargando...
Cargando...

El componente Input soporta validación mediante reglas predefinidas en formato de cadena de texto, lo que evita problemas de serialización en componentes cliente.

Cargando...
Cargando...

Puedes personalizar cualquier parte del componente usando las propiedades de className con clases de Tailwind CSS.

Cargando...
Cargando...
PropTipoDefaultDescripción
labelstring-Etiqueta para el campo de entrada
placeholderstring""Texto de marcador de posición
typestring"text"Tipo de input (text, password, email, etc.)
defaultValuestring""Valor por defecto para inputs no controlados. No debe usarse junto con value
valuestring-Valor controlado del input. No debe usarse junto con defaultValue
namestring-Nombre del campo para formularios
idstring-ID del elemento input
disabledbooleanfalseDeshabilita el input
requiredbooleanfalseMarca el campo como requerido
errorstring-Mensaje de error para mostrar
successbooleanfalseIndica si el campo tiene un valor válido
patternstring-Patrón de expresión regular para validación
validatestring | ((value: string) => string | undefined)-Regla de validación predefinida o función personalizada. Las reglas disponibles son: "email", "url", "min:N" donde N es el número mínimo de caracteres
successMessagestring-Mensaje a mostrar cuando el input es válido
iconReactNode-Ícono para mostrar junto al input
iconPosition"left" | "right""left"Posición del ícono
variant"default" | "primary" | "secondary" | "success" | "warning" | "danger""default"Variante de estilo
size"sm" | "md" | "lg""md"Tamaño del input
radius"none" | "sm" | "md" | "full""md"Radio de las esquinas
fullWidthbooleanfalseHace que el input ocupe todo el ancho disponible
classNamestring-Clases adicionales para el contenedor
inputClassNamestring-Clases adicionales para el elemento input
labelClassNamestring-Clases adicionales para la etiqueta
onChange(e: React.ChangeEvent<HTMLInputElement>) => void-Función llamada al cambiar el valor
onFocus(e: React.FocusEvent<HTMLInputElement>) => void-Función llamada al enfocar el input
onBlur(e: React.FocusEvent<HTMLInputElement>) => void-Función llamada al perder el foco
aria-labelstring-Etiqueta ARIA personalizada
aria-describedbystring-ID del elemento que describe el input
descriptionstring-Texto descriptivo para el input
errorIdstring-ID personalizado para el mensaje de error
descriptionIdstring-ID personalizado para la descripción
hideLabelbooleanfalseOculta visualmente la etiqueta pero la mantiene accesible para lectores de pantalla
autoCompletestring-Valor para el atributo autoComplete del input
readOnlybooleanfalseEstablece el input en modo solo lectura