@office-iss/react-native-win32 0.0.0-canary.264 → 0.0.0-canary.266
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 +1 -1
- package/CHANGELOG.json +61 -7
- package/CHANGELOG.md +28 -8
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
- package/Libraries/Animated/animations/Animation.js +1 -4
- package/Libraries/Animated/createAnimatedComponent.js +13 -0
- package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
- package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +81 -37
- package/Libraries/Animated/nodes/AnimatedStyle.js +104 -39
- package/Libraries/Animated/nodes/AnimatedTransform.js +55 -22
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
- package/Libraries/Animated/useAnimatedProps.js +38 -20
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -1
- package/Libraries/Components/ScrollView/ScrollView.js +12 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +19 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +17 -1
- package/Libraries/Components/TextInput/TextInput.js +17 -1
- package/Libraries/Components/TextInput/TextInput.win32.js +17 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Image/AssetSourceResolver.js +12 -1
- package/Libraries/Modal/Modal.d.ts +7 -0
- package/Libraries/Modal/Modal.js +9 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +7 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +11 -2
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +1 -1
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
- package/Libraries/ReactNative/AppRegistry.js +2 -6
- package/Libraries/ReactNative/getNativeComponentAttributes.js +4 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +102 -5
- package/Libraries/StyleSheet/StyleSheetTypes.js +9 -5
- package/Libraries/StyleSheet/processBoxShadow.js +5 -7
- package/Libraries/StyleSheet/processFilter.js +4 -4
- package/Libraries/Text/TextNativeComponent.js +0 -1
- package/Libraries/Utilities/HMRClient.js +5 -5
- package/overrides.json +6 -6
- package/package.json +21 -19
- package/src/private/animated/NativeAnimatedHelper.js +12 -8
- package/src/private/animated/NativeAnimatedHelper.win32.js +12 -8
- package/src/private/animated/useAnimatedPropsMemo.js +349 -0
- package/src/private/components/HScrollViewNativeComponents.js +9 -8
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +13 -9
- package/src/private/components/VScrollViewNativeComponents.js +9 -8
- package/src/private/featureflags/ReactNativeFeatureFlags.js +50 -22
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +7 -4
- package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
- package/types/experimental.d.ts +0 -105
- package/types/modules/Codegen.d.ts +6 -0
|
@@ -85,7 +85,9 @@ const ProgressBarAndroid = (
|
|
|
85
85
|
animating = true,
|
|
86
86
|
...restProps
|
|
87
87
|
}: ProgressBarAndroidProps,
|
|
88
|
-
forwardedRef: ?React.
|
|
88
|
+
forwardedRef: ?React.RefSetter<
|
|
89
|
+
React.ElementRef<typeof ProgressBarAndroidNativeComponent>,
|
|
90
|
+
>,
|
|
89
91
|
) => {
|
|
90
92
|
return (
|
|
91
93
|
<ProgressBarAndroidNativeComponent
|
|
@@ -1931,19 +1931,22 @@ function createRefForwarder<TNativeInstance, TPublicInstance>(
|
|
|
1931
1931
|
return state;
|
|
1932
1932
|
}
|
|
1933
1933
|
|
|
1934
|
+
// TODO: After upgrading to React 19, remove `forwardRef` from this component.
|
|
1934
1935
|
// NOTE: This wrapper component is necessary because `ScrollView` is a class
|
|
1935
1936
|
// component and we need to map `ref` to a differently named prop. This can be
|
|
1936
1937
|
// removed when `ScrollView` is a functional component.
|
|
1937
|
-
function Wrapper(
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1938
|
+
const Wrapper = React.forwardRef(function Wrapper(
|
|
1939
|
+
props: Props,
|
|
1940
|
+
ref: ?React.RefSetter<PublicScrollViewInstance>,
|
|
1941
|
+
): React.Node {
|
|
1942
|
+
return ref == null ? (
|
|
1943
|
+
<ScrollView {...props} />
|
|
1944
|
+
) : (
|
|
1945
|
+
<ScrollView {...props} scrollViewRef={ref} />
|
|
1946
|
+
);
|
|
1947
|
+
});
|
|
1946
1948
|
Wrapper.displayName = 'ScrollView';
|
|
1949
|
+
// $FlowExpectedError[prop-missing]
|
|
1947
1950
|
Wrapper.Context = ScrollViewContext;
|
|
1948
1951
|
|
|
1949
1952
|
module.exports = ((Wrapper: $FlowFixMe): React.AbstractComponent<
|
|
@@ -160,6 +160,9 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
160
160
|
snapToInterval: true,
|
|
161
161
|
snapToOffsets: true,
|
|
162
162
|
snapToStart: true,
|
|
163
|
+
verticalScrollIndicatorInsets: {
|
|
164
|
+
diff: require('../../Utilities/differ/insetsDiffer'),
|
|
165
|
+
},
|
|
163
166
|
zoomScale: true,
|
|
164
167
|
...ConditionallyIgnoredEventHandlers({
|
|
165
168
|
onScrollBeginDrag: true,
|
|
@@ -85,8 +85,15 @@ const RCTTextInputViewConfig = {
|
|
|
85
85
|
topContentSizeChange: {
|
|
86
86
|
registrationName: 'onContentSizeChange',
|
|
87
87
|
},
|
|
88
|
+
topChangeSync: {
|
|
89
|
+
registrationName: 'onChangeSync',
|
|
90
|
+
},
|
|
91
|
+
topKeyPressSync: {
|
|
92
|
+
registrationName: 'onKeyPressSync',
|
|
93
|
+
},
|
|
88
94
|
},
|
|
89
95
|
validAttributes: {
|
|
96
|
+
dynamicTypeRamp: true,
|
|
90
97
|
fontSize: true,
|
|
91
98
|
fontWeight: true,
|
|
92
99
|
fontVariant: true,
|
|
@@ -144,12 +151,15 @@ const RCTTextInputViewConfig = {
|
|
|
144
151
|
showSoftInputOnFocus: true,
|
|
145
152
|
autoFocus: true,
|
|
146
153
|
lineBreakStrategyIOS: true,
|
|
154
|
+
lineBreakModeIOS: true,
|
|
147
155
|
smartInsertDelete: true,
|
|
148
156
|
...ConditionallyIgnoredEventHandlers({
|
|
149
157
|
onChange: true,
|
|
150
158
|
onSelectionChange: true,
|
|
151
159
|
onContentSizeChange: true,
|
|
152
160
|
onScroll: true,
|
|
161
|
+
onChangeSync: true,
|
|
162
|
+
onKeyPressSync: true,
|
|
153
163
|
}),
|
|
154
164
|
},
|
|
155
165
|
};
|
|
@@ -255,6 +255,9 @@ export interface TextInputIOSProps {
|
|
|
255
255
|
* - `'birthdateDay'` (iOS 17+)
|
|
256
256
|
* - `'birthdateMonth'` (iOS 17+)
|
|
257
257
|
* - `'birthdateYear'` (iOS 17+)
|
|
258
|
+
* - `'dateTime'` (iOS 15+)
|
|
259
|
+
* - `'flightNumber'` (iOS 15+)
|
|
260
|
+
* - `'shipmentTrackingNumber'` (iOS 15+)
|
|
258
261
|
*
|
|
259
262
|
*/
|
|
260
263
|
textContentType?:
|
|
@@ -299,6 +302,9 @@ export interface TextInputIOSProps {
|
|
|
299
302
|
| 'birthdateDay'
|
|
300
303
|
| 'birthdateMonth'
|
|
301
304
|
| 'birthdateYear'
|
|
305
|
+
| 'dateTime'
|
|
306
|
+
| 'flightNumber'
|
|
307
|
+
| 'shipmentTrackingNumber'
|
|
302
308
|
| undefined;
|
|
303
309
|
|
|
304
310
|
/**
|
|
@@ -316,6 +322,19 @@ export interface TextInputIOSProps {
|
|
|
316
322
|
| 'push-out'
|
|
317
323
|
| undefined;
|
|
318
324
|
|
|
325
|
+
/**
|
|
326
|
+
* Set line break mode on iOS.
|
|
327
|
+
* @platform ios
|
|
328
|
+
*/
|
|
329
|
+
lineBreakModeIOS?:
|
|
330
|
+
| 'wordWrapping'
|
|
331
|
+
| 'char'
|
|
332
|
+
| 'clip'
|
|
333
|
+
| 'head'
|
|
334
|
+
| 'middle'
|
|
335
|
+
| 'tail'
|
|
336
|
+
| undefined;
|
|
337
|
+
|
|
319
338
|
/**
|
|
320
339
|
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
321
340
|
* neither delete one or two spaces after a cut or delete operation.
|
|
@@ -198,7 +198,10 @@ export type TextContentType =
|
|
|
198
198
|
| 'birthdate'
|
|
199
199
|
| 'birthdateDay'
|
|
200
200
|
| 'birthdateMonth'
|
|
201
|
-
| 'birthdateYear'
|
|
201
|
+
| 'birthdateYear'
|
|
202
|
+
| 'dateTime'
|
|
203
|
+
| 'flightNumber'
|
|
204
|
+
| 'shipmentTrackingNumber';
|
|
202
205
|
|
|
203
206
|
export type enterKeyHintType =
|
|
204
207
|
| 'enter'
|
|
@@ -312,6 +315,19 @@ type IOSProps = $ReadOnly<{|
|
|
|
312
315
|
*/
|
|
313
316
|
lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
|
|
314
317
|
|
|
318
|
+
/**
|
|
319
|
+
* Set line break mode on iOS.
|
|
320
|
+
* @platform ios
|
|
321
|
+
*/
|
|
322
|
+
lineBreakModeIOS?: ?(
|
|
323
|
+
| 'wordWrapping'
|
|
324
|
+
| 'char'
|
|
325
|
+
| 'clip'
|
|
326
|
+
| 'head'
|
|
327
|
+
| 'middle'
|
|
328
|
+
| 'tail'
|
|
329
|
+
),
|
|
330
|
+
|
|
315
331
|
/**
|
|
316
332
|
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
317
333
|
* neither delete one or two spaces after a cut or delete operation.
|
|
@@ -238,7 +238,10 @@ export type TextContentType =
|
|
|
238
238
|
| 'birthdate'
|
|
239
239
|
| 'birthdateDay'
|
|
240
240
|
| 'birthdateMonth'
|
|
241
|
-
| 'birthdateYear'
|
|
241
|
+
| 'birthdateYear'
|
|
242
|
+
| 'dateTime'
|
|
243
|
+
| 'flightNumber'
|
|
244
|
+
| 'shipmentTrackingNumber';
|
|
242
245
|
|
|
243
246
|
export type enterKeyHintType =
|
|
244
247
|
// Cross Platform
|
|
@@ -358,6 +361,19 @@ type IOSProps = $ReadOnly<{|
|
|
|
358
361
|
*/
|
|
359
362
|
lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
|
|
360
363
|
|
|
364
|
+
/**
|
|
365
|
+
* Set line break mode on iOS.
|
|
366
|
+
* @platform ios
|
|
367
|
+
*/
|
|
368
|
+
lineBreakModeIOS?: ?(
|
|
369
|
+
| 'wordWrapping'
|
|
370
|
+
| 'char'
|
|
371
|
+
| 'clip'
|
|
372
|
+
| 'head'
|
|
373
|
+
| 'middle'
|
|
374
|
+
| 'tail'
|
|
375
|
+
),
|
|
376
|
+
|
|
361
377
|
/**
|
|
362
378
|
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
363
379
|
* neither delete one or two spaces after a cut or delete operation.
|
|
@@ -249,7 +249,10 @@ export type TextContentType =
|
|
|
249
249
|
| 'birthdate'
|
|
250
250
|
| 'birthdateDay'
|
|
251
251
|
| 'birthdateMonth'
|
|
252
|
-
| 'birthdateYear'
|
|
252
|
+
| 'birthdateYear'
|
|
253
|
+
| 'dateTime'
|
|
254
|
+
| 'flightNumber'
|
|
255
|
+
| 'shipmentTrackingNumber';
|
|
253
256
|
|
|
254
257
|
export type enterKeyHintType =
|
|
255
258
|
// Cross Platform
|
|
@@ -366,6 +369,19 @@ type IOSProps = $ReadOnly<{|
|
|
|
366
369
|
*/
|
|
367
370
|
lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
|
|
368
371
|
|
|
372
|
+
/**
|
|
373
|
+
* Set line break mode on iOS.
|
|
374
|
+
* @platform ios
|
|
375
|
+
*/
|
|
376
|
+
lineBreakModeIOS?: ?(
|
|
377
|
+
| 'wordWrapping'
|
|
378
|
+
| 'char'
|
|
379
|
+
| 'clip'
|
|
380
|
+
| 'head'
|
|
381
|
+
| 'middle'
|
|
382
|
+
| 'tail'
|
|
383
|
+
),
|
|
384
|
+
|
|
369
385
|
/**
|
|
370
386
|
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
371
387
|
* neither delete one or two spaces after a cut or delete operation.
|
|
@@ -44,7 +44,7 @@ type Props = $ReadOnly<{|
|
|
|
44
44
|
onHideUnderlay?: ?() => void,
|
|
45
45
|
testOnly_pressed?: ?boolean,
|
|
46
46
|
|
|
47
|
-
hostRef: React.
|
|
47
|
+
hostRef: React.RefSetter<React.ElementRef<typeof View>>,
|
|
48
48
|
|}>;
|
|
49
49
|
|
|
50
50
|
type ExtraStyles = $ReadOnly<{|
|
|
@@ -382,7 +382,7 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
382
382
|
}
|
|
383
383
|
|
|
384
384
|
const Touchable: React.AbstractComponent<
|
|
385
|
-
$ReadOnly<$Diff<Props, {
|
|
385
|
+
$ReadOnly<$Diff<Props, {|+hostRef: mixed|}>>,
|
|
386
386
|
React.ElementRef<typeof View>,
|
|
387
387
|
> = React.forwardRef((props, hostRef) => (
|
|
388
388
|
<TouchableHighlight {...props} hostRef={hostRef} />
|
|
@@ -120,7 +120,7 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
|
|
|
120
120
|
/**
|
|
121
121
|
* Filter
|
|
122
122
|
*/
|
|
123
|
-
|
|
123
|
+
filter: {process: processFilter},
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* MixBlendMode
|
|
@@ -135,7 +135,7 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
|
|
|
135
135
|
/*
|
|
136
136
|
* BoxShadow
|
|
137
137
|
*/
|
|
138
|
-
|
|
138
|
+
boxShadow: {process: processBoxShadow},
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* Linear Gradient
|
|
@@ -174,6 +174,10 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
|
|
|
174
174
|
borderTopStartRadius: true,
|
|
175
175
|
cursor: true,
|
|
176
176
|
opacity: true,
|
|
177
|
+
outlineColor: colorAttributes,
|
|
178
|
+
outlineOffset: true,
|
|
179
|
+
outlineStyle: true,
|
|
180
|
+
outlineWidth: true,
|
|
177
181
|
pointerEvents: true,
|
|
178
182
|
|
|
179
183
|
/**
|
|
@@ -53,6 +53,13 @@ function getAssetPathInDrawableFolder(asset: PackagerAsset): string {
|
|
|
53
53
|
return drawableFolder + '/' + fileName + '.' + asset.type;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Returns true if the asset can be loaded over the network.
|
|
58
|
+
*/
|
|
59
|
+
function assetSupportsNetworkLoads(asset: PackagerAsset): boolean {
|
|
60
|
+
return !(asset.type === 'xml' && Platform.OS === 'android');
|
|
61
|
+
}
|
|
62
|
+
|
|
56
63
|
class AssetSourceResolver {
|
|
57
64
|
serverUrl: ?string;
|
|
58
65
|
// where the jsbundle is being run from
|
|
@@ -67,7 +74,11 @@ class AssetSourceResolver {
|
|
|
67
74
|
}
|
|
68
75
|
|
|
69
76
|
isLoadedFromServer(): boolean {
|
|
70
|
-
return
|
|
77
|
+
return (
|
|
78
|
+
this.serverUrl != null &&
|
|
79
|
+
this.serverUrl !== '' &&
|
|
80
|
+
assetSupportsNetworkLoads(this.asset)
|
|
81
|
+
);
|
|
71
82
|
}
|
|
72
83
|
|
|
73
84
|
isLoadedFromFileSystem(): boolean {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import type * as React from 'react';
|
|
11
11
|
import {ViewProps} from '../Components/View/ViewPropTypes';
|
|
12
12
|
import {NativeSyntheticEvent} from '../Types/CoreEventTypes';
|
|
13
|
+
import {ColorValue} from '../StyleSheet/StyleSheet';
|
|
13
14
|
|
|
14
15
|
export interface ModalBaseProps {
|
|
15
16
|
/**
|
|
@@ -43,6 +44,12 @@ export interface ModalBaseProps {
|
|
|
43
44
|
* The `onShow` prop allows passing a function that will be called once the modal has been shown.
|
|
44
45
|
*/
|
|
45
46
|
onShow?: ((event: NativeSyntheticEvent<any>) => void) | undefined;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The `backdropColor` props sets the background color of the modal's container.
|
|
50
|
+
* Defaults to `white` if not provided and transparent is `false`. Ignored if `transparent` is `true`.
|
|
51
|
+
*/
|
|
52
|
+
backdropColor?: ColorValue | undefined;
|
|
46
53
|
}
|
|
47
54
|
|
|
48
55
|
export interface ModalPropsIOS {
|
package/Libraries/Modal/Modal.js
CHANGED
|
@@ -157,6 +157,12 @@ export type Props = $ReadOnly<{|
|
|
|
157
157
|
* See https://reactnative.dev/docs/modal#onorientationchange
|
|
158
158
|
*/
|
|
159
159
|
onOrientationChange?: ?DirectEventHandler<OrientationChangeEvent>,
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* The `backdropColor` props sets the background color of the modal's container.
|
|
163
|
+
* Defaults to `white` if not provided and transparent is `false`. Ignored if `transparent` is `true`.
|
|
164
|
+
*/
|
|
165
|
+
backdropColor?: ?string,
|
|
160
166
|
|}>;
|
|
161
167
|
|
|
162
168
|
function confirmProps(props: Props) {
|
|
@@ -249,7 +255,9 @@ class Modal extends React.Component<Props, State> {
|
|
|
249
255
|
|
|
250
256
|
const containerStyles = {
|
|
251
257
|
backgroundColor:
|
|
252
|
-
this.props.transparent === true
|
|
258
|
+
this.props.transparent === true
|
|
259
|
+
? 'transparent'
|
|
260
|
+
: this.props.backdropColor ?? 'white',
|
|
253
261
|
};
|
|
254
262
|
|
|
255
263
|
let animationType = this.props.animationType || 'none';
|
|
@@ -169,10 +169,10 @@ const validAttributesForNonEventProps = {
|
|
|
169
169
|
experimental_backgroundImage: {
|
|
170
170
|
process: require('../StyleSheet/processBackgroundImage').default,
|
|
171
171
|
},
|
|
172
|
-
|
|
172
|
+
boxShadow: {
|
|
173
173
|
process: require('../StyleSheet/processBoxShadow').default,
|
|
174
174
|
},
|
|
175
|
-
|
|
175
|
+
filter: {
|
|
176
176
|
process: require('../StyleSheet/processFilter').default,
|
|
177
177
|
},
|
|
178
178
|
experimental_mixBlendMode: true,
|
|
@@ -268,6 +268,11 @@ const validAttributesForNonEventProps = {
|
|
|
268
268
|
borderLeftWidth: true,
|
|
269
269
|
borderRightWidth: true,
|
|
270
270
|
|
|
271
|
+
outlineColor: {process: require('../StyleSheet/processColor').default},
|
|
272
|
+
outlineOffset: true,
|
|
273
|
+
outlineStyle: true,
|
|
274
|
+
outlineWidth: true,
|
|
275
|
+
|
|
271
276
|
start: true,
|
|
272
277
|
end: true,
|
|
273
278
|
left: true,
|
|
@@ -198,6 +198,7 @@ const validAttributesForNonEventProps = {
|
|
|
198
198
|
testID: true,
|
|
199
199
|
backgroundColor: {process: require('../StyleSheet/processColor').default},
|
|
200
200
|
backfaceVisibility: true,
|
|
201
|
+
cursor: true,
|
|
201
202
|
opacity: true,
|
|
202
203
|
shadowColor: {process: require('../StyleSheet/processColor').default},
|
|
203
204
|
shadowOffset: {diff: require('../Utilities/differ/sizesDiffer')},
|
|
@@ -216,16 +217,18 @@ const validAttributesForNonEventProps = {
|
|
|
216
217
|
role: true,
|
|
217
218
|
borderRadius: true,
|
|
218
219
|
borderColor: {process: require('../StyleSheet/processColor').default},
|
|
220
|
+
borderBlockColor: {process: require('../StyleSheet/processColor').default},
|
|
219
221
|
borderCurve: true,
|
|
220
222
|
borderWidth: true,
|
|
223
|
+
borderBlockWidth: true,
|
|
221
224
|
borderStyle: true,
|
|
222
225
|
hitSlop: {diff: require('../Utilities/differ/insetsDiffer')},
|
|
223
226
|
collapsable: true,
|
|
224
227
|
collapsableChildren: true,
|
|
225
|
-
|
|
228
|
+
filter: {
|
|
226
229
|
process: require('../StyleSheet/processFilter').default,
|
|
227
230
|
},
|
|
228
|
-
|
|
231
|
+
boxShadow: {
|
|
229
232
|
process: require('../StyleSheet/processBoxShadow').default,
|
|
230
233
|
},
|
|
231
234
|
experimental_mixBlendMode: true,
|
|
@@ -240,9 +243,15 @@ const validAttributesForNonEventProps = {
|
|
|
240
243
|
borderLeftWidth: true,
|
|
241
244
|
borderLeftColor: {process: require('../StyleSheet/processColor').default},
|
|
242
245
|
borderStartWidth: true,
|
|
246
|
+
borderBlockStartWidth: true,
|
|
243
247
|
borderStartColor: {process: require('../StyleSheet/processColor').default},
|
|
248
|
+
borderBlockStartColor: {
|
|
249
|
+
process: require('../StyleSheet/processColor').default,
|
|
250
|
+
},
|
|
244
251
|
borderEndWidth: true,
|
|
252
|
+
borderBlockEndWidth: true,
|
|
245
253
|
borderEndColor: {process: require('../StyleSheet/processColor').default},
|
|
254
|
+
borderBlockEndColor: {process: require('../StyleSheet/processColor').default},
|
|
246
255
|
|
|
247
256
|
borderTopLeftRadius: true,
|
|
248
257
|
borderTopRightRadius: true,
|
|
@@ -225,7 +225,7 @@ const validAttributesForNonEventProps = {
|
|
|
225
225
|
experimental_filter: {
|
|
226
226
|
process: require('../StyleSheet/processFilter').default,
|
|
227
227
|
},
|
|
228
|
-
|
|
228
|
+
boxShadow: {
|
|
229
229
|
process: require('../StyleSheet/processBoxShadow').default,
|
|
230
230
|
},
|
|
231
231
|
experimental_mixBlendMode: true,
|
|
@@ -13,7 +13,7 @@ import type {RootTag} from '../Types/RootTagTypes';
|
|
|
13
13
|
import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
|
|
14
14
|
import type {DisplayModeType} from './DisplayMode';
|
|
15
15
|
|
|
16
|
-
import
|
|
16
|
+
import registerCallableModule from '../Core/registerCallableModule';
|
|
17
17
|
import BugReporting from '../BugReporting/BugReporting';
|
|
18
18
|
import createPerformanceLogger from '../Utilities/createPerformanceLogger';
|
|
19
19
|
import infoLog from '../Utilities/infoLog';
|
|
@@ -361,10 +361,6 @@ global.RN$SurfaceRegistry = {
|
|
|
361
361
|
setSurfaceProps: AppRegistry.setSurfaceProps,
|
|
362
362
|
};
|
|
363
363
|
|
|
364
|
-
|
|
365
|
-
console.log('Bridgeless mode is enabled');
|
|
366
|
-
} else {
|
|
367
|
-
BatchedBridge.registerCallableModule('AppRegistry', AppRegistry);
|
|
368
|
-
}
|
|
364
|
+
registerCallableModule('AppRegistry', AppRegistry);
|
|
369
365
|
|
|
370
366
|
module.exports = AppRegistry;
|
|
@@ -188,6 +188,10 @@ function getProcessorForType(typeName: string): ?(nextProp: any) => any {
|
|
|
188
188
|
case 'UIImage':
|
|
189
189
|
case 'RCTImageSource':
|
|
190
190
|
return resolveAssetSource;
|
|
191
|
+
case 'BoxShadowArray':
|
|
192
|
+
return processBoxShadow;
|
|
193
|
+
case 'FilterArray':
|
|
194
|
+
return processFilter;
|
|
191
195
|
// Android Types
|
|
192
196
|
case 'Color':
|
|
193
197
|
return processColor;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow strict
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<3eb929731c259569c7af3b6479e486fe>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import type {
|
|
@@ -234,8 +234,8 @@ export type ReactNativeType = {
|
|
|
234
234
|
): ?ElementRef<ElementType>,
|
|
235
235
|
unmountComponentAtNode(containerTag: number): void,
|
|
236
236
|
unmountComponentAtNodeAndRemoveContainer(containerTag: number): void,
|
|
237
|
-
unstable_batchedUpdates: <T>(fn: (T) => void, bookkeeping: T) => void,
|
|
238
|
-
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: SecretInternalsType,
|
|
237
|
+
+unstable_batchedUpdates: <T>(fn: (T) => void, bookkeeping: T) => void,
|
|
238
|
+
+__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: SecretInternalsType,
|
|
239
239
|
...
|
|
240
240
|
};
|
|
241
241
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow strict-local
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<83073425aa3f71ced2c8c51f25a25938>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
@@ -94,8 +94,8 @@ export function register(name: string, callback: () => ViewConfig): string {
|
|
|
94
94
|
* This configuration will be lazy-loaded from UIManager.
|
|
95
95
|
*/
|
|
96
96
|
export function get(name: string): ViewConfig {
|
|
97
|
-
let viewConfig;
|
|
98
|
-
if (
|
|
97
|
+
let viewConfig = viewConfigs.get(name);
|
|
98
|
+
if (viewConfig == null) {
|
|
99
99
|
const callback = viewConfigCallbacks.get(name);
|
|
100
100
|
if (typeof callback !== 'function') {
|
|
101
101
|
invariant(
|
|
@@ -110,15 +110,14 @@ export function get(name: string): ViewConfig {
|
|
|
110
110
|
);
|
|
111
111
|
}
|
|
112
112
|
viewConfig = callback();
|
|
113
|
+
invariant(viewConfig, 'View config not found for component `%s`', name);
|
|
114
|
+
|
|
113
115
|
processEventTypes(viewConfig);
|
|
114
116
|
viewConfigs.set(name, viewConfig);
|
|
115
117
|
|
|
116
118
|
// Clear the callback after the config is set so that
|
|
117
119
|
// we don't mask any errors during registration.
|
|
118
120
|
viewConfigCallbacks.set(name, null);
|
|
119
|
-
} else {
|
|
120
|
-
viewConfig = viewConfigs.get(name);
|
|
121
121
|
}
|
|
122
|
-
invariant(viewConfig, 'View config not found for name %s', name);
|
|
123
122
|
return viewConfig;
|
|
124
123
|
}
|