Skip to content

Commit

Permalink
StatusBar: Remove PropTypes (#21293)
Browse files Browse the repository at this point in the history
Summary:
Part of: react-native-community/discussions-and-proposals#29

This PR removes the remaining PropTypes from `StatusBar` and moves its flowtypes to its own definition.
Pull Request resolved: #21293

Differential Revision: D10012963

Pulled By: TheSavior

fbshipit-source-id: 7fb4e416eb49e7860809a3e2aaf157590908687d
  • Loading branch information
empyrical authored and facebook-github-bot committed Sep 24, 2018
1 parent 031037f commit cd1d3ce
Showing 1 changed file with 50 additions and 56 deletions.
106 changes: 50 additions & 56 deletions Libraries/Components/StatusBar/StatusBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
'use strict';

const React = require('React');
const PropTypes = require('prop-types');
const ColorPropType = require('ColorPropType');
const Platform = require('Platform');

const processColor = require('processColor');
Expand Down Expand Up @@ -55,9 +53,55 @@ export type StatusBarAnimation = $Enum<{
slide: string,
}>;

type DefaultProps = {
animated: boolean,
};
type AndroidProps = $ReadOnly<{|
/**
* The background color of the status bar.
* @platform android
*/
backgroundColor?: ?string,
/**
* If the status bar is translucent.
* When translucent is set to true, the app will draw under the status bar.
* This is useful when using a semi transparent status bar color.
*
* @platform android
*/
translucent?: ?boolean,
|}>;

type IOSProps = $ReadOnly<{|
/**
* If the network activity indicator should be visible.
*
* @platform ios
*/
networkActivityIndicatorVisible?: ?boolean,
/**
* The transition effect when showing and hiding the status bar using the `hidden`
* prop. Defaults to 'fade'.
*
* @platform ios
*/
showHideTransition?: ?('fade' | 'slide'),
|}>;

type Props = $ReadOnly<{|
...AndroidProps,
...IOSProps,
/**
* If the status bar is hidden.
*/
hidden?: ?boolean,
/**
* If the transition between status bar property changes should be animated.
* Supported for backgroundColor, barStyle and hidden.
*/
animated?: ?boolean,
/**
* Sets the color of the status bar text.
*/
barStyle?: ?('default' | 'light-content' | 'dark-content'),
|}>;

/**
* Merges the prop stack with the default values.
Expand Down Expand Up @@ -148,15 +192,7 @@ function createStackEntry(props: any): any {
*
* `currentHeight` (Android only) The height of the status bar.
*/
class StatusBar extends React.Component<{
hidden?: boolean,
animated?: boolean,
backgroundColor?: string,
translucent?: boolean,
barStyle?: 'default' | 'light-content' | 'dark-content',
networkActivityIndicatorVisible?: boolean,
showHideTransition?: 'fade' | 'slide',
}> {
class StatusBar extends React.Component<Props> {
static _propsStack = [];

static _defaultProps = createStackEntry({
Expand Down Expand Up @@ -261,48 +297,6 @@ class StatusBar extends React.Component<{
StatusBarManager.setTranslucent(translucent);
}

static propTypes = {
/**
* If the status bar is hidden.
*/
hidden: PropTypes.bool,
/**
* If the transition between status bar property changes should be animated.
* Supported for backgroundColor, barStyle and hidden.
*/
animated: PropTypes.bool,
/**
* The background color of the status bar.
* @platform android
*/
backgroundColor: ColorPropType,
/**
* If the status bar is translucent.
* When translucent is set to true, the app will draw under the status bar.
* This is useful when using a semi transparent status bar color.
*
* @platform android
*/
translucent: PropTypes.bool,
/**
* Sets the color of the status bar text.
*/
barStyle: PropTypes.oneOf(['default', 'light-content', 'dark-content']),
/**
* If the network activity indicator should be visible.
*
* @platform ios
*/
networkActivityIndicatorVisible: PropTypes.bool,
/**
* The transition effect when showing and hiding the status bar using the `hidden`
* prop. Defaults to 'fade'.
*
* @platform ios
*/
showHideTransition: PropTypes.oneOf(['fade', 'slide']),
};

static defaultProps = {
animated: false,
showHideTransition: 'fade',
Expand Down

0 comments on commit cd1d3ce

Please sign in to comment.