Formularios@unozero-ai/ui

PasswordInput

Contraseña con botón de mostrar y, si hace falta, el medidor de fuerza.

Usar

import {
  PasswordInput,
  PasswordStrengthMeter,
} from "@unozero-ai/ui/react";

<PasswordInput></PasswordInput>

Configurador

Cambia las propiedades y mira el campo y su código al mismo tiempo.

requireddisabled
<PasswordInput value="Mar-Caribe-2026" label="Contraseña" />

Inicio de sesión

Es un Input con el botón del ojo: acepta las mismas propiedades salvo type, y el ojo ocupa el sitio del slot end. El botón está en el orden de Tab y cambia de nombre al pulsarlo. Pon autocomplete="current-password" y, en el campo del correo, autocomplete="username" (en minúscula, como en HTML), para que el gestor de contraseñas rellene los dos. Valida required, minlength y pattern como un <input>.

Textos del botón

Los nombres del botón («Mostrar contraseña», «Ocultar contraseña») salen de setLabels, que sustituye al UIProvider del kit de React. toggleLabel los cambia solo en este campo. Úsalo cuando el campo no guarda una contraseña, como la clave del Wi-Fi.

Con medidor de fuerza

PasswordStrengthMeter (uz-password-strength-meter) solo pinta: la barra, la palabra (Débil, Regular, Buena, Fuerte) y la lista de lo que falta. Qué cuenta como fuerte lo decide el producto, así que calcula strength, score y feedback tú mismo, con los textos ya traducidos; max es 7 por defecto. Ahora va dentro del campo, como hijo: se pinta debajo y queda enlazado como su descripción, así que el lector lo lee al enfocar. El nivel no va solo en el color de la barra: la palabra y la lista lo dicen (la Regla del Tenant). Úsalo al crear o cambiar una contraseña, nunca al iniciar sesión.

En React, onInput en el envoltorio todavía no funciona (choca con un método interno del kit): escucha onInput en el <form>, que recibe el evento de los dos campos, y distínguelos por name.

Crear contraseña

Error y deshabilitado

El error dice qué pasó y qué viene después, no solo «contraseña incorrecta». Deshabilitado sirve para una credencial que se ve pero gestiona otra persona; también apaga el botón del ojo.

API

Generada del custom-elements.json que publica @unozero-ai/ui. Las partes se estilan desde tu CSS con el nombre del elemento: uz-button::part(base).

PasswordInput · <uz-password-input>

PropTipoDefectoDescripción
valueV""Contraseña actual; es la que entra en el FormData.
toggleLabel{ show: string; hide: string } | undefined—Nombres del botón del ojo solo para este campo (toggle-label, JSON).
autocompletestring | undefined—current-password al iniciar sesión, new-password al crearla.
patternstring | undefined—Expresión regular que la contraseña debe cumplir para ser válida.
minlengthnumber | undefined—Longitud mínima para ser válida.
maxlengthnumber | undefined—Longitud máxima: no deja escribir más.
labelstring""Etiqueta visible encima del campo; también es su nombre accesible.
namestring""Nombre con el que el valor entra en el FormData del formulario.
placeholderstring""Ejemplo del dato dentro del campo vacío; no sustituye a la etiqueta.
helperTextstring""Ayuda bajo el campo (helper-text); el error la sustituye mientras dura.
errorstring""Mensaje de error bajo el campo; con texto, el campo es inválido y no se envía.
state"default" | "error" | "success""default"Estado visual del borde: default, error o success. Un error manda sobre él.
size"sm" | "md" | "lg""md"Tamaño: sm, md o lg; la altura sale de los tokens de densidad.
requiredbooleanfalseObligatorio: el formulario no se envía mientras esté vacío.
disabledbooleanfalseDeshabilitado: no se puede usar ni se envía con el formulario.
readonlybooleanfalseSolo lectura: se puede enfocar y copiar, pero no cambiar.
accessibleLabelstring""Nombre accesible (aria-label del host) cuando no hay etiqueta visible.
EventoDescripción
onInputAl escribir.
onChangeAl confirmar (perder el foco).
SlotDescripción
(por defecto)Un <uz-password-strength-meter> (o lo que describa la contraseña).
Parte CSSDescripción
uz-password-input::part(field)El contenedor con borde.
uz-password-input::part(input)El <input> interno.
uz-password-input::part(toggle)El botón del ojo.
MétodoDescripción
checkValidity()—
reportValidity()—

PasswordStrengthMeter · <uz-password-strength-meter>

PropTipoDefectoDescripción
strength"weak" | "fair" | "good" | "strong" | nullnullNivel que calcula el producto: weak, fair, good, strong o null (vacío).
scorenumber0Puntuación que llena la barra, sobre max.
maxnumber7Puntuación que llena la barra entera.
feedbackstring[][]Lo que le falta a la contraseña, ya traducido; se lista bajo la barra.
Parte CSSDescripción
uz-password-strength-meter::part(bar)La barra de progreso.