react-native-gifted-chat 0.16.3 → 1.0.0-beta-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc.js +21 -0
  3. package/README.md +18 -15
  4. package/jest.config.js +15 -0
  5. package/lib/Actions.d.ts +4 -10
  6. package/lib/Actions.js +27 -41
  7. package/lib/Actions.js.map +1 -1
  8. package/lib/Avatar.d.ts +5 -6
  9. package/lib/Avatar.js +29 -34
  10. package/lib/Avatar.js.map +1 -1
  11. package/lib/Bubble.d.ts +24 -20
  12. package/lib/Bubble.js +26 -19
  13. package/lib/Bubble.js.map +1 -1
  14. package/lib/Composer.d.ts +4 -24
  15. package/lib/Composer.js +22 -44
  16. package/lib/Composer.js.map +1 -1
  17. package/lib/Day.d.ts +5 -19
  18. package/lib/Day.js +14 -29
  19. package/lib/Day.js.map +1 -1
  20. package/lib/GiftedAvatar.js +9 -9
  21. package/lib/GiftedAvatar.js.map +1 -1
  22. package/lib/GiftedChat.d.ts +54 -42
  23. package/lib/GiftedChat.js +69 -42
  24. package/lib/GiftedChat.js.flow +8 -0
  25. package/lib/GiftedChat.js.map +1 -1
  26. package/lib/GiftedChatContext.d.ts +9 -0
  27. package/lib/GiftedChatContext.js +9 -0
  28. package/lib/GiftedChatContext.js.map +1 -0
  29. package/lib/InputToolbar.d.ts +13 -37
  30. package/lib/InputToolbar.js +27 -93
  31. package/lib/InputToolbar.js.map +1 -1
  32. package/lib/LoadEarlier.d.ts +3 -15
  33. package/lib/LoadEarlier.js +11 -36
  34. package/lib/LoadEarlier.js.map +1 -1
  35. package/lib/Message.d.ts +13 -10
  36. package/lib/Message.js +16 -14
  37. package/lib/Message.js.map +1 -1
  38. package/lib/MessageAudio.d.ts +1 -3
  39. package/lib/MessageAudio.js +11 -9
  40. package/lib/MessageAudio.js.map +1 -1
  41. package/lib/MessageContainer.d.ts +10 -13
  42. package/lib/MessageContainer.js +11 -48
  43. package/lib/MessageContainer.js.map +1 -1
  44. package/lib/MessageImage.d.ts +5 -14
  45. package/lib/MessageImage.js +11 -24
  46. package/lib/MessageImage.js.map +1 -1
  47. package/lib/MessageText.d.ts +4 -25
  48. package/lib/MessageText.js +77 -93
  49. package/lib/MessageText.js.map +1 -1
  50. package/lib/MessageVideo.d.ts +1 -3
  51. package/lib/MessageVideo.js +11 -9
  52. package/lib/MessageVideo.js.map +1 -1
  53. package/lib/Models.d.ts +5 -5
  54. package/lib/Models.js +1 -0
  55. package/lib/QuickReplies.d.ts +6 -27
  56. package/lib/QuickReplies.js +65 -97
  57. package/lib/QuickReplies.js.map +1 -1
  58. package/lib/Send.d.ts +5 -17
  59. package/lib/Send.js +15 -31
  60. package/lib/Send.js.map +1 -1
  61. package/lib/SystemMessage.d.ts +3 -12
  62. package/lib/SystemMessage.js +8 -19
  63. package/lib/SystemMessage.js.map +1 -1
  64. package/lib/Time.d.ts +4 -17
  65. package/lib/Time.js +30 -41
  66. package/lib/Time.js.map +1 -1
  67. package/lib/TypingIndicator.d.ts +0 -1
  68. package/lib/TypingIndicator.js +11 -11
  69. package/lib/TypingIndicator.js.map +1 -1
  70. package/lib/hooks/useUpdateLayoutEffect.d.ts +3 -2
  71. package/lib/hooks/useUpdateLayoutEffect.js +1 -1
  72. package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
  73. package/package.json +41 -67
@@ -1,9 +1,8 @@
1
1
  import PropTypes from 'prop-types';
2
- import React from 'react';
3
2
  import { TextProps, StyleProp, ViewStyle, TextStyle } from 'react-native';
4
3
  import { LeftRightStyle, IMessage } from './Models';
5
4
  export interface MessageTextProps<TMessage extends IMessage> {
6
- position: 'left' | 'right';
5
+ position?: 'left' | 'right';
7
6
  optionTitles?: string[];
8
7
  currentMessage?: TMessage;
9
8
  containerStyle?: LeftRightStyle<ViewStyle>;
@@ -13,24 +12,9 @@ export interface MessageTextProps<TMessage extends IMessage> {
13
12
  customTextStyle?: StyleProp<TextStyle>;
14
13
  parsePatterns?(linkStyle: TextStyle): any;
15
14
  }
16
- export default class MessageText<TMessage extends IMessage = IMessage> extends React.Component<MessageTextProps<TMessage>> {
17
- static contextTypes: {
18
- actionSheet: PropTypes.Requireable<(...args: any[]) => any>;
19
- };
20
- static defaultProps: {
21
- position: string;
22
- optionTitles: string[];
23
- currentMessage: {
24
- text: string;
25
- };
26
- containerStyle: {};
27
- textStyle: {};
28
- linkStyle: {};
29
- customTextStyle: {};
30
- textProps: {};
31
- parsePatterns: () => never[];
32
- };
33
- static propTypes: {
15
+ export declare function MessageText<TMessage extends IMessage = IMessage>({ currentMessage, optionTitles, position, containerStyle, textStyle, linkStyle: linkStyleProp, customTextStyle, parsePatterns, textProps, }: MessageTextProps<TMessage>): JSX.Element;
16
+ export declare namespace MessageText {
17
+ var propTypes: {
34
18
  position: PropTypes.Requireable<string>;
35
19
  optionTitles: PropTypes.Requireable<(string | null | undefined)[]>;
36
20
  currentMessage: PropTypes.Requireable<object>;
@@ -50,9 +34,4 @@ export default class MessageText<TMessage extends IMessage = IMessage> extends R
50
34
  textProps: PropTypes.Requireable<object>;
51
35
  customTextStyle: PropTypes.Requireable<number | boolean | object>;
52
36
  };
53
- shouldComponentUpdate(nextProps: MessageTextProps<TMessage>): boolean;
54
- onUrlPress: (url: string) => void;
55
- onPhonePress: (phone: string) => void;
56
- onEmailPress: (email: string) => void;
57
- render(): JSX.Element;
58
37
  }
@@ -5,15 +5,18 @@ import { Linking, StyleSheet, View, } from 'react-native';
5
5
  import ParsedText from 'react-native-parsed-text';
6
6
  import Communications from 'react-native-communications';
7
7
  import { StylePropType } from './utils';
8
+ import { useChatContext } from './GiftedChatContext';
8
9
  const WWW_URL_PATTERN = /^www\./i;
9
- const textStyle = {
10
- fontSize: 16,
11
- lineHeight: 20,
12
- marginTop: 5,
13
- marginBottom: 5,
14
- marginLeft: 10,
15
- marginRight: 10,
16
- };
10
+ const { textStyle } = StyleSheet.create({
11
+ textStyle: {
12
+ fontSize: 16,
13
+ lineHeight: 20,
14
+ marginTop: 5,
15
+ marginBottom: 5,
16
+ marginLeft: 10,
17
+ marginRight: 10,
18
+ },
19
+ });
17
20
  const styles = {
18
21
  left: StyleSheet.create({
19
22
  container: {},
@@ -39,96 +42,77 @@ const styles = {
39
42
  }),
40
43
  };
41
44
  const DEFAULT_OPTION_TITLES = ['Call', 'Text', 'Cancel'];
42
- export default class MessageText extends React.Component {
43
- constructor() {
44
- super(...arguments);
45
- this.onUrlPress = (url) => {
46
- // When someone sends a message that includes a website address beginning with "www." (omitting the scheme),
47
- // react-native-parsed-text recognizes it as a valid url, but Linking fails to open due to the missing scheme.
48
- if (WWW_URL_PATTERN.test(url)) {
49
- this.onUrlPress(`http://${url}`);
50
- }
51
- else {
52
- Linking.canOpenURL(url).then(supported => {
53
- if (!supported) {
54
- console.error('No handler for URL:', url);
55
- }
56
- else {
57
- Linking.openURL(url);
58
- }
59
- });
60
- }
61
- };
62
- this.onPhonePress = (phone) => {
63
- const { optionTitles } = this.props;
64
- const options = optionTitles && optionTitles.length > 0
65
- ? optionTitles.slice(0, 3)
66
- : DEFAULT_OPTION_TITLES;
67
- const cancelButtonIndex = options.length - 1;
68
- this.context.actionSheet().showActionSheetWithOptions({
69
- options,
70
- cancelButtonIndex,
71
- }, (buttonIndex) => {
72
- switch (buttonIndex) {
73
- case 0:
74
- Communications.phonecall(phone, true);
75
- break;
76
- case 1:
77
- Communications.text(phone);
78
- break;
79
- default:
80
- break;
45
+ export function MessageText({ currentMessage = {}, optionTitles = DEFAULT_OPTION_TITLES, position = 'left', containerStyle, textStyle, linkStyle: linkStyleProp, customTextStyle, parsePatterns = () => [], textProps, }) {
46
+ const { actionSheet } = useChatContext();
47
+ // TODO: React.memo
48
+ // const shouldComponentUpdate = (nextProps: MessageTextProps<TMessage>) => {
49
+ // return (
50
+ // !!currentMessage &&
51
+ // !!nextProps.currentMessage &&
52
+ // currentMessage.text !== nextProps.currentMessage.text
53
+ // )
54
+ // }
55
+ const onUrlPress = (url) => {
56
+ // When someone sends a message that includes a website address beginning with "www." (omitting the scheme),
57
+ // react-native-parsed-text recognizes it as a valid url, but Linking fails to open due to the missing scheme.
58
+ if (WWW_URL_PATTERN.test(url)) {
59
+ onUrlPress(`https://${url}`);
60
+ }
61
+ else {
62
+ Linking.canOpenURL(url).then(supported => {
63
+ if (!supported) {
64
+ console.error('No handler for URL:', url);
65
+ }
66
+ else {
67
+ Linking.openURL(url);
81
68
  }
82
69
  });
83
- };
84
- this.onEmailPress = (email) => Communications.email([email], null, null, null, null);
85
- }
86
- shouldComponentUpdate(nextProps) {
87
- return (!!this.props.currentMessage &&
88
- !!nextProps.currentMessage &&
89
- this.props.currentMessage.text !== nextProps.currentMessage.text);
90
- }
91
- render() {
92
- const linkStyle = [
93
- styles[this.props.position].link,
94
- this.props.linkStyle && this.props.linkStyle[this.props.position],
95
- ];
96
- return (<View style={[
97
- styles[this.props.position].container,
98
- this.props.containerStyle &&
99
- this.props.containerStyle[this.props.position],
70
+ }
71
+ };
72
+ const onPhonePress = (phone) => {
73
+ const options = optionTitles && optionTitles.length > 0
74
+ ? optionTitles.slice(0, 3)
75
+ : DEFAULT_OPTION_TITLES;
76
+ const cancelButtonIndex = options.length - 1;
77
+ actionSheet().showActionSheetWithOptions({
78
+ options,
79
+ cancelButtonIndex,
80
+ }, (buttonIndex) => {
81
+ switch (buttonIndex) {
82
+ case 0:
83
+ Communications.phonecall(phone, true);
84
+ break;
85
+ case 1:
86
+ Communications.text(phone);
87
+ break;
88
+ default:
89
+ break;
90
+ }
91
+ });
92
+ };
93
+ const onEmailPress = (email) => Communications.email([email], null, null, null, null);
94
+ const linkStyle = [
95
+ styles[position].link,
96
+ linkStyleProp && linkStyleProp[position],
97
+ ];
98
+ return (<View style={[
99
+ styles[position].container,
100
+ containerStyle && containerStyle[position],
100
101
  ]}>
101
- <ParsedText style={[
102
- styles[this.props.position].text,
103
- this.props.textStyle && this.props.textStyle[this.props.position],
104
- this.props.customTextStyle,
102
+ <ParsedText style={[
103
+ styles[position].text,
104
+ textStyle && textStyle[position],
105
+ customTextStyle,
105
106
  ]} parse={[
106
- ...this.props.parsePatterns(linkStyle),
107
- { type: 'url', style: linkStyle, onPress: this.onUrlPress },
108
- { type: 'phone', style: linkStyle, onPress: this.onPhonePress },
109
- { type: 'email', style: linkStyle, onPress: this.onEmailPress },
110
- ]} childrenProps={{ ...this.props.textProps }}>
111
- {this.props.currentMessage.text}
112
- </ParsedText>
113
- </View>);
114
- }
107
+ ...parsePatterns(linkStyle),
108
+ { type: 'url', style: linkStyle, onPress: onUrlPress },
109
+ { type: 'phone', style: linkStyle, onPress: onPhonePress },
110
+ { type: 'email', style: linkStyle, onPress: onEmailPress },
111
+ ]} childrenProps={{ ...textProps }}>
112
+ {currentMessage.text}
113
+ </ParsedText>
114
+ </View>);
115
115
  }
116
- MessageText.contextTypes = {
117
- actionSheet: PropTypes.func,
118
- };
119
- MessageText.defaultProps = {
120
- position: 'left',
121
- optionTitles: DEFAULT_OPTION_TITLES,
122
- currentMessage: {
123
- text: '',
124
- },
125
- containerStyle: {},
126
- textStyle: {},
127
- linkStyle: {},
128
- customTextStyle: {},
129
- textProps: {},
130
- parsePatterns: () => [],
131
- };
132
116
  MessageText.propTypes = {
133
117
  position: PropTypes.oneOf(['left', 'right']),
134
118
  optionTitles: PropTypes.arrayOf(PropTypes.string),
@@ -1 +1 @@
1
- {"version":3,"file":"MessageText.js","sourceRoot":"","sources":["../src/MessageText.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageText.js","sourceRoot":"","sources":["../src/MessageText.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,OAAO,EACP,UAAU,EACV,IAAI,GAKL,MAAM,cAAc,CAAA;AAErB,aAAa;AACb,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,cAAc,MAAM,6BAA6B,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,eAAe,GAAG,SAAS,CAAA;AAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;KAChB;CACF,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE,EAAE;QACb,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,GAAG,SAAS;SACb;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,kBAAkB,EAAE,WAAW;SAChC;KACF,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE,EAAE;QACb,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,GAAG,SAAS;SACb;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,kBAAkB,EAAE,WAAW;SAChC;KACF,CAAC;CACH,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AAcxD,MAAM,UAAU,WAAW,CAAuC,EAChE,cAAc,GAAG,EAAc,EAC/B,YAAY,GAAG,qBAAqB,EACpC,QAAQ,GAAG,MAAM,EACjB,cAAc,EACd,SAAS,EACT,SAAS,EAAE,aAAa,EACxB,eAAe,EACf,aAAa,GAAG,GAAG,EAAE,CAAC,EAAE,EACxB,SAAS,GACkB;IAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAA;IAExC,mBAAmB;IACnB,6EAA6E;IAC7E,aAAa;IACb,0BAA0B;IAC1B,oCAAoC;IACpC,4DAA4D;IAC5D,MAAM;IACN,IAAI;IAEJ,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QACjC,4GAA4G;QAC5G,8GAA8G;QAC9G,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC7B,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;SAC7B;aAAM;YACL,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACvC,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;iBAC1C;qBAAM;oBACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;iBACrB;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,MAAM,OAAO,GACX,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,qBAAqB,CAAA;QAC3B,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QAC5C,WAAW,EAAE,CAAC,0BAA0B,CACtC;YACE,OAAO;YACP,iBAAiB;SAClB,EACD,CAAC,WAAmB,EAAE,EAAE;YACtB,QAAQ,WAAW,EAAE;gBACnB,KAAK,CAAC;oBACJ,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;oBACrC,MAAK;gBACP,KAAK,CAAC;oBACJ,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAC1B,MAAK;gBACP;oBACE,MAAK;aACR;QACH,CAAC,CACF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CACrC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAEvD,MAAM,SAAS,GAAG;QAChB,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI;QACrB,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC;KACzC,CAAA;IACD,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS;YAC1B,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAEF;MAAA,CAAC,UAAU,CACT,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI;YACrB,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC;YAChC,eAAe;SAChB,CAAC,CACF,KAAK,CAAC,CAAC;YACL,GAAG,aAAc,CAAC,SAAsB,CAAC;YACzC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE;YACtD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;YAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;SAC3D,CAAC,CACF,aAAa,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAEhC;QAAA,CAAC,cAAe,CAAC,IAAI,CACvB;MAAA,EAAE,UAAU,CACd;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;AAED,WAAW,CAAC,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IACjD,cAAc,EAAE,SAAS,CAAC,MAAM;IAChC,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;QAC9B,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;KACrB,CAAC;IACF,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;QACzB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;KACrB,CAAC;IACF,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;QACzB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;KACrB,CAAC;IACF,aAAa,EAAE,SAAS,CAAC,IAAI;IAC7B,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,eAAe,EAAE,aAAa;CAC/B,CAAA"}
@@ -1,3 +1 @@
1
- /// <reference types="react" />
2
- declare const _default: (_props: any) => JSX.Element;
3
- export default _default;
1
+ export declare function MessageVideo(_props: any): JSX.Element;
@@ -1,13 +1,15 @@
1
1
  import React from 'react';
2
2
  import Color from './Color';
3
3
  import { View, Text } from 'react-native';
4
- export default (_props) => (<View style={{ padding: 20 }}>
5
- <Text style={{ color: Color.alizarin, fontWeight: '600' }}>
6
- Video is not implemented by GiftedChat.
7
- </Text>
8
- <Text style={{ color: Color.alizarin, fontWeight: '600' }}>
9
- You need to provide your own implementation by using renderMessageVideo
10
- prop.
11
- </Text>
12
- </View>);
4
+ export function MessageVideo(_props) {
5
+ return (<View style={{ padding: 20 }}>
6
+ <Text style={{ color: Color.alizarin, fontWeight: '600' }}>
7
+ Video is not implemented by GiftedChat.
8
+ </Text>
9
+ <Text style={{ color: Color.alizarin, fontWeight: '600' }}>
10
+ You need to provide your own implementation by using renderMessageVideo
11
+ prop.
12
+ </Text>
13
+ </View>);
14
+ }
13
15
  //# sourceMappingURL=MessageVideo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageVideo.js","sourceRoot":"","sources":["../src/MessageVideo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEzC,eAAe,CAAC,MAAW,EAAE,EAAE,CAAC,CAC9B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAC3B;IAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CACxD;;IACF,EAAE,IAAI,CACN;IAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CACxD;;;IAEF,EAAE,IAAI,CACR;EAAA,EAAE,IAAI,CAAC,CACR,CAAA"}
1
+ {"version":3,"file":"MessageVideo.js","sourceRoot":"","sources":["../src/MessageVideo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,UAAU,YAAY,CAAC,MAAW;IACtC,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAC3B;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CACxD;;MACF,EAAE,IAAI,CACN;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CACxD;;;MAEF,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
package/lib/Models.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- /// <reference types="react" />
2
1
  import { StyleProp, ViewStyle } from 'react-native';
2
+ import { LightboxProps } from 'react-native-lightbox-v2';
3
3
  export { ActionsProps } from './Actions';
4
4
  export { AvatarProps } from './Avatar';
5
5
  export { BubbleProps, RenderMessageImageProps, RenderMessageVideoProps, RenderMessageAudioProps, RenderMessageTextProps, } from './Bubble';
@@ -18,14 +18,14 @@ export { SystemMessageProps } from './SystemMessage';
18
18
  export { TimeProps } from './Time';
19
19
  export declare type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
20
20
  export interface LeftRightStyle<T> {
21
- left: StyleProp<T>;
22
- right: StyleProp<T>;
21
+ left?: StyleProp<T>;
22
+ right?: StyleProp<T>;
23
23
  }
24
24
  declare type renderFunction = (x: any) => JSX.Element;
25
25
  export interface User {
26
26
  _id: string | number;
27
27
  name?: string;
28
- avatar?: string | renderFunction;
28
+ avatar?: string | number | renderFunction;
29
29
  }
30
30
  export interface Reply {
31
31
  title: string;
@@ -57,7 +57,7 @@ export interface MessageVideoProps<TMessage extends IMessage> {
57
57
  containerStyle?: StyleProp<ViewStyle>;
58
58
  videoStyle?: StyleProp<ViewStyle>;
59
59
  videoProps?: object;
60
- lightboxProps?: object;
60
+ lightboxProps?: LightboxProps;
61
61
  }
62
62
  export interface MessageAudioProps<TMessage extends IMessage> {
63
63
  currentMessage?: TMessage;
package/lib/Models.js CHANGED
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=Models.js.map
@@ -1,6 +1,6 @@
1
1
  import PropTypes from 'prop-types';
2
- import React, { Component } from 'react';
3
- import { StyleProp, ViewStyle } from 'react-native';
2
+ import React from 'react';
3
+ import { StyleProp, ViewStyle, TextStyle } from 'react-native';
4
4
  import { IMessage, Reply } from './Models';
5
5
  export interface QuickRepliesProps {
6
6
  nextMessage?: IMessage;
@@ -8,39 +8,18 @@ export interface QuickRepliesProps {
8
8
  color?: string;
9
9
  sendText?: string;
10
10
  quickReplyStyle?: StyleProp<ViewStyle>;
11
+ quickReplyTextStyle?: StyleProp<TextStyle>;
11
12
  onQuickReply?(reply: Reply[]): void;
12
13
  renderQuickReplySend?(): React.ReactNode;
13
14
  }
14
- export interface QuickRepliesState {
15
- replies: Reply[];
16
- }
17
- export default class QuickReplies extends Component<QuickRepliesProps, QuickRepliesState> {
18
- static defaultProps: {
19
- currentMessage: {
20
- quickReplies: never[];
21
- };
22
- onQuickReply: () => void;
23
- color: string;
24
- sendText: string;
25
- keepReplies: boolean;
26
- renderQuickReplySend: undefined;
27
- quickReplyStyle: undefined;
28
- };
29
- static propTypes: {
15
+ export declare function QuickReplies({ currentMessage, nextMessage, color, quickReplyStyle, quickReplyTextStyle, onQuickReply, sendText, renderQuickReplySend, }: QuickRepliesProps): JSX.Element | null;
16
+ export declare namespace QuickReplies {
17
+ var propTypes: {
30
18
  currentMessage: PropTypes.Validator<object>;
31
19
  onQuickReply: PropTypes.Requireable<(...args: any[]) => any>;
32
20
  color: PropTypes.Requireable<string>;
33
21
  sendText: PropTypes.Requireable<string>;
34
- keepReplies: PropTypes.Requireable<boolean>;
35
22
  renderQuickReplySend: PropTypes.Requireable<(...args: any[]) => any>;
36
23
  quickReplyStyle: PropTypes.Requireable<number | boolean | object>;
37
24
  };
38
- state: {
39
- replies: never[];
40
- };
41
- handlePress: (reply: Reply) => () => void;
42
- handleSend: (replies: Reply[]) => () => void;
43
- shouldComponentDisplay: () => boolean;
44
- renderQuickReplySend: () => JSX.Element;
45
- render(): JSX.Element | null;
46
25
  }
@@ -1,8 +1,9 @@
1
1
  import PropTypes from 'prop-types';
2
- import React, { Component } from 'react';
2
+ import React, { useState, useMemo } from 'react';
3
3
  import { Text, StyleSheet, View, TouchableOpacity, } from 'react-native';
4
4
  import Color from './Color';
5
5
  import { warning, StylePropType } from './utils';
6
+ import { useCallbackOne } from 'use-memo-one';
6
7
  const styles = StyleSheet.create({
7
8
  container: {
8
9
  flexDirection: 'row',
@@ -34,115 +35,82 @@ const styles = StyleSheet.create({
34
35
  });
35
36
  const sameReply = (currentReply) => (reply) => currentReply.value === reply.value;
36
37
  const diffReply = (currentReply) => (reply) => currentReply.value !== reply.value;
37
- export default class QuickReplies extends Component {
38
- constructor() {
39
- super(...arguments);
40
- this.state = {
41
- replies: [],
42
- };
43
- this.handlePress = (reply) => () => {
44
- const { currentMessage } = this.props;
45
- const { replies } = this.state;
46
- if (currentMessage) {
47
- const { type } = currentMessage.quickReplies;
48
- switch (type) {
49
- case 'radio': {
50
- this.handleSend([reply])();
51
- return;
52
- }
53
- case 'checkbox': {
54
- if (replies.find(sameReply(reply))) {
55
- this.setState({
56
- replies: this.state.replies.filter(diffReply(reply)),
57
- });
58
- }
59
- else {
60
- this.setState({ replies: [...this.state.replies, reply] });
61
- }
62
- return;
38
+ export function QuickReplies({ currentMessage, nextMessage, color = Color.peterRiver, quickReplyStyle, quickReplyTextStyle, onQuickReply, sendText = 'Send', renderQuickReplySend, }) {
39
+ const { type } = currentMessage.quickReplies;
40
+ const [replies, setReplies] = useState([]);
41
+ const shouldComponentDisplay = useMemo(() => {
42
+ const hasReplies = !!currentMessage && !!currentMessage.quickReplies;
43
+ const hasNext = !!nextMessage && !!nextMessage._id;
44
+ const keepIt = currentMessage.quickReplies.keepIt;
45
+ if (hasReplies && !hasNext) {
46
+ return true;
47
+ }
48
+ if (hasReplies && hasNext && keepIt) {
49
+ return true;
50
+ }
51
+ return false;
52
+ }, [currentMessage, nextMessage]);
53
+ if (!shouldComponentDisplay) {
54
+ return null;
55
+ }
56
+ const handlePress = useCallbackOne((reply) => () => {
57
+ if (currentMessage) {
58
+ const { type } = currentMessage.quickReplies;
59
+ switch (type) {
60
+ case 'radio': {
61
+ handleSend([reply])();
62
+ return;
63
+ }
64
+ case 'checkbox': {
65
+ if (replies.find(sameReply(reply))) {
66
+ setReplies(replies.filter(diffReply(reply)));
63
67
  }
64
- default: {
65
- warning(`onQuickReply unknown type: ${type}`);
66
- return;
68
+ else {
69
+ setReplies([...replies, reply]);
67
70
  }
71
+ return;
72
+ }
73
+ default: {
74
+ warning(`onQuickReply unknown type: ${type}`);
75
+ return;
68
76
  }
69
77
  }
70
- };
71
- this.handleSend = (replies) => () => {
72
- const { currentMessage } = this.props;
73
- if (this.props.onQuickReply) {
74
- this.props.onQuickReply(replies.map((reply) => ({
75
- ...reply,
76
- messageId: currentMessage._id,
77
- })));
78
- }
79
- };
80
- this.shouldComponentDisplay = () => {
81
- const { currentMessage, nextMessage } = this.props;
82
- const hasReplies = !!currentMessage && !!currentMessage.quickReplies;
83
- const hasNext = !!nextMessage && !!nextMessage._id;
84
- const keepIt = currentMessage.quickReplies.keepIt;
85
- if (hasReplies && !hasNext) {
86
- return true;
87
- }
88
- if (hasReplies && hasNext && keepIt) {
89
- return true;
90
- }
91
- return false;
92
- };
93
- this.renderQuickReplySend = () => {
94
- const { replies } = this.state;
95
- const { sendText, renderQuickReplySend: customSend } = this.props;
96
- return (<TouchableOpacity style={[styles.quickReply, styles.sendLink]} onPress={this.handleSend(replies)}>
97
- {customSend ? (customSend()) : (<Text style={styles.sendLinkText}>{sendText}</Text>)}
98
- </TouchableOpacity>);
99
- };
100
- }
101
- render() {
102
- const { currentMessage, color, quickReplyStyle } = this.props;
103
- const { replies } = this.state;
104
- if (!this.shouldComponentDisplay()) {
105
- return null;
106
78
  }
107
- const { type } = currentMessage.quickReplies;
108
- return (<View style={styles.container}>
109
- {currentMessage.quickReplies.values.map((reply, index) => {
79
+ }, [replies, currentMessage]);
80
+ const handleSend = (repliesData) => () => {
81
+ onQuickReply === null || onQuickReply === void 0 ? void 0 : onQuickReply(repliesData.map((reply) => ({
82
+ ...reply,
83
+ messageId: currentMessage._id,
84
+ })));
85
+ };
86
+ return (<View style={styles.container}>
87
+ {currentMessage.quickReplies.values.map((reply, index) => {
110
88
  const selected = type === 'checkbox' && replies.find(sameReply(reply));
111
- return (<TouchableOpacity onPress={this.handlePress(reply)} style={[
112
- styles.quickReply,
113
- quickReplyStyle,
114
- { borderColor: color },
115
- selected && { backgroundColor: color },
116
- ]} key={`${reply.value}-${index}`}>
117
- <Text numberOfLines={10} ellipsizeMode={'tail'} style={[
118
- styles.quickReplyText,
119
- { color: selected ? Color.white : color },
120
- ]}>
121
- {reply.title}
122
- </Text>
123
- </TouchableOpacity>);
89
+ return (<TouchableOpacity onPress={handlePress(reply)} style={[
90
+ styles.quickReply,
91
+ quickReplyStyle,
92
+ { borderColor: color },
93
+ selected && { backgroundColor: color },
94
+ ]} key={`${reply.value}-${index}`}>
95
+ <Text numberOfLines={10} ellipsizeMode={'tail'} style={[
96
+ styles.quickReplyText,
97
+ { color: selected ? Color.white : color },
98
+ quickReplyTextStyle,
99
+ ]}>
100
+ {reply.title}
101
+ </Text>
102
+ </TouchableOpacity>);
124
103
  })}
125
- {replies.length > 0 && this.renderQuickReplySend()}
126
- </View>);
127
- }
104
+ {replies.length > 0 && (<TouchableOpacity style={[styles.quickReply, styles.sendLink]} onPress={handleSend(replies)}>
105
+ {(renderQuickReplySend === null || renderQuickReplySend === void 0 ? void 0 : renderQuickReplySend()) || (<Text style={styles.sendLinkText}>{sendText}</Text>)}
106
+ </TouchableOpacity>)}
107
+ </View>);
128
108
  }
129
- QuickReplies.defaultProps = {
130
- currentMessage: {
131
- quickReplies: [],
132
- },
133
- onQuickReply: () => { },
134
- color: Color.peterRiver,
135
- sendText: 'Send',
136
- keepReplies: false,
137
- renderQuickReplySend: undefined,
138
- quickReplyStyle: undefined,
139
- };
140
109
  QuickReplies.propTypes = {
141
110
  currentMessage: PropTypes.object.isRequired,
142
111
  onQuickReply: PropTypes.func,
143
112
  color: PropTypes.string,
144
113
  sendText: PropTypes.string,
145
- keepReplies: PropTypes.bool,
146
114
  renderQuickReplySend: PropTypes.func,
147
115
  quickReplyStyle: StylePropType,
148
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"QuickReplies.js","sourceRoot":"","sources":["../src/QuickReplies.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuickReplies.js","sourceRoot":"","sources":["../src/QuickReplies.tsx"],"names":[],"mappings":"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"}