mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
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:
committed by
Facebook GitHub Bot
parent
ec27141b93
commit
5c8d95b4e2
@@ -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;
|
||||
|
||||
@@ -8,16 +8,24 @@
|
||||
* @flow
|
||||
*/
|
||||
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
HostComponent,
|
||||
PartialViewConfig,
|
||||
} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
|
||||
import type {ViewProps as Props} from '../View/ViewPropTypes';
|
||||
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
|
||||
uiViewClassName: 'RCTScrollContentView',
|
||||
bubblingEventTypes: {},
|
||||
directEventTypes: {},
|
||||
validAttributes: {},
|
||||
};
|
||||
|
||||
const ScrollContentViewNativeComponent: HostComponent<Props> =
|
||||
NativeComponentRegistry.get<Props>('RCTScrollContentView', () => ({
|
||||
uiViewClassName: 'RCTScrollContentView',
|
||||
bubblingEventTypes: {},
|
||||
directEventTypes: {},
|
||||
validAttributes: {},
|
||||
}));
|
||||
NativeComponentRegistry.get<Props>(
|
||||
'RCTScrollContentView',
|
||||
() => __INTERNAL_VIEW_CONFIG,
|
||||
);
|
||||
|
||||
export default ScrollContentViewNativeComponent;
|
||||
|
||||
@@ -9,12 +9,15 @@
|
||||
*/
|
||||
|
||||
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';
|
||||
import {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfigIgnore';
|
||||
import Platform from '../../Utilities/Platform';
|
||||
|
||||
const RCTScrollViewViewConfig =
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
||||
Platform.OS === 'android'
|
||||
? {
|
||||
uiViewClassName: 'RCTScrollView',
|
||||
@@ -153,7 +156,7 @@ const RCTScrollViewViewConfig =
|
||||
const ScrollViewNativeComponent: HostComponent<Props> =
|
||||
NativeComponentRegistry.get<Props>(
|
||||
'RCTScrollView',
|
||||
() => RCTScrollViewViewConfig,
|
||||
() => __INTERNAL_VIEW_CONFIG,
|
||||
);
|
||||
|
||||
export default ScrollViewNativeComponent;
|
||||
|
||||
@@ -17,7 +17,10 @@ import type {
|
||||
Int32,
|
||||
WithDefault,
|
||||
} from '../../Types/CodegenTypes';
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
HostComponent,
|
||||
PartialViewConfig,
|
||||
} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
TextStyleProp,
|
||||
ViewStyleProp,
|
||||
@@ -593,123 +596,125 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
||||
supportedCommands: ['focus', 'blur', 'setTextAndSelection'],
|
||||
});
|
||||
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
|
||||
uiViewClassName: 'AndroidTextInput',
|
||||
bubblingEventTypes: {
|
||||
topBlur: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onBlur',
|
||||
captured: 'onBlurCapture',
|
||||
},
|
||||
},
|
||||
topEndEditing: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onEndEditing',
|
||||
captured: 'onEndEditingCapture',
|
||||
},
|
||||
},
|
||||
topFocus: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onFocus',
|
||||
captured: 'onFocusCapture',
|
||||
},
|
||||
},
|
||||
topKeyPress: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onKeyPress',
|
||||
captured: 'onKeyPressCapture',
|
||||
},
|
||||
},
|
||||
topSubmitEditing: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onSubmitEditing',
|
||||
captured: 'onSubmitEditingCapture',
|
||||
},
|
||||
},
|
||||
topTextInput: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onTextInput',
|
||||
captured: 'onTextInputCapture',
|
||||
},
|
||||
},
|
||||
},
|
||||
directEventTypes: {
|
||||
topScroll: {
|
||||
registrationName: 'onScroll',
|
||||
},
|
||||
},
|
||||
validAttributes: {
|
||||
maxFontSizeMultiplier: true,
|
||||
adjustsFontSizeToFit: true,
|
||||
minimumFontScale: true,
|
||||
autoFocus: true,
|
||||
placeholder: true,
|
||||
inlineImagePadding: true,
|
||||
contextMenuHidden: true,
|
||||
textShadowColor: {process: require('../../StyleSheet/processColor')},
|
||||
maxLength: true,
|
||||
selectTextOnFocus: true,
|
||||
textShadowRadius: true,
|
||||
underlineColorAndroid: {
|
||||
process: require('../../StyleSheet/processColor'),
|
||||
},
|
||||
textDecorationLine: true,
|
||||
blurOnSubmit: true,
|
||||
textAlignVertical: true,
|
||||
fontStyle: true,
|
||||
textShadowOffset: true,
|
||||
selectionColor: {process: require('../../StyleSheet/processColor')},
|
||||
selection: true,
|
||||
placeholderTextColor: {process: require('../../StyleSheet/processColor')},
|
||||
importantForAutofill: true,
|
||||
lineHeight: true,
|
||||
textTransform: true,
|
||||
returnKeyType: true,
|
||||
keyboardType: true,
|
||||
multiline: true,
|
||||
color: {process: require('../../StyleSheet/processColor')},
|
||||
autoComplete: true,
|
||||
numberOfLines: true,
|
||||
letterSpacing: true,
|
||||
returnKeyLabel: true,
|
||||
fontSize: true,
|
||||
onKeyPress: true,
|
||||
cursorColor: {process: require('../../StyleSheet/processColor')},
|
||||
text: true,
|
||||
showSoftInputOnFocus: true,
|
||||
textAlign: true,
|
||||
autoCapitalize: true,
|
||||
autoCorrect: true,
|
||||
caretHidden: true,
|
||||
secureTextEntry: true,
|
||||
textBreakStrategy: true,
|
||||
onScroll: true,
|
||||
onContentSizeChange: true,
|
||||
disableFullscreenUI: true,
|
||||
includeFontPadding: true,
|
||||
fontWeight: true,
|
||||
fontFamily: true,
|
||||
allowFontScaling: true,
|
||||
onSelectionChange: true,
|
||||
mostRecentEventCount: true,
|
||||
inlineImageLeft: true,
|
||||
editable: true,
|
||||
fontVariant: true,
|
||||
borderBottomRightRadius: true,
|
||||
borderBottomColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderRadius: true,
|
||||
borderRightColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderTopRightRadius: true,
|
||||
borderStyle: true,
|
||||
borderBottomLeftRadius: true,
|
||||
borderLeftColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderTopLeftRadius: true,
|
||||
borderTopColor: {process: require('../../StyleSheet/processColor')},
|
||||
},
|
||||
};
|
||||
|
||||
let AndroidTextInputNativeComponent = NativeComponentRegistry.get<NativeProps>(
|
||||
'AndroidTextInput',
|
||||
() => ({
|
||||
uiViewClassName: 'AndroidTextInput',
|
||||
bubblingEventTypes: {
|
||||
topBlur: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onBlur',
|
||||
captured: 'onBlurCapture',
|
||||
},
|
||||
},
|
||||
topEndEditing: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onEndEditing',
|
||||
captured: 'onEndEditingCapture',
|
||||
},
|
||||
},
|
||||
topFocus: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onFocus',
|
||||
captured: 'onFocusCapture',
|
||||
},
|
||||
},
|
||||
topKeyPress: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onKeyPress',
|
||||
captured: 'onKeyPressCapture',
|
||||
},
|
||||
},
|
||||
topSubmitEditing: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onSubmitEditing',
|
||||
captured: 'onSubmitEditingCapture',
|
||||
},
|
||||
},
|
||||
topTextInput: {
|
||||
phasedRegistrationNames: {
|
||||
bubbled: 'onTextInput',
|
||||
captured: 'onTextInputCapture',
|
||||
},
|
||||
},
|
||||
},
|
||||
directEventTypes: {
|
||||
topScroll: {
|
||||
registrationName: 'onScroll',
|
||||
},
|
||||
},
|
||||
validAttributes: {
|
||||
maxFontSizeMultiplier: true,
|
||||
adjustsFontSizeToFit: true,
|
||||
minimumFontScale: true,
|
||||
autoFocus: true,
|
||||
placeholder: true,
|
||||
inlineImagePadding: true,
|
||||
contextMenuHidden: true,
|
||||
textShadowColor: {process: require('../../StyleSheet/processColor')},
|
||||
maxLength: true,
|
||||
selectTextOnFocus: true,
|
||||
textShadowRadius: true,
|
||||
underlineColorAndroid: {
|
||||
process: require('../../StyleSheet/processColor'),
|
||||
},
|
||||
textDecorationLine: true,
|
||||
blurOnSubmit: true,
|
||||
textAlignVertical: true,
|
||||
fontStyle: true,
|
||||
textShadowOffset: true,
|
||||
selectionColor: {process: require('../../StyleSheet/processColor')},
|
||||
selection: true,
|
||||
placeholderTextColor: {process: require('../../StyleSheet/processColor')},
|
||||
importantForAutofill: true,
|
||||
lineHeight: true,
|
||||
textTransform: true,
|
||||
returnKeyType: true,
|
||||
keyboardType: true,
|
||||
multiline: true,
|
||||
color: {process: require('../../StyleSheet/processColor')},
|
||||
autoComplete: true,
|
||||
numberOfLines: true,
|
||||
letterSpacing: true,
|
||||
returnKeyLabel: true,
|
||||
fontSize: true,
|
||||
onKeyPress: true,
|
||||
cursorColor: {process: require('../../StyleSheet/processColor')},
|
||||
text: true,
|
||||
showSoftInputOnFocus: true,
|
||||
textAlign: true,
|
||||
autoCapitalize: true,
|
||||
autoCorrect: true,
|
||||
caretHidden: true,
|
||||
secureTextEntry: true,
|
||||
textBreakStrategy: true,
|
||||
onScroll: true,
|
||||
onContentSizeChange: true,
|
||||
disableFullscreenUI: true,
|
||||
includeFontPadding: true,
|
||||
fontWeight: true,
|
||||
fontFamily: true,
|
||||
allowFontScaling: true,
|
||||
onSelectionChange: true,
|
||||
mostRecentEventCount: true,
|
||||
inlineImageLeft: true,
|
||||
editable: true,
|
||||
fontVariant: true,
|
||||
borderBottomRightRadius: true,
|
||||
borderBottomColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderRadius: true,
|
||||
borderRightColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderTopRightRadius: true,
|
||||
borderStyle: true,
|
||||
borderBottomLeftRadius: true,
|
||||
borderLeftColor: {process: require('../../StyleSheet/processColor')},
|
||||
borderTopLeftRadius: true,
|
||||
borderTopColor: {process: require('../../StyleSheet/processColor')},
|
||||
},
|
||||
}),
|
||||
() => __INTERNAL_VIEW_CONFIG,
|
||||
);
|
||||
|
||||
// flowlint-next-line unclear-type:off
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
HostComponent,
|
||||
PartialViewConfig,
|
||||
} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
||||
import type {TextInputNativeCommands} from './TextInputNativeCommands';
|
||||
import RCTTextInputViewConfig from './RCTTextInputViewConfig';
|
||||
@@ -22,15 +25,20 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
||||
supportedCommands: ['focus', 'blur', 'setTextAndSelection'],
|
||||
});
|
||||
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
|
||||
uiViewClassName: 'RCTMultilineTextInputView',
|
||||
...RCTTextInputViewConfig,
|
||||
validAttributes: {
|
||||
...RCTTextInputViewConfig.validAttributes,
|
||||
dataDetectorTypes: true,
|
||||
},
|
||||
};
|
||||
|
||||
const MultilineTextInputNativeComponent: HostComponent<mixed> =
|
||||
NativeComponentRegistry.get<mixed>('RCTMultilineTextInputView', () => ({
|
||||
uiViewClassName: 'RCTMultilineTextInputView',
|
||||
...RCTTextInputViewConfig,
|
||||
validAttributes: {
|
||||
...RCTTextInputViewConfig.validAttributes,
|
||||
dataDetectorTypes: true,
|
||||
},
|
||||
}));
|
||||
NativeComponentRegistry.get<mixed>(
|
||||
'RCTMultilineTextInputView',
|
||||
() => __INTERNAL_VIEW_CONFIG,
|
||||
);
|
||||
|
||||
// flowlint-next-line unclear-type:off
|
||||
export default ((MultilineTextInputNativeComponent: any): HostComponent<mixed>);
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
HostComponent,
|
||||
PartialViewConfig,
|
||||
} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
||||
import type {TextInputNativeCommands} from './TextInputNativeCommands';
|
||||
import RCTTextInputViewConfig from './RCTTextInputViewConfig';
|
||||
@@ -22,11 +25,16 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
||||
supportedCommands: ['focus', 'blur', 'setTextAndSelection'],
|
||||
});
|
||||
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
|
||||
uiViewClassName: 'RCTSinglelineTextInputView',
|
||||
...RCTTextInputViewConfig,
|
||||
};
|
||||
|
||||
const SinglelineTextInputNativeComponent: HostComponent<mixed> =
|
||||
NativeComponentRegistry.get<mixed>('RCTSinglelineTextInputView', () => ({
|
||||
uiViewClassName: 'RCTSinglelineTextInputView',
|
||||
...RCTTextInputViewConfig,
|
||||
}));
|
||||
NativeComponentRegistry.get<mixed>(
|
||||
'RCTSinglelineTextInputView',
|
||||
() => __INTERNAL_VIEW_CONFIG,
|
||||
);
|
||||
|
||||
// flowlint-next-line unclear-type:off
|
||||
export default ((SinglelineTextInputNativeComponent: any): HostComponent<mixed>);
|
||||
|
||||
@@ -9,14 +9,17 @@
|
||||
*/
|
||||
|
||||
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
|
||||
import {type HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
HostComponent,
|
||||
PartialViewConfig,
|
||||
} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
||||
import {type ViewProps as Props} from './ViewPropTypes';
|
||||
import Platform from '../../Utilities/Platform';
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
const ViewPartialViewConfig =
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
||||
Platform.OS === 'android'
|
||||
? {
|
||||
uiViewClassName: 'RCTView',
|
||||
@@ -78,7 +81,7 @@ const ViewPartialViewConfig =
|
||||
};
|
||||
|
||||
const ViewNativeComponent: HostComponent<Props> =
|
||||
NativeComponentRegistry.get<Props>('RCTView', () => ViewPartialViewConfig);
|
||||
NativeComponentRegistry.get<Props>('RCTView', () => __INTERNAL_VIEW_CONFIG);
|
||||
|
||||
interface NativeCommands {
|
||||
+hotspotUpdate: (
|
||||
|
||||
@@ -13,7 +13,10 @@ import type {ImageProps} from './ImageProps';
|
||||
import type {ViewProps} from '../Components/View/ViewPropTypes';
|
||||
import * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';
|
||||
import {ConditionallyIgnoredEventHandlers} from '../NativeComponent/ViewConfigIgnore';
|
||||
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
HostComponent,
|
||||
PartialViewConfig,
|
||||
} from '../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
ColorValue,
|
||||
DangerouslyImpreciseStyle,
|
||||
@@ -38,7 +41,7 @@ type Props = $ReadOnly<{
|
||||
loadingIndicatorSrc?: ?string,
|
||||
}>;
|
||||
|
||||
const ImageViewViewConfig =
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
||||
Platform.OS === 'android'
|
||||
? {
|
||||
uiViewClassName: 'RCTImageView',
|
||||
@@ -138,6 +141,9 @@ const ImageViewViewConfig =
|
||||
};
|
||||
|
||||
const ImageViewNativeComponent: HostComponent<Props> =
|
||||
NativeComponentRegistry.get<Props>('RCTImageView', () => ImageViewViewConfig);
|
||||
NativeComponentRegistry.get<Props>(
|
||||
'RCTImageView',
|
||||
() => __INTERNAL_VIEW_CONFIG,
|
||||
);
|
||||
|
||||
export default ImageViewNativeComponent;
|
||||
|
||||
@@ -10,7 +10,10 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
HostComponent,
|
||||
PartialViewConfig,
|
||||
} from '../Renderer/shims/ReactNativeTypes';
|
||||
import type {ViewProps} from '../Components/View/ViewPropTypes';
|
||||
import type {ImageResizeMode} from './ImageResizeMode';
|
||||
import * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';
|
||||
@@ -24,19 +27,24 @@ type NativeProps = $ReadOnly<{
|
||||
headers?: ?{[string]: string},
|
||||
}>;
|
||||
|
||||
const TextInlineImage: HostComponent<NativeProps> =
|
||||
NativeComponentRegistry.get<NativeProps>('RCTTextInlineImage', () => ({
|
||||
uiViewClassName: 'RCTTextInlineImage',
|
||||
bubblingEventTypes: {},
|
||||
directEventTypes: {},
|
||||
validAttributes: {
|
||||
resizeMode: true,
|
||||
src: true,
|
||||
tintColor: {
|
||||
process: require('../StyleSheet/processColor'),
|
||||
},
|
||||
headers: true,
|
||||
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
|
||||
uiViewClassName: 'RCTTextInlineImage',
|
||||
bubblingEventTypes: {},
|
||||
directEventTypes: {},
|
||||
validAttributes: {
|
||||
resizeMode: true,
|
||||
src: true,
|
||||
tintColor: {
|
||||
process: require('../StyleSheet/processColor'),
|
||||
},
|
||||
}));
|
||||
headers: true,
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = TextInlineImage;
|
||||
const TextInlineImage: HostComponent<NativeProps> =
|
||||
NativeComponentRegistry.get<NativeProps>(
|
||||
'RCTTextInlineImage',
|
||||
() => __INTERNAL_VIEW_CONFIG,
|
||||
);
|
||||
|
||||
export default TextInlineImage;
|
||||
|
||||
Reference in New Issue
Block a user