import isPropValid from '@emotion/is-prop-valid'; const forwardableProps: Record = { // primitive props abortPrefetch: true, accessibilityComponentType: true, accessibilityElementsHidden: true, accessibilityLabel: true, accessibilityLiveRegion: true, accessibilityRole: true, accessibilityStates: true, accessibilityTraits: true, accessibilityViewIsModal: true, accessible: true, adjustsFontSizeToFit: true, allowFontScaling: true, blurRadius: true, capInsets: true, collapsable: true, defaultSource: true, disabled: true, ellipsizeMode: true, fadeDuration: true, getSize: true, onPress: true, hitSlop: true, importantForAccessibility: true, loadingIndicatorSource: true, Methods: true, minimumFontScale: true, nativeID: true, needsOffscreenAlphaCompositing: true, numberOfLines: true, pointerEvents: true, prefetch: true, pressRetentionOffset: true, queryCache: true, removeClippedSubviews: true, renderToHardwareTextureAndroid: true, resizeMethod: true, resizeMode: true, resolveAssetSource: true, selectable: true, selectionColor: true, shouldRasterizeIOS: true, source: true, suppressHighlighting: true, testID: true, textBreakStrategy: true, children: true, style: true, maxWidth: false, }; export function testPickPropsOnPrimitiveComponent(prop: string) { return forwardableProps[prop] === true || isPropValid(prop); } export function testPickPropsOnOtherComponent(prop: string) { return prop !== 'theme' && prop !== 'innerRef'; }