Skip to content

SecretFields ​

Des secrets en écriture seule : les noms se lisent, les valeurs jamais.

Chaque ligne est un nom et une valeur masquée. Les noms déjà enregistrés s'affichent sans leur valeur — le serveur ne la renvoie pas, et ne doit pas la renvoyer. Les champs refusent l'autocomplétion du navigateur, qui proposerait sinon le mot de passe du compte à la place d'une clé d'API.

Après l'envoi, clearSecretValues vide les valeurs : un secret ne reste pas affiché dans un formulaire ouvert.

Installation ​

bash
sia-ui add secret-fields

Ou par le paquet, sans rien copier :

tsx
import { SecretFields, clearSecretValues, secretChanges } from "@sia-ui/react-web";

Props de SecretFields ​

PropTypeDéfautDescription
addButtonPropsPartial<Omit<ButtonProps, "children" | "onClick" | "disabled">>—Le bouton d'ajout : variante, taille, icône, classe. Son libellé passe par addLabel.
addLabelReactNode—
classNamestring—
defaultValueSecretEntry[]—
disabledbooleanfalse
keyInputPropsPartial<Omit<InputProps, "value" | "defaultValue" | "aria-describedby" | "onChange" | "disabled" | "invalid">>—Le champ du nom : placeholder, taille, classe. La valeur, la saisie et l'état d'erreur, avec son aria-describedby, restent calculés par ligne.
keyLabelstring—
keyPatternRegExp—La forme d'un nom valide. Par défaut, aucune contrainte.
keyPatternMessagestring—Les libellés ci-dessous viennent par défaut du groupe secretFields de la locale.
onValueChange(entries: SecretEntry[]) => void—
removeButtonPropsPartial<Omit<IconButtonProps, "onClick" | "label" | "disabled">>—Le bouton qui retire une ligne : icône, variante, taille. Son nom reste calculé ligne par ligne — « Retirer API_KEY » — pour que chaque bouton dise lequel il retire.
storedKeysstring[][]Les noms déjà enregistrés côté serveur. Affichés, mais leur valeur reste vide : un secret ne revient jamais au navigateur. Une valeur laissée vide sur l'un d'eux veut dire « inchangé » ; en saisir une, c'est le remplacer — une rotation.
templatesstring[][]Des noms proposés d'un clic : DATABASE_URL, API_KEY…
valueSecretEntry[]—
valueInputPropsPartial<Omit<PasswordInputProps, "value" | "defaultValue" | "onChange" | "disabled" | "autoComplete">>—Le champ de la valeur : placeholder, jauge, classe. Pas d'autoComplete : new-password est ce qui empêche le navigateur de proposer le mot de passe du compte à la place du secret.
valueLabelstring—

Voir aussi ​

Publié sous licence MIT.