# Système de conception React Native Elements

## Aperçu de l’interface du système de conception React Native Elements

Modifiez la tâche, la durée et la pause, puis examinez la validation, l’apparence et la réinitialisation.

## Référence de conception du système de conception React Native Elements

Valeurs par défaut des sources de RNEUI définies par version, API publiques des composants et choix propres à l’application clairement indiqués.

### Couleurs du thème clair

| Nom / règle | Valeur / configuration | Utilisation |
| --- | --- | --- |
| lightColors.primary | #2089dc | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.secondary | #ad1457 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.background | #ffffff | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.black | #242424 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.white | #ffffff | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.grey1 | #43484d | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.grey2 | #5e6977 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.grey5 | #e1e8ee | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.success | #52c41a | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.error | #ff190c | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| lightColors.warning | #faad14 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
### Couleurs du thème sombre

| Nom / règle | Valeur / configuration | Utilisation |
| --- | --- | --- |
| darkColors.primary | #439ce0 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.secondary | #aa49eb | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.background | #080808 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.black | #f2f2f2 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.white | #080808 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.grey1 | #bdc6cf | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.grey2 | #86939e | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.grey5 | #393e42 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.success | #439946 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.error | #bf2c24 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
| darkColors.warning | #cfbe27 | Valeur réelle du thème RNEUI. Les rôles tels que noir et blanc s’inversent visuellement en mode sombre ; utilisez le thème actif plutôt que des couleurs littérales codées en dur. |
### Espacement par défaut et choix explicites propres à l’application

| Nom / règle | Valeur / configuration | Utilisation |
| --- | --- | --- |
| spacing.xs | 2 | Entrée d’espacement par défaut publiée ; ces noms composent un objet de thème, et non des jetons de variable CSS. |
| spacing.sm | 4 | Entrée d’espacement par défaut publiée ; ces noms composent un objet de thème, et non des jetons de variable CSS. |
| spacing.md | 8 | Entrée d’espacement par défaut publiée ; ces noms composent un objet de thème, et non des jetons de variable CSS. |
| spacing.lg | 12 | Entrée d’espacement par défaut publiée ; ces noms composent un objet de thème, et non des jetons de variable CSS. |
| spacing.xl | 24 | Entrée d’espacement par défaut publiée ; ces noms composent un objet de thème, et non des jetons de variable CSS. |
| Sample heading | 32px / weight 700 | Choix original de l’exemple, explicitement configuré dans la source fournie plutôt que présenté comme un type global ou un jeton de rayon officiel. |
| Sample body | 15px / 23px line height | Choix original de l’exemple, explicitement configuré dans la source fournie plutôt que présenté comme un type global ou un jeton de rayon officiel. |
| Sample cards | 24px padding / 8px radius | Choix original de l’exemple, explicitement configuré dans la source fournie plutôt que présenté comme un type global ou un jeton de rayon officiel. |
| Button component default | radius: 6 | Choix original de l’exemple, explicitement configuré dans la source fournie plutôt que présenté comme un type global ou un jeton de rayon officiel. |
### Contrats des composants et du fournisseur

| Nom / règle | Valeur / configuration | Utilisation |
| --- | --- | --- |
| createTheme | mode, components, lightColors, darkColors | ThemeProvider reçoit l’objet construit ; les valeurs par défaut restent disponibles lorsque seuls les composants sont modifiés. |
| useTheme | theme, updateTheme | L’action d’apparence change le mode sans réinitialiser l’état de l’application. |
| Input | value, onChangeText, errorMessage, ref | L’erreur signalant une tâche vide est visible et le focus revient dans le champ de saisie correspondant. |
| ButtonGroup | buttons, selectedIndex, onPress | L’index contrôlé sélectionne 15, 25 ou 45 minutes ; il ne représente pas la durée elle-même. |
| Switch | value, onValueChange | La valeur booléenne contrôlée modifie la description de la pause. |
| Card | Card.Title, Card.Divider | Les surfaces structurées héritent du thème sélectionné. |
| Button | title, onPress, type | L’action d’enregistrement valide l’état local ; la réinitialisation restaure les valeurs par défaut. |
| SafeAreaProvider | Outer application provider | Contexte d’intégration requis ; un fonctionnement réussi sur le Web ne garantit pas la prise en charge des zones de sécurité sur les appareils natifs. |
## Guide complet du système de conception React Native Elements

Un guide pratique pour choisir, appliquer et évaluer ce système dans une interface réelle.

Des conseils complets, un point de départ pour la mise en œuvre et des liens vers les sources.

## Périmètre d’exécution et du Web du système de conception React Native Elements

### Exécuter les vrais composants thémés

> Cet exemple utilise @rneui/themed et @rneui/base en version 5.0.0, React 19.2.0 et React Native Web 0.21.3. La compilation pour navigateur associe react-native à react-native-web et sélectionne les modules .web.js avant les modules JavaScript génériques. Il s’agit des véritables composants de la bibliothèque affichés sur le Web, et non de blocs HTML imitant une capture d’écran mobile. Le fichier de compilation fourni inclut ce choix de résolution afin que le code autonome reproduise l’aperçu.

### Distinguer les preuves Web et natives

Cette interface est un éditeur de programme de concentration, et non un minuteur ou un gestionnaire de notifications en fonctionnement. SafeAreaProvider enveloppe l’application comme l’exige l’intégration, mais ce test dans le navigateur ne valide ni les marges de sécurité sous iOS ou Android, ni le comportement du clavier natif, ni les autorisations de notification sur l’appareil. Un projet natif nécessite sa propre compilation pour la plateforme et des tests sur appareil, en plus de ces exemples de composants partagés.

- Le rendu Web utilise React Native Web.

- Le programme est conservé uniquement dans l’état local de React.

- Aucun minuteur, aucune notification système ni aucun enregistrement côté serveur ne sont déclenchés.

## Objets de thème et couleurs du système de conception React Native Elements

### Utiliser les rôles du thème actif

createTheme fusionne les couleurs intégrées des thèmes clair et sombre avec les éventuelles substitutions explicites. L’exemple ne modifie que les valeurs par défaut des composants et le mode. useTheme fournit les couleurs résolues aux éléments View et Text environnants, afin que le grand titre, les descriptions et les panneaux suivent l’apparence sélectionnée. En mode sombre, black correspond au rôle de premier plan clair et white à celui d’une surface sombre ; traiter ces noms comme des valeurs de couleur littérales briserait le thème.

### Ne pas inventer une échelle typographique universelle

RNEUI fournit des valeurs par défaut pour les composants et des mécanismes de personnalisation, plutôt que le même modèle de jetons qu’un système de conception CSS. La référence distingue donc les entrées réelles de defaultSpacing des choix de l’exemple : un titre de 32px, un corps de texte de 15px et un rayon de carte de 8px. Ces dimensions sont des paramètres de composition originaux visibles dans le code. Il ne faut pas les présenter comme des règles de marque obligatoires de React Native Elements.

## Validation des entrées et gestion du focus du système de conception React Native Elements

### Contrôler explicitement le texte de la tâche

L’entrée reçoit une valeur et un rappel onChangeText. L’action de conservation supprime les espaces superflus de la valeur avant de vérifier si elle est vide. Si elle l’est, errorMessage affiche une demande précise et la référence du composant redonne le focus au champ. Modifier le texte efface l’erreur précédente et invalide la confirmation locale, afin qu’un ancien message de sauvegarde ne décrive pas un plan qui a été modifié.

### Associer le libellé à l’erreur

Le libellé visible « Tâche de concentration » et accessibilityLabel désignent le même contrôle. Le texte indicatif suggère un contenu, mais ne remplace pas le libellé. La validation est déclenchée par l’action explicite de conservation, et non à chaque frappe. En cas d’erreur, l’utilisateur conserve son brouillon. Aucune animation de sauvegarde asynchrone ne laisse croire à une requête serveur qui n’a jamais lieu.

## Système de design React Native Elements — sélection contrôlée

### Distinguer l’index sélectionné de la durée

ButtonGroup reçoit trois libellés, selectedIndex et onPress. L’index renvoyé sélectionne une valeur dans la liste d’origine [15, 25, 45] minutes ; utiliser directement cet index comme nombre de minutes constituerait un bogue de l’application. Le grand nombre récapitulatif de l’aperçu est dérivé du même index sélectionné, afin que le contrôle segmenté et le plan présenté clairement ne puissent pas se contredire.

### Faire du choix de pause une véritable valeur booléenne

Switch reçoit value et onValueChange, avec un nom accessible qui décrit le réglage. Le récapitulatif indique soit une courte pause, soit l’absence de rappel de pause. Il s’agit uniquement d’une préférence du plan : l’interface ne crée aucun rappel système et ne programme aucune notification. Le texte de confirmation de conservation précise également cette portée locale.

## Système de design React Native Elements — préservation et réinitialisation de l’état

### Dissocier le thème du plan

La modification de l’apparence appelle updateTheme avec le mode opposé. La tâche, la durée sélectionnée, le réglage de pause et la confirmation locale restent dans l’état de l’application, indépendamment de cette mise à jour. Les composants natifs adoptent le nouveau thème sans reconstruire le plan. La vérification dans le navigateur modifie l’apparence après la saisie d’une tâche personnalisée, afin de confirmer que le mode visuel n’est pas lié par erreur à la réinitialisation des données.

### Prévoir une seule action de récupération explicite

Réinitialiser le plan rétablit la tâche d’exemple, la durée de 25 minutes et la pause activée, efface l’erreur de validation et supprime la confirmation. L’apparence sélectionnée est conservée. La réinitialisation du contenu est ainsi distincte de la préférence de thème et n’entraîne pas de rechargement complet inattendu de la page. L’exemple ne comporte aucune couche de persistance : rouvrir le document rétablit donc l’exemple initial.

## Système de design React Native Elements — composition adaptative

### Adapter la disposition des deux cartes

Le contenu utilise useWindowDimensions pour afficher les cartes en ligne au-delà de 700px et en colonne sur les écrans plus étroits. La marge extérieure de chaque Card est nulle : l’espacement de 24px de la composition assure leur alignement. En dessous de 500px de largeur, le remplissage extérieur passe à 16px. Les deux cartes présentent un plan modifiable et un récapitulatif qui en découle, plutôt que des éléments décoratifs répétés.

### Examiner les styles par défaut des composants dans les deux thèmes

Les composants RNEUI peuvent appliquer leurs propres styles par défaut en plus des couleurs globales. Par exemple, dans cet exemple, les segments non sélectionnés de ButtonGroup conservent leur traitement de surface natif. Si un produit nécessite un contraste ou une densité visuelle différents, il est possible de définir explicitement buttonStyle et selectedButtonStyle ; cette décision doit toutefois être vérifiée, et non attribuée à une application automatique du thème global.

## Système de design React Native Elements — configuration complète du navigateur

### Inclure la résolution web et les chargeurs de ressources

Le fichier build.mjs fourni utilise esbuild avec l’analyse JSX pour les dépendances JavaScript, l’alias react-native-web, la priorité de .web.js et des chargeurs de données pour les ressources PNG et TTF intégrées aux packages. Le point d’entrée du package comprend des exports qui référencent ces ressources même lorsque la composition visible ne comporte aucune icône. La compilation ne peut donc pas être remplacée par un simple import dans le navigateur du code source non traité.

### Tester l’ensemble des interactions locales

Enregistrez la source fournie sous le nom rne.jsx et HTML sous le nom index.html, installez les versions épinglées des packages, lancez la compilation et servez le répertoire. Testez une tâche vide, une tâche personnalisée, une autre durée, le commutateur de pause, l’apparence et la réinitialisation. Cela vérifie la composition fournie ; cela ne valide pas automatiquement chaque composant RNEUI exporté ni chaque plateforme native.

1. Placez les trois fichiers fournis dans le même répertoire.

2. Installez les dépendances épinglées et exécutez node build.mjs.

3. Servez le bundle généré avec index.html.

4. Testez les états vide, modifié, avec thème et réinitialisé.

## Système de design React Native Elements — exemples de composants

### rne.jsx

Fournisseur complet, composants natifs et état de l’application.

```
import React,{useState,useRef} from 'react';
import {createRoot} from 'react-dom/client';
import {View,Text,useWindowDimensions} from 'react-native';
import {ThemeProvider,createTheme,Button,ButtonGroup,Input,Switch,Card,Divider,useTheme} from '@rneui/themed';
import {SafeAreaProvider} from 'react-native-safe-area-context';
const theme=createTheme({mode:'light',components:{Button:{radius:6},Input:{containerStyle:{paddingHorizontal:0}}}});
function App(){const {theme,updateTheme}=useTheme();const {width}=useWindowDimensions();const [title,setTitle]=useState('Read a chapter'),[duration,setDuration]=useState(1),[breaks,setBreaks]=useState(true),[error,setError]=useState(false),[saved,setSaved]=useState('');const input=useRef(null);let c=theme.colors;function changed(){setSaved('')}function save(){if(!title.trim()){setError(true);input.current?.focus();return;}setError(false);setSaved(`${title.trim()} · ${[15,25,45][duration]} minutes · ${breaks?'with a short break':'no break reminder'}. Kept in this preview only.`)}return <View style={{backgroundColor:c.background,padding:width<500?16:32,maxWidth:1000,width:'100%',alignSelf:'center'}}><View style={{flexDirection:'row',justifyContent:'space-between',gap:24,flexWrap:'wrap',marginBottom:24}}><View style={{flexShrink:1}}><Text style={{color:c.primary,fontSize:13,fontWeight:'700'}}>REACT NATIVE ELEMENTS · WEB STUDY</Text><Text accessibilityRole="header" style={{fontSize:32,fontWeight:'700',color:c.black,marginTop:12}}>Make room for one thing</Text></View><Button title={theme.mode==='light'?'Use dark theme':'Use light theme'} type="outline" onPress={()=>updateTheme({mode:theme.mode==='light'?'dark':'light'})}/></View><Text style={{color:c.grey1,fontSize:15,lineHeight:23}}>An original focus-plan composer using RNEUI 5.0.0 through React Native Web. No timer or system notification is started.</Text><View style={{flexDirection:width>700?'row':'column',gap:24,marginTop:24}}><Card containerStyle={{flex:1,margin:0,padding:24,borderRadius:8}}><Card.Title>Shape your focus block</Card.Title><Card.Divider/><Input ref={input} label="Focus task" accessibilityLabel="Focus task" value={title} onChangeText={v=>{setTitle(v);setError(false);changed()}} errorMessage={error?'Enter a task before keeping this plan.':''} placeholder="What deserves your attention?"/><Text style={{fontSize:16,fontWeight:'700',color:c.grey1,marginBottom:8}}>Duration</Text><ButtonGroup buttons={['15 min','25 min','45 min']} selectedIndex={duration} onPress={i=>{setDuration(i);changed()}} containerStyle={{marginHorizontal:0,height:48,marginBottom:24}}/><View style={{flexDirection:'row',justifyContent:'space-between',alignItems:'center',gap:16,marginBottom:24}}><Text style={{fontSize:16,color:c.black,flexShrink:1}}>Include a short break</Text><Switch value={breaks} onValueChange={v=>{setBreaks(v);changed()}} accessibilityLabel="Include a short break"/></View><Button title="Keep this plan" onPress={save}/></Card><Card containerStyle={{flex:1,margin:0,padding:24,borderRadius:8}}><Card.Title>Your local plan</Card.Title><Card.Divider/><Text style={{fontSize:48,fontWeight:'700',color:c.primary}}>{[15,25,45][duration]}</Text><Text style={{fontSize:16,color:c.grey1,marginBottom:24}}>minutes for {title.trim()||'your next task'}</Text><Divider/><Text style={{color:c.black,fontSize:16,lineHeight:25,marginVertical:24}}>{breaks?'Finish with a pause before choosing what comes next.':'Keep the end of this block open; no break reminder is included.'}</Text><Text style={{fontSize:13,lineHeight:21,color:c.grey2}}>The duration, task and break choice are original application state. Theme colors, Input, ButtonGroup, Switch, Card and Button come from the installed library.</Text></Card></View><Text accessibilityLiveRegion="polite" style={{color:c.black,fontSize:15,lineHeight:23,marginTop:24}}>{saved}</Text><Button title="Reset the plan" type="clear" onPress={()=>{setTitle('Read a chapter');setDuration(1);setBreaks(true);setError(false);setSaved('');}} containerStyle={{alignSelf:'flex-start',marginTop:8}}/></View>}
createRoot(document.getElementById('root')).render(<SafeAreaProvider><ThemeProvider theme={theme}><App/></ThemeProvider></SafeAreaProvider>);
```

Référence du code

- Utilisez les trois fichiers ensemble avec la configuration épinglée.

### build.mjs

Configuration réelle du bundle pour le navigateur, y compris la priorité des modules web.

```
import {build} from 'esbuild';
await build({entryPoints:['rne.jsx'],bundle:true,minify:true,outfile:'rne.bundle.js',alias:{'react-native':'react-native-web'},resolveExtensions:['.web.js','.js','.jsx','.json'],loader:{'.js':'jsx','.ttf':'dataurl','.png':'dataurl'},define:{'process.env.NODE_ENV':'"production"'}});
```

Référence du code

- Utilisez les trois fichiers ensemble avec la configuration épinglée.

### index.html

Document racine complet qui charge le bundle généré.

```
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Focus plan composer</title><style>body{margin:0;background:#f4f7fa}*{box-sizing:border-box}input:focus-visible,[role=button]:focus-visible{outline:2px solid #2089dc;outline-offset:3px}</style></head><body><div id="root"></div><script src="./rne.bundle.js"></script></body></html>
```

Référence du code

- Utilisez les trois fichiers ensemble avec la configuration épinglée.

## Système de design React Native Elements — configuration de l’agent

### Point de départ de l’implémentation

Enregistrez d’abord les fichiers rne.jsx, build.mjs et index.html fournis. Il s’agit de la compilation vérifiée pour le navigateur, et non de la configuration d’une application native.

```
npm init -y
npm install react@19.2.0 react-dom@19.2.0 @rneui/themed@5.0.0 @rneui/base@5.0.0 react-native-web@0.21.3 react-native-safe-area-context@5.10.1 react-native-vector-icons@10.3.0 --legacy-peer-deps
npm install --save-dev esbuild
node build.mjs
python3 -m http.server 8000
```

### Un prompt pour votre projet

```
Créez le compositeur de plan de concentration RNEUI 5.0.0 fourni avec la configuration complète pour le navigateur et les fournisseurs. Préservez la correspondance entre l’index contrôlé et la durée, la validation après suppression des espaces superflus et la gestion du focus, la confirmation locale uniquement, l’état du plan indépendant du thème et la réinitialisation explicite. N’incluez pas de fonctionnalités propres aux appareils natifs dans cet exemple web.
```

## Système de design React Native Elements — sources et portée

Véritables composants RNEUI 5.0.0 affichés avec React Native Web. Contenu et état du plan d’origine OpenDesign ; aucune fonctionnalité native, de minuterie ou de notification n’est annoncée.

- Installation Pairs natifs et contexte d’intégration au navigateur.

- Fournisseur de thème Objets de thème et mises à jour.

- ButtonGroup Sélection contrôlée et propriétés de style.

- Input Libellés, erreurs et méthodes de saisie.

- Switch Choix booléen contrôlé.

## Système de design React Native Elements — ressources associées

### React Suite

Un calendrier de révision natif React Suite avec les variables CSS v6 vérifiées, des marqueurs sur les cellules de date, un ordre du jour pour la journée sélectionnée, la validation modale et des règles de planification locale explicites.

### Skeleton

Comparez les thèmes Cerberus, Mint et Rose réels de Skeleton 5.0.1 dans un espace de lecture complet, avec inspection des tokens en temps réel, associations de surfaces sombres et état local réversible.

### Tabler

Un journal de projet natif Tabler avec les véritables variables de thème 1.6, des cartes de chronologie, le contexte d’une datagrid, la validation d’une fenêtre modale et une composition claire ou sombre permettant d’ajouter des points de suivi locaux.


- [Référence de mise en œuvre](https://reactnativeelements.com/docs/installation)
- [Source](https://cdn.jsdelivr.net/npm/@rneui/base@5.0.0/dist/helpers/colors.js)
- [Source](https://cdn.jsdelivr.net/npm/@rneui/base@5.0.0/dist/helpers/index.js)
- [Source](https://reactnativeelements.com/docs/customization/themeprovider)
- [Référence du code](https://reactnativeelements.com/docs/installation)
- [Installation Pairs natifs et contexte d’intégration au navigateur.](https://reactnativeelements.com/docs/installation)
- [Fournisseur de thème Objets de thème et mises à jour.](https://reactnativeelements.com/docs/customization/themeprovider)
- [ButtonGroup Sélection contrôlée et propriétés de style.](https://reactnativeelements.com/docs/components/buttongroup)
- [Input Libellés, erreurs et méthodes de saisie.](https://reactnativeelements.com/docs/components/input)
- [Switch Choix booléen contrôlé.](https://reactnativeelements.com/docs/components/switch)
