@office-iss/react-native-win32 0.0.0-canary.295 → 0.0.0-canary.297
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/.flowconfig +3 -1
- package/CHANGELOG.json +37 -1
- package/CHANGELOG.md +25 -8
- package/Libraries/Animated/Animated.js +0 -1
- package/Libraries/Animated/Animated.js.flow +0 -1
- package/Libraries/Animated/AnimatedExports.js +0 -1
- package/Libraries/Animated/AnimatedExports.js.flow +1 -2
- package/Libraries/Animated/animations/Animation.js +5 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +53 -52
- package/Libraries/Animated/createAnimatedComponent.js +37 -33
- package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +1 -1
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
- package/Libraries/AppState/AppState.js +6 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -18
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.win32.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +2 -3
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +2 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +9 -6
- package/Libraries/Components/Pressable/Pressable.win32.js +9 -6
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +13 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -5
- package/Libraries/Components/ScrollView/ScrollView.js +18 -12
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
- package/Libraries/Components/Switch/Switch.js +8 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -5
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +1 -5
- package/Libraries/Components/TextInput/TextInput.js +26 -25
- package/Libraries/Components/TextInput/TextInput.win32.js +27 -25
- package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +9 -4
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +2 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/View/View.js +111 -25
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
- package/Libraries/Core/InitializeCore.js +1 -22
- package/Libraries/Core/ReactNativeVersion.js +3 -2
- package/Libraries/Debugging/DebuggingOverlay.js +6 -8
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +4 -10
- package/Libraries/Image/AssetSourceResolver.js +17 -4
- package/Libraries/Image/Image.android.js +112 -106
- package/Libraries/Image/Image.ios.js +10 -2
- package/Libraries/Image/Image.win32.js +11 -3
- package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
- package/Libraries/Image/RelativeImageStub.js +1 -0
- package/Libraries/Lists/FlatList.d.ts +9 -5
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +9 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
- package/Libraries/ReactNative/AppContainer-dev.js +4 -4
- package/Libraries/ReactNative/AppContainer-prod.js +0 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -25
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +270 -0
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +3 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +4 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
- package/Libraries/StyleSheet/processBoxShadow.js +0 -1
- package/Libraries/StyleSheet/processFilter.js +0 -1
- package/Libraries/Text/Text.d.ts +7 -0
- package/Libraries/Text/Text.js +255 -244
- package/Libraries/Text/Text.win32.js +293 -284
- package/Libraries/Text/TextAncestor.js +3 -2
- package/Libraries/Text/TextProps.js +2 -34
- package/Libraries/Text/TextProps.win32.js +2 -33
- package/Libraries/Types/ReactDevToolsTypes.js +0 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
- package/Libraries/Utilities/PlatformTypes.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +28 -4
- package/index.js +0 -1
- package/jest/mockNativeComponent.js +2 -1
- package/jest/renderer.js +0 -1
- package/jest/resolver.js +31 -0
- package/jest/setup.js +1 -1
- package/overrides.json +27 -20
- package/package.json +13 -13
- package/src/private/animated/NativeAnimatedHelper.js +6 -1
- package/src/private/animated/NativeAnimatedHelper.win32.js +6 -1
- package/src/private/animated/createAnimatedPropsHook.js +11 -4
- package/src/private/animated/createAnimatedPropsMemoHook.js +0 -1
- package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
- package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
- package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +39 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -2
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
- package/src/private/styles/composeStyles.js +12 -5
- package/src/private/webapis/dom/events/Event.js +3 -0
- package/src/private/webapis/dom/events/EventTarget.js +3 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +6 -23
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +3 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +3 -0
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +3 -0
- package/src/private/webapis/errors/DOMException.js +166 -0
- package/src/private/webapis/geometry/DOMRect.js +5 -0
- package/src/private/webapis/geometry/DOMRectList.js +3 -0
- package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +80 -18
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +23 -33
- package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +56 -24
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -1
- package/src/private/webapis/performance/MemoryInfo.js +4 -1
- package/src/private/webapis/performance/Performance.js +19 -8
- package/src/private/webapis/performance/PerformanceEntry.js +4 -0
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +2 -0
- package/src/private/webapis/structuredClone/structuredClone.js +233 -0
- package/src/private/webapis/webidl/PlatformObjects.js +59 -0
- package/src/types/globals.d.ts +42 -0
- package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/src-win/Libraries/Text/Text.d.ts +7 -0
- package/types/index.d.ts +1 -1
|
@@ -7,25 +7,21 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow strict
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<4216c04f5a8c40a833b0146588fab5fa>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type {
|
|
14
|
-
Component as ReactComponent,
|
|
15
|
-
ElementRef,
|
|
16
|
-
ElementType,
|
|
17
|
-
MixedElement,
|
|
18
|
-
} from 'react';
|
|
19
13
|
import type {
|
|
20
14
|
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
21
|
-
|
|
15
|
+
HostInstance as PublicInstance,
|
|
22
16
|
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
23
|
-
|
|
17
|
+
MeasureOnSuccessCallback,
|
|
24
18
|
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
25
19
|
PublicRootInstance,
|
|
26
20
|
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
27
21
|
PublicTextInstance,
|
|
28
|
-
} from 'react-native
|
|
22
|
+
} from 'react-native';
|
|
23
|
+
|
|
24
|
+
import * as React from 'react';
|
|
29
25
|
|
|
30
26
|
export type AttributeType<T, V> =
|
|
31
27
|
| true
|
|
@@ -97,8 +93,8 @@ type InspectorDataProps = $ReadOnly<{
|
|
|
97
93
|
}>;
|
|
98
94
|
|
|
99
95
|
type InspectorDataGetter = (
|
|
100
|
-
<TElementType: ElementType>(
|
|
101
|
-
componentOrHandle: ElementRef<TElementType> | number,
|
|
96
|
+
<TElementType: React.ElementType>(
|
|
97
|
+
componentOrHandle: React.ElementRef<TElementType> | number,
|
|
102
98
|
) => ?number,
|
|
103
99
|
) => $ReadOnly<{
|
|
104
100
|
measure: (callback: MeasureOnSuccessCallback) => void,
|
|
@@ -141,7 +137,7 @@ export type RenderRootOptions = {
|
|
|
141
137
|
+componentStack?: ?string,
|
|
142
138
|
// $FlowFixMe[unclear-type] unknown props and state.
|
|
143
139
|
// $FlowFixMe[value-as-type] Component in react repo is any-typed, but it will be well typed externally.
|
|
144
|
-
+errorBoundary?: ?
|
|
140
|
+
+errorBoundary?: ?React.Component<any, any>,
|
|
145
141
|
},
|
|
146
142
|
) => void,
|
|
147
143
|
onRecoverableError?: (
|
|
@@ -155,11 +151,11 @@ export type RenderRootOptions = {
|
|
|
155
151
|
* Provide minimal Flow typing for the high-level RN API and call it a day.
|
|
156
152
|
*/
|
|
157
153
|
export type ReactNativeType = {
|
|
158
|
-
findHostInstance_DEPRECATED<TElementType: ElementType>(
|
|
159
|
-
componentOrHandle: ?(ElementRef<TElementType> | number),
|
|
154
|
+
findHostInstance_DEPRECATED<TElementType: React.ElementType>(
|
|
155
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
160
156
|
): ?PublicInstance,
|
|
161
|
-
findNodeHandle<TElementType: ElementType>(
|
|
162
|
-
componentOrHandle: ?(ElementRef<TElementType> | number),
|
|
157
|
+
findNodeHandle<TElementType: React.ElementType>(
|
|
158
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
163
159
|
): ?number,
|
|
164
160
|
isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
|
|
165
161
|
dispatchCommand(
|
|
@@ -169,11 +165,11 @@ export type ReactNativeType = {
|
|
|
169
165
|
): void,
|
|
170
166
|
sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
|
|
171
167
|
render(
|
|
172
|
-
element: MixedElement,
|
|
168
|
+
element: React.MixedElement,
|
|
173
169
|
containerTag: number,
|
|
174
170
|
callback: ?() => void,
|
|
175
171
|
options: ?RenderRootOptions,
|
|
176
|
-
): ?ElementRef<ElementType>,
|
|
172
|
+
): ?React.ElementRef<React.ElementType>,
|
|
177
173
|
unmountComponentAtNode(containerTag: number): void,
|
|
178
174
|
unmountComponentAtNodeAndRemoveContainer(containerTag: number): void,
|
|
179
175
|
+unstable_batchedUpdates: <T>(fn: (T) => void, bookkeeping: T) => void,
|
|
@@ -184,11 +180,11 @@ export opaque type Node = mixed;
|
|
|
184
180
|
export opaque type InternalInstanceHandle = mixed;
|
|
185
181
|
|
|
186
182
|
export type ReactFabricType = {
|
|
187
|
-
findHostInstance_DEPRECATED<TElementType: ElementType>(
|
|
188
|
-
componentOrHandle: ?(ElementRef<TElementType> | number),
|
|
183
|
+
findHostInstance_DEPRECATED<TElementType: React.ElementType>(
|
|
184
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
189
185
|
): ?PublicInstance,
|
|
190
|
-
findNodeHandle<TElementType: ElementType>(
|
|
191
|
-
componentOrHandle: ?(ElementRef<TElementType> | number),
|
|
186
|
+
findNodeHandle<TElementType: React.ElementType>(
|
|
187
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
192
188
|
): ?number,
|
|
193
189
|
dispatchCommand(
|
|
194
190
|
handle: PublicInstance,
|
|
@@ -198,12 +194,12 @@ export type ReactFabricType = {
|
|
|
198
194
|
isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
|
|
199
195
|
sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
|
|
200
196
|
render(
|
|
201
|
-
element: MixedElement,
|
|
197
|
+
element: React.MixedElement,
|
|
202
198
|
containerTag: number,
|
|
203
199
|
callback: ?() => void,
|
|
204
200
|
concurrentRoot: ?boolean,
|
|
205
201
|
options: ?RenderRootOptions,
|
|
206
|
-
): ?ElementRef<ElementType>,
|
|
202
|
+
): ?React.ElementRef<React.ElementType>,
|
|
207
203
|
unmountComponentAtNode(containerTag: number): void,
|
|
208
204
|
getNodeFromInternalInstanceHandle(
|
|
209
205
|
internalInstanceHandle: InternalInstanceHandle,
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @noformat
|
|
8
|
+
* @nolint
|
|
9
|
+
* @flow strict
|
|
10
|
+
* @generated SignedSource<<4216c04f5a8c40a833b0146588fab5fa>>
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import type {
|
|
14
|
+
// $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native
|
|
15
|
+
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
16
|
+
HostInstance as PublicInstance,
|
|
17
|
+
// $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native
|
|
18
|
+
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
19
|
+
MeasureOnSuccessCallback,
|
|
20
|
+
// $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native
|
|
21
|
+
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
22
|
+
PublicRootInstance,
|
|
23
|
+
// $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native
|
|
24
|
+
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
25
|
+
PublicTextInstance,
|
|
26
|
+
} from 'react-native';
|
|
27
|
+
|
|
28
|
+
import * as React from 'react';
|
|
29
|
+
|
|
30
|
+
export type AttributeType<T, V> =
|
|
31
|
+
| true
|
|
32
|
+
| $ReadOnly<{
|
|
33
|
+
diff?: (arg1: T, arg2: T) => boolean,
|
|
34
|
+
process?: (arg1: V) => T,
|
|
35
|
+
}>;
|
|
36
|
+
|
|
37
|
+
// We either force that `diff` and `process` always use mixed,
|
|
38
|
+
// or we allow them to define specific types and use this hack
|
|
39
|
+
export type AnyAttributeType = AttributeType<$FlowFixMe, $FlowFixMe>;
|
|
40
|
+
|
|
41
|
+
export type AttributeConfiguration = $ReadOnly<{
|
|
42
|
+
[propName: string]: AnyAttributeType,
|
|
43
|
+
style: $ReadOnly<{
|
|
44
|
+
[propName: string]: AnyAttributeType,
|
|
45
|
+
...
|
|
46
|
+
}>,
|
|
47
|
+
...
|
|
48
|
+
}>;
|
|
49
|
+
|
|
50
|
+
export type PartialAttributeConfiguration = $ReadOnly<{
|
|
51
|
+
[propName: string]: AnyAttributeType,
|
|
52
|
+
style?: $ReadOnly<{
|
|
53
|
+
[propName: string]: AnyAttributeType,
|
|
54
|
+
...
|
|
55
|
+
}>,
|
|
56
|
+
...
|
|
57
|
+
}>;
|
|
58
|
+
|
|
59
|
+
export type ViewConfig = $ReadOnly<{
|
|
60
|
+
Commands?: $ReadOnly<{[commandName: string]: number, ...}>,
|
|
61
|
+
Constants?: $ReadOnly<{[name: string]: mixed, ...}>,
|
|
62
|
+
Manager?: string,
|
|
63
|
+
NativeProps?: $ReadOnly<{[propName: string]: string, ...}>,
|
|
64
|
+
baseModuleName?: ?string,
|
|
65
|
+
bubblingEventTypes?: $ReadOnly<{
|
|
66
|
+
[eventName: string]: $ReadOnly<{
|
|
67
|
+
phasedRegistrationNames: $ReadOnly<{
|
|
68
|
+
captured: string,
|
|
69
|
+
bubbled: string,
|
|
70
|
+
skipBubbling?: ?boolean,
|
|
71
|
+
}>,
|
|
72
|
+
}>,
|
|
73
|
+
...
|
|
74
|
+
}>,
|
|
75
|
+
directEventTypes?: $ReadOnly<{
|
|
76
|
+
[eventName: string]: $ReadOnly<{
|
|
77
|
+
registrationName: string,
|
|
78
|
+
}>,
|
|
79
|
+
...
|
|
80
|
+
}>,
|
|
81
|
+
supportsRawText?: boolean,
|
|
82
|
+
uiViewClassName: string,
|
|
83
|
+
validAttributes: AttributeConfiguration,
|
|
84
|
+
}>;
|
|
85
|
+
|
|
86
|
+
export type PartialViewConfig = $ReadOnly<{
|
|
87
|
+
bubblingEventTypes?: ViewConfig['bubblingEventTypes'],
|
|
88
|
+
directEventTypes?: ViewConfig['directEventTypes'],
|
|
89
|
+
supportsRawText?: boolean,
|
|
90
|
+
uiViewClassName: string,
|
|
91
|
+
validAttributes?: PartialAttributeConfiguration,
|
|
92
|
+
}>;
|
|
93
|
+
|
|
94
|
+
type InspectorDataProps = $ReadOnly<{
|
|
95
|
+
[propName: string]: string,
|
|
96
|
+
...
|
|
97
|
+
}>;
|
|
98
|
+
|
|
99
|
+
type InspectorDataGetter = (
|
|
100
|
+
<TElementType: React.ElementType>(
|
|
101
|
+
componentOrHandle: React.ElementRef<TElementType> | number,
|
|
102
|
+
) => ?number,
|
|
103
|
+
) => $ReadOnly<{
|
|
104
|
+
measure: (callback: MeasureOnSuccessCallback) => void,
|
|
105
|
+
props: InspectorDataProps,
|
|
106
|
+
}>;
|
|
107
|
+
|
|
108
|
+
export type InspectorData = $ReadOnly<{
|
|
109
|
+
closestInstance?: mixed,
|
|
110
|
+
hierarchy: Array<{
|
|
111
|
+
name: ?string,
|
|
112
|
+
getInspectorData: InspectorDataGetter,
|
|
113
|
+
}>,
|
|
114
|
+
selectedIndex: ?number,
|
|
115
|
+
props: InspectorDataProps,
|
|
116
|
+
componentStack: string,
|
|
117
|
+
}>;
|
|
118
|
+
|
|
119
|
+
export type TouchedViewDataAtPoint = $ReadOnly<
|
|
120
|
+
{
|
|
121
|
+
pointerY: number,
|
|
122
|
+
touchedViewTag?: number,
|
|
123
|
+
frame: $ReadOnly<{
|
|
124
|
+
top: number,
|
|
125
|
+
left: number,
|
|
126
|
+
width: number,
|
|
127
|
+
height: number,
|
|
128
|
+
}>,
|
|
129
|
+
closestPublicInstance?: PublicInstance,
|
|
130
|
+
} & InspectorData,
|
|
131
|
+
>;
|
|
132
|
+
|
|
133
|
+
export type RenderRootOptions = {
|
|
134
|
+
onUncaughtError?: (
|
|
135
|
+
error: mixed,
|
|
136
|
+
errorInfo: {+componentStack?: ?string},
|
|
137
|
+
) => void,
|
|
138
|
+
onCaughtError?: (
|
|
139
|
+
error: mixed,
|
|
140
|
+
errorInfo: {
|
|
141
|
+
+componentStack?: ?string,
|
|
142
|
+
// $FlowFixMe[unclear-type] unknown props and state.
|
|
143
|
+
// $FlowFixMe[value-as-type] Component in react repo is any-typed, but it will be well typed externally.
|
|
144
|
+
+errorBoundary?: ?React.Component<any, any>,
|
|
145
|
+
},
|
|
146
|
+
) => void,
|
|
147
|
+
onRecoverableError?: (
|
|
148
|
+
error: mixed,
|
|
149
|
+
errorInfo: {+componentStack?: ?string},
|
|
150
|
+
) => void,
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Flat ReactNative renderer bundles are too big for Flow to parse efficiently.
|
|
155
|
+
* Provide minimal Flow typing for the high-level RN API and call it a day.
|
|
156
|
+
*/
|
|
157
|
+
export type ReactNativeType = {
|
|
158
|
+
findHostInstance_DEPRECATED<TElementType: React.ElementType>(
|
|
159
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
160
|
+
): ?PublicInstance,
|
|
161
|
+
findNodeHandle<TElementType: React.ElementType>(
|
|
162
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
163
|
+
): ?number,
|
|
164
|
+
isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
|
|
165
|
+
dispatchCommand(
|
|
166
|
+
handle: PublicInstance,
|
|
167
|
+
command: string,
|
|
168
|
+
args: Array<mixed>,
|
|
169
|
+
): void,
|
|
170
|
+
sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
|
|
171
|
+
render(
|
|
172
|
+
element: React.MixedElement,
|
|
173
|
+
containerTag: number,
|
|
174
|
+
callback: ?() => void,
|
|
175
|
+
options: ?RenderRootOptions,
|
|
176
|
+
): ?React.ElementRef<React.ElementType>,
|
|
177
|
+
unmountComponentAtNode(containerTag: number): void,
|
|
178
|
+
unmountComponentAtNodeAndRemoveContainer(containerTag: number): void,
|
|
179
|
+
+unstable_batchedUpdates: <T>(fn: (T) => void, bookkeeping: T) => void,
|
|
180
|
+
...
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
export opaque type Node = mixed;
|
|
184
|
+
export opaque type InternalInstanceHandle = mixed;
|
|
185
|
+
|
|
186
|
+
export type ReactFabricType = {
|
|
187
|
+
findHostInstance_DEPRECATED<TElementType: React.ElementType>(
|
|
188
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
189
|
+
): ?PublicInstance,
|
|
190
|
+
findNodeHandle<TElementType: React.ElementType>(
|
|
191
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
192
|
+
): ?number,
|
|
193
|
+
dispatchCommand(
|
|
194
|
+
handle: PublicInstance,
|
|
195
|
+
command: string,
|
|
196
|
+
args: Array<mixed>,
|
|
197
|
+
): void,
|
|
198
|
+
isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
|
|
199
|
+
sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
|
|
200
|
+
render(
|
|
201
|
+
element: React.MixedElement,
|
|
202
|
+
containerTag: number,
|
|
203
|
+
callback: ?() => void,
|
|
204
|
+
concurrentRoot: ?boolean,
|
|
205
|
+
options: ?RenderRootOptions,
|
|
206
|
+
): ?React.ElementRef<React.ElementType>,
|
|
207
|
+
unmountComponentAtNode(containerTag: number): void,
|
|
208
|
+
getNodeFromInternalInstanceHandle(
|
|
209
|
+
internalInstanceHandle: InternalInstanceHandle,
|
|
210
|
+
): ?Node,
|
|
211
|
+
getPublicInstanceFromInternalInstanceHandle(
|
|
212
|
+
internalInstanceHandle: InternalInstanceHandle,
|
|
213
|
+
): PublicInstance | PublicTextInstance | null,
|
|
214
|
+
getPublicInstanceFromRootTag(rootTag: number): PublicRootInstance | null,
|
|
215
|
+
...
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
export type ReactFabricEventTouch = {
|
|
219
|
+
identifier: number,
|
|
220
|
+
locationX: number,
|
|
221
|
+
locationY: number,
|
|
222
|
+
pageX: number,
|
|
223
|
+
pageY: number,
|
|
224
|
+
screenX: number,
|
|
225
|
+
screenY: number,
|
|
226
|
+
target: number,
|
|
227
|
+
timestamp: number,
|
|
228
|
+
force: number,
|
|
229
|
+
...
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
export type ReactFabricEvent = {
|
|
233
|
+
touches: Array<ReactFabricEventTouch>,
|
|
234
|
+
changedTouches: Array<ReactFabricEventTouch>,
|
|
235
|
+
targetTouches: Array<ReactFabricEventTouch>,
|
|
236
|
+
target: number,
|
|
237
|
+
...
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
// Imperative LayoutAnimation API types
|
|
241
|
+
//
|
|
242
|
+
export type LayoutAnimationType =
|
|
243
|
+
| 'spring'
|
|
244
|
+
| 'linear'
|
|
245
|
+
| 'easeInEaseOut'
|
|
246
|
+
| 'easeIn'
|
|
247
|
+
| 'easeOut'
|
|
248
|
+
| 'keyboard';
|
|
249
|
+
|
|
250
|
+
export type LayoutAnimationProperty =
|
|
251
|
+
| 'opacity'
|
|
252
|
+
| 'scaleX'
|
|
253
|
+
| 'scaleY'
|
|
254
|
+
| 'scaleXY';
|
|
255
|
+
|
|
256
|
+
export type LayoutAnimationAnimationConfig = $ReadOnly<{
|
|
257
|
+
duration?: number,
|
|
258
|
+
delay?: number,
|
|
259
|
+
springDamping?: number,
|
|
260
|
+
initialVelocity?: number,
|
|
261
|
+
type?: LayoutAnimationType,
|
|
262
|
+
property?: LayoutAnimationProperty,
|
|
263
|
+
}>;
|
|
264
|
+
|
|
265
|
+
export type LayoutAnimationConfig = $ReadOnly<{
|
|
266
|
+
duration: number,
|
|
267
|
+
create?: LayoutAnimationAnimationConfig,
|
|
268
|
+
update?: LayoutAnimationAnimationConfig,
|
|
269
|
+
delete?: LayoutAnimationAnimationConfig,
|
|
270
|
+
}>;
|
|
@@ -107,4 +107,6 @@ declare export const setStyleAttributePreprocessor: (
|
|
|
107
107
|
* An identity function for creating style sheets.
|
|
108
108
|
*/
|
|
109
109
|
// $FlowFixMe[unsupported-variance-annotation]
|
|
110
|
-
declare export const create: <+S: ____Styles_Internal>(
|
|
110
|
+
declare export const create: <+S: ____Styles_Internal>(
|
|
111
|
+
obj: S & ____Styles_Internal,
|
|
112
|
+
) => $ReadOnly<S>;
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
import type {WithAnimatedValue} from '../Animated/createAnimatedComponent';
|
|
14
|
-
import type AnimatedNode from '../Animated/nodes/AnimatedNode';
|
|
15
14
|
import type {ImageResizeMode} from './../Image/ImageResizeMode';
|
|
16
15
|
import type {
|
|
17
16
|
____DangerouslyImpreciseStyle_InternalOverrides,
|
|
@@ -21,6 +20,7 @@ import type {
|
|
|
21
20
|
____ViewStyle_InternalOverrides,
|
|
22
21
|
} from './private/_StyleSheetTypesOverrides';
|
|
23
22
|
import type {____TransformStyle_Internal} from './private/_TransformStyle';
|
|
23
|
+
import type {ColorValue} from './StyleSheet';
|
|
24
24
|
|
|
25
25
|
export type {____TransformStyle_Internal};
|
|
26
26
|
|
|
@@ -1001,7 +1001,8 @@ export type ____ImageStyle_InternalCore = $ReadOnly<{
|
|
|
1001
1001
|
resizeMode?: ImageResizeMode,
|
|
1002
1002
|
objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none',
|
|
1003
1003
|
tintColor?: ____ColorValue_Internal,
|
|
1004
|
-
overlayColor?:
|
|
1004
|
+
overlayColor?: ColorValue,
|
|
1005
|
+
overflow?: 'visible' | 'hidden',
|
|
1005
1006
|
}>;
|
|
1006
1007
|
|
|
1007
1008
|
export type ____ImageStyle_Internal = $ReadOnly<{
|
|
@@ -1014,7 +1015,7 @@ export type ____DangerouslyImpreciseStyle_InternalCore = $ReadOnly<{
|
|
|
1014
1015
|
resizeMode?: ImageResizeMode,
|
|
1015
1016
|
objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none',
|
|
1016
1017
|
tintColor?: ____ColorValue_Internal,
|
|
1017
|
-
overlayColor?:
|
|
1018
|
+
overlayColor?: ColorValue,
|
|
1018
1019
|
}>;
|
|
1019
1020
|
|
|
1020
1021
|
export type ____DangerouslyImpreciseStyle_Internal = $ReadOnly<{
|
|
@@ -10,6 +10,25 @@
|
|
|
10
10
|
|
|
11
11
|
import type AnimatedNode from '../../Animated/nodes/AnimatedNode';
|
|
12
12
|
|
|
13
|
+
// Helper types to enforce that a single key is used in a transform object
|
|
14
|
+
// after generating a TypeScript definition file from the Flow types.
|
|
15
|
+
// $FlowExpectedError[unclear-type]
|
|
16
|
+
type KeysOfUnion<T> = T extends any ? $Keys<T> : empty;
|
|
17
|
+
// $FlowExpectedError[unclear-type]
|
|
18
|
+
type ValueOfUnion<T, K> = T extends any
|
|
19
|
+
? K extends $Keys<T>
|
|
20
|
+
? T[K]
|
|
21
|
+
: empty
|
|
22
|
+
: empty;
|
|
23
|
+
type MergeUnion<T> = {
|
|
24
|
+
[K in KeysOfUnion<T>]?: ValueOfUnion<T, K>,
|
|
25
|
+
};
|
|
26
|
+
type MaximumOneOf<T: {...}> = $Values<{
|
|
27
|
+
[K in keyof T]: $Exact<{
|
|
28
|
+
[P in keyof T]?: P extends K ? T[P] : empty,
|
|
29
|
+
}>,
|
|
30
|
+
}>;
|
|
31
|
+
|
|
13
32
|
export type ____TransformStyle_Internal = $ReadOnly<{
|
|
14
33
|
/**
|
|
15
34
|
* `transform` accepts an array of transformation objects. Each object specifies
|
|
@@ -29,27 +48,36 @@ export type ____TransformStyle_Internal = $ReadOnly<{
|
|
|
29
48
|
*/
|
|
30
49
|
transform?:
|
|
31
50
|
| $ReadOnlyArray<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
$ReadOnly<
|
|
52
|
+
MaximumOneOf<
|
|
53
|
+
MergeUnion<
|
|
54
|
+
| {+perspective: number | AnimatedNode}
|
|
55
|
+
| {+rotate: string | AnimatedNode}
|
|
56
|
+
| {+rotateX: string | AnimatedNode}
|
|
57
|
+
| {+rotateY: string | AnimatedNode}
|
|
58
|
+
| {+rotateZ: string | AnimatedNode}
|
|
59
|
+
| {+scale: number | AnimatedNode}
|
|
60
|
+
| {+scaleX: number | AnimatedNode}
|
|
61
|
+
| {+scaleY: number | AnimatedNode}
|
|
62
|
+
| {+translateX: number | string | AnimatedNode}
|
|
63
|
+
| {+translateY: number | string | AnimatedNode}
|
|
64
|
+
| {
|
|
65
|
+
+translate:
|
|
66
|
+
| [
|
|
67
|
+
number | string | AnimatedNode,
|
|
68
|
+
number | string | AnimatedNode,
|
|
69
|
+
]
|
|
70
|
+
| AnimatedNode,
|
|
71
|
+
}
|
|
72
|
+
| {+skewX: string | AnimatedNode}
|
|
73
|
+
| {+skewY: string | AnimatedNode}
|
|
74
|
+
// TODO: what is the actual type it expects?
|
|
75
|
+
| {
|
|
76
|
+
+matrix: $ReadOnlyArray<number | AnimatedNode> | AnimatedNode,
|
|
77
|
+
},
|
|
78
|
+
>,
|
|
79
|
+
>,
|
|
80
|
+
>,
|
|
53
81
|
>
|
|
54
82
|
| string,
|
|
55
83
|
/**
|
package/Libraries/Text/Text.d.ts
CHANGED
|
@@ -296,6 +296,13 @@ export interface TextProps
|
|
|
296
296
|
* Controls how touch events are handled. Similar to `View`'s `pointerEvents`.
|
|
297
297
|
*/
|
|
298
298
|
pointerEvents?: ViewStyle['pointerEvents'] | undefined;
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Defines how far your touch may move off of the button, before deactivating the button.
|
|
302
|
+
*/
|
|
303
|
+
pressRetentionOffset?:
|
|
304
|
+
| {top: number; left: number; bottom: number; right: number}
|
|
305
|
+
| undefined;
|
|
299
306
|
}
|
|
300
307
|
|
|
301
308
|
/**
|