merisia-textarea
<merisia-textarea>Zone de texte multiligne avec compteur de caractères accessible et dépassement de limite autorisé (affiche l'état invalide sans bloquer la saisie).
Import
import '@merisia-inc/merisia-components/textarea';
Extension
Vous pouvez sous-classer ce composant pour ajouter ou redéfinir des propriétés, méthodes ou styles :
import { customElement } from 'lit/decorators.js';
import { MerisiaTextarea } from '@merisia-inc/merisia-components';
@customElement('my-textarea')
export class MyTextarea extends MerisiaTextarea {
// Ajoutez ou redéfinissez des propriétés, méthodes ou styles ici.
}
Démos
Basique
<merisia-textarea label="Description" name="desc" rows="4"></merisia-textarea>
Avec limite et compteur (dépassement autorisé)
Saisissez plus de 200 caractères pour voir l'état invalide et le décompte.
<merisia-textarea
label="Commentaire"
name="comment"
maxlength="200"
rows="5"
hint="Maximum 200 caractères."
></merisia-textarea>
Avec erreur
const el = document.querySelector('merisia-textarea');
el.errors = ["Ce champ est obligatoire."];
Propriétés
| Propriété | Attribut | Type | Défaut | Description |
|---|---|---|---|---|
| MerisiaTextarea (propres) | ||||
| rows | rows | number | 4 | Nombre de rangées visibles |
| minlength | minlength | number | – | Longueur minimale de saisie |
| hideCounter | hide-counter | boolean | false |
Masque le compteur de caractères quand maxlength est défini
|
| autoHeight | auto-height | boolean | false |
Hauteur automatique selon le contenu (field-sizing: content)
|
| MerisiaTextFieldBase (hérités) | ||||
| label | label | string | '' | Texte du libellé |
| hint | hint | string | '' | Aide contextuelle affichée sous le libellé |
| errors | – | string[] | [] | Liste de messages d'erreur (propriété JS uniquement) |
| errorPrefix | error-prefix | string | 'Erreur :' | Préfixe des messages d'erreur (i18n, visuellement masqué) |
| placeholder | placeholder | string | '' | Texte indicatif dans la zone vide |
| readonly | readonly | boolean | false | Rend le champ non modifiable |
| invalid | invalid | boolean | false |
État d'erreur (synchronisé automatiquement avec errors)
|
| maxlength | maxlength | number | – | Longueur maximale ; active le compteur (saisie au-delà permise) |
| charsRemainingOne | chars-remaining-one | string | '{n} caractère restant' | Gabarit singulier du compteur restant (i18n) |
| charsRemainingOther | chars-remaining-other | string | '{n} caractères restants' | Gabarit pluriel du compteur restant (i18n) |
| charsOverLimitOne | chars-over-limit-one | string | 'Vous avez saisi {over} caractère en trop.' | Message dépassement singulier (i18n) |
| charsOverLimitOther | chars-over-limit-other | string | 'Vous avez saisi {over} caractères en trop.' | Message dépassement pluriel (i18n) |
| MerisiaFormElement (hérités) | ||||
| name | name | string | '' | Nom du champ dans le formulaire |
| value | value | string | '' | Valeur actuelle |
| required | required | boolean | false | Rend le champ obligatoire |
| disabled | disabled | boolean | false | Désactive le champ |
| MerisiaElement (hérités) | ||||
| id | id | string | auto-généré | Identifiant unique du composant |
| lang | lang | string | 'fr' | Langue pour les messages internes (i18n) |
| width | width | number | – |
Largeur maximale en caractères : max-width: calc(N ch + 1.5rem)
|