ignite-parse-auth-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/CONTRIBUTING.md +0 -0
  2. package/LICENSE +21 -0
  3. package/README.md +492 -0
  4. package/app/app.tsx +116 -0
  5. package/app/components/AlertTongle.tsx +105 -0
  6. package/app/components/AutoImage.tsx +89 -0
  7. package/app/components/Button.tsx +248 -0
  8. package/app/components/Card.tsx +314 -0
  9. package/app/components/EmptyState.tsx +248 -0
  10. package/app/components/Header.tsx +332 -0
  11. package/app/components/Icon.tsx +140 -0
  12. package/app/components/ListItem.tsx +243 -0
  13. package/app/components/ListView.tsx +42 -0
  14. package/app/components/Screen.tsx +305 -0
  15. package/app/components/Text.test.tsx +23 -0
  16. package/app/components/Text.tsx +116 -0
  17. package/app/components/TextField.tsx +292 -0
  18. package/app/components/Toggle/Checkbox.tsx +123 -0
  19. package/app/components/Toggle/Radio.tsx +106 -0
  20. package/app/components/Toggle/Switch.tsx +264 -0
  21. package/app/components/Toggle/Toggle.tsx +285 -0
  22. package/app/components/index copy.ts +15 -0
  23. package/app/components/index.ts +18 -0
  24. package/app/config/config.base.ts +26 -0
  25. package/app/config/config.dev.ts +10 -0
  26. package/app/config/config.prod.ts +10 -0
  27. package/app/config/index.ts +28 -0
  28. package/app/context/AuthContext.tsx +14 -0
  29. package/app/context/EpisodeContext.tsx +136 -0
  30. package/app/context/auth/AuthProvider.tsx +340 -0
  31. package/app/context/auth/hooks.ts +29 -0
  32. package/app/context/auth/index.ts +38 -0
  33. package/app/context/auth/reducer.ts +68 -0
  34. package/app/context/auth/services.ts +394 -0
  35. package/app/context/auth/types.ts +99 -0
  36. package/app/context/auth/validation.ts +45 -0
  37. package/app/devtools/ReactotronClient.ts +9 -0
  38. package/app/devtools/ReactotronClient.web.ts +12 -0
  39. package/app/devtools/ReactotronConfig.ts +139 -0
  40. package/app/i18n/ar.ts +126 -0
  41. package/app/i18n/demo-ar.ts +464 -0
  42. package/app/i18n/demo-en.ts +462 -0
  43. package/app/i18n/demo-es.ts +469 -0
  44. package/app/i18n/demo-fr.ts +471 -0
  45. package/app/i18n/demo-hi.ts +468 -0
  46. package/app/i18n/demo-ja.ts +464 -0
  47. package/app/i18n/demo-ko.ts +457 -0
  48. package/app/i18n/en.ts +146 -0
  49. package/app/i18n/es.ts +132 -0
  50. package/app/i18n/fr.ts +132 -0
  51. package/app/i18n/hi.ts +131 -0
  52. package/app/i18n/index.ts +86 -0
  53. package/app/i18n/ja.ts +130 -0
  54. package/app/i18n/ko.ts +129 -0
  55. package/app/i18n/translate.ts +33 -0
  56. package/app/lib/Parse/index.ts +2 -0
  57. package/app/lib/Parse/parse.ts +62 -0
  58. package/app/navigators/AppNavigator.tsx +145 -0
  59. package/app/navigators/DemoNavigator.tsx +137 -0
  60. package/app/navigators/navigationUtilities.ts +208 -0
  61. package/app/screens/ChooseAuthScreen.tsx +224 -0
  62. package/app/screens/DemoCommunityScreen.tsx +141 -0
  63. package/app/screens/DemoDebugScreen.tsx +192 -0
  64. package/app/screens/DemoPodcastListScreen.tsx +387 -0
  65. package/app/screens/DemoShowroomScreen/DemoDivider.tsx +66 -0
  66. package/app/screens/DemoShowroomScreen/DemoShowroomScreen.tsx +313 -0
  67. package/app/screens/DemoShowroomScreen/DemoUseCase.tsx +52 -0
  68. package/app/screens/DemoShowroomScreen/DrawerIconButton.tsx +120 -0
  69. package/app/screens/DemoShowroomScreen/SectionListWithKeyboardAwareScrollView.tsx +59 -0
  70. package/app/screens/DemoShowroomScreen/demos/DemoAutoImage.tsx +230 -0
  71. package/app/screens/DemoShowroomScreen/demos/DemoButton.tsx +234 -0
  72. package/app/screens/DemoShowroomScreen/demos/DemoCard.tsx +181 -0
  73. package/app/screens/DemoShowroomScreen/demos/DemoEmptyState.tsx +78 -0
  74. package/app/screens/DemoShowroomScreen/demos/DemoHeader.tsx +151 -0
  75. package/app/screens/DemoShowroomScreen/demos/DemoIcon.tsx +115 -0
  76. package/app/screens/DemoShowroomScreen/demos/DemoListItem.tsx +218 -0
  77. package/app/screens/DemoShowroomScreen/demos/DemoText.tsx +144 -0
  78. package/app/screens/DemoShowroomScreen/demos/DemoTextField.tsx +233 -0
  79. package/app/screens/DemoShowroomScreen/demos/DemoToggle.tsx +354 -0
  80. package/app/screens/DemoShowroomScreen/demos/index.ts +12 -0
  81. package/app/screens/ErrorScreen/ErrorBoundary.tsx +76 -0
  82. package/app/screens/ErrorScreen/ErrorDetails.tsx +98 -0
  83. package/app/screens/ForgetPasswordScreen.tsx +180 -0
  84. package/app/screens/LoginScreen.tsx +260 -0
  85. package/app/screens/RegisterScreen.tsx +395 -0
  86. package/app/screens/WelcomeScreen.tsx +114 -0
  87. package/app/services/api/apiProblem.test.ts +73 -0
  88. package/app/services/api/apiProblem.ts +74 -0
  89. package/app/services/api/index.ts +91 -0
  90. package/app/services/api/types.ts +50 -0
  91. package/app/theme/colors.ts +85 -0
  92. package/app/theme/colorsDark.ts +50 -0
  93. package/app/theme/context.tsx +145 -0
  94. package/app/theme/context.utils.ts +25 -0
  95. package/app/theme/spacing.ts +14 -0
  96. package/app/theme/spacingDark.ts +14 -0
  97. package/app/theme/styles.ts +24 -0
  98. package/app/theme/theme.ts +23 -0
  99. package/app/theme/timing.ts +6 -0
  100. package/app/theme/types.ts +64 -0
  101. package/app/theme/typography.ts +71 -0
  102. package/app/utils/crashReporting.ts +62 -0
  103. package/app/utils/delay.ts +6 -0
  104. package/app/utils/formatDate.ts +49 -0
  105. package/app/utils/gestureHandler.native.ts +3 -0
  106. package/app/utils/gestureHandler.ts +6 -0
  107. package/app/utils/hasValidStringProp.ts +11 -0
  108. package/app/utils/openLinkInBrowser.ts +8 -0
  109. package/app/utils/storage/index.ts +82 -0
  110. package/app/utils/storage/storage.test.ts +61 -0
  111. package/app/utils/useHeader.tsx +37 -0
  112. package/app/utils/useIsMounted.ts +18 -0
  113. package/app/utils/useSafeAreaInsetsStyle.ts +46 -0
  114. package/app.config.ts +39 -0
  115. package/app.json +67 -0
  116. package/assets/icons/back.png +0 -0
  117. package/assets/icons/back@2x.png +0 -0
  118. package/assets/icons/back@3x.png +0 -0
  119. package/assets/icons/bell.png +0 -0
  120. package/assets/icons/bell@2x.png +0 -0
  121. package/assets/icons/bell@3x.png +0 -0
  122. package/assets/icons/caretLeft.png +0 -0
  123. package/assets/icons/caretLeft@2x.png +0 -0
  124. package/assets/icons/caretLeft@3x.png +0 -0
  125. package/assets/icons/caretRight.png +0 -0
  126. package/assets/icons/caretRight@2x.png +0 -0
  127. package/assets/icons/caretRight@3x.png +0 -0
  128. package/assets/icons/check.png +0 -0
  129. package/assets/icons/check@2x.png +0 -0
  130. package/assets/icons/check@3x.png +0 -0
  131. package/assets/icons/demo/clap.png +0 -0
  132. package/assets/icons/demo/clap@2x.png +0 -0
  133. package/assets/icons/demo/clap@3x.png +0 -0
  134. package/assets/icons/demo/community.png +0 -0
  135. package/assets/icons/demo/community@2x.png +0 -0
  136. package/assets/icons/demo/community@3x.png +0 -0
  137. package/assets/icons/demo/components.png +0 -0
  138. package/assets/icons/demo/components@2x.png +0 -0
  139. package/assets/icons/demo/components@3x.png +0 -0
  140. package/assets/icons/demo/debug.png +0 -0
  141. package/assets/icons/demo/debug@2x.png +0 -0
  142. package/assets/icons/demo/debug@3x.png +0 -0
  143. package/assets/icons/demo/github.png +0 -0
  144. package/assets/icons/demo/github@2x.png +0 -0
  145. package/assets/icons/demo/github@3x.png +0 -0
  146. package/assets/icons/demo/heart.png +0 -0
  147. package/assets/icons/demo/heart@2x.png +0 -0
  148. package/assets/icons/demo/heart@3x.png +0 -0
  149. package/assets/icons/demo/pin.png +0 -0
  150. package/assets/icons/demo/pin@2x.png +0 -0
  151. package/assets/icons/demo/pin@3x.png +0 -0
  152. package/assets/icons/demo/podcast.png +0 -0
  153. package/assets/icons/demo/podcast@2x.png +0 -0
  154. package/assets/icons/demo/podcast@3x.png +0 -0
  155. package/assets/icons/demo/slack.png +0 -0
  156. package/assets/icons/demo/slack@2x.png +0 -0
  157. package/assets/icons/demo/slack@3x.png +0 -0
  158. package/assets/icons/google.png +0 -0
  159. package/assets/icons/hidden.png +0 -0
  160. package/assets/icons/hidden@2x.png +0 -0
  161. package/assets/icons/hidden@3x.png +0 -0
  162. package/assets/icons/ladybug.png +0 -0
  163. package/assets/icons/ladybug@2x.png +0 -0
  164. package/assets/icons/ladybug@3x.png +0 -0
  165. package/assets/icons/lock.png +0 -0
  166. package/assets/icons/lock@2x.png +0 -0
  167. package/assets/icons/lock@3x.png +0 -0
  168. package/assets/icons/menu.png +0 -0
  169. package/assets/icons/menu@2x.png +0 -0
  170. package/assets/icons/menu@3x.png +0 -0
  171. package/assets/icons/more.png +0 -0
  172. package/assets/icons/more@2x.png +0 -0
  173. package/assets/icons/more@3x.png +0 -0
  174. package/assets/icons/settings.png +0 -0
  175. package/assets/icons/settings@2x.png +0 -0
  176. package/assets/icons/settings@3x.png +0 -0
  177. package/assets/icons/view.png +0 -0
  178. package/assets/icons/view@2x.png +0 -0
  179. package/assets/icons/view@3x.png +0 -0
  180. package/assets/icons/x.png +0 -0
  181. package/assets/icons/x@2x.png +0 -0
  182. package/assets/icons/x@3x.png +0 -0
  183. package/assets/images/app-icon-all.png +0 -0
  184. package/assets/images/app-icon-android-adaptive-background.png +0 -0
  185. package/assets/images/app-icon-android-adaptive-foreground.png +0 -0
  186. package/assets/images/app-icon-android-legacy.png +0 -0
  187. package/assets/images/app-icon-ios.png +0 -0
  188. package/assets/images/app-icon-web-favicon.png +0 -0
  189. package/assets/images/demo/cr-logo.png +0 -0
  190. package/assets/images/demo/cr-logo@2x.png +0 -0
  191. package/assets/images/demo/cr-logo@3x.png +0 -0
  192. package/assets/images/demo/rnl-logo.png +0 -0
  193. package/assets/images/demo/rnl-logo@2x.png +0 -0
  194. package/assets/images/demo/rnl-logo@3x.png +0 -0
  195. package/assets/images/demo/rnn-logo.png +0 -0
  196. package/assets/images/demo/rnn-logo@2x.png +0 -0
  197. package/assets/images/demo/rnn-logo@3x.png +0 -0
  198. package/assets/images/demo/rnr-image-1.png +0 -0
  199. package/assets/images/demo/rnr-image-1@2x.png +0 -0
  200. package/assets/images/demo/rnr-image-1@3x.png +0 -0
  201. package/assets/images/demo/rnr-image-2.png +0 -0
  202. package/assets/images/demo/rnr-image-2@2x.png +0 -0
  203. package/assets/images/demo/rnr-image-2@3x.png +0 -0
  204. package/assets/images/demo/rnr-image-3.png +0 -0
  205. package/assets/images/demo/rnr-image-3@2x.png +0 -0
  206. package/assets/images/demo/rnr-image-3@3x.png +0 -0
  207. package/assets/images/demo/rnr-logo.png +0 -0
  208. package/assets/images/demo/rnr-logo@2x.png +0 -0
  209. package/assets/images/demo/rnr-logo@3x.png +0 -0
  210. package/assets/images/logo.png +0 -0
  211. package/assets/images/logo@2x.png +0 -0
  212. package/assets/images/logo@3x.png +0 -0
  213. package/assets/images/sad-face.png +0 -0
  214. package/assets/images/sad-face@2x.png +0 -0
  215. package/assets/images/sad-face@3x.png +0 -0
  216. package/assets/images/welcome-face.png +0 -0
  217. package/assets/images/welcome-face@2x.png +0 -0
  218. package/assets/images/welcome-face@3x.png +0 -0
  219. package/babel.config.js +7 -0
  220. package/bin/cli.js +196 -0
  221. package/ignite/templates/app-icon/android-adaptive-background.png +0 -0
  222. package/ignite/templates/app-icon/android-adaptive-foreground.png +0 -0
  223. package/ignite/templates/app-icon/android-legacy.png +0 -0
  224. package/ignite/templates/app-icon/ios-universal.png +0 -0
  225. package/ignite/templates/component/NAME.tsx.ejs +39 -0
  226. package/ignite/templates/navigator/NAMENavigator.tsx.ejs +18 -0
  227. package/ignite/templates/screen/NAMEScreen.tsx.ejs +29 -0
  228. package/ignite/templates/splash-screen/logo.png +0 -0
  229. package/index.tsx +9 -0
  230. package/jest.config.js +5 -0
  231. package/metro.config.js +31 -0
  232. package/package.json +166 -0
  233. package/plugins/withSplashScreen.ts +69 -0
  234. package/src/app/_layout.tsx +58 -0
  235. package/src/app/index.tsx +5 -0
  236. package/test/i18n.test.ts +75 -0
  237. package/test/mockFile.ts +6 -0
  238. package/test/setup.ts +58 -0
  239. package/test/test-tsconfig.json +8 -0
  240. package/tsconfig.json +52 -0
  241. package/types/lib.es5.d.ts +25 -0
@@ -0,0 +1,471 @@
1
+ import { DemoTranslations } from "./demo-en"
2
+
3
+ export const demoFr: DemoTranslations = {
4
+ demoIcon: {
5
+ description:
6
+ "Un composant pour faire le rendu d’une icône enregistrée. Il est enveloppé dans un <TouchableOpacity /> si `onPress` est fourni, sinon dans une <View />.",
7
+ useCase: {
8
+ icons: {
9
+ name: "Icônes",
10
+ description: "Liste des icônes enregistrées dans le composant.",
11
+ },
12
+ size: {
13
+ name: "Taille",
14
+ description: "Il y a une prop de taille.",
15
+ },
16
+ color: {
17
+ name: "Couleur",
18
+ description: "Il y a une prop de couleur.",
19
+ },
20
+ styling: {
21
+ name: "Style",
22
+ description: "Le composant peut être facilement stylisé.",
23
+ },
24
+ },
25
+ },
26
+ demoTextField: {
27
+ description: "Le composant <TextField /> permet la saisie et l'édition de texte.",
28
+ useCase: {
29
+ statuses: {
30
+ name: "Statuts",
31
+ description:
32
+ "Il y a une prop de statut - similaire à `preset` dans d'autres composants, mais affecte également la fonctionnalité du composant.",
33
+ noStatus: {
34
+ label: "Pas de statut",
35
+ helper: "C'est le statut par défaut",
36
+ placeholder: "Le texte passe par là",
37
+ },
38
+ error: {
39
+ label: "Statut d'erreur",
40
+ helper: "Statut à utiliser en cas d’erreur",
41
+ placeholder: "Le texte passe par ici",
42
+ },
43
+ disabled: {
44
+ label: "Statut désactivé",
45
+ helper: "Désactive l’édition et atténue le texte",
46
+ placeholder: "Le texte repasse par là",
47
+ },
48
+ },
49
+ passingContent: {
50
+ name: "Transfert de contenu",
51
+ description: "Il y a plusieurs façons de transmettre du contenu.",
52
+ viaLabel: {
53
+ labelTx: "Via la prop `label`",
54
+ helper: "Via la prop `helper`",
55
+ placeholder: "Via la prop `placeholder`",
56
+ },
57
+ rightAccessory: {
58
+ label: "Accessoire droit",
59
+ helper: "Cette prop demande une fonction qui retourne un élément React.",
60
+ },
61
+ leftAccessory: {
62
+ label: "Accessoire gauche",
63
+ helper: "Cette prop demande une fonction qui retourne un élément React.",
64
+ },
65
+ supportsMultiline: {
66
+ label: "Supporte le multiligne",
67
+ helper: "Permet une saisie plus longue pour le texte multiligne.",
68
+ },
69
+ },
70
+ styling: {
71
+ name: "Style",
72
+ description: "Le composant peut être facilement stylisé.",
73
+ styleInput: {
74
+ label: "Style de saisie",
75
+ helper: "Via la prop `style`",
76
+ },
77
+ styleInputWrapper: {
78
+ label: "Style du wrapper de saisie",
79
+ helper: "Via la prop `inputWrapperStyle`",
80
+ },
81
+ styleContainer: {
82
+ label: "Style du conteneur",
83
+ helper: "Via la prop `containerStyle`",
84
+ },
85
+ styleLabel: {
86
+ label: "Style du label et de l’aide",
87
+ helper: "Via les props de style `LabelTextProps` et `HelperTextProps`",
88
+ },
89
+ styleAccessories: {
90
+ label: "Style des accessoires",
91
+ helper: "Via les props de style `RightAccessory` et `LeftAccessory`",
92
+ },
93
+ },
94
+ },
95
+ },
96
+ demoToggle: {
97
+ description:
98
+ "Fait le rendu d’un booléen. Ce composant contrôlé nécessite un callback `onValueChange` qui met à jour la prop `value` pour que le composant reflète les actions de l'utilisateur. Si la prop `value` n'est pas mise à jour, le composant continuera à rendre la prop `value` fournie au lieu du résultat attendu des actions de l'utilisateur.",
99
+ useCase: {
100
+ variants: {
101
+ name: "Variantes",
102
+ description:
103
+ "Le composant supporte différentes variantes. Si une personnalisation poussée d'une variante spécifique est nécessaire, elle peut être facilement refactorisée. La valeur par défaut est `checkbox`.",
104
+ checkbox: {
105
+ label: "Variante `checkbox`",
106
+ helper: "Peut être utilisée pour une seule valeure on/off.",
107
+ },
108
+ radio: {
109
+ label: "Variante `radio`",
110
+ helper: "Utilisez ceci quand vous avez plusieurs options.",
111
+ },
112
+ switch: {
113
+ label: "Variante `switch`",
114
+ helper:
115
+ "Une entrée on/off plus proéminente. Possède un meilleur support d’accessibilité.",
116
+ },
117
+ },
118
+ statuses: {
119
+ name: "Statuts",
120
+ description:
121
+ "Il y a une prop de statut - similaire à `preset` dans d'autres composants, mais affecte également la fonctionnalité du composant.",
122
+ noStatus: "Pas de statut - c'est le défaut",
123
+ errorStatus: "Statut d’erreur - à utiliser quand il y a une erreur",
124
+ disabledStatus: "Statut désactivé - désactive l’édition et atténue le style",
125
+ },
126
+ passingContent: {
127
+ name: "Transfert de contenu",
128
+ description: "Il y a plusieurs façons de transmettre du contenu.",
129
+ useCase: {
130
+ checkBox: {
131
+ label: "Via la prop `labelTx`",
132
+ helper: "Via la prop `helperTx`.",
133
+ },
134
+ checkBoxMultiLine: {
135
+ helper: "Supporte le multiligne - Nulla proident consectetur labore sunt ea labore. ",
136
+ },
137
+ radioChangeSides: {
138
+ helper:
139
+ "Vous pouvez changer de côté - Laborum labore adipisicing in eu ipsum deserunt.",
140
+ },
141
+ customCheckBox: {
142
+ label: "Passez une icône de case à cocher personnalisée.",
143
+ },
144
+ switch: {
145
+ label: "Les interrupteurs peuvent être lus comme du texte",
146
+ helper:
147
+ "Par défaut, cette option n’utilise pas `Text` car selon la police, les caractères on/off pourraient paraître étranges. Personnalisez selon vos besoins.",
148
+ },
149
+ switchAid: {
150
+ label: "Ou aidé d’une icône",
151
+ },
152
+ },
153
+ },
154
+ styling: {
155
+ name: "Style",
156
+ description: "Le composant peut être facilement stylisé.",
157
+ outerWrapper: "1 - styliser le wrapper extérieur de l’entrée",
158
+ innerWrapper: "2 - styliser le wrapper intérieur de l’entrée",
159
+ inputDetail: "3 - styliser le détail de l’entrée",
160
+ labelTx: "Vous pouvez aussi styliser le labelTx",
161
+ styleContainer: "Ou, styliser le conteneur entier",
162
+ },
163
+ },
164
+ },
165
+ demoButton: {
166
+ description:
167
+ "Un composant qui permet aux utilisateurs d’effectuer des actions et de faire des choix. Enveloppe le composant Text avec un composant Pressable.",
168
+ useCase: {
169
+ presets: {
170
+ name: "Préréglages",
171
+ description: "Il y a quelques préréglages préconfigurés.",
172
+ },
173
+ passingContent: {
174
+ name: "Transfert de contenu",
175
+ description: "Il y a plusieurs façons de transmettre du contenu.",
176
+ viaTextProps: "Via la prop `text` - Billum In",
177
+ children: "Enfants - Irure Reprehenderit",
178
+ rightAccessory: "Accessoire droit - Duis Quis",
179
+ leftAccessory: "Accessoire gauche - Duis Proident",
180
+ nestedChildren: "Enfants imbriqués - proident veniam.",
181
+ nestedChildren2: "Ullamco cupidatat officia exercitation velit non ullamco nisi..",
182
+ nestedChildren3: "Occaecat aliqua irure proident veniam.",
183
+ multiLine:
184
+ "Multiligne - consequat veniam veniam reprehenderit. Fugiat id nisi quis duis sunt proident mollit dolor mollit adipisicing proident deserunt.",
185
+ },
186
+ styling: {
187
+ name: "Style",
188
+ description: "Le composant peut être facilement stylisé.",
189
+ styleContainer: "Style du conteneur - Exercitation",
190
+ styleText: "Style du texte - Ea Anim",
191
+ styleAccessories: "Style des accessoires - enim ea id fugiat anim ad.",
192
+ pressedState: "Style de l’état pressé - fugiat anim",
193
+ },
194
+ disabling: {
195
+ name: "Désactivation",
196
+ description:
197
+ "Le composant peut être désactivé et stylisé en conséquence. Le comportement de pression sera désactivé.",
198
+ standard: "Désactivé - standard",
199
+ filled: "Désactivé - rempli",
200
+ reversed: "Désactivé - inversé",
201
+ accessory: "Style d’accessoire désactivé",
202
+ textStyle: "Style de texte désactivé",
203
+ },
204
+ },
205
+ },
206
+ demoListItem: {
207
+ description:
208
+ "Un composant de ligne stylisé qui peut être utilisé dans FlatList, SectionList, ou seul.",
209
+ useCase: {
210
+ height: {
211
+ name: "Hauteur",
212
+ description: "La ligne peut avoir différentes hauteurs.",
213
+ defaultHeight: "Hauteur par défaut (56px)",
214
+ customHeight: "Hauteur personnalisée via la prop `height`",
215
+ textHeight:
216
+ "Hauteur déterminée par le contenu du texte - Reprehenderit incididunt deserunt do do ea labore.",
217
+ longText:
218
+ "Limiter le texte long à une ligne - Reprehenderit incididunt deserunt do do ea labore.",
219
+ },
220
+ separators: {
221
+ name: "Séparateurs",
222
+ description: "Le séparateur / diviseur est préconfiguré et optionnel.",
223
+ topSeparator: "Séparateur uniquement en haut",
224
+ topAndBottomSeparator: "Séparateurs en haut et en bas",
225
+ bottomSeparator: "Séparateur uniquement en bas",
226
+ },
227
+ icons: {
228
+ name: "Icônes",
229
+ description: "Vous pouvez personnaliser les icônes à gauche ou à droite.",
230
+ leftIcon: "Icône gauche",
231
+ rightIcon: "Icône droite",
232
+ leftRightIcons: "Icônes gauche et droite",
233
+ },
234
+ customLeftRight: {
235
+ name: "Composants personnalisés gauche/droite",
236
+ description:
237
+ "Si vous avez besoin d’un composant personnalisé à gauche/droite, vous pouvez le passer.",
238
+ customLeft: "Composant personnalisé à gauche",
239
+ customRight: "Composant personnalisé à droite",
240
+ },
241
+ passingContent: {
242
+ name: "Transfert de contenu",
243
+ description: "Il y a plusieurs façons de transmettre du contenu.",
244
+ text: "Via la prop `text` - reprehenderit sint",
245
+ children: "Enfants - mostrud mollit",
246
+ nestedChildren1: "Enfants imbriqués - proident veniam.",
247
+ nestedChildren2: "Ullamco cupidatat officia exercitation velit non ullamco nisi..",
248
+ },
249
+ listIntegration: {
250
+ name: "Intégration avec FlatList & FlashList",
251
+ description:
252
+ "Le composant peut être facilement intégré avec votre interface de liste préférée.",
253
+ },
254
+ styling: {
255
+ name: "Style",
256
+ description: "Le composant peut être facilement stylisé.",
257
+ styledText: "Texte stylisé",
258
+ styledContainer: "Conteneur stylisé (séparateurs)",
259
+ tintedIcons: "Icônes teintées",
260
+ },
261
+ },
262
+ },
263
+ demoCard: {
264
+ description:
265
+ "Les cartes sont utiles pour afficher des informations connexes de manière contenue. Si un ListItem affiche le contenu horizontalement, une Card peut être utilisée pour afficher le contenu verticalement.",
266
+ useCase: {
267
+ presets: {
268
+ name: "Préréglages",
269
+ description: "Il y a quelques préréglages préconfigurés.",
270
+ default: {
271
+ heading: "Préréglage par défaut (default)",
272
+ content: "Incididunt magna ut aliquip consectetur mollit dolor.",
273
+ footer: "Consectetur nulla non aliquip velit.",
274
+ },
275
+ reversed: {
276
+ heading: "Préréglage inversé",
277
+ content: "Reprehenderit occaecat proident amet id laboris.",
278
+ footer: "Consectetur tempor ea non labore anim .",
279
+ },
280
+ },
281
+ verticalAlignment: {
282
+ name: "Alignement vertical",
283
+ description:
284
+ "Selon les besoins, la carte est préconfigurée avec différentes stratégies d’alignement.",
285
+ top: {
286
+ heading: "Haut (par défaut)",
287
+ content: "Tout le contenu est automatiquement aligné en haut.",
288
+ footer: "Même le pied de page",
289
+ },
290
+ center: {
291
+ heading: "Centre",
292
+ content: "Le contenu est centré par rapport à la hauteur de la carte.",
293
+ footer: "Moi aussi !",
294
+ },
295
+ spaceBetween: {
296
+ heading: "Espace entre",
297
+ content: "Tout le contenu est espacé uniformément.",
298
+ footer: "Je suis là où je veux être.",
299
+ },
300
+ reversed: {
301
+ heading: "Forcer le pied de page en bas",
302
+ content: "Cela pousse le pied de page là où il appartient.",
303
+ footer: "Je suis si seul ici en bas.",
304
+ },
305
+ },
306
+ passingContent: {
307
+ name: "Transfert de contenu",
308
+ description: "Il y a plusieurs façons de transmettre du contenu.",
309
+ heading: "Via la prop `heading`",
310
+ content: "Via la prop `content`",
311
+ footer: "Je suis si seul ici en bas.",
312
+ },
313
+ customComponent: {
314
+ name: "Composants personnalisés",
315
+ description:
316
+ "N’importe quels composants préconfigurés peuvent être remplacé par le vôtre. Vous pouvez également en ajouter d’autres.",
317
+ rightComponent: "Composant droit",
318
+ leftComponent: "Composant gauche",
319
+ },
320
+ style: {
321
+ name: "Style",
322
+ description: "Le composant peut être facilement stylisé.",
323
+ heading: "Styliser l’en-tête",
324
+ content: "Styliser le contenu",
325
+ footer: "Styliser le pied de page",
326
+ },
327
+ },
328
+ },
329
+ demoAutoImage: {
330
+ description:
331
+ "Un composant Image qui dimensionne automatiquement une image distante ou data-uri.",
332
+ useCase: {
333
+ remoteUri: { name: "URI distante" },
334
+ base64Uri: { name: "URI Base64" },
335
+ scaledToFitDimensions: {
336
+ name: "Mis à l’échelle pour s’adapter aux dimensions",
337
+ description:
338
+ "En fournissant les props `maxWidth` et/ou `maxHeight`, l’image se redimensionnera automatiquement à l’échelle tout en conservant son rapport d’aspect. En quoi est-ce différent de `resizeMode: 'contain'` ? Premièrement, vous pouvez spécifier la taille d'un seul côté (pas les deux). Deuxièmement, l'image s'adaptera aux dimensions souhaitées au lieu d'être simplement contenue dans son conteneur d'image.",
339
+ heightAuto: "largeur: 60 / hauteur: auto",
340
+ widthAuto: "largeur: auto / hauteur: 32",
341
+ bothManual: "largeur: 60 / hauteur: 60",
342
+ },
343
+ },
344
+ },
345
+ demoText: {
346
+ description:
347
+ "Pour vos besoins d'affichage de texte. Ce composant est un HOC sur celui intégré à React Native.",
348
+ useCase: {
349
+ presets: {
350
+ name: "Préréglages",
351
+ description: "Il y a quelques réglages préconfigurés.",
352
+ default:
353
+ "préréglage par défaut - Cillum eu laboris in labore. Excepteur mollit tempor reprehenderit fugiat elit et eu consequat laborum.",
354
+ bold: "préréglage gras - Tempor et ullamco cupidatat in officia. Nulla ea duis elit id sunt ipsum cillum duis deserunt nostrud ut nostrud id.",
355
+ subheading: "préréglage sous-titre - In Cupidatat Cillum.",
356
+ heading: "préréglage titre - Voluptate Adipis.",
357
+ },
358
+ sizes: {
359
+ name: "Tailles",
360
+ description: "Il y a une prop de taille.",
361
+ xs: "xs - Ea ipsum est ea ex sunt.",
362
+ sm: "sm - Lorem sunt adipisicin.",
363
+ md: "md - Consequat id do lorem.",
364
+ lg: "lg - Nostrud ipsum ea.",
365
+ xl: "xl - Eiusmod ex excepteur.",
366
+ xxl: "xxl - Cillum eu laboris.",
367
+ },
368
+ weights: {
369
+ name: "Graisse",
370
+ description: "Il y a une prop de graisse.",
371
+ light:
372
+ "léger - Nulla magna incididunt excepteur est occaecat duis culpa dolore cupidatat enim et.",
373
+ normal:
374
+ "normal - Magna incididunt dolor ut veniam veniam laboris aliqua velit ea incididunt.",
375
+ medium: "moyen - Non duis laborum quis laboris occaecat culpa cillum.",
376
+ semibold: "demi-gras - Exercitation magna nostrud pariatur laborum occaecat aliqua.",
377
+ bold: "gras - Eiusmod ullamco magna exercitation est excepteur.",
378
+ },
379
+ passingContent: {
380
+ name: "Transfert de contenu",
381
+ description: "Il y a plusieurs façons de transférer du contenu.",
382
+ viaText:
383
+ "via la prop `text` - Billum in aute fugiat proident nisi pariatur est. Cupidatat anim cillum eiusmod ad. Officia eu magna aliquip labore dolore consequat.",
384
+ viaTx: "via la prop `tx` -",
385
+ children: "enfants - Aliqua velit irure reprehenderit eu qui amet veniam consectetur.",
386
+ nestedChildren: "Enfants imbriqués -",
387
+ nestedChildren2: "Occaecat aliqua irure proident veniam.",
388
+ nestedChildren3: "Ullamco cupidatat officia exercitation velit non ullamco nisi..",
389
+ nestedChildren4: "Occaecat aliqua irure proident veniam.",
390
+ },
391
+ styling: {
392
+ name: "Style",
393
+ description: "Le composant peut être facilement stylisé.",
394
+ text: "Consequat ullamco veniam velit mollit proident excepteur aliquip id culpa ipsum velit sint nostrud.",
395
+ text2:
396
+ "Eiusmod occaecat laboris eu ex veniam ipsum adipisicing consectetur. Magna ullamco adipisicing tempor adipisicing.",
397
+ text3:
398
+ "Eiusmod occaecat laboris eu ex veniam ipsum adipisicing consectetur. Magna ullamco adipisicing tempor adipisicing.",
399
+ },
400
+ },
401
+ },
402
+ demoHeader: {
403
+ description:
404
+ "Composant qui apparaît sur de nombreux écrans. Contiendra les boutons de navigation et le titre de l’écran.",
405
+ useCase: {
406
+ actionIcons: {
407
+ name: "Icônes d’action",
408
+ description:
409
+ "Vous pouvez facilement passer des icônes aux composants d’action gauche ou droit.",
410
+ leftIconTitle: "Icône gauche",
411
+ rightIconTitle: "Icône droite",
412
+ bothIconsTitle: "Les deux icônes",
413
+ },
414
+ actionText: {
415
+ name: "Texte d’action",
416
+ description:
417
+ "Vous pouvez facilement passer du texte aux composants d’action gauche ou droit.",
418
+ leftTxTitle: "Via `leftTx`",
419
+ rightTextTitle: "Via `rightText`",
420
+ },
421
+ customActionComponents: {
422
+ name: "Composants d’action personnalisés",
423
+ description:
424
+ "Si les options d’icône ou de texte ne suffisent pas, vous pouvez passer votre propre composant d’action personnalisé.",
425
+ customLeftActionTitle: "Action gauche personnalisée",
426
+ },
427
+ titleModes: {
428
+ name: "Modes de titre",
429
+ description:
430
+ "Le titre peut être forcé à rester au centre (par défaut) mais peut être coupé s’il est trop long. Vous pouvez éventuellement le faire s’ajuster aux boutons d’action.",
431
+ centeredTitle: "Titre centré",
432
+ flexTitle: "Titre flexible",
433
+ },
434
+ styling: {
435
+ name: "Style",
436
+ description: "Le composant peut être facilement stylisé.",
437
+ styledTitle: "Titre stylisé",
438
+ styledWrapperTitle: "Wrapper stylisé",
439
+ tintedIconsTitle: "Icônes teintées",
440
+ },
441
+ },
442
+ },
443
+ demoEmptyState: {
444
+ description:
445
+ "Un composant à utiliser lorsqu’il n’y a pas de données à afficher. Il peut être utilisé pour diriger l’utilisateur sur ce qu’il faut faire ensuite.",
446
+ useCase: {
447
+ presets: {
448
+ name: "Préréglages",
449
+ description:
450
+ "Vous pouvez créer différents ensembles de texte/image. Un est prédéfini appelé `generic`. Notez qu’il n’y a pas de valeur par défaut au cas où vous voudriez avoir un EmptyState complètement personnalisé.",
451
+ },
452
+ passingContent: {
453
+ name: "Transfert de contenu",
454
+ description: "Il y a plusieurs façons de transférer du contenu.",
455
+ customizeImageHeading: "Personnaliser l’image",
456
+ customizeImageContent: "Vous pouvez passer n’importe quelle source d'image.",
457
+ viaHeadingProp: "Via la prop `heading`",
458
+ viaContentProp: "Via la prop `content`.",
459
+ viaButtonProp: "Via la prop `button`",
460
+ },
461
+ styling: {
462
+ name: "Style",
463
+ description: "Le composant peut être facilement stylisé.",
464
+ },
465
+ },
466
+ },
467
+ }
468
+
469
+ export default demoFr
470
+
471
+ // @demo remove-file