Skip to content

Catalogue des FieldType ​

Field ne réimplémente aucun contrôle. Il choisit un composant autonome en fonction de type, lui transmet la valeur et connecte les informations ARIA.

Types et composants ​

FieldTypeComposant réellement rendu
textInput type="text"
textareaTextarea
emailInput type="email"
passwordInput type="password"
phoneInput type="tel"
numberInput type="number"
currencyCurrencyInput
dateDatePicker
timeTimePicker
datetimeDateTimePicker
selectSelect
multiselectMultiSelect
radioRadioGroup et Radio
checkboxCheckbox
switchSwitch
fileFileUpload
imageImageUpload
sliderSlider
ratingRating
colorColorPicker
rich-textRichTextEditor
markdownMarkdownEditor
jsonJsonEditor
otpOtpInput
tagsTagsInput
autocompleteAutocomplete
referenceReferenceSelect
hiddenInput type="hidden" sans structure visuelle

API déclarative ​

tsx
<Field type="currency" label="Montant" controlProps={{ currency: "XAF" }} />

<Field
  type="multiselect"
  label="Rôles"
  options={roles}
  value={selectedRoles}
  onValueChange={setSelectedRoles}
/>

<Field
  type="reference"
  label="Client"
  referenceOptions={clients}
  onValueChange={setClientId}
/>

Valeurs ​

  • texte et sélections simples : string;
  • nombre, devise, slider et rating : number;
  • checkbox et switch : boolean;
  • multiselect et tags : string[];
  • datetime : { date: string; time: string };
  • file : File[];
  • image : File | null.

onValueChange utilise l'union FieldValue. Les composants autonomes gardent leurs callbacks plus précis lorsqu'ils sont utilisés directement.

Personnalisation ​

controlProps transmet les options avancées au composant rendu, par exemple la devise, la longueur d'un OTP, le nombre maximal de tags ou le renderer de prévisualisation Markdown.

Le mode historique reste possible pour les contrôles externes:

tsx
<Field label="Contrôle propriétaire">
  <MyCustomControl />
</Field>

Publié sous licence MIT.