diff --git a/example/CustomActions.js b/example/CustomActions.js index 006aa9467..f525b43cd 100644 --- a/example/CustomActions.js +++ b/example/CustomActions.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { Modal, @@ -182,7 +183,7 @@ const styles = StyleSheet.create({ }); CustomActions.contextTypes = { - actionSheet: React.PropTypes.func, + actionSheet: PropTypes.func, }; CustomActions.defaultProps = { @@ -195,9 +196,9 @@ CustomActions.defaultProps = { }; CustomActions.propTypes = { - onSend: React.PropTypes.func, - options: React.PropTypes.object, - icon: React.PropTypes.func, + onSend: PropTypes.func, + options: PropTypes.object, + icon: PropTypes.func, containerStyle: ViewPropTypes.style, wrapperStyle: ViewPropTypes.style, iconTextStyle: Text.propTypes.style, diff --git a/example/CustomView.js b/example/CustomView.js index a5db696aa..345d8cc64 100644 --- a/example/CustomView.js +++ b/example/CustomView.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { Linking, @@ -61,7 +62,7 @@ CustomView.defaultProps = { }; CustomView.propTypes = { - currentMessage: React.PropTypes.object, + currentMessage: PropTypes.object, containerStyle: ViewPropTypes.style, mapViewStyle: ViewPropTypes.style, }; diff --git a/package.json b/package.json index ee09f7548..5d606ea9e 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@expo/react-native-action-sheet": "cribspot/react-native-action-sheet#b422c54f26d30b9e85eb14a882ea9cec38600730", "md5": "2.2.1", "moment": "2.18.1", + "prop-types": "^15.5.10", "react-native-communications": "2.2.1", "react-native-invertible-scroll-view": "1.0.0", "react-native-lightbox": "oblador/react-native-lightbox#c84a8543d4511fe6a44c3d7820747c9c1bddd875", diff --git a/src/Actions.js b/src/Actions.js index dc939ab0a..b0962c902 100644 --- a/src/Actions.js +++ b/src/Actions.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { StyleSheet, @@ -87,7 +88,7 @@ const styles = StyleSheet.create({ }); Actions.contextTypes = { - actionSheet: React.PropTypes.func, + actionSheet: PropTypes.func, }; Actions.defaultProps = { @@ -100,11 +101,11 @@ Actions.defaultProps = { }; Actions.propTypes = { - onSend: React.PropTypes.func, - options: React.PropTypes.object, - optionTintColor: React.PropTypes.string, - icon: React.PropTypes.func, - onPressActionButton: React.PropTypes.func, + onSend: PropTypes.func, + options: PropTypes.object, + optionTintColor: PropTypes.string, + icon: PropTypes.func, + onPressActionButton: PropTypes.func, containerStyle: ViewPropTypes.style, iconTextStyle: Text.propTypes.style, }; diff --git a/src/Avatar.js b/src/Avatar.js index ab26873e6..d7692bb40 100644 --- a/src/Avatar.js +++ b/src/Avatar.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from "react"; import {Image, StyleSheet, View, ViewPropTypes} from "react-native"; import GiftedAvatar from "./GiftedAvatar"; @@ -36,7 +37,7 @@ export default class Avatar extends React.Component { ); } - + return ( @@ -92,20 +93,20 @@ Avatar.defaultProps = { }; Avatar.propTypes = { - renderAvatarOnTop: React.PropTypes.bool, - position: React.PropTypes.oneOf(['left', 'right']), - currentMessage: React.PropTypes.object, - nextMessage: React.PropTypes.object, - onPressAvatar: React.PropTypes.func, - containerStyle: React.PropTypes.shape({ + renderAvatarOnTop: PropTypes.bool, + position: PropTypes.oneOf(['left', 'right']), + currentMessage: PropTypes.object, + nextMessage: PropTypes.object, + onPressAvatar: PropTypes.func, + containerStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), - imageStyle: React.PropTypes.shape({ + imageStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), //TODO: remove in next major release - isSameDay: React.PropTypes.func, - isSameUser: React.PropTypes.func + isSameDay: PropTypes.func, + isSameUser: PropTypes.func }; diff --git a/src/Bubble.js b/src/Bubble.js index 790030903..c00528dac 100644 --- a/src/Bubble.js +++ b/src/Bubble.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { Text, @@ -197,7 +198,7 @@ const styles = { }; Bubble.contextTypes = { - actionSheet: React.PropTypes.func, + actionSheet: PropTypes.func, }; Bubble.defaultProps = { @@ -227,38 +228,38 @@ Bubble.defaultProps = { }; Bubble.propTypes = { - touchableProps: React.PropTypes.object, - onLongPress: React.PropTypes.func, - renderMessageImage: React.PropTypes.func, - renderMessageText: React.PropTypes.func, - renderCustomView: React.PropTypes.func, - renderTime: React.PropTypes.func, - position: React.PropTypes.oneOf(['left', 'right']), - currentMessage: React.PropTypes.object, - nextMessage: React.PropTypes.object, - previousMessage: React.PropTypes.object, - containerStyle: React.PropTypes.shape({ + touchableProps: PropTypes.object, + onLongPress: PropTypes.func, + renderMessageImage: PropTypes.func, + renderMessageText: PropTypes.func, + renderCustomView: PropTypes.func, + renderTime: PropTypes.func, + position: PropTypes.oneOf(['left', 'right']), + currentMessage: PropTypes.object, + nextMessage: PropTypes.object, + previousMessage: PropTypes.object, + containerStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), - wrapperStyle: React.PropTypes.shape({ + wrapperStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), - bottomContainerStyle: React.PropTypes.shape({ + bottomContainerStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), tickStyle: Text.propTypes.style, - containerToNextStyle: React.PropTypes.shape({ + containerToNextStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), - containerToPreviousStyle: React.PropTypes.shape({ + containerToPreviousStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), //TODO: remove in next major release - isSameDay: React.PropTypes.func, - isSameUser: React.PropTypes.func, + isSameDay: PropTypes.func, + isSameUser: PropTypes.func, }; diff --git a/src/Composer.js b/src/Composer.js index 99ee6ab86..805bafde5 100644 --- a/src/Composer.js +++ b/src/Composer.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { Platform, @@ -80,14 +81,14 @@ Composer.defaultProps = { }; Composer.propTypes = { - onChange: React.PropTypes.func, - composerHeight: React.PropTypes.number, - text: React.PropTypes.string, - placeholder: React.PropTypes.string, - placeholderTextColor: React.PropTypes.string, - textInputProps: React.PropTypes.object, - onTextChanged: React.PropTypes.func, - onInputSizeChanged: React.PropTypes.func, - multiline: React.PropTypes.bool, + onChange: PropTypes.func, + composerHeight: PropTypes.number, + text: PropTypes.string, + placeholder: PropTypes.string, + placeholderTextColor: PropTypes.string, + textInputProps: PropTypes.object, + onTextChanged: PropTypes.func, + onInputSizeChanged: PropTypes.func, + multiline: PropTypes.bool, textInputStyle: TextInput.propTypes.style, }; diff --git a/src/Day.js b/src/Day.js index 785916aa4..28f5b4b4e 100644 --- a/src/Day.js +++ b/src/Day.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { StyleSheet, @@ -51,7 +52,7 @@ const styles = StyleSheet.create({ }); Day.contextTypes = { - getLocale: React.PropTypes.func, + getLocale: PropTypes.func, }; Day.defaultProps = { @@ -69,12 +70,12 @@ Day.defaultProps = { }; Day.propTypes = { - currentMessage: React.PropTypes.object, - previousMessage: React.PropTypes.object, + currentMessage: PropTypes.object, + previousMessage: PropTypes.object, containerStyle: ViewPropTypes.style, wrapperStyle: ViewPropTypes.style, textStyle: Text.propTypes.style, //TODO: remove in next major release - isSameDay: React.PropTypes.func, - isSameUser: React.PropTypes.func, + isSameDay: PropTypes.func, + isSameUser: PropTypes.func, }; diff --git a/src/GiftedAvatar.js b/src/GiftedAvatar.js index b359b6c39..705637fc4 100644 --- a/src/GiftedAvatar.js +++ b/src/GiftedAvatar.js @@ -1,6 +1,7 @@ /* ** This component will be published in a separate package */ +import PropTypes from 'prop-types'; import React from 'react'; import { Image, @@ -154,8 +155,8 @@ GiftedAvatar.defaultProps = { }; GiftedAvatar.propTypes = { - user: React.PropTypes.object, - onPress: React.PropTypes.func, + user: PropTypes.object, + onPress: PropTypes.func, avatarStyle: Image.propTypes.style, textStyle: Text.propTypes.style, }; diff --git a/src/GiftedChat.js b/src/GiftedChat.js index 052082584..f8aaadd63 100644 --- a/src/GiftedChat.js +++ b/src/GiftedChat.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { Animated, @@ -468,8 +469,8 @@ const styles = StyleSheet.create({ }); GiftedChat.childContextTypes = { - actionSheet: React.PropTypes.func, - getLocale: React.PropTypes.func, + actionSheet: PropTypes.func, + getLocale: PropTypes.func, }; GiftedChat.defaultProps = { @@ -514,36 +515,36 @@ GiftedChat.defaultProps = { }; GiftedChat.propTypes = { - messages: React.PropTypes.array, - onSend: React.PropTypes.func, - onInputTextChanged: React.PropTypes.func, - loadEarlier: React.PropTypes.bool, - onLoadEarlier: React.PropTypes.func, - locale: React.PropTypes.string, - isAnimated: React.PropTypes.bool, - renderAccessory: React.PropTypes.func, - renderActions: React.PropTypes.func, - renderAvatar: React.PropTypes.func, - renderBubble: React.PropTypes.func, - renderFooter: React.PropTypes.func, - renderChatFooter: React.PropTypes.func, - renderMessageText: React.PropTypes.func, - renderMessageImage: React.PropTypes.func, - renderComposer: React.PropTypes.func, - renderCustomView: React.PropTypes.func, - renderDay: React.PropTypes.func, - renderInputToolbar: React.PropTypes.func, - renderLoadEarlier: React.PropTypes.func, - renderLoading: React.PropTypes.func, - renderMessage: React.PropTypes.func, - renderSend: React.PropTypes.func, - renderTime: React.PropTypes.func, - user: React.PropTypes.object, - bottomOffset: React.PropTypes.number, - minInputToolbarHeight: React.PropTypes.number, - isLoadingEarlier: React.PropTypes.bool, - messageIdGenerator: React.PropTypes.func, - keyboardShouldPersistTaps: React.PropTypes.oneOf(['always', 'never', 'handled']), + messages: PropTypes.array, + onSend: PropTypes.func, + onInputTextChanged: PropTypes.func, + loadEarlier: PropTypes.bool, + onLoadEarlier: PropTypes.func, + locale: PropTypes.string, + isAnimated: PropTypes.bool, + renderAccessory: PropTypes.func, + renderActions: PropTypes.func, + renderAvatar: PropTypes.func, + renderBubble: PropTypes.func, + renderFooter: PropTypes.func, + renderChatFooter: PropTypes.func, + renderMessageText: PropTypes.func, + renderMessageImage: PropTypes.func, + renderComposer: PropTypes.func, + renderCustomView: PropTypes.func, + renderDay: PropTypes.func, + renderInputToolbar: PropTypes.func, + renderLoadEarlier: PropTypes.func, + renderLoading: PropTypes.func, + renderMessage: PropTypes.func, + renderSend: PropTypes.func, + renderTime: PropTypes.func, + user: PropTypes.object, + bottomOffset: PropTypes.number, + minInputToolbarHeight: PropTypes.number, + isLoadingEarlier: PropTypes.bool, + messageIdGenerator: PropTypes.func, + keyboardShouldPersistTaps: PropTypes.oneOf(['always', 'never', 'handled']), }; export { diff --git a/src/InputToolbar.js b/src/InputToolbar.js index d0b7064d1..c7093463c 100644 --- a/src/InputToolbar.js +++ b/src/InputToolbar.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { StyleSheet, @@ -89,11 +90,11 @@ InputToolbar.defaultProps = { }; InputToolbar.propTypes = { - renderAccessory: React.PropTypes.func, - renderActions: React.PropTypes.func, - renderSend: React.PropTypes.func, - renderComposer: React.PropTypes.func, - onPressActionButton: React.PropTypes.func, + renderAccessory: PropTypes.func, + renderActions: PropTypes.func, + renderSend: PropTypes.func, + renderComposer: PropTypes.func, + onPressActionButton: PropTypes.func, containerStyle: ViewPropTypes.style, primaryStyle: ViewPropTypes.style, accessoryStyle: ViewPropTypes.style, diff --git a/src/LoadEarlier.js b/src/LoadEarlier.js index 9ff26aaa8..6f5bad6dd 100644 --- a/src/LoadEarlier.js +++ b/src/LoadEarlier.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { ActivityIndicator, @@ -92,9 +93,9 @@ LoadEarlier.defaultProps = { }; LoadEarlier.propTypes = { - onLoadEarlier: React.PropTypes.func, - isLoadingEarlier: React.PropTypes.bool, - label: React.PropTypes.string, + onLoadEarlier: PropTypes.func, + isLoadingEarlier: PropTypes.bool, + label: PropTypes.string, containerStyle: ViewPropTypes.style, wrapperStyle: ViewPropTypes.style, textStyle: Text.propTypes.style, diff --git a/src/Message.js b/src/Message.js index ef2c42896..16baae08a 100644 --- a/src/Message.js +++ b/src/Message.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { View, @@ -99,15 +100,15 @@ Message.defaultProps = { }; Message.propTypes = { - renderAvatar: React.PropTypes.func, - renderBubble: React.PropTypes.func, - renderDay: React.PropTypes.func, - position: React.PropTypes.oneOf(['left', 'right']), - currentMessage: React.PropTypes.object, - nextMessage: React.PropTypes.object, - previousMessage: React.PropTypes.object, - user: React.PropTypes.object, - containerStyle: React.PropTypes.shape({ + renderAvatar: PropTypes.func, + renderBubble: PropTypes.func, + renderDay: PropTypes.func, + position: PropTypes.oneOf(['left', 'right']), + currentMessage: PropTypes.object, + nextMessage: PropTypes.object, + previousMessage: PropTypes.object, + user: PropTypes.object, + containerStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), diff --git a/src/MessageContainer.js b/src/MessageContainer.js index 6f655d9ee..71036a5e1 100644 --- a/src/MessageContainer.js +++ b/src/MessageContainer.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { @@ -169,10 +170,10 @@ MessageContainer.defaultProps = { }; MessageContainer.propTypes = { - messages: React.PropTypes.array, - user: React.PropTypes.object, - renderFooter: React.PropTypes.func, - renderMessage: React.PropTypes.func, - onLoadEarlier: React.PropTypes.func, - listViewProps: React.PropTypes.object, + messages: PropTypes.array, + user: PropTypes.object, + renderFooter: PropTypes.func, + renderMessage: PropTypes.func, + onLoadEarlier: PropTypes.func, + listViewProps: PropTypes.object, }; diff --git a/src/MessageImage.js b/src/MessageImage.js index 6fad07842..b2af72e9d 100644 --- a/src/MessageImage.js +++ b/src/MessageImage.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { Image, @@ -57,9 +58,9 @@ MessageImage.defaultProps = { }; MessageImage.propTypes = { - currentMessage: React.PropTypes.object, + currentMessage: PropTypes.object, containerStyle: ViewPropTypes.style, imageStyle: Image.propTypes.style, - imageProps: React.PropTypes.object, - lightboxProps: React.PropTypes.object, + imageProps: PropTypes.object, + lightboxProps: PropTypes.object, }; diff --git a/src/MessageText.js b/src/MessageText.js index dd28e9e3e..c2cc37f34 100644 --- a/src/MessageText.js +++ b/src/MessageText.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { Linking, @@ -104,7 +105,7 @@ const styles = { }; MessageText.contextTypes = { - actionSheet: React.PropTypes.func, + actionSheet: PropTypes.func, }; MessageText.defaultProps = { @@ -118,17 +119,17 @@ MessageText.defaultProps = { }; MessageText.propTypes = { - position: React.PropTypes.oneOf(['left', 'right']), - currentMessage: React.PropTypes.object, - containerStyle: React.PropTypes.shape({ + position: PropTypes.oneOf(['left', 'right']), + currentMessage: PropTypes.object, + containerStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), - textStyle: React.PropTypes.shape({ + textStyle: PropTypes.shape({ left: Text.propTypes.style, right: Text.propTypes.style, }), - linkStyle: React.PropTypes.shape({ + linkStyle: PropTypes.shape({ left: Text.propTypes.style, right: Text.propTypes.style, }), diff --git a/src/Send.js b/src/Send.js index facf71fcf..ef23c6dd4 100644 --- a/src/Send.js +++ b/src/Send.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { StyleSheet, @@ -57,9 +58,9 @@ Send.defaultProps = { }; Send.propTypes = { - text: React.PropTypes.string, - onSend: React.PropTypes.func, - label: React.PropTypes.string, + text: PropTypes.string, + onSend: PropTypes.func, + label: PropTypes.string, containerStyle: ViewPropTypes.style, textStyle: Text.propTypes.style, }; diff --git a/src/Time.js b/src/Time.js index 703f01a2b..de3227d01 100644 --- a/src/Time.js +++ b/src/Time.js @@ -1,3 +1,4 @@ +import PropTypes from 'prop-types'; import React from 'react'; import { StyleSheet, @@ -54,7 +55,7 @@ const styles = { }; Time.contextTypes = { - getLocale: React.PropTypes.func, + getLocale: PropTypes.func, }; Time.defaultProps = { @@ -67,13 +68,13 @@ Time.defaultProps = { }; Time.propTypes = { - position: React.PropTypes.oneOf(['left', 'right']), - currentMessage: React.PropTypes.object, - containerStyle: React.PropTypes.shape({ + position: PropTypes.oneOf(['left', 'right']), + currentMessage: PropTypes.object, + containerStyle: PropTypes.shape({ left: ViewPropTypes.style, right: ViewPropTypes.style, }), - textStyle: React.PropTypes.shape({ + textStyle: PropTypes.shape({ left: Text.propTypes.style, right: Text.propTypes.style, }),