@office-iss/react-native-win32 0.0.0-canary.259 → 0.0.0-canary.261
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 +4 -3
- package/CHANGELOG.json +31 -1
- package/CHANGELOG.md +20 -4
- package/Libraries/Animated/AnimatedImplementation.js +7 -7
- package/Libraries/Animated/animations/Animation.js +10 -0
- package/Libraries/Animated/animations/TimingAnimation.js +1 -0
- package/Libraries/Animated/components/AnimatedScrollView.js +2 -2
- package/Libraries/Animated/createAnimatedComponent.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +71 -4
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/URL.js +2 -62
- package/Libraries/Blob/URLSearchParams.js +71 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +3 -0
- package/Libraries/Components/ScrollView/ScrollView.js +5 -5
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +3 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
- package/Libraries/Components/TextInput/TextInput.js +19 -10
- package/Libraries/Components/TextInput/TextInput.win32.js +19 -10
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +11 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +2 -0
- package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
- package/Libraries/Components/View/ViewNativeComponent.js +6 -0
- package/Libraries/Components/View/ViewPropTypes.js +14 -0
- package/Libraries/Components/View/ViewPropTypes.win32.js +14 -0
- package/Libraries/Core/InitializeCore.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +7 -1
- package/Libraries/Image/AssetSourceResolver.js +28 -1
- package/Libraries/Image/Image.android.js +9 -14
- package/Libraries/Image/Image.ios.js +11 -22
- package/Libraries/Image/Image.win32.js +10 -21
- package/Libraries/Image/ImageBackground.js +1 -8
- package/Libraries/Image/ImageUtils.js +9 -9
- package/Libraries/Image/ImageViewNativeComponent.js +3 -0
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/LogBox/Data/LogBoxData.js +30 -4
- package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +4 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +4 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +13 -20
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
- package/Libraries/Network/XMLHttpRequest.js +4 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
- package/Libraries/ReactNative/RendererImplementation.js +26 -4
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +9 -4
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +11 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +14 -2
- package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
- package/Libraries/StyleSheet/processFilter.js +4 -4
- package/Libraries/Text/Text.js +7 -6
- package/Libraries/Text/Text.win32.js +7 -6
- package/Libraries/Text/TextNativeComponent.js +7 -0
- package/Libraries/Text/TextNativeComponent.win32.js +7 -0
- package/Libraries/Utilities/Appearance.js +65 -73
- package/Libraries/Utilities/DevLoadingView.js +2 -4
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/stringifyViewConfig.js +22 -0
- package/Libraries/Utilities/useColorScheme.js +3 -3
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/flow/jest.js +2 -2
- package/index.js +2 -1
- package/index.win32.js +2 -1
- package/jest/mockModal.js +1 -3
- package/jest/mockScrollView.js +1 -1
- package/jest/renderer.js +2 -2
- package/jest/setup.js +8 -12
- package/overrides.json +12 -12
- package/package.json +14 -14
- package/src/private/{core/components → components}/HScrollViewNativeComponents.js +8 -8
- package/src/private/{core/components → components}/VScrollViewNativeComponents.js +7 -7
- package/src/private/{core/components → components}/useSyncOnScroll.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -10
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +16 -3
- package/src/private/hooks/DebouncedEffectImplementation.js +148 -0
- package/src/private/hooks/useDebouncedEffect.js +23 -0
- package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +5 -4
- package/src/private/setup/setUpDOM.js +28 -0
- package/src/private/setup/setUpIntersectionObserver.js +27 -0
- package/src/private/setup/setUpMutationObserver.js +26 -0
- package/src/private/setup/setUpPerformanceObserver.js +64 -0
- package/src/private/specs/modules/NativeAppearance.js +3 -3
- package/src/private/specs/modules/NativeDebuggerSessionObserver.js +23 -0
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
- package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
- package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
- package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
- package/src/private/webapis/performance/LongTasks.js +39 -0
- package/src/private/webapis/performance/Performance.js +22 -9
- package/src/private/webapis/performance/PerformanceEntry.js +35 -17
- package/src/private/webapis/performance/PerformanceObserver.js +29 -43
- package/src/private/webapis/performance/RawPerformanceEntry.js +19 -1
- package/src/private/webapis/performance/UserTiming.js +17 -12
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
- package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
- package/types/experimental.d.ts +10 -2
- package/Libraries/Core/setUpIntersectionObserver.js +0 -16
- package/Libraries/Core/setUpMutationObserver.js +0 -16
- package/Libraries/Core/setUpPerformanceObserver.js +0 -18
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
- package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
- package/src/private/core/setUpDOM.js +0 -18
- package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
- /package/src/private/{core → styles}/composeStyles.js +0 -0
|
@@ -18,6 +18,7 @@ import type {
|
|
|
18
18
|
Message,
|
|
19
19
|
} from './parseLogBoxLog';
|
|
20
20
|
|
|
21
|
+
import NativeDebuggerSessionObserver from '../../../src/private/specs/modules/NativeDebuggerSessionObserver';
|
|
21
22
|
import parseErrorStack from '../../Core/Devtools/parseErrorStack';
|
|
22
23
|
import NativeDevSettings from '../../NativeModules/specs/NativeDevSettings';
|
|
23
24
|
import NativeLogBox from '../../NativeModules/specs/NativeLogBox';
|
|
@@ -75,6 +76,7 @@ let updateTimeout: $FlowFixMe | null = null;
|
|
|
75
76
|
let _isDisabled = false;
|
|
76
77
|
let _selectedIndex = -1;
|
|
77
78
|
let hasShownFuseboxWarningsMigrationMessage = false;
|
|
79
|
+
let hostTargetSessionObserverSubscription = null;
|
|
78
80
|
|
|
79
81
|
let warningFilter: WarningFilter = function (format) {
|
|
80
82
|
return {
|
|
@@ -196,11 +198,36 @@ function appendNewLog(newLog: LogBoxLog) {
|
|
|
196
198
|
}
|
|
197
199
|
|
|
198
200
|
export function addLog(log: LogData): void {
|
|
199
|
-
if (
|
|
200
|
-
|
|
201
|
-
|
|
201
|
+
if (
|
|
202
|
+
hostTargetSessionObserverSubscription == null &&
|
|
203
|
+
NativeDebuggerSessionObserver != null
|
|
204
|
+
) {
|
|
205
|
+
hostTargetSessionObserverSubscription =
|
|
206
|
+
NativeDebuggerSessionObserver.subscribe(hasActiveSession => {
|
|
207
|
+
if (hasActiveSession) {
|
|
208
|
+
clearWarnings();
|
|
209
|
+
} else {
|
|
210
|
+
// Reset the flag so that we can show the message again if new warning was emitted
|
|
211
|
+
hasShownFuseboxWarningsMigrationMessage = false;
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// If Host has Fusebox support
|
|
217
|
+
if (
|
|
218
|
+
log.level === 'warn' &&
|
|
219
|
+
global.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ &&
|
|
220
|
+
NativeDebuggerSessionObserver != null
|
|
221
|
+
) {
|
|
222
|
+
// And there is no active debugging session
|
|
223
|
+
if (!NativeDebuggerSessionObserver.hasActiveSession()) {
|
|
224
|
+
showFuseboxWarningsMigrationMessageOnce();
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// Don't show LogBox warnings when Host has active debugging session
|
|
202
228
|
return;
|
|
203
229
|
}
|
|
230
|
+
|
|
204
231
|
const errorForStackTrace = new Error();
|
|
205
232
|
|
|
206
233
|
// Parsing logs are expensive so we schedule this
|
|
@@ -484,7 +511,6 @@ function showFuseboxWarningsMigrationMessageOnce() {
|
|
|
484
511
|
if (NativeDevSettings.openDebugger) {
|
|
485
512
|
NativeDevSettings.openDebugger();
|
|
486
513
|
}
|
|
487
|
-
clearWarnings();
|
|
488
514
|
},
|
|
489
515
|
}),
|
|
490
516
|
);
|
|
@@ -170,6 +170,7 @@ const validAttributesForNonEventProps = {
|
|
|
170
170
|
process: require('../StyleSheet/processFilter').default,
|
|
171
171
|
},
|
|
172
172
|
experimental_mixBlendMode: true,
|
|
173
|
+
isolation: true,
|
|
173
174
|
opacity: true,
|
|
174
175
|
elevation: true,
|
|
175
176
|
shadowColor: {process: require('../StyleSheet/processColor').default},
|
|
@@ -193,6 +193,8 @@ const validAttributesForNonEventProps = {
|
|
|
193
193
|
accessibilityViewIsModal: true,
|
|
194
194
|
accessibilityElementsHidden: true,
|
|
195
195
|
accessibilityIgnoresInvertColors: true,
|
|
196
|
+
accessibilityShowsLargeContentViewer: true,
|
|
197
|
+
accessibilityLargeContentTitle: true,
|
|
196
198
|
testID: true,
|
|
197
199
|
backgroundColor: {process: require('../StyleSheet/processColor').default},
|
|
198
200
|
backfaceVisibility: true,
|
|
@@ -226,6 +228,8 @@ const validAttributesForNonEventProps = {
|
|
|
226
228
|
experimental_boxShadow: {
|
|
227
229
|
process: require('../StyleSheet/processBoxShadow').default,
|
|
228
230
|
},
|
|
231
|
+
experimental_mixBlendMode: true,
|
|
232
|
+
isolation: true,
|
|
229
233
|
|
|
230
234
|
borderTopWidth: true,
|
|
231
235
|
borderTopColor: {process: require('../StyleSheet/processColor').default},
|
|
@@ -193,6 +193,8 @@ const validAttributesForNonEventProps = {
|
|
|
193
193
|
accessibilityViewIsModal: true,
|
|
194
194
|
accessibilityElementsHidden: true,
|
|
195
195
|
accessibilityIgnoresInvertColors: true,
|
|
196
|
+
accessibilityShowsLargeContentViewer: true,
|
|
197
|
+
accessibilityLargeContentTitle: true,
|
|
196
198
|
testID: true,
|
|
197
199
|
backgroundColor: {process: require('../StyleSheet/processColor').default},
|
|
198
200
|
backfaceVisibility: true,
|
|
@@ -226,6 +228,8 @@ const validAttributesForNonEventProps = {
|
|
|
226
228
|
experimental_boxShadow: {
|
|
227
229
|
process: require('../StyleSheet/processBoxShadow').default,
|
|
228
230
|
},
|
|
231
|
+
experimental_mixBlendMode: true,
|
|
232
|
+
isolation: true,
|
|
229
233
|
|
|
230
234
|
borderTopWidth: true,
|
|
231
235
|
borderTopColor: {process: require('../StyleSheet/processColor').default},
|
|
@@ -17,7 +17,6 @@ import type {
|
|
|
17
17
|
import getNativeComponentAttributes from '../ReactNative/getNativeComponentAttributes';
|
|
18
18
|
import UIManager from '../ReactNative/UIManager';
|
|
19
19
|
import * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';
|
|
20
|
-
import verifyComponentAttributeEquivalence from '../Utilities/verifyComponentAttributeEquivalence';
|
|
21
20
|
import * as StaticViewConfigValidator from './StaticViewConfigValidator';
|
|
22
21
|
import {createViewConfig} from './ViewConfig';
|
|
23
22
|
import invariant from 'invariant';
|
|
@@ -35,7 +34,6 @@ let getRuntimeConfig;
|
|
|
35
34
|
export function setRuntimeConfigProvider(
|
|
36
35
|
runtimeConfigProvider: (name: string) => ?{
|
|
37
36
|
native: boolean,
|
|
38
|
-
strict: boolean,
|
|
39
37
|
verify: boolean,
|
|
40
38
|
},
|
|
41
39
|
): void {
|
|
@@ -55,9 +53,8 @@ export function get<Config>(
|
|
|
55
53
|
viewConfigProvider: () => PartialViewConfig,
|
|
56
54
|
): HostComponent<Config> {
|
|
57
55
|
ReactNativeViewConfigRegistry.register(name, () => {
|
|
58
|
-
const {native,
|
|
56
|
+
const {native, verify} = getRuntimeConfig?.(name) ?? {
|
|
59
57
|
native: !global.RN$Bridgeless,
|
|
60
|
-
strict: false,
|
|
61
58
|
verify: false,
|
|
62
59
|
};
|
|
63
60
|
|
|
@@ -92,23 +89,19 @@ export function get<Config>(
|
|
|
92
89
|
? createViewConfig(viewConfigProvider())
|
|
93
90
|
: viewConfig;
|
|
94
91
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
const validationOutput = StaticViewConfigValidator.validate(
|
|
93
|
+
name,
|
|
94
|
+
nativeViewConfig,
|
|
95
|
+
staticViewConfig,
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
if (validationOutput.type === 'invalid') {
|
|
99
|
+
console.error(
|
|
100
|
+
StaticViewConfigValidator.stringifyValidationResult(
|
|
101
|
+
name,
|
|
102
|
+
validationOutput,
|
|
103
|
+
),
|
|
100
104
|
);
|
|
101
|
-
|
|
102
|
-
if (validationOutput.type === 'invalid') {
|
|
103
|
-
console.error(
|
|
104
|
-
StaticViewConfigValidator.stringifyValidationResult(
|
|
105
|
-
name,
|
|
106
|
-
validationOutput,
|
|
107
|
-
),
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
} else {
|
|
111
|
-
verifyComponentAttributeEquivalence(nativeViewConfig, staticViewConfig);
|
|
112
105
|
}
|
|
113
106
|
}
|
|
114
107
|
|
|
@@ -22,11 +22,6 @@ export type Difference =
|
|
|
22
22
|
path: Array<string>,
|
|
23
23
|
nativeValue: mixed,
|
|
24
24
|
staticValue: mixed,
|
|
25
|
-
}
|
|
26
|
-
| {
|
|
27
|
-
type: 'unexpected',
|
|
28
|
-
path: Array<string>,
|
|
29
|
-
staticValue: mixed,
|
|
30
25
|
};
|
|
31
26
|
|
|
32
27
|
export type ValidationResult = ValidResult | InvalidResult;
|
|
@@ -90,8 +85,6 @@ export function stringifyValidationResult(
|
|
|
90
85
|
return `- '${path.join('.')}' is missing.`;
|
|
91
86
|
case 'unequal':
|
|
92
87
|
return `- '${path.join('.')}' is the wrong value.`;
|
|
93
|
-
case 'unexpected':
|
|
94
|
-
return `- '${path.join('.')}' is present but not expected to be.`;
|
|
95
88
|
}
|
|
96
89
|
}),
|
|
97
90
|
'',
|
|
@@ -145,20 +138,6 @@ function accumulateDifferences(
|
|
|
145
138
|
});
|
|
146
139
|
}
|
|
147
140
|
}
|
|
148
|
-
|
|
149
|
-
for (const staticKey in staticObject) {
|
|
150
|
-
if (
|
|
151
|
-
!nativeObject.hasOwnProperty(staticKey) &&
|
|
152
|
-
// $FlowFixMe[invalid-computed-prop]
|
|
153
|
-
!isIgnored(staticObject[staticKey])
|
|
154
|
-
) {
|
|
155
|
-
differences.push({
|
|
156
|
-
path: [...path, staticKey],
|
|
157
|
-
type: 'unexpected',
|
|
158
|
-
staticValue: staticObject[staticKey],
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
141
|
}
|
|
163
142
|
|
|
164
143
|
function ifObject(value: mixed): ?{...} {
|
|
@@ -78,7 +78,9 @@ const REQUEST_EVENTS = [
|
|
|
78
78
|
|
|
79
79
|
const XHR_EVENTS = REQUEST_EVENTS.concat('readystatechange');
|
|
80
80
|
|
|
81
|
-
class XMLHttpRequestEventTarget extends (EventTarget(
|
|
81
|
+
class XMLHttpRequestEventTarget extends (EventTarget(
|
|
82
|
+
...REQUEST_EVENTS,
|
|
83
|
+
): typeof EventTarget) {
|
|
82
84
|
onload: ?Function;
|
|
83
85
|
onloadstart: ?Function;
|
|
84
86
|
onprogress: ?Function;
|
|
@@ -91,7 +93,7 @@ class XMLHttpRequestEventTarget extends (EventTarget(...REQUEST_EVENTS): any) {
|
|
|
91
93
|
/**
|
|
92
94
|
* Shared base for platform-specific XMLHttpRequest implementations.
|
|
93
95
|
*/
|
|
94
|
-
class XMLHttpRequest extends (EventTarget(...XHR_EVENTS):
|
|
96
|
+
class XMLHttpRequest extends (EventTarget(...XHR_EVENTS): typeof EventTarget) {
|
|
95
97
|
static UNSENT: number = UNSENT;
|
|
96
98
|
static OPENED: number = OPENED;
|
|
97
99
|
static HEADERS_RECEIVED: number = HEADERS_RECEIVED;
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
import type {ElementRef} from 'react';
|
|
21
21
|
|
|
22
22
|
import TextInputState from '../../Components/TextInput/TextInputState';
|
|
23
|
-
import {getNodeFromInternalInstanceHandle} from '../../
|
|
23
|
+
import {getNodeFromInternalInstanceHandle} from '../../ReactNative/RendererProxy';
|
|
24
24
|
import {getFabricUIManager} from '../FabricUIManager';
|
|
25
25
|
import {create} from './ReactNativeAttributePayload';
|
|
26
26
|
import warnForStyleProps from './warnForStyleProps';
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
import type ReactNativeElement from '../../../src/private/webapis/dom/nodes/ReactNativeElement';
|
|
17
17
|
import type ReadOnlyText from '../../../src/private/webapis/dom/nodes/ReadOnlyText';
|
|
18
|
-
import typeof
|
|
18
|
+
import typeof * as RendererProxyT from '../../ReactNative/RendererProxy';
|
|
19
19
|
import type {
|
|
20
20
|
InternalInstanceHandle,
|
|
21
21
|
Node,
|
|
@@ -32,7 +32,7 @@ let PublicInstanceClass:
|
|
|
32
32
|
let ReadOnlyTextClass: Class<ReadOnlyText>;
|
|
33
33
|
|
|
34
34
|
// Lazy loaded to avoid evaluating the module when using the legacy renderer.
|
|
35
|
-
let
|
|
35
|
+
let RendererProxy: RendererProxyT;
|
|
36
36
|
|
|
37
37
|
export function createPublicInstance(
|
|
38
38
|
tag: number,
|
|
@@ -78,10 +78,10 @@ export function getNodeFromPublicInstance(
|
|
|
78
78
|
return null;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
if (
|
|
82
|
-
|
|
81
|
+
if (RendererProxy == null) {
|
|
82
|
+
RendererProxy = require('../../ReactNative/RendererProxy');
|
|
83
83
|
}
|
|
84
|
-
return
|
|
84
|
+
return RendererProxy.getNodeFromInternalInstanceHandle(
|
|
85
85
|
publicInstance.__internalInstanceHandle,
|
|
86
86
|
);
|
|
87
87
|
}
|
|
@@ -8,15 +8,19 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
11
|
+
import type {
|
|
12
|
+
HostComponent,
|
|
13
|
+
InternalInstanceHandle,
|
|
14
|
+
Node,
|
|
15
|
+
} from '../Renderer/shims/ReactNativeTypes';
|
|
12
16
|
import type ReactFabricHostComponent from './ReactFabricPublicInstance/ReactFabricHostComponent';
|
|
13
|
-
import type {
|
|
17
|
+
import type {ElementRef, ElementType} from 'react';
|
|
14
18
|
|
|
15
19
|
import {
|
|
16
20
|
onCaughtError,
|
|
17
21
|
onRecoverableError,
|
|
18
22
|
onUncaughtError,
|
|
19
|
-
} from '
|
|
23
|
+
} from '../../src/private/renderer/errorhandling/ErrorHandlers';
|
|
20
24
|
import {type RootTag} from './RootTag';
|
|
21
25
|
export function renderElement({
|
|
22
26
|
element,
|
|
@@ -24,7 +28,7 @@ export function renderElement({
|
|
|
24
28
|
useFabric,
|
|
25
29
|
useConcurrentRoot,
|
|
26
30
|
}: {
|
|
27
|
-
element:
|
|
31
|
+
element: React.MixedElement,
|
|
28
32
|
rootTag: number,
|
|
29
33
|
useFabric: boolean,
|
|
30
34
|
useConcurrentRoot: boolean,
|
|
@@ -139,3 +143,21 @@ export function isChildPublicInstance(
|
|
|
139
143
|
childInstance,
|
|
140
144
|
);
|
|
141
145
|
}
|
|
146
|
+
|
|
147
|
+
export function getNodeFromInternalInstanceHandle(
|
|
148
|
+
internalInstanceHandle: InternalInstanceHandle,
|
|
149
|
+
): ?Node {
|
|
150
|
+
// This is only available in Fabric
|
|
151
|
+
return require('../Renderer/shims/ReactFabric').getNodeFromInternalInstanceHandle(
|
|
152
|
+
internalInstanceHandle,
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export function getPublicInstanceFromInternalInstanceHandle(
|
|
157
|
+
internalInstanceHandle: InternalInstanceHandle,
|
|
158
|
+
): mixed /*PublicInstance | PublicTextInstance | null*/ {
|
|
159
|
+
// This is only available in Fabric
|
|
160
|
+
return require('../Renderer/shims/ReactFabric').getPublicInstanceFromInternalInstanceHandle(
|
|
161
|
+
internalInstanceHandle,
|
|
162
|
+
);
|
|
163
|
+
}
|
|
@@ -10,8 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
import processBoxShadow from '../StyleSheet/processBoxShadow';
|
|
14
|
+
|
|
13
15
|
const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
|
|
14
16
|
const resolveAssetSource = require('../Image/resolveAssetSource');
|
|
17
|
+
const processBackgroundImage =
|
|
18
|
+
require('../StyleSheet/processBackgroundImage').default;
|
|
15
19
|
const processColor = require('../StyleSheet/processColor').default;
|
|
16
20
|
const processColorArray = require('../StyleSheet/processColorArray');
|
|
17
21
|
const processFilter = require('../StyleSheet/processFilter').default;
|
|
@@ -191,8 +195,12 @@ function getProcessorForType(typeName: string): ?(nextProp: any) => any {
|
|
|
191
195
|
return processColorArray;
|
|
192
196
|
case 'Filter':
|
|
193
197
|
return processFilter;
|
|
198
|
+
case 'BackgroundImage':
|
|
199
|
+
return processBackgroundImage;
|
|
194
200
|
case 'ImageSource':
|
|
195
201
|
return resolveAssetSource;
|
|
202
|
+
case 'BoxShadow':
|
|
203
|
+
return processBoxShadow;
|
|
196
204
|
}
|
|
197
205
|
return null;
|
|
198
206
|
}
|
|
@@ -7,10 +7,15 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow strict
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<89361333bb6b688486e35849a9c669a6>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type {
|
|
13
|
+
import type {
|
|
14
|
+
ElementRef,
|
|
15
|
+
ElementType,
|
|
16
|
+
MixedElement,
|
|
17
|
+
AbstractComponent,
|
|
18
|
+
} from 'react';
|
|
14
19
|
|
|
15
20
|
export type MeasureOnSuccessCallback = (
|
|
16
21
|
x: number,
|
|
@@ -222,7 +227,7 @@ export type ReactNativeType = {
|
|
|
222
227
|
eventType: string,
|
|
223
228
|
): void,
|
|
224
229
|
render(
|
|
225
|
-
element:
|
|
230
|
+
element: MixedElement,
|
|
226
231
|
containerTag: number,
|
|
227
232
|
callback: ?() => void,
|
|
228
233
|
options: ?RenderRootOptions,
|
|
@@ -257,7 +262,7 @@ export type ReactFabricType = {
|
|
|
257
262
|
eventType: string,
|
|
258
263
|
): void,
|
|
259
264
|
render(
|
|
260
|
-
element:
|
|
265
|
+
element: MixedElement,
|
|
261
266
|
containerTag: number,
|
|
262
267
|
callback: ?() => void,
|
|
263
268
|
concurrentRoot: ?boolean,
|
|
@@ -23,7 +23,7 @@ import type {
|
|
|
23
23
|
____ViewStyleProp_Internal,
|
|
24
24
|
} from './StyleSheetTypes';
|
|
25
25
|
|
|
26
|
-
import composeStyles from '../../src/private/
|
|
26
|
+
import composeStyles from '../../src/private/styles/composeStyles';
|
|
27
27
|
|
|
28
28
|
const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
|
|
29
29
|
const PixelRatio = require('../Utilities/PixelRatio').default;
|
|
@@ -23,7 +23,7 @@ import type {
|
|
|
23
23
|
____ViewStyleProp_Internal,
|
|
24
24
|
} from './StyleSheetTypes';
|
|
25
25
|
|
|
26
|
-
import composeStyles from '../../src/private/
|
|
26
|
+
import composeStyles from '../../src/private/styles/composeStyles';
|
|
27
27
|
|
|
28
28
|
const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
|
|
29
29
|
const PixelRatio = require('../Utilities/PixelRatio').default;
|
|
@@ -273,6 +273,16 @@ export type BlendMode =
|
|
|
273
273
|
| 'color'
|
|
274
274
|
| 'luminosity';
|
|
275
275
|
|
|
276
|
+
export type GradientValue = {
|
|
277
|
+
type: 'linearGradient';
|
|
278
|
+
// Angle or direction enums
|
|
279
|
+
direction?: string | undefined;
|
|
280
|
+
colorStops: ReadonlyArray<{
|
|
281
|
+
color: ColorValue;
|
|
282
|
+
positions?: ReadonlyArray<string[]> | undefined;
|
|
283
|
+
}>;
|
|
284
|
+
};
|
|
285
|
+
|
|
276
286
|
/**
|
|
277
287
|
* @see https://reactnative.dev/docs/view#style
|
|
278
288
|
*/
|
|
@@ -322,6 +332,7 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
|
|
|
322
332
|
* Controls whether the View can be the target of touch events.
|
|
323
333
|
*/
|
|
324
334
|
pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto' | undefined;
|
|
335
|
+
isolation?: 'auto' | 'isolate' | undefined;
|
|
325
336
|
cursor?: CursorValue | undefined;
|
|
326
337
|
}
|
|
327
338
|
|
|
@@ -709,6 +709,16 @@ export type DropShadowPrimitive = {
|
|
|
709
709
|
color?: ____ColorValue_Internal,
|
|
710
710
|
};
|
|
711
711
|
|
|
712
|
+
export type GradientValue = {
|
|
713
|
+
type: 'linearGradient',
|
|
714
|
+
// Angle or direction enums
|
|
715
|
+
direction?: string,
|
|
716
|
+
colorStops: $ReadOnlyArray<{
|
|
717
|
+
color: ____ColorValue_Internal,
|
|
718
|
+
positions?: $ReadOnlyArray<string>,
|
|
719
|
+
}>,
|
|
720
|
+
};
|
|
721
|
+
|
|
712
722
|
export type BoxShadowPrimitive = {
|
|
713
723
|
offsetX: number | string,
|
|
714
724
|
offsetY: number | string,
|
|
@@ -778,9 +788,11 @@ export type ____ViewStyle_InternalCore = $ReadOnly<{
|
|
|
778
788
|
elevation?: number,
|
|
779
789
|
pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only',
|
|
780
790
|
cursor?: CursorValue,
|
|
781
|
-
experimental_boxShadow?: $ReadOnlyArray<BoxShadowPrimitive
|
|
782
|
-
experimental_filter?: $ReadOnlyArray<FilterFunction
|
|
791
|
+
experimental_boxShadow?: $ReadOnlyArray<BoxShadowPrimitive> | string,
|
|
792
|
+
experimental_filter?: $ReadOnlyArray<FilterFunction> | string,
|
|
783
793
|
experimental_mixBlendMode?: ____BlendMode_Internal,
|
|
794
|
+
experimental_backgroundImage?: $ReadOnlyArray<GradientValue> | string,
|
|
795
|
+
isolation?: 'auto' | 'isolate',
|
|
784
796
|
}>;
|
|
785
797
|
|
|
786
798
|
export type ____ViewStyle_Internal = $ReadOnly<{
|