Saltearse al contenido

TextField

Campo de texto — estilado desde color.field.* de design-tokens, el mismo set que comparten OrbitTextarea y OrbitSelect (son una sola familia visual, no grupos de color por componente como las variantes de botón). El foco es siempre un borde lima sólido de 2px (field.border-focus), nunca un glow.

Uso

<orbit-text-field
label="Nombre del proyecto"
placeholder="nombre-del-proyecto"
helper-text="Se usa como nombre del archivo Kotlin."
></orbit-text-field>

Tamaños

Comparte la misma escala control.height.* que OrbitButton — un botón, un campo y una fila de nav siempre alinean en una toolbar.

<orbit-text-field size="xs" placeholder="xs"></orbit-text-field>
<!-- xs | sm | md | lg | xl -->

Íconos

leading-icon/trailing-icon aceptan un nombre del catálogo cerrado de Orbit, igual que en OrbitButton.

<orbit-text-field
placeholder="Buscar..."
leading-icon="sparkles"
></orbit-text-field>

Estados

<orbit-text-field placeholder="Enabled"></orbit-text-field>
<orbit-text-field placeholder="Disabled" disabled></orbit-text-field>
<orbit-text-field
value="mal-formado"
error-text="Ese nombre ya existe."
></orbit-text-field>

disabled usa el par sólido mudo (text.disabled) — nunca opacity. Cuando hay errorText/error-text, reemplaza al helperText y pinta el borde con field.border-error.

Validación con pattern

Escribí algo que no sea un número — se pinta de error solo, sin que nadie bloquee tu tecla. Borralo o escribí un número y el error desaparece.

<orbit-text-field
label="Solo números"
placeholder="Escribí algo..."
pattern="[0-9]+"
pattern-error-text="Solo se permiten números."
></orbit-text-field>

Si pasás errorText/error-text a la vez que pattern, gana errorText — pensado para cuando el error viene de otro lado (ej. una validación async del servidor) y no del regex.

Props

PropTipoDefaultDescripción
valuestring—Valor actual.
onValueChange / evento input(string) => void—Se dispara en cada cambio.
placeholderstring?nullTexto de placeholder.
labelstring?nullLabel sobre el campo.
helperText / attr helper-textstring?nullTexto de ayuda bajo el campo.
errorText / attr error-textstring?nullSi está presente, activa el estado de error y reemplaza al helper text. Siempre gana sobre la validación por pattern.
pattern / attr patternRegex? (Kotlin) / string regex (web)nullValida el valor, no bloquea el tipeo — si no matchea, muestra patternErrorText como si fuera errorText.
patternErrorText / attr pattern-error-textstring?nullMensaje de error a mostrar cuando el valor no matchea pattern.
enabled / attr disabledbooleantrueHabilita/deshabilita el campo.
sizeOrbitFieldSize (Kotlin) / "xs" | "sm" | "md" | "lg" | "xl" (web)Md / "md"Tamaño — misma escala que OrbitButton.
leadingIcon / attr leading-iconOrbitIcon? / catálogo cerradonullÍcono antes del texto.
trailingIcon / attr trailing-iconOrbitIcon? / catálogo cerradonullÍcono después del texto.