Make remaining FBiOS/FB4A components export SVCs via __INTERNAL_VIEW_CONFIG

Summary:
The static ViewConfig codegen generates the static ViewConfig inside the JavaScript module [under an exported constant](https://github.com/facebook/react-native/blob/a0a2958cdac767f50084c2d5bee6cf224ffb9db3/packages/react-native-codegen/src/generators/components/GenerateViewConfigJs.js#L127-L129):

```
export const __INTERNAL_VIEW_CONFIG = VIEW_CONFIG;
export default NativeComponentRegistry.get(nativeComponentName, () => __INTERNAL_VIEW_CONFIG);
```

This exported constant allows us to build a test page that requires all components, and compares their static ViewConfigs with their native ViewConfig.

This diff makes components with hand-written static ViewConfigs also export this __INTERNAL_VIEW_CONFIG const.

Changelog: [Internal]

Reviewed By: p-sun

Differential Revision: D34541868

fbshipit-source-id: f55dd3f1b161038baaf84cbbf75c1f4041c34647
This commit is contained in:
Ramanpreet Nara
2022-03-01 16:27:52 -08:00
committed by Facebook GitHub Bot
parent ec27141b93
commit 5c8d95b4e2
9 changed files with 256 additions and 199 deletions
@@ -9,46 +9,54 @@
*/
import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
import type {
HostComponent,
PartialViewConfig,
} from '../../Renderer/shims/ReactNativeTypes';
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
uiViewClassName: 'AndroidHorizontalScrollView',
bubblingEventTypes: {},
directEventTypes: {},
validAttributes: {
decelerationRate: true,
disableIntervalMomentum: true,
endFillColor: {process: require('../../StyleSheet/processColor')},
fadingEdgeLength: true,
nestedScrollEnabled: true,
overScrollMode: true,
pagingEnabled: true,
persistentScrollbar: true,
scrollEnabled: true,
scrollPerfTag: true,
sendMomentumEvents: true,
showsHorizontalScrollIndicator: true,
snapToAlignment: true,
snapToEnd: true,
snapToInterval: true,
snapToStart: true,
snapToOffsets: true,
contentOffset: true,
borderBottomLeftRadius: true,
borderBottomRightRadius: true,
borderRadius: true,
borderStyle: true,
borderRightColor: {process: require('../../StyleSheet/processColor')},
borderColor: {process: require('../../StyleSheet/processColor')},
borderBottomColor: {process: require('../../StyleSheet/processColor')},
borderTopLeftRadius: true,
borderTopColor: {process: require('../../StyleSheet/processColor')},
removeClippedSubviews: true,
borderTopRightRadius: true,
borderLeftColor: {process: require('../../StyleSheet/processColor')},
},
};
const AndroidHorizontalScrollViewNativeComponent: HostComponent<Props> =
NativeComponentRegistry.get<Props>('AndroidHorizontalScrollView', () => ({
uiViewClassName: 'AndroidHorizontalScrollView',
bubblingEventTypes: {},
directEventTypes: {},
validAttributes: {
decelerationRate: true,
disableIntervalMomentum: true,
endFillColor: {process: require('../../StyleSheet/processColor')},
fadingEdgeLength: true,
nestedScrollEnabled: true,
overScrollMode: true,
pagingEnabled: true,
persistentScrollbar: true,
scrollEnabled: true,
scrollPerfTag: true,
sendMomentumEvents: true,
showsHorizontalScrollIndicator: true,
snapToAlignment: true,
snapToEnd: true,
snapToInterval: true,
snapToStart: true,
snapToOffsets: true,
contentOffset: true,
borderBottomLeftRadius: true,
borderBottomRightRadius: true,
borderRadius: true,
borderStyle: true,
borderRightColor: {process: require('../../StyleSheet/processColor')},
borderColor: {process: require('../../StyleSheet/processColor')},
borderBottomColor: {process: require('../../StyleSheet/processColor')},
borderTopLeftRadius: true,
borderTopColor: {process: require('../../StyleSheet/processColor')},
removeClippedSubviews: true,
borderTopRightRadius: true,
borderLeftColor: {process: require('../../StyleSheet/processColor')},
},
}));
NativeComponentRegistry.get<Props>(
'AndroidHorizontalScrollView',
() => __INTERNAL_VIEW_CONFIG,
);
export default AndroidHorizontalScrollViewNativeComponent;