@@ -81,7 +81,7 @@ export default class TextFieldScreen extends Component {
81
81
82
82
< View row bottom >
83
83
< TextField
84
- placeholder = "Floating placeholder "
84
+ placeholder = "FloatingPlaceholder "
85
85
floatingPlaceholder
86
86
floatingPlaceholderColor = { {
87
87
focus : Colors . $textDefault ,
@@ -90,10 +90,12 @@ export default class TextFieldScreen extends Component {
90
90
// floatingPlaceholderStyle={Typography.text60}
91
91
// style={Typography.text60}
92
92
containerStyle = { { flex : 1 } }
93
+ preset = { this . state . preset }
93
94
/>
94
95
< TextField
95
96
placeholder = "Placeholder"
96
97
containerStyle = { { flex : 1 , marginLeft : Spacings . s6 } }
98
+ preset = { this . state . preset }
97
99
/>
98
100
</ View >
99
101
</ >
@@ -135,6 +137,7 @@ export default class TextFieldScreen extends Component {
135
137
ref = { this . input2 }
136
138
placeholder = "Enter search term"
137
139
trailingAccessory = { this . renderTrailingAccessory ( ) }
140
+ preset = { this . state . preset }
138
141
/>
139
142
< TextField
140
143
ref = { this . input2 }
@@ -145,6 +148,7 @@ export default class TextFieldScreen extends Component {
145
148
Kg.
146
149
</ Text >
147
150
}
151
+ preset = { this . state . preset }
148
152
/>
149
153
150
154
< Text marginB-s2 $textPrimary > Leading Accessory:</ Text >
@@ -156,6 +160,7 @@ export default class TextFieldScreen extends Component {
156
160
Https://
157
161
</ Text >
158
162
}
163
+ preset = { this . state . preset }
159
164
/>
160
165
</ >
161
166
) ;
@@ -167,7 +172,7 @@ export default class TextFieldScreen extends Component {
167
172
} ;
168
173
169
174
renderValidationExample ( ) {
170
- const { errorPosition, preset} = this . state ;
175
+ const { errorPosition, preset, value } = this . state ;
171
176
172
177
return (
173
178
< >
@@ -180,7 +185,7 @@ export default class TextFieldScreen extends Component {
180
185
</ View >
181
186
182
187
< TextField
183
- value = { this . state . value }
188
+ value = { value }
184
189
onChangeText = { value => this . setState ( { value} ) }
185
190
label = "Email"
186
191
placeholder = "Enter email"
@@ -191,10 +196,11 @@ export default class TextFieldScreen extends Component {
191
196
validate = { [ 'required' , 'email' ] }
192
197
validateOnChange
193
198
onChangeValidity = { ( isValid : boolean ) => console . warn ( 'validity changed:' , isValid , Date . now ( ) ) }
194
- // validateOnStart
199
+ validateOnStart
195
200
// validateOnBlur
201
+ preset = { preset }
196
202
/>
197
- < View row spread center >
203
+ < View row spread center marginT-20 >
198
204
< TextField
199
205
ref = { this . inputWithValidation }
200
206
label = "Name"
@@ -249,7 +255,7 @@ export default class TextFieldScreen extends Component {
249
255
} ;
250
256
251
257
renderStateColorsExample ( ) {
252
- const { isReadonly, isDisabled} = this . state ;
258
+ const { isReadonly, isDisabled, preset } = this . state ;
253
259
254
260
return (
255
261
< >
@@ -278,6 +284,7 @@ export default class TextFieldScreen extends Component {
278
284
validateOnChange
279
285
readonly = { isReadonly }
280
286
editable = { ! isDisabled }
287
+ preset = { preset }
281
288
/>
282
289
</ >
283
290
) ;
@@ -333,7 +340,7 @@ export default class TextFieldScreen extends Component {
333
340
) ;
334
341
}
335
342
336
- renderCherCounterExample ( ) {
343
+ renderCharCounterExample ( ) {
337
344
return (
338
345
< >
339
346
< Text h3 marginB-s3 >
@@ -348,6 +355,7 @@ export default class TextFieldScreen extends Component {
348
355
bottomAccessory = { < Text text100 > { Assets . emojis . grapes } { Assets . emojis . melon } { Assets . emojis . banana } </ Text > }
349
356
charCounterStyle = { { color : Colors . $textGeneral } }
350
357
maxLength = { 20 }
358
+ preset = { this . state . preset }
351
359
/>
352
360
</ >
353
361
) ;
@@ -368,6 +376,7 @@ export default class TextFieldScreen extends Component {
368
376
onChangeText = { value => this . setState ( { value} ) }
369
377
trailingAccessory = { < Icon source = { Assets . icons . demo . search } /> }
370
378
// multiline
379
+ preset = { this . state . preset }
371
380
/>
372
381
</ >
373
382
) ;
@@ -385,13 +394,14 @@ export default class TextFieldScreen extends Component {
385
394
floatingPlaceholder
386
395
floatOnFocus
387
396
hint = "1-6 chars including numeric chars"
397
+ preset = { this . state . preset }
388
398
/>
389
399
</ >
390
400
) ;
391
401
}
392
402
393
403
renderFormatterExample ( ) {
394
- const { price} = this . state ;
404
+ const { price, preset } = this . state ;
395
405
396
406
return (
397
407
< >
@@ -409,12 +419,15 @@ export default class TextFieldScreen extends Component {
409
419
// @ts -expect-error
410
420
formatter = { value => ( isNaN ( value ) ? value : priceFormatter . format ( Number ( value ) ) ) }
411
421
leadingAccessory = { < Text marginR-s1 $textNeutral > $</ Text > }
422
+ preset = { preset }
412
423
/>
413
424
</ >
414
425
) ;
415
426
}
416
427
417
428
renderCustomAlignmentExample ( ) {
429
+ const { preset, errorPosition} = this . state ;
430
+
418
431
return (
419
432
< >
420
433
< Text h3 marginB-3 >
@@ -426,18 +439,25 @@ export default class TextFieldScreen extends Component {
426
439
label = "PIN"
427
440
placeholder = "XXXX"
428
441
centered
429
- topTrailingAccessory = { < Icon source = { Assets . icons . demo . info } size = { 16 } /> }
442
+ topTrailingAccessory = { < Icon source = { Assets . icons . demo . info } size = { 16 } marginL-s1 /> }
430
443
validate = { 'required' }
431
444
validationMessage = { 'This field is required' }
432
445
validateOnBlur
433
- validationMessagePosition = { this . state . errorPosition }
446
+ validationMessagePosition = { errorPosition }
447
+ preset = { preset }
434
448
/>
435
449
436
450
< Text marginB-s1 $textPrimary > Inline:</ Text >
437
451
< View row >
438
- < TextField placeholder = "hours" />
439
- < Text marginT-s1 marginH-s1 > :</ Text >
440
- < TextField placeholder = "minutes" />
452
+ < TextField placeholder = "hours" preset = { preset } />
453
+ < Text
454
+ marginT-s1 = { preset === TextField . presets . UNDERLINE }
455
+ marginT-s2 = { preset === TextField . presets . OUTLINE }
456
+ marginH-s1
457
+ >
458
+ :
459
+ </ Text >
460
+ < TextField placeholder = "minutes" preset = { preset } />
441
461
</ View >
442
462
</ >
443
463
) ;
@@ -455,7 +475,7 @@ export default class TextFieldScreen extends Component {
455
475
{ this . renderValidationExample ( ) }
456
476
{ this . renderHintExample ( ) }
457
477
{ this . renderClearButtonExample ( ) }
458
- { this . renderCherCounterExample ( ) }
478
+ { this . renderCharCounterExample ( ) }
459
479
{ this . renderAccessoriesExample ( ) }
460
480
{ this . renderStateColorsExample ( ) }
461
481
{ this . renderDynamicFieldExample ( ) }
0 commit comments