yeet
This commit is contained in:
152
node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js
generated
vendored
Normal file
152
node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js
generated
vendored
Normal file
@ -0,0 +1,152 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const Platform = require('../../Utilities/Platform');
|
||||
const React = require('react');
|
||||
const StyleSheet = require('../../StyleSheet/StyleSheet');
|
||||
const View = require('../View/View');
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {ViewProps} from '../View/ViewPropTypes';
|
||||
import type {ColorValue} from '../../StyleSheet/StyleSheetTypes';
|
||||
|
||||
const PlatformActivityIndicator =
|
||||
Platform.OS === 'android'
|
||||
? require('../ProgressBarAndroid/ProgressBarAndroid')
|
||||
: require('./ActivityIndicatorViewNativeComponent').default;
|
||||
|
||||
const GRAY = '#999999';
|
||||
|
||||
type IndicatorSize = number | 'small' | 'large';
|
||||
|
||||
type IOSProps = $ReadOnly<{|
|
||||
/**
|
||||
* Whether the indicator should hide when not animating (true by default).
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#hideswhenstopped
|
||||
*/
|
||||
hidesWhenStopped?: ?boolean,
|
||||
|}>;
|
||||
type Props = $ReadOnly<{|
|
||||
...ViewProps,
|
||||
...IOSProps,
|
||||
|
||||
/**
|
||||
* Whether to show the indicator (true, the default) or hide it (false).
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#animating
|
||||
*/
|
||||
animating?: ?boolean,
|
||||
|
||||
/**
|
||||
* The foreground color of the spinner (default is gray).
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#color
|
||||
*/
|
||||
color?: ?ColorValue,
|
||||
|
||||
/**
|
||||
* Size of the indicator (default is 'small').
|
||||
* Passing a number to the size prop is only supported on Android.
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#size
|
||||
*/
|
||||
size?: ?IndicatorSize,
|
||||
|}>;
|
||||
|
||||
/**
|
||||
* Displays a circular loading indicator.
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html
|
||||
*/
|
||||
const ActivityIndicator = (props: Props, forwardedRef?: any) => {
|
||||
const {onLayout, style, size, ...restProps} = props;
|
||||
let sizeStyle;
|
||||
let sizeProp;
|
||||
|
||||
switch (size) {
|
||||
case 'small':
|
||||
sizeStyle = styles.sizeSmall;
|
||||
sizeProp = 'small';
|
||||
break;
|
||||
case 'large':
|
||||
sizeStyle = styles.sizeLarge;
|
||||
sizeProp = 'large';
|
||||
break;
|
||||
default:
|
||||
sizeStyle = {height: props.size, width: props.size};
|
||||
break;
|
||||
}
|
||||
|
||||
const nativeProps = {
|
||||
...restProps,
|
||||
ref: forwardedRef,
|
||||
style: sizeStyle,
|
||||
size: sizeProp,
|
||||
};
|
||||
|
||||
const androidProps = {
|
||||
styleAttr: 'Normal',
|
||||
indeterminate: true,
|
||||
};
|
||||
|
||||
return (
|
||||
<View
|
||||
onLayout={onLayout}
|
||||
style={StyleSheet.compose(
|
||||
styles.container,
|
||||
style,
|
||||
)}>
|
||||
{Platform.OS === 'android' ? (
|
||||
// $FlowFixMe Flow doesn't know when this is the android component
|
||||
<PlatformActivityIndicator {...nativeProps} {...androidProps} />
|
||||
) : (
|
||||
/* $FlowFixMe(>=0.106.0 site=react_native_android_fb) This comment
|
||||
* suppresses an error found when Flow v0.106 was deployed. To see the
|
||||
* error, delete this comment and run Flow. */
|
||||
<PlatformActivityIndicator {...nativeProps} />
|
||||
)}
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
const ActivityIndicatorWithRef: React.AbstractComponent<
|
||||
Props,
|
||||
HostComponent<mixed>,
|
||||
> = React.forwardRef(ActivityIndicator);
|
||||
ActivityIndicatorWithRef.displayName = 'ActivityIndicator';
|
||||
|
||||
/* $FlowFixMe(>=0.89.0 site=react_native_fb) This comment suppresses an error
|
||||
* found when Flow v0.89 was deployed. To see the error, delete this comment
|
||||
* and run Flow. */
|
||||
ActivityIndicatorWithRef.defaultProps = {
|
||||
animating: true,
|
||||
color: Platform.OS === 'ios' ? GRAY : null,
|
||||
hidesWhenStopped: true,
|
||||
size: 'small',
|
||||
};
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
},
|
||||
sizeSmall: {
|
||||
width: 20,
|
||||
height: 20,
|
||||
},
|
||||
sizeLarge: {
|
||||
width: 36,
|
||||
height: 36,
|
||||
},
|
||||
});
|
||||
|
||||
module.exports = ActivityIndicatorWithRef;
|
56
node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js
generated
vendored
Normal file
56
node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js
generated
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import type {WithDefault} from '../../Types/CodegenTypes';
|
||||
|
||||
import type {ColorValue} from '../../StyleSheet/StyleSheetTypes';
|
||||
import type {ViewProps} from '../View/ViewPropTypes';
|
||||
|
||||
import codegenNativeComponent from '../../Utilities/codegenNativeComponent';
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
|
||||
type NativeProps = $ReadOnly<{|
|
||||
...ViewProps,
|
||||
|
||||
/**
|
||||
* Whether the indicator should hide when not animating (true by default).
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#hideswhenstopped
|
||||
*/
|
||||
hidesWhenStopped?: WithDefault<boolean, false>,
|
||||
|
||||
/**
|
||||
* Whether to show the indicator (true, the default) or hide it (false).
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#animating
|
||||
*/
|
||||
animating?: WithDefault<boolean, false>,
|
||||
|
||||
/**
|
||||
* The foreground color of the spinner (default is gray).
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#color
|
||||
*/
|
||||
color?: ?ColorValue,
|
||||
|
||||
/**
|
||||
* Size of the indicator (default is 'small').
|
||||
* Passing a number to the size prop is only supported on Android.
|
||||
*
|
||||
* See https://reactnative.dev/docs/activityindicator.html#size
|
||||
*/
|
||||
size?: WithDefault<'small' | 'large', 'small'>,
|
||||
|}>;
|
||||
|
||||
export default (codegenNativeComponent<NativeProps>('ActivityIndicatorView', {
|
||||
paperComponentName: 'RCTActivityIndicatorView',
|
||||
}): HostComponent<NativeProps>);
|
Reference in New Issue
Block a user