react-native 0.72.0-rc.3 → 0.72.0-rc.5
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/AppDelegate/RCTAppDelegate.h +5 -0
- package/Libraries/AppDelegate/RCTAppDelegate.mm +30 -9
- package/Libraries/AppDelegate/RCTAppSetupUtils.h +8 -2
- package/Libraries/AppDelegate/RCTAppSetupUtils.mm +25 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +16 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +121 -86
- package/Libraries/Components/TextInput/TextInput.flow.js +121 -135
- package/Libraries/Components/TextInput/TextInput.js +121 -135
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +0 -2
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -13
- package/React/Base/RCTJavaScriptLoader.mm +11 -1
- package/React/Base/RCTRuntimeExecutorFromBridge.h +19 -0
- package/React/Base/RCTRuntimeExecutorFromBridge.mm +56 -0
- package/React/Base/RCTVersion.m +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +9 -4
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +0 -3
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -37
- package/React/React-RCTFabric.podspec +14 -1
- package/React-Core.podspec +6 -4
- package/ReactAndroid/build.gradle +4 -1
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +14 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +9 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/jni/CMakeLists.txt +0 -1
- package/ReactCommon/React-Fabric.podspec +13 -23
- package/ReactCommon/ReactCommon.podspec +0 -4
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/react/debug/React-debug.podspec +36 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +5 -0
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +66 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +1 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +3 -15
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -1
- package/ReactCommon/react/utils/React-utils.podspec +57 -0
- package/package.json +9 -9
- package/scripts/cocoapods/__tests__/codegen_utils-test.rb +7 -2
- package/scripts/cocoapods/__tests__/new_architecture-test.rb +9 -3
- package/scripts/cocoapods/codegen_utils.rb +6 -0
- package/scripts/cocoapods/new_architecture.rb +13 -0
- package/scripts/react-native-xcode.sh +1 -1
- package/scripts/react_native_pods.rb +3 -0
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/android/app/build.gradle +0 -7
- package/template/ios/Podfile +1 -1
- package/template/package.json +5 -5
- package/types/experimental.d.ts +101 -0
|
@@ -94,6 +94,11 @@
|
|
|
94
94
|
*/
|
|
95
95
|
- (UIViewController *)createRootViewController;
|
|
96
96
|
|
|
97
|
+
/// This method controls whether the App will use RuntimeScheduler. Only applicable in the legacy architecture.
|
|
98
|
+
///
|
|
99
|
+
/// @return: `YES` to use RuntimeScheduler, `NO` to use JavaScript scheduler. The default value is `YES`.
|
|
100
|
+
- (BOOL)runtimeSchedulerEnabled;
|
|
101
|
+
|
|
97
102
|
#if RCT_NEW_ARCH_ENABLED
|
|
98
103
|
|
|
99
104
|
/// The TurboModule manager
|
|
@@ -6,33 +6,41 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#import "RCTAppDelegate.h"
|
|
9
|
+
#import <React/RCTCxxBridgeDelegate.h>
|
|
9
10
|
#import <React/RCTRootView.h>
|
|
11
|
+
#import <React/RCTRuntimeExecutorFromBridge.h>
|
|
12
|
+
#import <react/renderer/runtimescheduler/RuntimeScheduler.h>
|
|
13
|
+
|
|
10
14
|
#import "RCTAppSetupUtils.h"
|
|
11
15
|
|
|
12
16
|
#if RCT_NEW_ARCH_ENABLED
|
|
13
17
|
#import <React/CoreModulesPlugins.h>
|
|
14
|
-
#import <React/
|
|
18
|
+
#import <React/RCTComponentViewFactory.h>
|
|
19
|
+
#import <React/RCTComponentViewProtocol.h>
|
|
15
20
|
#import <React/RCTFabricSurfaceHostingProxyRootView.h>
|
|
16
21
|
#import <React/RCTLegacyViewManagerInteropComponentView.h>
|
|
17
22
|
#import <React/RCTSurfacePresenter.h>
|
|
18
23
|
#import <React/RCTSurfacePresenterBridgeAdapter.h>
|
|
19
24
|
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
20
25
|
#import <react/config/ReactNativeConfig.h>
|
|
21
|
-
#import <react/renderer/runtimescheduler/RuntimeScheduler.h>
|
|
22
26
|
#import <react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h>
|
|
23
27
|
#import "RCTLegacyInteropComponents.h"
|
|
24
28
|
|
|
25
29
|
static NSString *const kRNConcurrentRoot = @"concurrentRoot";
|
|
26
30
|
|
|
27
|
-
@interface RCTAppDelegate () <RCTTurboModuleManagerDelegate
|
|
31
|
+
@interface RCTAppDelegate () <RCTTurboModuleManagerDelegate> {
|
|
28
32
|
std::shared_ptr<const facebook::react::ReactNativeConfig> _reactNativeConfig;
|
|
29
33
|
facebook::react::ContextContainer::Shared _contextContainer;
|
|
30
|
-
std::shared_ptr<facebook::react::RuntimeScheduler> _runtimeScheduler;
|
|
31
34
|
}
|
|
32
35
|
@end
|
|
33
36
|
|
|
34
37
|
#endif
|
|
35
38
|
|
|
39
|
+
@interface RCTAppDelegate () <RCTCxxBridgeDelegate> {
|
|
40
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> _runtimeScheduler;
|
|
41
|
+
}
|
|
42
|
+
@end
|
|
43
|
+
|
|
36
44
|
@implementation RCTAppDelegate
|
|
37
45
|
|
|
38
46
|
#if RCT_NEW_ARCH_ENABLED
|
|
@@ -126,21 +134,34 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
|
|
|
126
134
|
return [UIViewController new];
|
|
127
135
|
}
|
|
128
136
|
|
|
129
|
-
|
|
137
|
+
- (BOOL)runtimeSchedulerEnabled
|
|
138
|
+
{
|
|
139
|
+
return YES;
|
|
140
|
+
}
|
|
141
|
+
|
|
130
142
|
#pragma mark - RCTCxxBridgeDelegate
|
|
131
143
|
- (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge
|
|
132
144
|
{
|
|
133
|
-
|
|
134
|
-
|
|
145
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
146
|
+
_runtimeScheduler = std::make_shared<facebook::react::RuntimeScheduler>(RCTRuntimeExecutorFromBridge(bridge));
|
|
135
147
|
std::shared_ptr<facebook::react::CallInvoker> callInvoker =
|
|
136
148
|
std::make_shared<facebook::react::RuntimeSchedulerCallInvoker>(_runtimeScheduler);
|
|
137
149
|
self.turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge delegate:self jsInvoker:callInvoker];
|
|
138
150
|
_contextContainer->erase("RuntimeScheduler");
|
|
139
151
|
_contextContainer->insert("RuntimeScheduler", _runtimeScheduler);
|
|
140
|
-
return RCTAppSetupDefaultJsExecutorFactory(bridge,
|
|
152
|
+
return RCTAppSetupDefaultJsExecutorFactory(bridge, self.turboModuleManager, _runtimeScheduler);
|
|
153
|
+
#else
|
|
154
|
+
if (self.runtimeSchedulerEnabled) {
|
|
155
|
+
_runtimeScheduler = std::make_shared<facebook::react::RuntimeScheduler>(RCTRuntimeExecutorFromBridge(bridge));
|
|
156
|
+
}
|
|
157
|
+
return RCTAppSetupJsExecutorFactoryForOldArch(bridge, _runtimeScheduler);
|
|
158
|
+
#endif
|
|
141
159
|
}
|
|
142
160
|
|
|
143
|
-
|
|
161
|
+
|
|
162
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
163
|
+
|
|
164
|
+
#pragma mark - RCTTurboModuleManagerDelegate
|
|
144
165
|
|
|
145
166
|
- (Class)getModuleClassFromName:(const char *)name
|
|
146
167
|
{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
#ifdef __cplusplus
|
|
13
13
|
|
|
14
|
-
#
|
|
14
|
+
#import <memory>
|
|
15
15
|
|
|
16
16
|
#ifndef RCT_USE_HERMES
|
|
17
17
|
#if __has_include(<reacthermes/HermesExecutorFactory.h>)
|
|
@@ -27,21 +27,27 @@
|
|
|
27
27
|
#import <React/JSCExecutorFactory.h>
|
|
28
28
|
#endif
|
|
29
29
|
|
|
30
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
30
31
|
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
31
32
|
#endif
|
|
32
33
|
|
|
33
|
-
#if RCT_NEW_ARCH_ENABLED
|
|
34
34
|
// Forward declaration to decrease compilation coupling
|
|
35
35
|
namespace facebook::react {
|
|
36
36
|
class RuntimeScheduler;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
39
40
|
RCT_EXTERN id<RCTTurboModule> RCTAppSetupDefaultModuleFromClass(Class moduleClass);
|
|
40
41
|
|
|
41
42
|
std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupDefaultJsExecutorFactory(
|
|
42
43
|
RCTBridge *bridge,
|
|
43
44
|
RCTTurboModuleManager *turboModuleManager,
|
|
44
45
|
std::shared_ptr<facebook::react::RuntimeScheduler> const &runtimeScheduler);
|
|
46
|
+
|
|
47
|
+
#else
|
|
48
|
+
std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupJsExecutorFactoryForOldArch(
|
|
49
|
+
RCTBridge *bridge,
|
|
50
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> const &runtimeScheduler);
|
|
45
51
|
#endif
|
|
46
52
|
|
|
47
53
|
#endif // __cplusplus
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
#import "RCTAppSetupUtils.h"
|
|
9
9
|
|
|
10
|
+
#import <React/RCTJSIExecutorRuntimeInstaller.h>
|
|
11
|
+
#import <react/renderer/runtimescheduler/RuntimeScheduler.h>
|
|
12
|
+
#import <react/renderer/runtimescheduler/RuntimeSchedulerBinding.h>
|
|
13
|
+
|
|
10
14
|
#if RCT_NEW_ARCH_ENABLED
|
|
11
15
|
// Turbo Module
|
|
12
16
|
#import <React/CoreModulesPlugins.h>
|
|
@@ -15,7 +19,6 @@
|
|
|
15
19
|
#import <React/RCTGIFImageDecoder.h>
|
|
16
20
|
#import <React/RCTHTTPRequestHandler.h>
|
|
17
21
|
#import <React/RCTImageLoader.h>
|
|
18
|
-
#import <React/RCTJSIExecutorRuntimeInstaller.h>
|
|
19
22
|
#import <React/RCTLocalAssetImageLoader.h>
|
|
20
23
|
#import <React/RCTNetworking.h>
|
|
21
24
|
|
|
@@ -135,4 +138,25 @@ std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupDefaultJsExecutor
|
|
|
135
138
|
}));
|
|
136
139
|
}
|
|
137
140
|
|
|
141
|
+
#else
|
|
142
|
+
|
|
143
|
+
std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupJsExecutorFactoryForOldArch(
|
|
144
|
+
RCTBridge *bridge,
|
|
145
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> const &runtimeScheduler)
|
|
146
|
+
{
|
|
147
|
+
#if RCT_USE_HERMES
|
|
148
|
+
return std::make_unique<facebook::react::HermesExecutorFactory>(
|
|
149
|
+
#else
|
|
150
|
+
return std::make_unique<facebook::react::JSCExecutorFactory>(
|
|
151
|
+
#endif
|
|
152
|
+
facebook::react::RCTJSIExecutorRuntimeInstaller([bridge, runtimeScheduler](facebook::jsi::Runtime &runtime) {
|
|
153
|
+
if (!bridge) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (runtimeScheduler) {
|
|
157
|
+
facebook::react::RuntimeSchedulerBinding::createAndInstallIfNeeded(runtime, runtimeScheduler);
|
|
158
|
+
}
|
|
159
|
+
}));
|
|
160
|
+
}
|
|
161
|
+
|
|
138
162
|
#endif
|
|
@@ -47,6 +47,9 @@ header_search_paths = [
|
|
|
47
47
|
"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
|
|
48
48
|
"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
|
|
49
49
|
"$(PODS_CONFIGURATION_BUILD_DIR)/React-RCTFabric/RCTFabric.framework/Headers/",
|
|
50
|
+
"$(PODS_CONFIGURATION_BUILD_DIR)/React-utils/React_utils.framework/Headers/",
|
|
51
|
+
"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers/",
|
|
52
|
+
"$(PODS_CONFIGURATION_BUILD_DIR)/React-runtimescheduler/React_runtimescheduler.framework/Headers/",
|
|
50
53
|
] : []).map{|p| "\"#{p}\""}.join(" ")
|
|
51
54
|
|
|
52
55
|
Pod::Spec.new do |s|
|
|
@@ -75,10 +78,23 @@ Pod::Spec.new do |s|
|
|
|
75
78
|
s.dependency "RCTRequired"
|
|
76
79
|
s.dependency "RCTTypeSafety"
|
|
77
80
|
s.dependency "ReactCommon/turbomodule/core"
|
|
81
|
+
s.dependency "React-RCTNetwork"
|
|
82
|
+
s.dependency "React-RCTImage"
|
|
83
|
+
s.dependency "React-NativeModulesApple"
|
|
84
|
+
s.dependency "React-CoreModules"
|
|
85
|
+
s.dependency "React-runtimescheduler"
|
|
86
|
+
|
|
87
|
+
if ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1"
|
|
88
|
+
s.dependency "React-hermes"
|
|
89
|
+
else
|
|
90
|
+
s.dependency "React-jsc"
|
|
91
|
+
end
|
|
78
92
|
|
|
79
93
|
if is_new_arch_enabled
|
|
80
94
|
s.dependency "React-RCTFabric"
|
|
81
95
|
s.dependency "React-graphics"
|
|
96
|
+
s.dependency "React-utils"
|
|
97
|
+
s.dependency "React-debug"
|
|
82
98
|
|
|
83
99
|
s.script_phases = {
|
|
84
100
|
:name => "Generate Legacy Components Interop",
|
|
@@ -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
|
*/
|