react-native-windows 0.72.0-preview.8 → 0.72.0-preview.9
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.
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +121 -86
- package/Libraries/Components/TextInput/TextInput.flow.js +121 -135
- package/Libraries/Components/TextInput/TextInput.js +126 -155
- package/Libraries/Components/TextInput/TextInput.windows.js +126 -155
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +0 -2
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -13
- package/PropertySheets/Generated/PackageVersion.g.props +2 -2
- package/codegen/rnwcoreJSI.h +2 -2
- package/package.json +14 -13
|
@@ -692,7 +692,6 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
|
|
|
692
692
|
fontStyle: true,
|
|
693
693
|
textShadowOffset: true,
|
|
694
694
|
selectionColor: {process: require('../../StyleSheet/processColor').default},
|
|
695
|
-
selection: true,
|
|
696
695
|
placeholderTextColor: {
|
|
697
696
|
process: require('../../StyleSheet/processColor').default,
|
|
698
697
|
},
|
|
@@ -289,92 +289,6 @@ export interface TextInputIOSProps {
|
|
|
289
289
|
* @see https://reactnative.dev/docs/textinput#props
|
|
290
290
|
*/
|
|
291
291
|
export interface TextInputAndroidProps {
|
|
292
|
-
/**
|
|
293
|
-
* Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
294
|
-
* To disable autocomplete, set `autoComplete` to `off`.
|
|
295
|
-
*
|
|
296
|
-
* *Android Only*
|
|
297
|
-
*
|
|
298
|
-
* Possible values for `autoComplete` are:
|
|
299
|
-
*
|
|
300
|
-
* - `birthdate-day`
|
|
301
|
-
* - `birthdate-full`
|
|
302
|
-
* - `birthdate-month`
|
|
303
|
-
* - `birthdate-year`
|
|
304
|
-
* - `cc-csc`
|
|
305
|
-
* - `cc-exp`
|
|
306
|
-
* - `cc-exp-day`
|
|
307
|
-
* - `cc-exp-month`
|
|
308
|
-
* - `cc-exp-year`
|
|
309
|
-
* - `cc-number`
|
|
310
|
-
* - `email`
|
|
311
|
-
* - `gender`
|
|
312
|
-
* - `name`
|
|
313
|
-
* - `name-family`
|
|
314
|
-
* - `name-given`
|
|
315
|
-
* - `name-middle`
|
|
316
|
-
* - `name-middle-initial`
|
|
317
|
-
* - `name-prefix`
|
|
318
|
-
* - `name-suffix`
|
|
319
|
-
* - `password`
|
|
320
|
-
* - `password-new`
|
|
321
|
-
* - `postal-address`
|
|
322
|
-
* - `postal-address-country`
|
|
323
|
-
* - `postal-address-extended`
|
|
324
|
-
* - `postal-address-extended-postal-code`
|
|
325
|
-
* - `postal-address-locality`
|
|
326
|
-
* - `postal-address-region`
|
|
327
|
-
* - `postal-code`
|
|
328
|
-
* - `street-address`
|
|
329
|
-
* - `sms-otp`
|
|
330
|
-
* - `tel`
|
|
331
|
-
* - `tel-country-code`
|
|
332
|
-
* - `tel-national`
|
|
333
|
-
* - `tel-device`
|
|
334
|
-
* - `username`
|
|
335
|
-
* - `username-new`
|
|
336
|
-
* - `off`
|
|
337
|
-
*/
|
|
338
|
-
autoComplete?:
|
|
339
|
-
| 'birthdate-day'
|
|
340
|
-
| 'birthdate-full'
|
|
341
|
-
| 'birthdate-month'
|
|
342
|
-
| 'birthdate-year'
|
|
343
|
-
| 'cc-csc'
|
|
344
|
-
| 'cc-exp'
|
|
345
|
-
| 'cc-exp-day'
|
|
346
|
-
| 'cc-exp-month'
|
|
347
|
-
| 'cc-exp-year'
|
|
348
|
-
| 'cc-number'
|
|
349
|
-
| 'email'
|
|
350
|
-
| 'gender'
|
|
351
|
-
| 'name'
|
|
352
|
-
| 'name-family'
|
|
353
|
-
| 'name-given'
|
|
354
|
-
| 'name-middle'
|
|
355
|
-
| 'name-middle-initial'
|
|
356
|
-
| 'name-prefix'
|
|
357
|
-
| 'name-suffix'
|
|
358
|
-
| 'password'
|
|
359
|
-
| 'password-new'
|
|
360
|
-
| 'postal-address'
|
|
361
|
-
| 'postal-address-country'
|
|
362
|
-
| 'postal-address-extended'
|
|
363
|
-
| 'postal-address-extended-postal-code'
|
|
364
|
-
| 'postal-address-locality'
|
|
365
|
-
| 'postal-address-region'
|
|
366
|
-
| 'postal-code'
|
|
367
|
-
| 'street-address'
|
|
368
|
-
| 'sms-otp'
|
|
369
|
-
| 'tel'
|
|
370
|
-
| 'tel-country-code'
|
|
371
|
-
| 'tel-national'
|
|
372
|
-
| 'tel-device'
|
|
373
|
-
| 'username'
|
|
374
|
-
| 'username-new'
|
|
375
|
-
| 'off'
|
|
376
|
-
| undefined;
|
|
377
|
-
|
|
378
292
|
/**
|
|
379
293
|
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
380
294
|
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
@@ -558,6 +472,127 @@ export interface TextInputProps
|
|
|
558
472
|
*/
|
|
559
473
|
autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters' | undefined;
|
|
560
474
|
|
|
475
|
+
/**
|
|
476
|
+
* Specifies autocomplete hints for the system, so it can provide autofill.
|
|
477
|
+
* On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
478
|
+
* To disable autocomplete, set autoComplete to off.
|
|
479
|
+
*
|
|
480
|
+
* The following values work across platforms:
|
|
481
|
+
*
|
|
482
|
+
* - `additional-name`
|
|
483
|
+
* - `address-line1`
|
|
484
|
+
* - `address-line2`
|
|
485
|
+
* - `cc-number`
|
|
486
|
+
* - `country`
|
|
487
|
+
* - `current-password`
|
|
488
|
+
* - `email`
|
|
489
|
+
* - `family-name`
|
|
490
|
+
* - `given-name`
|
|
491
|
+
* - `honorific-prefix`
|
|
492
|
+
* - `honorific-suffix`
|
|
493
|
+
* - `name`
|
|
494
|
+
* - `new-password`
|
|
495
|
+
* - `off`
|
|
496
|
+
* - `one-time-code`
|
|
497
|
+
* - `postal-code`
|
|
498
|
+
* - `street-address`
|
|
499
|
+
* - `tel`
|
|
500
|
+
* - `username`
|
|
501
|
+
*
|
|
502
|
+
* The following values work on iOS only:
|
|
503
|
+
*
|
|
504
|
+
* - `nickname`
|
|
505
|
+
* - `organization`
|
|
506
|
+
* - `organization-title`
|
|
507
|
+
* - `url`
|
|
508
|
+
*
|
|
509
|
+
* The following values work on Android only:
|
|
510
|
+
*
|
|
511
|
+
* - `birthdate-day`
|
|
512
|
+
* - `birthdate-full`
|
|
513
|
+
* - `birthdate-month`
|
|
514
|
+
* - `birthdate-year`
|
|
515
|
+
* - `cc-csc`
|
|
516
|
+
* - `cc-exp`
|
|
517
|
+
* - `cc-exp-day`
|
|
518
|
+
* - `cc-exp-month`
|
|
519
|
+
* - `cc-exp-year`
|
|
520
|
+
* - `gender`
|
|
521
|
+
* - `name-family`
|
|
522
|
+
* - `name-given`
|
|
523
|
+
* - `name-middle`
|
|
524
|
+
* - `name-middle-initial`
|
|
525
|
+
* - `name-prefix`
|
|
526
|
+
* - `name-suffix`
|
|
527
|
+
* - `password`
|
|
528
|
+
* - `password-new`
|
|
529
|
+
* - `postal-address`
|
|
530
|
+
* - `postal-address-country`
|
|
531
|
+
* - `postal-address-extended`
|
|
532
|
+
* - `postal-address-extended-postal-code`
|
|
533
|
+
* - `postal-address-locality`
|
|
534
|
+
* - `postal-address-region`
|
|
535
|
+
* - `sms-otp`
|
|
536
|
+
* - `tel-country-code`
|
|
537
|
+
* - `tel-national`
|
|
538
|
+
* - `tel-device`
|
|
539
|
+
* - `username-new`
|
|
540
|
+
*/
|
|
541
|
+
autoComplete?:
|
|
542
|
+
| 'additional-name'
|
|
543
|
+
| 'address-line1'
|
|
544
|
+
| 'address-line2'
|
|
545
|
+
| 'birthdate-day'
|
|
546
|
+
| 'birthdate-full'
|
|
547
|
+
| 'birthdate-month'
|
|
548
|
+
| 'birthdate-year'
|
|
549
|
+
| 'cc-csc'
|
|
550
|
+
| 'cc-exp'
|
|
551
|
+
| 'cc-exp-day'
|
|
552
|
+
| 'cc-exp-month'
|
|
553
|
+
| 'cc-exp-year'
|
|
554
|
+
| 'cc-number'
|
|
555
|
+
| 'country'
|
|
556
|
+
| 'current-password'
|
|
557
|
+
| 'email'
|
|
558
|
+
| 'family-name'
|
|
559
|
+
| 'gender'
|
|
560
|
+
| 'given-name'
|
|
561
|
+
| 'honorific-prefix'
|
|
562
|
+
| 'honorific-suffix'
|
|
563
|
+
| 'name'
|
|
564
|
+
| 'name-family'
|
|
565
|
+
| 'name-given'
|
|
566
|
+
| 'name-middle'
|
|
567
|
+
| 'name-middle-initial'
|
|
568
|
+
| 'name-prefix'
|
|
569
|
+
| 'name-suffix'
|
|
570
|
+
| 'new-password'
|
|
571
|
+
| 'nickname'
|
|
572
|
+
| 'one-time-code'
|
|
573
|
+
| 'organization'
|
|
574
|
+
| 'organization-title'
|
|
575
|
+
| 'password'
|
|
576
|
+
| 'password-new'
|
|
577
|
+
| 'postal-address'
|
|
578
|
+
| 'postal-address-country'
|
|
579
|
+
| 'postal-address-extended'
|
|
580
|
+
| 'postal-address-extended-postal-code'
|
|
581
|
+
| 'postal-address-locality'
|
|
582
|
+
| 'postal-address-region'
|
|
583
|
+
| 'postal-code'
|
|
584
|
+
| 'street-address'
|
|
585
|
+
| 'sms-otp'
|
|
586
|
+
| 'tel'
|
|
587
|
+
| 'tel-country-code'
|
|
588
|
+
| 'tel-national'
|
|
589
|
+
| 'tel-device'
|
|
590
|
+
| 'url'
|
|
591
|
+
| 'username'
|
|
592
|
+
| 'username-new'
|
|
593
|
+
| 'off'
|
|
594
|
+
| undefined;
|
|
595
|
+
|
|
561
596
|
/**
|
|
562
597
|
* If false, disables auto-correct.
|
|
563
598
|
* The default value is true.
|
|
@@ -196,36 +196,6 @@ export type enterKeyHintType =
|
|
|
196
196
|
type PasswordRules = string;
|
|
197
197
|
|
|
198
198
|
type IOSProps = $ReadOnly<{|
|
|
199
|
-
/**
|
|
200
|
-
* Give the keyboard and the system information about the
|
|
201
|
-
* expected semantic meaning for the content that users enter.
|
|
202
|
-
* @platform ios
|
|
203
|
-
*/
|
|
204
|
-
autoComplete?: ?(
|
|
205
|
-
| 'address-line1'
|
|
206
|
-
| 'address-line2'
|
|
207
|
-
| 'cc-number'
|
|
208
|
-
| 'current-password'
|
|
209
|
-
| 'country'
|
|
210
|
-
| 'email'
|
|
211
|
-
| 'name'
|
|
212
|
-
| 'additional-name'
|
|
213
|
-
| 'family-name'
|
|
214
|
-
| 'given-name'
|
|
215
|
-
| 'nickname'
|
|
216
|
-
| 'honorific-prefix'
|
|
217
|
-
| 'honorific-suffix'
|
|
218
|
-
| 'new-password'
|
|
219
|
-
| 'off'
|
|
220
|
-
| 'one-time-code'
|
|
221
|
-
| 'organization'
|
|
222
|
-
| 'organization-title'
|
|
223
|
-
| 'postal-code'
|
|
224
|
-
| 'street-address'
|
|
225
|
-
| 'tel'
|
|
226
|
-
| 'url'
|
|
227
|
-
| 'username'
|
|
228
|
-
),
|
|
229
199
|
/**
|
|
230
200
|
* When the clear button should appear on the right side of the text view.
|
|
231
201
|
* This property is supported only for single-line TextInput component.
|
|
@@ -328,111 +298,6 @@ type IOSProps = $ReadOnly<{|
|
|
|
328
298
|
|}>;
|
|
329
299
|
|
|
330
300
|
type AndroidProps = $ReadOnly<{|
|
|
331
|
-
/**
|
|
332
|
-
* Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
333
|
-
* To disable autocomplete, set `autoComplete` to `off`.
|
|
334
|
-
*
|
|
335
|
-
* *Android Only*
|
|
336
|
-
*
|
|
337
|
-
* Possible values for `autoComplete` are:
|
|
338
|
-
*
|
|
339
|
-
* - `birthdate-day`
|
|
340
|
-
* - `birthdate-full`
|
|
341
|
-
* - `birthdate-month`
|
|
342
|
-
* - `birthdate-year`
|
|
343
|
-
* - `cc-csc`
|
|
344
|
-
* - `cc-exp`
|
|
345
|
-
* - `cc-exp-day`
|
|
346
|
-
* - `cc-exp-month`
|
|
347
|
-
* - `cc-exp-year`
|
|
348
|
-
* - `cc-number`
|
|
349
|
-
* - `email`
|
|
350
|
-
* - `gender`
|
|
351
|
-
* - `name`
|
|
352
|
-
* - `name-family`
|
|
353
|
-
* - `name-given`
|
|
354
|
-
* - `name-middle`
|
|
355
|
-
* - `name-middle-initial`
|
|
356
|
-
* - `name-prefix`
|
|
357
|
-
* - `name-suffix`
|
|
358
|
-
* - `password`
|
|
359
|
-
* - `password-new`
|
|
360
|
-
* - `postal-address`
|
|
361
|
-
* - `postal-address-country`
|
|
362
|
-
* - `postal-address-extended`
|
|
363
|
-
* - `postal-address-extended-postal-code`
|
|
364
|
-
* - `postal-address-locality`
|
|
365
|
-
* - `postal-address-region`
|
|
366
|
-
* - `postal-code`
|
|
367
|
-
* - `street-address`
|
|
368
|
-
* - `sms-otp`
|
|
369
|
-
* - `tel`
|
|
370
|
-
* - `tel-country-code`
|
|
371
|
-
* - `tel-national`
|
|
372
|
-
* - `tel-device`
|
|
373
|
-
* - `username`
|
|
374
|
-
* - `username-new`
|
|
375
|
-
* - `off`
|
|
376
|
-
*
|
|
377
|
-
* @platform android
|
|
378
|
-
*/
|
|
379
|
-
autoComplete?: ?(
|
|
380
|
-
| 'birthdate-day'
|
|
381
|
-
| 'birthdate-full'
|
|
382
|
-
| 'birthdate-month'
|
|
383
|
-
| 'birthdate-year'
|
|
384
|
-
| 'cc-csc'
|
|
385
|
-
| 'cc-exp'
|
|
386
|
-
| 'cc-exp-day'
|
|
387
|
-
| 'cc-exp-month'
|
|
388
|
-
| 'cc-exp-year'
|
|
389
|
-
| 'cc-number'
|
|
390
|
-
| 'email'
|
|
391
|
-
| 'gender'
|
|
392
|
-
| 'name'
|
|
393
|
-
| 'name-family'
|
|
394
|
-
| 'name-given'
|
|
395
|
-
| 'name-middle'
|
|
396
|
-
| 'name-middle-initial'
|
|
397
|
-
| 'name-prefix'
|
|
398
|
-
| 'name-suffix'
|
|
399
|
-
| 'password'
|
|
400
|
-
| 'password-new'
|
|
401
|
-
| 'postal-address'
|
|
402
|
-
| 'postal-address-country'
|
|
403
|
-
| 'postal-address-extended'
|
|
404
|
-
| 'postal-address-extended-postal-code'
|
|
405
|
-
| 'postal-address-locality'
|
|
406
|
-
| 'postal-address-region'
|
|
407
|
-
| 'postal-code'
|
|
408
|
-
| 'street-address'
|
|
409
|
-
| 'sms-otp'
|
|
410
|
-
| 'tel'
|
|
411
|
-
| 'tel-country-code'
|
|
412
|
-
| 'tel-national'
|
|
413
|
-
| 'tel-device'
|
|
414
|
-
| 'username'
|
|
415
|
-
| 'username-new'
|
|
416
|
-
| 'off'
|
|
417
|
-
// additional HTML autocomplete values
|
|
418
|
-
| 'address-line1'
|
|
419
|
-
| 'address-line2'
|
|
420
|
-
| 'bday'
|
|
421
|
-
| 'bday-day'
|
|
422
|
-
| 'bday-month'
|
|
423
|
-
| 'bday-year'
|
|
424
|
-
| 'country'
|
|
425
|
-
| 'current-password'
|
|
426
|
-
| 'honorific-prefix'
|
|
427
|
-
| 'honorific-suffix'
|
|
428
|
-
| 'additional-name'
|
|
429
|
-
| 'family-name'
|
|
430
|
-
| 'given-name'
|
|
431
|
-
| 'new-password'
|
|
432
|
-
| 'one-time-code'
|
|
433
|
-
| 'sex'
|
|
434
|
-
),
|
|
435
|
-
|
|
436
301
|
/**
|
|
437
302
|
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
438
303
|
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
@@ -533,6 +398,127 @@ export type Props = $ReadOnly<{|
|
|
|
533
398
|
*/
|
|
534
399
|
autoCapitalize?: ?AutoCapitalize,
|
|
535
400
|
|
|
401
|
+
/**
|
|
402
|
+
* Specifies autocomplete hints for the system, so it can provide autofill.
|
|
403
|
+
* On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
404
|
+
* To disable autocomplete, set autoComplete to off.
|
|
405
|
+
*
|
|
406
|
+
* The following values work across platforms:
|
|
407
|
+
*
|
|
408
|
+
* - `additional-name`
|
|
409
|
+
* - `address-line1`
|
|
410
|
+
* - `address-line2`
|
|
411
|
+
* - `cc-number`
|
|
412
|
+
* - `country`
|
|
413
|
+
* - `current-password`
|
|
414
|
+
* - `email`
|
|
415
|
+
* - `family-name`
|
|
416
|
+
* - `given-name`
|
|
417
|
+
* - `honorific-prefix`
|
|
418
|
+
* - `honorific-suffix`
|
|
419
|
+
* - `name`
|
|
420
|
+
* - `new-password`
|
|
421
|
+
* - `off`
|
|
422
|
+
* - `one-time-code`
|
|
423
|
+
* - `postal-code`
|
|
424
|
+
* - `street-address`
|
|
425
|
+
* - `tel`
|
|
426
|
+
* - `username`
|
|
427
|
+
*
|
|
428
|
+
* The following values work on iOS only:
|
|
429
|
+
*
|
|
430
|
+
* - `nickname`
|
|
431
|
+
* - `organization`
|
|
432
|
+
* - `organization-title`
|
|
433
|
+
* - `url`
|
|
434
|
+
*
|
|
435
|
+
* The following values work on Android only:
|
|
436
|
+
*
|
|
437
|
+
* - `birthdate-day`
|
|
438
|
+
* - `birthdate-full`
|
|
439
|
+
* - `birthdate-month`
|
|
440
|
+
* - `birthdate-year`
|
|
441
|
+
* - `cc-csc`
|
|
442
|
+
* - `cc-exp`
|
|
443
|
+
* - `cc-exp-day`
|
|
444
|
+
* - `cc-exp-month`
|
|
445
|
+
* - `cc-exp-year`
|
|
446
|
+
* - `gender`
|
|
447
|
+
* - `name-family`
|
|
448
|
+
* - `name-given`
|
|
449
|
+
* - `name-middle`
|
|
450
|
+
* - `name-middle-initial`
|
|
451
|
+
* - `name-prefix`
|
|
452
|
+
* - `name-suffix`
|
|
453
|
+
* - `password`
|
|
454
|
+
* - `password-new`
|
|
455
|
+
* - `postal-address`
|
|
456
|
+
* - `postal-address-country`
|
|
457
|
+
* - `postal-address-extended`
|
|
458
|
+
* - `postal-address-extended-postal-code`
|
|
459
|
+
* - `postal-address-locality`
|
|
460
|
+
* - `postal-address-region`
|
|
461
|
+
* - `sms-otp`
|
|
462
|
+
* - `tel-country-code`
|
|
463
|
+
* - `tel-national`
|
|
464
|
+
* - `tel-device`
|
|
465
|
+
* - `username-new`
|
|
466
|
+
*/
|
|
467
|
+
autoComplete?: ?(
|
|
468
|
+
| 'additional-name'
|
|
469
|
+
| 'address-line1'
|
|
470
|
+
| 'address-line2'
|
|
471
|
+
| 'birthdate-day'
|
|
472
|
+
| 'birthdate-full'
|
|
473
|
+
| 'birthdate-month'
|
|
474
|
+
| 'birthdate-year'
|
|
475
|
+
| 'cc-csc'
|
|
476
|
+
| 'cc-exp'
|
|
477
|
+
| 'cc-exp-day'
|
|
478
|
+
| 'cc-exp-month'
|
|
479
|
+
| 'cc-exp-year'
|
|
480
|
+
| 'cc-number'
|
|
481
|
+
| 'country'
|
|
482
|
+
| 'current-password'
|
|
483
|
+
| 'email'
|
|
484
|
+
| 'family-name'
|
|
485
|
+
| 'gender'
|
|
486
|
+
| 'given-name'
|
|
487
|
+
| 'honorific-prefix'
|
|
488
|
+
| 'honorific-suffix'
|
|
489
|
+
| 'name'
|
|
490
|
+
| 'name-family'
|
|
491
|
+
| 'name-given'
|
|
492
|
+
| 'name-middle'
|
|
493
|
+
| 'name-middle-initial'
|
|
494
|
+
| 'name-prefix'
|
|
495
|
+
| 'name-suffix'
|
|
496
|
+
| 'new-password'
|
|
497
|
+
| 'nickname'
|
|
498
|
+
| 'one-time-code'
|
|
499
|
+
| 'organization'
|
|
500
|
+
| 'organization-title'
|
|
501
|
+
| 'password'
|
|
502
|
+
| 'password-new'
|
|
503
|
+
| 'postal-address'
|
|
504
|
+
| 'postal-address-country'
|
|
505
|
+
| 'postal-address-extended'
|
|
506
|
+
| 'postal-address-extended-postal-code'
|
|
507
|
+
| 'postal-address-locality'
|
|
508
|
+
| 'postal-address-region'
|
|
509
|
+
| 'postal-code'
|
|
510
|
+
| 'street-address'
|
|
511
|
+
| 'sms-otp'
|
|
512
|
+
| 'tel'
|
|
513
|
+
| 'tel-country-code'
|
|
514
|
+
| 'tel-national'
|
|
515
|
+
| 'tel-device'
|
|
516
|
+
| 'url'
|
|
517
|
+
| 'username'
|
|
518
|
+
| 'username-new'
|
|
519
|
+
| 'off'
|
|
520
|
+
),
|
|
521
|
+
|
|
536
522
|
/**
|
|
537
523
|
* If `false`, disables auto-correct. The default value is `true`.
|
|
538
524
|
*/
|
|
@@ -234,36 +234,6 @@ export type enterKeyHintType =
|
|
|
234
234
|
type PasswordRules = string;
|
|
235
235
|
|
|
236
236
|
type IOSProps = $ReadOnly<{|
|
|
237
|
-
/**
|
|
238
|
-
* Give the keyboard and the system information about the
|
|
239
|
-
* expected semantic meaning for the content that users enter.
|
|
240
|
-
* @platform ios
|
|
241
|
-
*/
|
|
242
|
-
autoComplete?: ?(
|
|
243
|
-
| 'address-line1'
|
|
244
|
-
| 'address-line2'
|
|
245
|
-
| 'cc-number'
|
|
246
|
-
| 'current-password'
|
|
247
|
-
| 'country'
|
|
248
|
-
| 'email'
|
|
249
|
-
| 'name'
|
|
250
|
-
| 'additional-name'
|
|
251
|
-
| 'family-name'
|
|
252
|
-
| 'given-name'
|
|
253
|
-
| 'nickname'
|
|
254
|
-
| 'honorific-prefix'
|
|
255
|
-
| 'honorific-suffix'
|
|
256
|
-
| 'new-password'
|
|
257
|
-
| 'off'
|
|
258
|
-
| 'one-time-code'
|
|
259
|
-
| 'organization'
|
|
260
|
-
| 'organization-title'
|
|
261
|
-
| 'postal-code'
|
|
262
|
-
| 'street-address'
|
|
263
|
-
| 'tel'
|
|
264
|
-
| 'url'
|
|
265
|
-
| 'username'
|
|
266
|
-
),
|
|
267
237
|
/**
|
|
268
238
|
* When the clear button should appear on the right side of the text view.
|
|
269
239
|
* This property is supported only for single-line TextInput component.
|
|
@@ -369,111 +339,6 @@ type IOSProps = $ReadOnly<{|
|
|
|
369
339
|
|}>;
|
|
370
340
|
|
|
371
341
|
type AndroidProps = $ReadOnly<{|
|
|
372
|
-
/**
|
|
373
|
-
* Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
374
|
-
* To disable autocomplete, set `autoComplete` to `off`.
|
|
375
|
-
*
|
|
376
|
-
* *Android Only*
|
|
377
|
-
*
|
|
378
|
-
* Possible values for `autoComplete` are:
|
|
379
|
-
*
|
|
380
|
-
* - `birthdate-day`
|
|
381
|
-
* - `birthdate-full`
|
|
382
|
-
* - `birthdate-month`
|
|
383
|
-
* - `birthdate-year`
|
|
384
|
-
* - `cc-csc`
|
|
385
|
-
* - `cc-exp`
|
|
386
|
-
* - `cc-exp-day`
|
|
387
|
-
* - `cc-exp-month`
|
|
388
|
-
* - `cc-exp-year`
|
|
389
|
-
* - `cc-number`
|
|
390
|
-
* - `email`
|
|
391
|
-
* - `gender`
|
|
392
|
-
* - `name`
|
|
393
|
-
* - `name-family`
|
|
394
|
-
* - `name-given`
|
|
395
|
-
* - `name-middle`
|
|
396
|
-
* - `name-middle-initial`
|
|
397
|
-
* - `name-prefix`
|
|
398
|
-
* - `name-suffix`
|
|
399
|
-
* - `password`
|
|
400
|
-
* - `password-new`
|
|
401
|
-
* - `postal-address`
|
|
402
|
-
* - `postal-address-country`
|
|
403
|
-
* - `postal-address-extended`
|
|
404
|
-
* - `postal-address-extended-postal-code`
|
|
405
|
-
* - `postal-address-locality`
|
|
406
|
-
* - `postal-address-region`
|
|
407
|
-
* - `postal-code`
|
|
408
|
-
* - `street-address`
|
|
409
|
-
* - `sms-otp`
|
|
410
|
-
* - `tel`
|
|
411
|
-
* - `tel-country-code`
|
|
412
|
-
* - `tel-national`
|
|
413
|
-
* - `tel-device`
|
|
414
|
-
* - `username`
|
|
415
|
-
* - `username-new`
|
|
416
|
-
* - `off`
|
|
417
|
-
*
|
|
418
|
-
* @platform android
|
|
419
|
-
*/
|
|
420
|
-
autoComplete?: ?(
|
|
421
|
-
| 'birthdate-day'
|
|
422
|
-
| 'birthdate-full'
|
|
423
|
-
| 'birthdate-month'
|
|
424
|
-
| 'birthdate-year'
|
|
425
|
-
| 'cc-csc'
|
|
426
|
-
| 'cc-exp'
|
|
427
|
-
| 'cc-exp-day'
|
|
428
|
-
| 'cc-exp-month'
|
|
429
|
-
| 'cc-exp-year'
|
|
430
|
-
| 'cc-number'
|
|
431
|
-
| 'email'
|
|
432
|
-
| 'gender'
|
|
433
|
-
| 'name'
|
|
434
|
-
| 'name-family'
|
|
435
|
-
| 'name-given'
|
|
436
|
-
| 'name-middle'
|
|
437
|
-
| 'name-middle-initial'
|
|
438
|
-
| 'name-prefix'
|
|
439
|
-
| 'name-suffix'
|
|
440
|
-
| 'password'
|
|
441
|
-
| 'password-new'
|
|
442
|
-
| 'postal-address'
|
|
443
|
-
| 'postal-address-country'
|
|
444
|
-
| 'postal-address-extended'
|
|
445
|
-
| 'postal-address-extended-postal-code'
|
|
446
|
-
| 'postal-address-locality'
|
|
447
|
-
| 'postal-address-region'
|
|
448
|
-
| 'postal-code'
|
|
449
|
-
| 'street-address'
|
|
450
|
-
| 'sms-otp'
|
|
451
|
-
| 'tel'
|
|
452
|
-
| 'tel-country-code'
|
|
453
|
-
| 'tel-national'
|
|
454
|
-
| 'tel-device'
|
|
455
|
-
| 'username'
|
|
456
|
-
| 'username-new'
|
|
457
|
-
| 'off'
|
|
458
|
-
// additional HTML autocomplete values
|
|
459
|
-
| 'address-line1'
|
|
460
|
-
| 'address-line2'
|
|
461
|
-
| 'bday'
|
|
462
|
-
| 'bday-day'
|
|
463
|
-
| 'bday-month'
|
|
464
|
-
| 'bday-year'
|
|
465
|
-
| 'country'
|
|
466
|
-
| 'current-password'
|
|
467
|
-
| 'honorific-prefix'
|
|
468
|
-
| 'honorific-suffix'
|
|
469
|
-
| 'additional-name'
|
|
470
|
-
| 'family-name'
|
|
471
|
-
| 'given-name'
|
|
472
|
-
| 'new-password'
|
|
473
|
-
| 'one-time-code'
|
|
474
|
-
| 'sex'
|
|
475
|
-
),
|
|
476
|
-
|
|
477
342
|
/**
|
|
478
343
|
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
479
344
|
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
@@ -574,6 +439,127 @@ export type Props = $ReadOnly<{|
|
|
|
574
439
|
*/
|
|
575
440
|
autoCapitalize?: ?AutoCapitalize,
|
|
576
441
|
|
|
442
|
+
/**
|
|
443
|
+
* Specifies autocomplete hints for the system, so it can provide autofill.
|
|
444
|
+
* On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
445
|
+
* To disable autocomplete, set autoComplete to off.
|
|
446
|
+
*
|
|
447
|
+
* The following values work across platforms:
|
|
448
|
+
*
|
|
449
|
+
* - `additional-name`
|
|
450
|
+
* - `address-line1`
|
|
451
|
+
* - `address-line2`
|
|
452
|
+
* - `cc-number`
|
|
453
|
+
* - `country`
|
|
454
|
+
* - `current-password`
|
|
455
|
+
* - `email`
|
|
456
|
+
* - `family-name`
|
|
457
|
+
* - `given-name`
|
|
458
|
+
* - `honorific-prefix`
|
|
459
|
+
* - `honorific-suffix`
|
|
460
|
+
* - `name`
|
|
461
|
+
* - `new-password`
|
|
462
|
+
* - `off`
|
|
463
|
+
* - `one-time-code`
|
|
464
|
+
* - `postal-code`
|
|
465
|
+
* - `street-address`
|
|
466
|
+
* - `tel`
|
|
467
|
+
* - `username`
|
|
468
|
+
*
|
|
469
|
+
* The following values work on iOS only:
|
|
470
|
+
*
|
|
471
|
+
* - `nickname`
|
|
472
|
+
* - `organization`
|
|
473
|
+
* - `organization-title`
|
|
474
|
+
* - `url`
|
|
475
|
+
*
|
|
476
|
+
* The following values work on Android only:
|
|
477
|
+
*
|
|
478
|
+
* - `birthdate-day`
|
|
479
|
+
* - `birthdate-full`
|
|
480
|
+
* - `birthdate-month`
|
|
481
|
+
* - `birthdate-year`
|
|
482
|
+
* - `cc-csc`
|
|
483
|
+
* - `cc-exp`
|
|
484
|
+
* - `cc-exp-day`
|
|
485
|
+
* - `cc-exp-month`
|
|
486
|
+
* - `cc-exp-year`
|
|
487
|
+
* - `gender`
|
|
488
|
+
* - `name-family`
|
|
489
|
+
* - `name-given`
|
|
490
|
+
* - `name-middle`
|
|
491
|
+
* - `name-middle-initial`
|
|
492
|
+
* - `name-prefix`
|
|
493
|
+
* - `name-suffix`
|
|
494
|
+
* - `password`
|
|
495
|
+
* - `password-new`
|
|
496
|
+
* - `postal-address`
|
|
497
|
+
* - `postal-address-country`
|
|
498
|
+
* - `postal-address-extended`
|
|
499
|
+
* - `postal-address-extended-postal-code`
|
|
500
|
+
* - `postal-address-locality`
|
|
501
|
+
* - `postal-address-region`
|
|
502
|
+
* - `sms-otp`
|
|
503
|
+
* - `tel-country-code`
|
|
504
|
+
* - `tel-national`
|
|
505
|
+
* - `tel-device`
|
|
506
|
+
* - `username-new`
|
|
507
|
+
*/
|
|
508
|
+
autoComplete?: ?(
|
|
509
|
+
| 'additional-name'
|
|
510
|
+
| 'address-line1'
|
|
511
|
+
| 'address-line2'
|
|
512
|
+
| 'birthdate-day'
|
|
513
|
+
| 'birthdate-full'
|
|
514
|
+
| 'birthdate-month'
|
|
515
|
+
| 'birthdate-year'
|
|
516
|
+
| 'cc-csc'
|
|
517
|
+
| 'cc-exp'
|
|
518
|
+
| 'cc-exp-day'
|
|
519
|
+
| 'cc-exp-month'
|
|
520
|
+
| 'cc-exp-year'
|
|
521
|
+
| 'cc-number'
|
|
522
|
+
| 'country'
|
|
523
|
+
| 'current-password'
|
|
524
|
+
| 'email'
|
|
525
|
+
| 'family-name'
|
|
526
|
+
| 'gender'
|
|
527
|
+
| 'given-name'
|
|
528
|
+
| 'honorific-prefix'
|
|
529
|
+
| 'honorific-suffix'
|
|
530
|
+
| 'name'
|
|
531
|
+
| 'name-family'
|
|
532
|
+
| 'name-given'
|
|
533
|
+
| 'name-middle'
|
|
534
|
+
| 'name-middle-initial'
|
|
535
|
+
| 'name-prefix'
|
|
536
|
+
| 'name-suffix'
|
|
537
|
+
| 'new-password'
|
|
538
|
+
| 'nickname'
|
|
539
|
+
| 'one-time-code'
|
|
540
|
+
| 'organization'
|
|
541
|
+
| 'organization-title'
|
|
542
|
+
| 'password'
|
|
543
|
+
| 'password-new'
|
|
544
|
+
| 'postal-address'
|
|
545
|
+
| 'postal-address-country'
|
|
546
|
+
| 'postal-address-extended'
|
|
547
|
+
| 'postal-address-extended-postal-code'
|
|
548
|
+
| 'postal-address-locality'
|
|
549
|
+
| 'postal-address-region'
|
|
550
|
+
| 'postal-code'
|
|
551
|
+
| 'street-address'
|
|
552
|
+
| 'sms-otp'
|
|
553
|
+
| 'tel'
|
|
554
|
+
| 'tel-country-code'
|
|
555
|
+
| 'tel-national'
|
|
556
|
+
| 'tel-device'
|
|
557
|
+
| 'url'
|
|
558
|
+
| 'username'
|
|
559
|
+
| 'username-new'
|
|
560
|
+
| 'off'
|
|
561
|
+
),
|
|
562
|
+
|
|
577
563
|
/**
|
|
578
564
|
* If `false`, disables auto-correct. The default value is `true`.
|
|
579
565
|
*/
|
|
@@ -1080,27 +1066,19 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1080
1066
|
accessibilityState,
|
|
1081
1067
|
id,
|
|
1082
1068
|
tabIndex,
|
|
1069
|
+
selection: propsSelection,
|
|
1083
1070
|
...otherProps
|
|
1084
1071
|
} = props;
|
|
1085
1072
|
|
|
1086
1073
|
const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
|
|
1087
1074
|
|
|
1088
|
-
// Android sends a "onTextChanged" event followed by a "onSelectionChanged" event, for
|
|
1089
|
-
// the same "most recent event count".
|
|
1090
|
-
// For controlled selection, that means that immediately after text is updated,
|
|
1091
|
-
// a controlled component will pass in the *previous* selection, even if the controlled
|
|
1092
|
-
// component didn't mean to modify the selection at all.
|
|
1093
|
-
// Therefore, we ignore selections and pass them through until the selection event has
|
|
1094
|
-
// been sent.
|
|
1095
|
-
// Note that this mitigation is NOT needed for Fabric.
|
|
1096
|
-
// discovered when upgrading react-hooks
|
|
1097
1075
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1098
|
-
|
|
1099
|
-
|
|
1076
|
+
const selection: ?Selection =
|
|
1077
|
+
propsSelection == null
|
|
1100
1078
|
? null
|
|
1101
1079
|
: {
|
|
1102
|
-
start:
|
|
1103
|
-
end:
|
|
1080
|
+
start: propsSelection.start,
|
|
1081
|
+
end: propsSelection.end ?? propsSelection.start,
|
|
1104
1082
|
};
|
|
1105
1083
|
|
|
1106
1084
|
const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
|
|
@@ -1112,12 +1090,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1112
1090
|
|}>({selection, mostRecentEventCount});
|
|
1113
1091
|
|
|
1114
1092
|
const lastNativeSelection = lastNativeSelectionState.selection;
|
|
1115
|
-
const lastNativeSelectionEventCount =
|
|
1116
|
-
lastNativeSelectionState.mostRecentEventCount;
|
|
1117
|
-
|
|
1118
|
-
if (lastNativeSelectionEventCount < mostRecentEventCount) {
|
|
1119
|
-
selection = null;
|
|
1120
|
-
}
|
|
1121
1093
|
|
|
1122
1094
|
let viewCommands;
|
|
1123
1095
|
if (AndroidTextInputCommands) {
|
|
@@ -1517,7 +1489,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1517
1489
|
onScroll={_onScroll}
|
|
1518
1490
|
onSelectionChange={_onSelectionChange}
|
|
1519
1491
|
placeholder={placeholder}
|
|
1520
|
-
selection={selection}
|
|
1521
1492
|
style={style}
|
|
1522
1493
|
text={text}
|
|
1523
1494
|
textBreakStrategy={props.textBreakStrategy}
|
|
@@ -245,36 +245,6 @@ export type enterKeyHintType =
|
|
|
245
245
|
type PasswordRules = string;
|
|
246
246
|
|
|
247
247
|
type IOSProps = $ReadOnly<{|
|
|
248
|
-
/**
|
|
249
|
-
* Give the keyboard and the system information about the
|
|
250
|
-
* expected semantic meaning for the content that users enter.
|
|
251
|
-
* @platform ios
|
|
252
|
-
*/
|
|
253
|
-
autoComplete?: ?(
|
|
254
|
-
| 'address-line1'
|
|
255
|
-
| 'address-line2'
|
|
256
|
-
| 'cc-number'
|
|
257
|
-
| 'current-password'
|
|
258
|
-
| 'country'
|
|
259
|
-
| 'email'
|
|
260
|
-
| 'name'
|
|
261
|
-
| 'additional-name'
|
|
262
|
-
| 'family-name'
|
|
263
|
-
| 'given-name'
|
|
264
|
-
| 'nickname'
|
|
265
|
-
| 'honorific-prefix'
|
|
266
|
-
| 'honorific-suffix'
|
|
267
|
-
| 'new-password'
|
|
268
|
-
| 'off'
|
|
269
|
-
| 'one-time-code'
|
|
270
|
-
| 'organization'
|
|
271
|
-
| 'organization-title'
|
|
272
|
-
| 'postal-code'
|
|
273
|
-
| 'street-address'
|
|
274
|
-
| 'tel'
|
|
275
|
-
| 'url'
|
|
276
|
-
| 'username'
|
|
277
|
-
),
|
|
278
248
|
/**
|
|
279
249
|
* When the clear button should appear on the right side of the text view.
|
|
280
250
|
* This property is supported only for single-line TextInput component.
|
|
@@ -377,111 +347,6 @@ type IOSProps = $ReadOnly<{|
|
|
|
377
347
|
|}>;
|
|
378
348
|
|
|
379
349
|
type AndroidProps = $ReadOnly<{|
|
|
380
|
-
/**
|
|
381
|
-
* Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
382
|
-
* To disable autocomplete, set `autoComplete` to `off`.
|
|
383
|
-
*
|
|
384
|
-
* *Android Only*
|
|
385
|
-
*
|
|
386
|
-
* Possible values for `autoComplete` are:
|
|
387
|
-
*
|
|
388
|
-
* - `birthdate-day`
|
|
389
|
-
* - `birthdate-full`
|
|
390
|
-
* - `birthdate-month`
|
|
391
|
-
* - `birthdate-year`
|
|
392
|
-
* - `cc-csc`
|
|
393
|
-
* - `cc-exp`
|
|
394
|
-
* - `cc-exp-day`
|
|
395
|
-
* - `cc-exp-month`
|
|
396
|
-
* - `cc-exp-year`
|
|
397
|
-
* - `cc-number`
|
|
398
|
-
* - `email`
|
|
399
|
-
* - `gender`
|
|
400
|
-
* - `name`
|
|
401
|
-
* - `name-family`
|
|
402
|
-
* - `name-given`
|
|
403
|
-
* - `name-middle`
|
|
404
|
-
* - `name-middle-initial`
|
|
405
|
-
* - `name-prefix`
|
|
406
|
-
* - `name-suffix`
|
|
407
|
-
* - `password`
|
|
408
|
-
* - `password-new`
|
|
409
|
-
* - `postal-address`
|
|
410
|
-
* - `postal-address-country`
|
|
411
|
-
* - `postal-address-extended`
|
|
412
|
-
* - `postal-address-extended-postal-code`
|
|
413
|
-
* - `postal-address-locality`
|
|
414
|
-
* - `postal-address-region`
|
|
415
|
-
* - `postal-code`
|
|
416
|
-
* - `street-address`
|
|
417
|
-
* - `sms-otp`
|
|
418
|
-
* - `tel`
|
|
419
|
-
* - `tel-country-code`
|
|
420
|
-
* - `tel-national`
|
|
421
|
-
* - `tel-device`
|
|
422
|
-
* - `username`
|
|
423
|
-
* - `username-new`
|
|
424
|
-
* - `off`
|
|
425
|
-
*
|
|
426
|
-
* @platform android
|
|
427
|
-
*/
|
|
428
|
-
autoComplete?: ?(
|
|
429
|
-
| 'birthdate-day'
|
|
430
|
-
| 'birthdate-full'
|
|
431
|
-
| 'birthdate-month'
|
|
432
|
-
| 'birthdate-year'
|
|
433
|
-
| 'cc-csc'
|
|
434
|
-
| 'cc-exp'
|
|
435
|
-
| 'cc-exp-day'
|
|
436
|
-
| 'cc-exp-month'
|
|
437
|
-
| 'cc-exp-year'
|
|
438
|
-
| 'cc-number'
|
|
439
|
-
| 'email'
|
|
440
|
-
| 'gender'
|
|
441
|
-
| 'name'
|
|
442
|
-
| 'name-family'
|
|
443
|
-
| 'name-given'
|
|
444
|
-
| 'name-middle'
|
|
445
|
-
| 'name-middle-initial'
|
|
446
|
-
| 'name-prefix'
|
|
447
|
-
| 'name-suffix'
|
|
448
|
-
| 'password'
|
|
449
|
-
| 'password-new'
|
|
450
|
-
| 'postal-address'
|
|
451
|
-
| 'postal-address-country'
|
|
452
|
-
| 'postal-address-extended'
|
|
453
|
-
| 'postal-address-extended-postal-code'
|
|
454
|
-
| 'postal-address-locality'
|
|
455
|
-
| 'postal-address-region'
|
|
456
|
-
| 'postal-code'
|
|
457
|
-
| 'street-address'
|
|
458
|
-
| 'sms-otp'
|
|
459
|
-
| 'tel'
|
|
460
|
-
| 'tel-country-code'
|
|
461
|
-
| 'tel-national'
|
|
462
|
-
| 'tel-device'
|
|
463
|
-
| 'username'
|
|
464
|
-
| 'username-new'
|
|
465
|
-
| 'off'
|
|
466
|
-
// additional HTML autocomplete values
|
|
467
|
-
| 'address-line1'
|
|
468
|
-
| 'address-line2'
|
|
469
|
-
| 'bday'
|
|
470
|
-
| 'bday-day'
|
|
471
|
-
| 'bday-month'
|
|
472
|
-
| 'bday-year'
|
|
473
|
-
| 'country'
|
|
474
|
-
| 'current-password'
|
|
475
|
-
| 'honorific-prefix'
|
|
476
|
-
| 'honorific-suffix'
|
|
477
|
-
| 'additional-name'
|
|
478
|
-
| 'family-name'
|
|
479
|
-
| 'given-name'
|
|
480
|
-
| 'new-password'
|
|
481
|
-
| 'one-time-code'
|
|
482
|
-
| 'sex'
|
|
483
|
-
),
|
|
484
|
-
|
|
485
350
|
/**
|
|
486
351
|
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
487
352
|
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
@@ -617,6 +482,127 @@ export type Props = $ReadOnly<{|
|
|
|
617
482
|
*/
|
|
618
483
|
autoCapitalize?: ?AutoCapitalize,
|
|
619
484
|
|
|
485
|
+
/**
|
|
486
|
+
* Specifies autocomplete hints for the system, so it can provide autofill.
|
|
487
|
+
* On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
488
|
+
* To disable autocomplete, set autoComplete to off.
|
|
489
|
+
*
|
|
490
|
+
* The following values work across platforms:
|
|
491
|
+
*
|
|
492
|
+
* - `additional-name`
|
|
493
|
+
* - `address-line1`
|
|
494
|
+
* - `address-line2`
|
|
495
|
+
* - `cc-number`
|
|
496
|
+
* - `country`
|
|
497
|
+
* - `current-password`
|
|
498
|
+
* - `email`
|
|
499
|
+
* - `family-name`
|
|
500
|
+
* - `given-name`
|
|
501
|
+
* - `honorific-prefix`
|
|
502
|
+
* - `honorific-suffix`
|
|
503
|
+
* - `name`
|
|
504
|
+
* - `new-password`
|
|
505
|
+
* - `off`
|
|
506
|
+
* - `one-time-code`
|
|
507
|
+
* - `postal-code`
|
|
508
|
+
* - `street-address`
|
|
509
|
+
* - `tel`
|
|
510
|
+
* - `username`
|
|
511
|
+
*
|
|
512
|
+
* The following values work on iOS only:
|
|
513
|
+
*
|
|
514
|
+
* - `nickname`
|
|
515
|
+
* - `organization`
|
|
516
|
+
* - `organization-title`
|
|
517
|
+
* - `url`
|
|
518
|
+
*
|
|
519
|
+
* The following values work on Android only:
|
|
520
|
+
*
|
|
521
|
+
* - `birthdate-day`
|
|
522
|
+
* - `birthdate-full`
|
|
523
|
+
* - `birthdate-month`
|
|
524
|
+
* - `birthdate-year`
|
|
525
|
+
* - `cc-csc`
|
|
526
|
+
* - `cc-exp`
|
|
527
|
+
* - `cc-exp-day`
|
|
528
|
+
* - `cc-exp-month`
|
|
529
|
+
* - `cc-exp-year`
|
|
530
|
+
* - `gender`
|
|
531
|
+
* - `name-family`
|
|
532
|
+
* - `name-given`
|
|
533
|
+
* - `name-middle`
|
|
534
|
+
* - `name-middle-initial`
|
|
535
|
+
* - `name-prefix`
|
|
536
|
+
* - `name-suffix`
|
|
537
|
+
* - `password`
|
|
538
|
+
* - `password-new`
|
|
539
|
+
* - `postal-address`
|
|
540
|
+
* - `postal-address-country`
|
|
541
|
+
* - `postal-address-extended`
|
|
542
|
+
* - `postal-address-extended-postal-code`
|
|
543
|
+
* - `postal-address-locality`
|
|
544
|
+
* - `postal-address-region`
|
|
545
|
+
* - `sms-otp`
|
|
546
|
+
* - `tel-country-code`
|
|
547
|
+
* - `tel-national`
|
|
548
|
+
* - `tel-device`
|
|
549
|
+
* - `username-new`
|
|
550
|
+
*/
|
|
551
|
+
autoComplete?: ?(
|
|
552
|
+
| 'additional-name'
|
|
553
|
+
| 'address-line1'
|
|
554
|
+
| 'address-line2'
|
|
555
|
+
| 'birthdate-day'
|
|
556
|
+
| 'birthdate-full'
|
|
557
|
+
| 'birthdate-month'
|
|
558
|
+
| 'birthdate-year'
|
|
559
|
+
| 'cc-csc'
|
|
560
|
+
| 'cc-exp'
|
|
561
|
+
| 'cc-exp-day'
|
|
562
|
+
| 'cc-exp-month'
|
|
563
|
+
| 'cc-exp-year'
|
|
564
|
+
| 'cc-number'
|
|
565
|
+
| 'country'
|
|
566
|
+
| 'current-password'
|
|
567
|
+
| 'email'
|
|
568
|
+
| 'family-name'
|
|
569
|
+
| 'gender'
|
|
570
|
+
| 'given-name'
|
|
571
|
+
| 'honorific-prefix'
|
|
572
|
+
| 'honorific-suffix'
|
|
573
|
+
| 'name'
|
|
574
|
+
| 'name-family'
|
|
575
|
+
| 'name-given'
|
|
576
|
+
| 'name-middle'
|
|
577
|
+
| 'name-middle-initial'
|
|
578
|
+
| 'name-prefix'
|
|
579
|
+
| 'name-suffix'
|
|
580
|
+
| 'new-password'
|
|
581
|
+
| 'nickname'
|
|
582
|
+
| 'one-time-code'
|
|
583
|
+
| 'organization'
|
|
584
|
+
| 'organization-title'
|
|
585
|
+
| 'password'
|
|
586
|
+
| 'password-new'
|
|
587
|
+
| 'postal-address'
|
|
588
|
+
| 'postal-address-country'
|
|
589
|
+
| 'postal-address-extended'
|
|
590
|
+
| 'postal-address-extended-postal-code'
|
|
591
|
+
| 'postal-address-locality'
|
|
592
|
+
| 'postal-address-region'
|
|
593
|
+
| 'postal-code'
|
|
594
|
+
| 'street-address'
|
|
595
|
+
| 'sms-otp'
|
|
596
|
+
| 'tel'
|
|
597
|
+
| 'tel-country-code'
|
|
598
|
+
| 'tel-national'
|
|
599
|
+
| 'tel-device'
|
|
600
|
+
| 'url'
|
|
601
|
+
| 'username'
|
|
602
|
+
| 'username-new'
|
|
603
|
+
| 'off'
|
|
604
|
+
),
|
|
605
|
+
|
|
620
606
|
/**
|
|
621
607
|
* If `false`, disables auto-correct. The default value is `true`.
|
|
622
608
|
*/
|
|
@@ -1123,27 +1109,19 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1123
1109
|
accessibilityState,
|
|
1124
1110
|
id,
|
|
1125
1111
|
tabIndex,
|
|
1112
|
+
selection: propsSelection,
|
|
1126
1113
|
...otherProps
|
|
1127
1114
|
} = props;
|
|
1128
1115
|
|
|
1129
1116
|
const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
|
|
1130
1117
|
|
|
1131
|
-
// Android sends a "onTextChanged" event followed by a "onSelectionChanged" event, for
|
|
1132
|
-
// the same "most recent event count".
|
|
1133
|
-
// For controlled selection, that means that immediately after text is updated,
|
|
1134
|
-
// a controlled component will pass in the *previous* selection, even if the controlled
|
|
1135
|
-
// component didn't mean to modify the selection at all.
|
|
1136
|
-
// Therefore, we ignore selections and pass them through until the selection event has
|
|
1137
|
-
// been sent.
|
|
1138
|
-
// Note that this mitigation is NOT needed for Fabric.
|
|
1139
|
-
// discovered when upgrading react-hooks
|
|
1140
1118
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1141
|
-
|
|
1142
|
-
|
|
1119
|
+
const selection: ?Selection =
|
|
1120
|
+
propsSelection == null
|
|
1143
1121
|
? null
|
|
1144
1122
|
: {
|
|
1145
|
-
start:
|
|
1146
|
-
end:
|
|
1123
|
+
start: propsSelection.start,
|
|
1124
|
+
end: propsSelection.end ?? propsSelection.start,
|
|
1147
1125
|
};
|
|
1148
1126
|
|
|
1149
1127
|
const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
|
|
@@ -1155,12 +1133,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1155
1133
|
|}>({selection, mostRecentEventCount});
|
|
1156
1134
|
|
|
1157
1135
|
const lastNativeSelection = lastNativeSelectionState.selection;
|
|
1158
|
-
const lastNativeSelectionEventCount =
|
|
1159
|
-
lastNativeSelectionState.mostRecentEventCount;
|
|
1160
|
-
|
|
1161
|
-
if (lastNativeSelectionEventCount < mostRecentEventCount) {
|
|
1162
|
-
selection = null;
|
|
1163
|
-
}
|
|
1164
1136
|
|
|
1165
1137
|
let viewCommands;
|
|
1166
1138
|
if (AndroidTextInputCommands) {
|
|
@@ -1631,7 +1603,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1631
1603
|
onScroll={_onScroll}
|
|
1632
1604
|
onSelectionChange={_onSelectionChange}
|
|
1633
1605
|
placeholder={placeholder}
|
|
1634
|
-
selection={selection}
|
|
1635
1606
|
style={style}
|
|
1636
1607
|
text={text}
|
|
1637
1608
|
textBreakStrategy={props.textBreakStrategy}
|
|
@@ -75,7 +75,6 @@ const PERMISSIONS = Object.freeze({
|
|
|
75
75
|
ANSWER_PHONE_CALLS: 'android.permission.ANSWER_PHONE_CALLS',
|
|
76
76
|
READ_PHONE_NUMBERS: 'android.permission.READ_PHONE_NUMBERS',
|
|
77
77
|
UWB_RANGING: 'android.permission.UWB_RANGING',
|
|
78
|
-
POST_NOTIFICATION: 'android.permission.POST_NOTIFICATIONS', // Remove in 0.72
|
|
79
78
|
POST_NOTIFICATIONS: 'android.permission.POST_NOTIFICATIONS',
|
|
80
79
|
NEARBY_WIFI_DEVICES: 'android.permission.NEARBY_WIFI_DEVICES',
|
|
81
80
|
});
|
|
@@ -107,7 +106,6 @@ class PermissionsAndroid {
|
|
|
107
106
|
CAMERA: string,
|
|
108
107
|
GET_ACCOUNTS: string,
|
|
109
108
|
NEARBY_WIFI_DEVICES: string,
|
|
110
|
-
POST_NOTIFICATION: string, // Remove in 0.72
|
|
111
109
|
POST_NOTIFICATIONS: string,
|
|
112
110
|
PROCESS_OUTGOING_CALLS: string,
|
|
113
111
|
READ_CALENDAR: string,
|
|
@@ -18,7 +18,7 @@ type FlexAlignType =
|
|
|
18
18
|
| 'stretch'
|
|
19
19
|
| 'baseline';
|
|
20
20
|
|
|
21
|
-
type DimensionValue =
|
|
21
|
+
export type DimensionValue =
|
|
22
22
|
| number
|
|
23
23
|
| 'auto'
|
|
24
24
|
| `${number}%`
|
|
@@ -79,15 +79,9 @@ export interface FlexStyle {
|
|
|
79
79
|
| undefined;
|
|
80
80
|
left?: DimensionValue | undefined;
|
|
81
81
|
margin?: DimensionValue | undefined;
|
|
82
|
-
marginBlock?: DimensionValue | undefined;
|
|
83
|
-
marginBlockEnd?: DimensionValue | undefined;
|
|
84
|
-
marginBlockStart?: DimensionValue | undefined;
|
|
85
82
|
marginBottom?: DimensionValue | undefined;
|
|
86
83
|
marginEnd?: DimensionValue | undefined;
|
|
87
84
|
marginHorizontal?: DimensionValue | undefined;
|
|
88
|
-
marginInline?: DimensionValue | undefined;
|
|
89
|
-
marginInlineEnd?: DimensionValue | undefined;
|
|
90
|
-
marginInlineStart?: DimensionValue | undefined;
|
|
91
85
|
marginLeft?: DimensionValue | undefined;
|
|
92
86
|
marginRight?: DimensionValue | undefined;
|
|
93
87
|
marginStart?: DimensionValue | undefined;
|
|
@@ -100,14 +94,8 @@ export interface FlexStyle {
|
|
|
100
94
|
overflow?: 'visible' | 'hidden' | 'scroll' | undefined;
|
|
101
95
|
padding?: DimensionValue | undefined;
|
|
102
96
|
paddingBottom?: DimensionValue | undefined;
|
|
103
|
-
paddingBlock?: DimensionValue | undefined;
|
|
104
|
-
paddingBlockEnd?: DimensionValue | undefined;
|
|
105
|
-
paddingBlockStart?: DimensionValue | undefined;
|
|
106
97
|
paddingEnd?: DimensionValue | undefined;
|
|
107
98
|
paddingHorizontal?: DimensionValue | undefined;
|
|
108
|
-
paddingInline?: DimensionValue | undefined;
|
|
109
|
-
paddingInlineEnd?: DimensionValue | undefined;
|
|
110
|
-
paddingInlineStart?: DimensionValue | undefined;
|
|
111
99
|
paddingLeft?: DimensionValue | undefined;
|
|
112
100
|
paddingRight?: DimensionValue | undefined;
|
|
113
101
|
paddingStart?: DimensionValue | undefined;
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.72.0-preview.
|
|
13
|
+
<ReactNativeWindowsVersion>0.72.0-preview.9</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>72</ReactNativeWindowsMinor>
|
|
16
16
|
<ReactNativeWindowsPatch>0</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>e3c569687bfc41afe75bc3d1e27a6798acf35d2a</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
package/codegen/rnwcoreJSI.h
CHANGED
|
@@ -6148,7 +6148,7 @@ enum SampleTurboModuleEnumInt { A, B };
|
|
|
6148
6148
|
|
|
6149
6149
|
template <>
|
|
6150
6150
|
struct Bridging<SampleTurboModuleEnumInt> {
|
|
6151
|
-
static SampleTurboModuleEnumInt fromJs(jsi::Runtime &rt, const jsi::Value &rawValue
|
|
6151
|
+
static SampleTurboModuleEnumInt fromJs(jsi::Runtime &rt, const jsi::Value &rawValue) {
|
|
6152
6152
|
double value = (double)rawValue.asNumber();
|
|
6153
6153
|
if (value == 23) {
|
|
6154
6154
|
return SampleTurboModuleEnumInt::A;
|
|
@@ -6159,7 +6159,7 @@ struct Bridging<SampleTurboModuleEnumInt> {
|
|
|
6159
6159
|
}
|
|
6160
6160
|
}
|
|
6161
6161
|
|
|
6162
|
-
static jsi::Value toJs(jsi::Runtime &rt, SampleTurboModuleEnumInt value
|
|
6162
|
+
static jsi::Value toJs(jsi::Runtime &rt, SampleTurboModuleEnumInt value) {
|
|
6163
6163
|
if (value == SampleTurboModuleEnumInt::A) {
|
|
6164
6164
|
return bridging::toJs(rt, 23);
|
|
6165
6165
|
} else if (value == SampleTurboModuleEnumInt::B) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-windows",
|
|
3
|
-
"version": "0.72.0-preview.
|
|
3
|
+
"version": "0.72.0-preview.9",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,29 +23,29 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@babel/runtime": "^7.0.0",
|
|
25
25
|
"@jest/create-cache-key-function": "^29.2.1",
|
|
26
|
-
"@react-native-community/cli": "11.2
|
|
27
|
-
"@react-native-community/cli-platform-android": "11.2
|
|
28
|
-
"@react-native-community/cli-platform-ios": "11.2
|
|
26
|
+
"@react-native-community/cli": "11.3.2",
|
|
27
|
+
"@react-native-community/cli-platform-android": "11.3.2",
|
|
28
|
+
"@react-native-community/cli-platform-ios": "11.3.2",
|
|
29
29
|
"@react-native-windows/cli": "0.72.0-preview.6",
|
|
30
30
|
"@react-native/assets": "1.0.0",
|
|
31
31
|
"@react-native/assets-registry": "^0.72.0",
|
|
32
|
-
"@react-native/codegen": "^0.72.
|
|
33
|
-
"@react-native/gradle-plugin": "^0.72.
|
|
32
|
+
"@react-native/codegen": "^0.72.6",
|
|
33
|
+
"@react-native/gradle-plugin": "^0.72.10",
|
|
34
34
|
"@react-native/js-polyfills": "^0.72.1",
|
|
35
35
|
"@react-native/normalize-colors": "^0.72.0",
|
|
36
|
-
"@react-native/virtualized-lists": "^0.72.
|
|
36
|
+
"@react-native/virtualized-lists": "^0.72.5",
|
|
37
37
|
"abort-controller": "^3.0.0",
|
|
38
38
|
"anser": "^1.4.9",
|
|
39
39
|
"base64-js": "^1.1.2",
|
|
40
|
-
"deprecated-react-native-prop-types": "
|
|
40
|
+
"deprecated-react-native-prop-types": "4.1.0",
|
|
41
41
|
"event-target-shim": "^5.0.1",
|
|
42
42
|
"flow-enums-runtime": "^0.0.5",
|
|
43
43
|
"invariant": "^2.2.4",
|
|
44
44
|
"jest-environment-node": "^29.2.1",
|
|
45
45
|
"jsc-android": "^250231.0.0",
|
|
46
46
|
"memoize-one": "^5.0.0",
|
|
47
|
-
"metro-runtime": "0.76.
|
|
48
|
-
"metro-source-map": "0.76.
|
|
47
|
+
"metro-runtime": "0.76.5",
|
|
48
|
+
"metro-source-map": "0.76.5",
|
|
49
49
|
"mkdirp": "^0.5.1",
|
|
50
50
|
"nullthrows": "^1.1.1",
|
|
51
51
|
"pretty-format": "^26.5.2",
|
|
@@ -54,9 +54,10 @@
|
|
|
54
54
|
"react-refresh": "^0.4.0",
|
|
55
55
|
"react-shallow-renderer": "^16.15.0",
|
|
56
56
|
"regenerator-runtime": "^0.13.2",
|
|
57
|
-
"scheduler": "
|
|
57
|
+
"scheduler": "0.24.0-canary-efb381bbf-20230505",
|
|
58
58
|
"source-map-support": "^0.5.19",
|
|
59
59
|
"stacktrace-parser": "^0.1.10",
|
|
60
|
+
"use-sync-external-store": "^1.0.0",
|
|
60
61
|
"whatwg-fetch": "^3.0.0",
|
|
61
62
|
"ws": "^6.2.2",
|
|
62
63
|
"yargs": "^17.6.2"
|
|
@@ -79,14 +80,14 @@
|
|
|
79
80
|
"metro-config": "0.76.4",
|
|
80
81
|
"prettier": "^2.4.1",
|
|
81
82
|
"react": "18.2.0",
|
|
82
|
-
"react-native": "0.72.0
|
|
83
|
+
"react-native": "0.72.0",
|
|
83
84
|
"react-native-platform-override": "^1.9.4",
|
|
84
85
|
"react-refresh": "^0.4.0",
|
|
85
86
|
"typescript": "^4.9.5"
|
|
86
87
|
},
|
|
87
88
|
"peerDependencies": {
|
|
88
89
|
"react": "18.2.0",
|
|
89
|
-
"react-native": "0.
|
|
90
|
+
"react-native": "^0.72.0"
|
|
90
91
|
},
|
|
91
92
|
"beachball": {
|
|
92
93
|
"defaultNpmTag": "preview",
|