@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.
Files changed (125) hide show
  1. package/.flowconfig +4 -3
  2. package/CHANGELOG.json +31 -1
  3. package/CHANGELOG.md +20 -4
  4. package/Libraries/Animated/AnimatedImplementation.js +7 -7
  5. package/Libraries/Animated/animations/Animation.js +10 -0
  6. package/Libraries/Animated/animations/TimingAnimation.js +1 -0
  7. package/Libraries/Animated/components/AnimatedScrollView.js +2 -2
  8. package/Libraries/Animated/createAnimatedComponent.js +1 -1
  9. package/Libraries/Animated/useAnimatedProps.js +71 -4
  10. package/Libraries/Blob/FileReader.js +1 -1
  11. package/Libraries/Blob/URL.js +2 -62
  12. package/Libraries/Blob/URLSearchParams.js +71 -0
  13. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  14. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  15. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +3 -0
  16. package/Libraries/Components/ScrollView/ScrollView.js +5 -5
  17. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -3
  18. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  19. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  20. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +3 -0
  21. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  22. package/Libraries/Components/TextInput/TextInput.js +19 -10
  23. package/Libraries/Components/TextInput/TextInput.win32.js +19 -10
  24. package/Libraries/Components/View/ReactNativeStyleAttributes.js +11 -0
  25. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  26. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +2 -0
  27. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  28. package/Libraries/Components/View/ViewNativeComponent.js +6 -0
  29. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  30. package/Libraries/Components/View/ViewPropTypes.win32.js +14 -0
  31. package/Libraries/Core/InitializeCore.js +1 -1
  32. package/Libraries/Core/ReactNativeVersion.js +1 -1
  33. package/Libraries/Core/setUpErrorHandling.js +7 -1
  34. package/Libraries/Image/AssetSourceResolver.js +28 -1
  35. package/Libraries/Image/Image.android.js +9 -14
  36. package/Libraries/Image/Image.ios.js +11 -22
  37. package/Libraries/Image/Image.win32.js +10 -21
  38. package/Libraries/Image/ImageBackground.js +1 -8
  39. package/Libraries/Image/ImageUtils.js +9 -9
  40. package/Libraries/Image/ImageViewNativeComponent.js +3 -0
  41. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  42. package/Libraries/Lists/FlatList.js +1 -1
  43. package/Libraries/Lists/SectionList.js +1 -1
  44. package/Libraries/Lists/SectionListModern.js +3 -3
  45. package/Libraries/LogBox/Data/LogBoxData.js +30 -4
  46. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  47. package/Libraries/NativeComponent/BaseViewConfig.ios.js +4 -0
  48. package/Libraries/NativeComponent/BaseViewConfig.win32.js +4 -0
  49. package/Libraries/NativeComponent/NativeComponentRegistry.js +13 -20
  50. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  51. package/Libraries/Network/XMLHttpRequest.js +4 -2
  52. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  53. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  54. package/Libraries/ReactNative/RendererImplementation.js +26 -4
  55. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
  56. package/Libraries/Renderer/shims/ReactNativeTypes.js +9 -4
  57. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  58. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  59. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +11 -0
  60. package/Libraries/StyleSheet/StyleSheetTypes.js +14 -2
  61. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  62. package/Libraries/StyleSheet/processFilter.js +4 -4
  63. package/Libraries/Text/Text.js +7 -6
  64. package/Libraries/Text/Text.win32.js +7 -6
  65. package/Libraries/Text/TextNativeComponent.js +7 -0
  66. package/Libraries/Text/TextNativeComponent.win32.js +7 -0
  67. package/Libraries/Utilities/Appearance.js +65 -73
  68. package/Libraries/Utilities/DevLoadingView.js +2 -4
  69. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  70. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  71. package/Libraries/Utilities/useColorScheme.js +3 -3
  72. package/Libraries/WebSocket/WebSocket.js +1 -1
  73. package/flow/jest.js +2 -2
  74. package/index.js +2 -1
  75. package/index.win32.js +2 -1
  76. package/jest/mockModal.js +1 -3
  77. package/jest/mockScrollView.js +1 -1
  78. package/jest/renderer.js +2 -2
  79. package/jest/setup.js +8 -12
  80. package/overrides.json +12 -12
  81. package/package.json +14 -14
  82. package/src/private/{core/components → components}/HScrollViewNativeComponents.js +8 -8
  83. package/src/private/{core/components → components}/VScrollViewNativeComponents.js +7 -7
  84. package/src/private/{core/components → components}/useSyncOnScroll.js +2 -2
  85. package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -10
  86. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +16 -3
  87. package/src/private/hooks/DebouncedEffectImplementation.js +148 -0
  88. package/src/private/hooks/useDebouncedEffect.js +23 -0
  89. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +5 -4
  90. package/src/private/setup/setUpDOM.js +28 -0
  91. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  92. package/src/private/setup/setUpMutationObserver.js +26 -0
  93. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  94. package/src/private/specs/modules/NativeAppearance.js +3 -3
  95. package/src/private/specs/modules/NativeDebuggerSessionObserver.js +23 -0
  96. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  97. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  98. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  99. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  100. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  101. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  102. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  103. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  104. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  105. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  106. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  107. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  108. package/src/private/webapis/performance/LongTasks.js +39 -0
  109. package/src/private/webapis/performance/Performance.js +22 -9
  110. package/src/private/webapis/performance/PerformanceEntry.js +35 -17
  111. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  112. package/src/private/webapis/performance/RawPerformanceEntry.js +19 -1
  113. package/src/private/webapis/performance/UserTiming.js +17 -12
  114. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  115. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  116. package/types/experimental.d.ts +10 -2
  117. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  118. package/Libraries/Core/setUpMutationObserver.js +0 -16
  119. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  120. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  121. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  122. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  123. package/src/private/core/setUpDOM.js +0 -18
  124. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  125. /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 (log.level === 'warn' && global.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__) {
200
- // Under Fusebox, don't report warnings to LogBox.
201
- showFuseboxWarningsMigrationMessageOnce();
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, strict, verify} = getRuntimeConfig?.(name) ?? {
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
- if (strict) {
96
- const validationOutput = StaticViewConfigValidator.validate(
97
- name,
98
- nativeViewConfig,
99
- staticViewConfig,
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(...REQUEST_EVENTS): any) {
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): any) {
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 '../../Renderer/shims/ReactFabric';
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 ReactFabricType from '../../Renderer/shims/ReactFabric';
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 ReactFabric: ReactFabricType;
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 (ReactFabric == null) {
82
- ReactFabric = require('../../Renderer/shims/ReactFabric');
81
+ if (RendererProxy == null) {
82
+ RendererProxy = require('../../ReactNative/RendererProxy');
83
83
  }
84
- return ReactFabric.getNodeFromInternalInstanceHandle(
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 {HostComponent} from '../Renderer/shims/ReactNativeTypes';
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 {Element, ElementRef, ElementType} from 'react';
17
+ import type {ElementRef, ElementType} from 'react';
14
18
 
15
19
  import {
16
20
  onCaughtError,
17
21
  onRecoverableError,
18
22
  onUncaughtError,
19
- } from '../Core/ErrorHandlers';
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: Element<ElementType>,
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<<4405023a5d82ddc01db31d8eb46a7aa0>>
10
+ * @generated SignedSource<<89361333bb6b688486e35849a9c669a6>>
11
11
  */
12
12
 
13
- import type {ElementRef, ElementType, Element, AbstractComponent} from 'react';
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: Element<ElementType>,
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: Element<ElementType>,
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/core/composeStyles';
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/core/composeStyles';
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<{