react-native-gifted-chat 0.16.1 → 1.0.0-beta-1

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 (70) hide show
  1. package/README.md +69 -50
  2. package/lib/Actions.d.ts +13 -11
  3. package/lib/Actions.js +28 -34
  4. package/lib/Actions.js.map +1 -1
  5. package/lib/Avatar.d.ts +7 -7
  6. package/lib/Avatar.js +35 -40
  7. package/lib/Avatar.js.map +1 -1
  8. package/lib/Bubble.d.ts +11 -8
  9. package/lib/Bubble.js +13 -7
  10. package/lib/Bubble.js.map +1 -1
  11. package/lib/Composer.d.ts +5 -11
  12. package/lib/Composer.js +34 -40
  13. package/lib/Composer.js.map +1 -1
  14. package/lib/Day.d.ts +7 -10
  15. package/lib/Day.js +15 -19
  16. package/lib/Day.js.map +1 -1
  17. package/lib/GiftedAvatar.js +3 -3
  18. package/lib/GiftedAvatar.js.map +1 -1
  19. package/lib/GiftedChat.d.ts +47 -38
  20. package/lib/GiftedChat.js +61 -36
  21. package/lib/GiftedChat.js.flow +8 -0
  22. package/lib/GiftedChat.js.map +1 -1
  23. package/lib/GiftedChatContext.d.ts +9 -0
  24. package/lib/GiftedChatContext.js +9 -0
  25. package/lib/GiftedChatContext.js.map +1 -0
  26. package/lib/InputToolbar.d.ts +14 -28
  27. package/lib/InputToolbar.js +27 -83
  28. package/lib/InputToolbar.js.map +1 -1
  29. package/lib/LoadEarlier.d.ts +4 -5
  30. package/lib/LoadEarlier.js +12 -25
  31. package/lib/LoadEarlier.js.map +1 -1
  32. package/lib/Message.d.ts +10 -7
  33. package/lib/Message.js +11 -9
  34. package/lib/Message.js.map +1 -1
  35. package/lib/MessageAudio.d.ts +1 -3
  36. package/lib/MessageAudio.js +11 -9
  37. package/lib/MessageAudio.js.map +1 -1
  38. package/lib/MessageContainer.d.ts +3 -8
  39. package/lib/MessageContainer.js +3 -41
  40. package/lib/MessageContainer.js.map +1 -1
  41. package/lib/MessageImage.d.ts +4 -5
  42. package/lib/MessageImage.js +12 -15
  43. package/lib/MessageImage.js.map +1 -1
  44. package/lib/MessageText.d.ts +5 -13
  45. package/lib/MessageText.js +79 -82
  46. package/lib/MessageText.js.map +1 -1
  47. package/lib/MessageVideo.d.ts +1 -3
  48. package/lib/MessageVideo.js +11 -9
  49. package/lib/MessageVideo.js.map +1 -1
  50. package/lib/Models.d.ts +3 -4
  51. package/lib/Models.js +1 -0
  52. package/lib/QuickReplies.d.ts +5 -15
  53. package/lib/QuickReplies.js +67 -87
  54. package/lib/QuickReplies.js.map +1 -1
  55. package/lib/Send.d.ts +6 -7
  56. package/lib/Send.js +16 -21
  57. package/lib/Send.js.map +1 -1
  58. package/lib/SystemMessage.d.ts +4 -5
  59. package/lib/SystemMessage.js +10 -12
  60. package/lib/SystemMessage.js.map +1 -1
  61. package/lib/Time.d.ts +5 -9
  62. package/lib/Time.js +33 -33
  63. package/lib/Time.js.map +1 -1
  64. package/lib/TypingIndicator.d.ts +0 -1
  65. package/lib/TypingIndicator.js +1 -6
  66. package/lib/TypingIndicator.js.map +1 -1
  67. package/lib/hooks/useUpdateLayoutEffect.d.ts +3 -2
  68. package/lib/hooks/useUpdateLayoutEffect.js +1 -1
  69. package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
  70. package/package.json +28 -23
@@ -1,4 +1,3 @@
1
- import { Component } from 'react';
2
1
  import { ViewStyle, StyleProp, TextStyle } from 'react-native';
3
2
  import PropTypes from 'prop-types';
4
3
  import { IMessage } from './Models';
@@ -8,8 +7,9 @@ export interface SystemMessageProps<TMessage extends IMessage> {
8
7
  wrapperStyle?: StyleProp<ViewStyle>;
9
8
  textStyle?: StyleProp<TextStyle>;
10
9
  }
11
- export default class SystemMessage<TMessage extends IMessage = IMessage> extends Component<SystemMessageProps<TMessage>> {
12
- static defaultProps: {
10
+ export declare function SystemMessage<TMessage extends IMessage = IMessage>(props: SystemMessageProps<TMessage>): JSX.Element | null;
11
+ export declare namespace SystemMessage {
12
+ var defaultProps: {
13
13
  currentMessage: {
14
14
  system: boolean;
15
15
  };
@@ -17,11 +17,10 @@ export default class SystemMessage<TMessage extends IMessage = IMessage> extends
17
17
  wrapperStyle: {};
18
18
  textStyle: {};
19
19
  };
20
- static propTypes: {
20
+ var propTypes: {
21
21
  currentMessage: PropTypes.Requireable<object>;
22
22
  containerStyle: PropTypes.Requireable<number | boolean | object>;
23
23
  wrapperStyle: PropTypes.Requireable<number | boolean | object>;
24
24
  textStyle: PropTypes.Requireable<number | boolean | object>;
25
25
  };
26
- render(): JSX.Element | null;
27
26
  }
@@ -1,4 +1,4 @@
1
- import React, { Component } from 'react';
1
+ import React from 'react';
2
2
  import { StyleSheet, Text, View, } from 'react-native';
3
3
  import PropTypes from 'prop-types';
4
4
  import Color from './Color';
@@ -18,18 +18,16 @@ const styles = StyleSheet.create({
18
18
  fontWeight: '300',
19
19
  },
20
20
  });
21
- export default class SystemMessage extends Component {
22
- render() {
23
- const { currentMessage, containerStyle, wrapperStyle, textStyle, } = this.props;
24
- if (currentMessage) {
25
- return (<View style={[styles.container, containerStyle]}>
26
- <View style={wrapperStyle}>
27
- <Text style={[styles.text, textStyle]}>{currentMessage.text}</Text>
28
- </View>
29
- </View>);
30
- }
31
- return null;
21
+ export function SystemMessage(props) {
22
+ const { currentMessage, containerStyle, wrapperStyle, textStyle } = props;
23
+ if (currentMessage) {
24
+ return (<View style={[styles.container, containerStyle]}>
25
+ <View style={wrapperStyle}>
26
+ <Text style={[styles.text, textStyle]}>{currentMessage.text}</Text>
27
+ </View>
28
+ </View>);
32
29
  }
30
+ return null;
33
31
  }
34
32
  SystemMessage.defaultProps = {
35
33
  currentMessage: {
@@ -1 +1 @@
1
- {"version":3,"file":"SystemMessage.js","sourceRoot":"","sources":["../src/SystemMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EACL,UAAU,EACV,IAAI,EACJ,IAAI,GAIL,MAAM,cAAc,CAAA;AACrB,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;KACjB;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,KAAK,CAAC,qBAAqB;QAC5C,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAA;AASF,MAAM,CAAC,OAAO,OAAO,aAEnB,SAAQ,SAAuC;IAiB/C,MAAM;QACJ,MAAM,EACJ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,GACV,GAAG,IAAI,CAAC,KAAK,CAAA;QACd,IAAI,cAAc,EAAE;YAClB,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAC9C;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACxB;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CACpE;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CAAC,CACR,CAAA;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;;AAjCM,0BAAY,GAAG;IACpB,cAAc,EAAE;QACd,MAAM,EAAE,KAAK;KACd;IACD,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;CACd,CAAA;AAEM,uBAAS,GAAG;IACjB,cAAc,EAAE,SAAS,CAAC,MAAM;IAChC,cAAc,EAAE,aAAa;IAC7B,YAAY,EAAE,aAAa;IAC3B,SAAS,EAAE,aAAa;CACzB,CAAA"}
1
+ {"version":3,"file":"SystemMessage.js","sourceRoot":"","sources":["../src/SystemMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,UAAU,EACV,IAAI,EACJ,IAAI,GAIL,MAAM,cAAc,CAAA;AACrB,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;KACjB;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,KAAK,CAAC,qBAAqB;QAC5C,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAA;AASF,MAAM,UAAU,aAAa,CAC3B,KAAmC;IAEnC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAEzE,IAAI,cAAc,EAAE;QAClB,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAC9C;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACxB;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CACpE;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CAAC,CACR,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,aAAa,CAAC,YAAY,GAAG;IAC3B,cAAc,EAAE;QACd,MAAM,EAAE,KAAK;KACd;IACD,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;CACd,CAAA;AAED,aAAa,CAAC,SAAS,GAAG;IACxB,cAAc,EAAE,SAAS,CAAC,MAAM;IAChC,cAAc,EAAE,aAAa;IAC7B,YAAY,EAAE,aAAa;IAC3B,SAAS,EAAE,aAAa;CACzB,CAAA"}
package/lib/Time.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import PropTypes from 'prop-types';
2
- import { Component } from 'react';
3
2
  import { ViewStyle, TextStyle } from 'react-native';
4
3
  import { LeftRightStyle, IMessage } from './Models';
5
4
  export interface TimeProps<TMessage extends IMessage> {
@@ -9,11 +8,9 @@ export interface TimeProps<TMessage extends IMessage> {
9
8
  timeTextStyle?: LeftRightStyle<TextStyle>;
10
9
  timeFormat?: string;
11
10
  }
12
- export default class Time<TMessage extends IMessage = IMessage> extends Component<TimeProps<TMessage>> {
13
- static contextTypes: {
14
- getLocale: PropTypes.Requireable<(...args: any[]) => any>;
15
- };
16
- static defaultProps: {
11
+ export declare const Time: {
12
+ <TMessage extends IMessage = IMessage>({ position, containerStyle, currentMessage, timeFormat, timeTextStyle, }: TimeProps<TMessage>): JSX.Element | null;
13
+ defaultProps: {
17
14
  position: string;
18
15
  currentMessage: {
19
16
  createdAt: null;
@@ -22,7 +19,7 @@ export default class Time<TMessage extends IMessage = IMessage> extends Componen
22
19
  timeFormat: string;
23
20
  timeTextStyle: {};
24
21
  };
25
- static propTypes: {
22
+ propTypes: {
26
23
  position: PropTypes.Requireable<string>;
27
24
  currentMessage: PropTypes.Requireable<object>;
28
25
  containerStyle: PropTypes.Requireable<PropTypes.InferProps<{
@@ -35,5 +32,4 @@ export default class Time<TMessage extends IMessage = IMessage> extends Componen
35
32
  right: PropTypes.Requireable<number | boolean | object>;
36
33
  }>>;
37
34
  };
38
- render(): JSX.Element | null;
39
- }
35
+ };
package/lib/Time.js CHANGED
@@ -1,20 +1,25 @@
1
+ import * as React from 'react';
1
2
  import PropTypes from 'prop-types';
2
- import React, { Component } from 'react';
3
3
  import { StyleSheet, Text, View } from 'react-native';
4
4
  import dayjs from 'dayjs';
5
5
  import Color from './Color';
6
6
  import { TIME_FORMAT } from './Constant';
7
7
  import { StylePropType } from './utils';
8
- const containerStyle = {
9
- marginLeft: 10,
10
- marginRight: 10,
11
- marginBottom: 5,
12
- };
13
- const textStyle = {
14
- fontSize: 10,
15
- backgroundColor: 'transparent',
16
- textAlign: 'right',
17
- };
8
+ import { useChatContext } from './GiftedChatContext';
9
+ const { containerStyle } = StyleSheet.create({
10
+ containerStyle: {
11
+ marginLeft: 10,
12
+ marginRight: 10,
13
+ marginBottom: 5,
14
+ },
15
+ });
16
+ const { textStyle } = StyleSheet.create({
17
+ textStyle: {
18
+ fontSize: 10,
19
+ backgroundColor: 'transparent',
20
+ textAlign: 'right',
21
+ },
22
+ });
18
23
  const styles = {
19
24
  left: StyleSheet.create({
20
25
  container: {
@@ -35,29 +40,24 @@ const styles = {
35
40
  },
36
41
  }),
37
42
  };
38
- export default class Time extends Component {
39
- render() {
40
- const { position, containerStyle, currentMessage, timeFormat, timeTextStyle, } = this.props;
41
- if (!!currentMessage) {
42
- return (<View style={[
43
- styles[position].container,
44
- containerStyle && containerStyle[position],
45
- ]}>
46
- <Text style={[
47
- styles[position].text,
48
- timeTextStyle && timeTextStyle[position],
49
- ]}>
50
- {dayjs(currentMessage.createdAt)
51
- .locale(this.context.getLocale())
52
- .format(timeFormat)}
53
- </Text>
54
- </View>);
55
- }
56
- return null;
43
+ export const Time = ({ position, containerStyle, currentMessage, timeFormat, timeTextStyle, }) => {
44
+ const { getLocale } = useChatContext();
45
+ if (!!currentMessage) {
46
+ return (<View style={[
47
+ styles[position].container,
48
+ containerStyle && containerStyle[position],
49
+ ]}>
50
+ <Text style={[
51
+ styles[position].text,
52
+ timeTextStyle && timeTextStyle[position],
53
+ ]}>
54
+ {dayjs(currentMessage.createdAt)
55
+ .locale(getLocale())
56
+ .format(timeFormat)}
57
+ </Text>
58
+ </View>);
57
59
  }
58
- }
59
- Time.contextTypes = {
60
- getLocale: PropTypes.func,
60
+ return null;
61
61
  };
62
62
  Time.defaultProps = {
63
63
  position: 'left',
package/lib/Time.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Time.js","sourceRoot":"","sources":["../src/Time.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAwB,MAAM,cAAc,CAAA;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,cAAc,GAAG;IACrB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,CAAC;CAChB,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,OAAO;CACnB,CAAA;AAED,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE;YACT,GAAG,cAAc;SAClB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,aAAa;YAC1B,GAAG,SAAS;SACb;KACF,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE;YACT,GAAG,cAAc;SAClB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,SAAS;SACb;KACF,CAAC;CACH,CAAA;AAUD,MAAM,CAAC,OAAO,OAAO,IAEnB,SAAQ,SAA8B;IA6BtC,MAAM;QACJ,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,GACd,GAAG,IAAI,CAAC,KAAK,CAAA;QAEd,IAAI,CAAC,CAAC,cAAc,EAAE;YACpB,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;gBACL,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS;gBAC1B,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC;aAC3C,CAAC,CAEF;UAAA,CAAC,IAAI,CACH,KAAK,CAAC,CACJ;gBACE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI;gBACrB,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC;aAC5B,CACf,CAED;YAAA,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;iBAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;iBAChC,MAAM,CAAC,UAAU,CAAC,CACvB;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CAAC,CACR,CAAA;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;;AA7DM,iBAAY,GAAG;IACpB,SAAS,EAAE,SAAS,CAAC,IAAI;CAC1B,CAAA;AAEM,iBAAY,GAAG;IACpB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE;QACd,SAAS,EAAE,IAAI;KAChB;IACD,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,WAAW;IACvB,aAAa,EAAE,EAAE;CAClB,CAAA;AAEM,cAAS,GAAG;IACjB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,cAAc,EAAE,SAAS,CAAC,MAAM;IAChC,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC;QAC9B,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;KACrB,CAAC;IACF,UAAU,EAAE,SAAS,CAAC,MAAM;IAC5B,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;KACrB,CAAC;CACH,CAAA"}
1
+ {"version":3,"file":"Time.js","sourceRoot":"","sources":["../src/Time.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface Props {
3
2
  isTyping?: boolean;
4
3
  }
@@ -56,14 +56,9 @@ const TypingIndicator = ({ isTyping }) => {
56
56
  }),
57
57
  ]).start();
58
58
  };
59
- const opacity = yCoords.interpolate({
60
- inputRange: [0, 200],
61
- outputRange: [1, 0],
62
- });
63
59
  return (<Animated.View style={[
64
60
  styles.container,
65
61
  {
66
- opacity,
67
62
  transform: [
68
63
  {
69
64
  translateY: yCoords,
@@ -73,7 +68,7 @@ const TypingIndicator = ({ isTyping }) => {
73
68
  marginBottom: marginScale,
74
69
  },
75
70
  ]}>
76
- <TypingAnimation style={{ marginLeft: 6, marginTop: 7.2 }} dotRadius={4} dotMargin={5.5} dotColor={'rgba(0, 0, 0, 0.38)'}/>
71
+ {isTyping ? (<TypingAnimation style={{ marginLeft: 6, marginTop: 7.2 }} dotRadius={4} dotMargin={5.5} dotColor={'rgba(0, 0, 0, 0.38)'}/>) : null}
77
72
  </Animated.View>);
78
73
  };
79
74
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../src/TypingIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,MAAM,SAAS,CAAA;AAM3B,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC9C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CACzD,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;QAChC,WAAW,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,WAAW,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;KACnC,CAAC,EACF,EAAE,CACH,CAAA;IAED,+BAA+B;IAC/B,qBAAqB,CAAC,GAAG,EAAE;QACzB,IAAI,QAAQ,EAAE;YACZ,OAAO,EAAE,CAAA;SACV;aAAM;YACL,QAAQ,EAAE,CAAA;SACX;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,cAAc;IACd,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,QAAQ,CAAC,QAAQ,CAAC;YAChB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;gBACvB,OAAO,EAAE,CAAC;gBACV,eAAe,EAAE,KAAK;aACvB,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC3B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,GAAG;gBACb,eAAe,EAAE,KAAK;aACvB,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC3B,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,GAAG;gBACb,eAAe,EAAE,KAAK;aACvB,CAAC;SACH,CAAC,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC,CAAA;IAED,cAAc;IACd,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,QAAQ,CAAC,QAAQ,CAAC;YAChB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;gBACvB,OAAO,EAAE,GAAG;gBACZ,eAAe,EAAE,KAAK;aACvB,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC3B,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,GAAG;gBACb,eAAe,EAAE,KAAK;aACvB,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC3B,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,GAAG;gBACb,eAAe,EAAE,KAAK;aACvB,CAAC;SACH,CAAC,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;QAClC,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KACpB,CAAC,CAAA;IACF,OAAO,CACL,CAAC,QAAQ,CAAC,IAAI,CACZ,KAAK,CAAC,CAAC;QACL,MAAM,CAAC,SAAS;QAChB;YACE,OAAO;YACP,SAAS,EAAE;gBACT;oBACE,UAAU,EAAE,OAAO;iBACpB;aACF;YACD,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,WAAW;SAC1B;KACF,CAAC,CAEF;MAAA,CAAC,eAAe,CACd,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CACzC,SAAS,CAAC,CAAC,CAAC,CAAC,CACb,SAAS,CAAC,CAAC,GAAG,CAAC,CACf,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAEpC;IAAA,EAAE,QAAQ,CAAC,IAAI,CAAC,CACjB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,KAAK,CAAC,oBAAoB;KAC5C;CACF,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../src/TypingIndicator.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import { DependencyList } from 'react';
1
2
  /**
2
3
  * A custom useEffect hook that only triggers on updates, not on initial mount
3
4
  * Idea stolen from: https://stackoverflow.com/a/55075818/1526448
4
5
  * @param {()=>void} effect the function to call
5
- * @param {Array<any>} dependencies the state(s) that fires the update
6
+ * @param {DependencyList} dependencies the state(s) that fires the update
6
7
  */
7
- export declare function useUpdateLayoutEffect(effect: () => void, dependencies?: any[]): void;
8
+ export declare function useUpdateLayoutEffect(effect: () => void, dependencies?: DependencyList): void;
@@ -3,7 +3,7 @@ import { useLayoutEffect, useRef } from 'react';
3
3
  * A custom useEffect hook that only triggers on updates, not on initial mount
4
4
  * Idea stolen from: https://stackoverflow.com/a/55075818/1526448
5
5
  * @param {()=>void} effect the function to call
6
- * @param {Array<any>} dependencies the state(s) that fires the update
6
+ * @param {DependencyList} dependencies the state(s) that fires the update
7
7
  */
8
8
  export function useUpdateLayoutEffect(effect, dependencies = []) {
9
9
  const isInitialMount = useRef(true);
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateLayoutEffect.js","sourceRoot":"","sources":["../../src/hooks/useUpdateLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,eAAsB,EAAE;IAExB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEnC,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAA;SAC/B;aAAM;YACL,MAAM,EAAE,CAAA;SACT;IACH,CAAC,EAAE,YAAY,CAAC,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"useUpdateLayoutEffect.js","sourceRoot":"","sources":["../../src/hooks/useUpdateLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,eAA+B,EAAE;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEnC,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAA;SAC/B;aAAM;YACL,MAAM,EAAE,CAAA;SACT;IACH,CAAC,EAAE,YAAY,CAAC,CAAA;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gifted-chat",
3
- "version": "0.16.1",
3
+ "version": "1.0.0-beta-1",
4
4
  "description": "The most complete chat UI for React Native",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -28,7 +28,9 @@
28
28
  "config:dev": "json -I -f package.json -e 'this.main=\"node_modules/expo/AppEntry.js\"'",
29
29
  "config:npm": "json -I -f package.json -e 'this.main=\"lib/index.js\"'",
30
30
  "lint": "tslint --project .",
31
+ "lint:fix": "./node_modules/.bin/tslint ./src/*.{ts,tsx} --fix",
31
32
  "tsc": "node_modules/.bin/tsc --noEmit",
33
+ "tsc:watch": "node_modules/.bin/tsc --watch --noEmit",
32
34
  "start": "yarn config:dev && expo start",
33
35
  "start:web": "yarn config:dev && expo start -w --dev",
34
36
  "build": "rm -rf lib/ && node_modules/.bin/tsc && cp flow-typedefs/*.js.flow lib/",
@@ -36,7 +38,8 @@
36
38
  "test:watch": "TZ=Europe/Paris jest --watch",
37
39
  "test:coverage": "TZ=Europe/Paris jest --coverage",
38
40
  "prepublishOnly": "yarn lint && yarn build && yarn test && yarn config:npm",
39
- "postpublish": "yarn config:dev"
41
+ "postpublish": "yarn config:dev",
42
+ "prettier": "./node_modules/.bin/prettier --write \"src/**/*.{ts,tsx}\""
40
43
  },
41
44
  "jest": {
42
45
  "preset": "react-native",
@@ -65,48 +68,50 @@
65
68
  ]
66
69
  },
67
70
  "devDependencies": {
68
- "@babel/core": "7.9.6",
71
+ "@babel/core": "~7.9.0",
69
72
  "@babel/preset-typescript": "7.9.0",
70
73
  "@types/jest": "25.2.1",
71
- "@types/react": "^16.9.11",
72
- "@types/react-native": "^0.60.22",
74
+ "@types/react": "~16.9.35",
75
+ "@types/react-native": "~0.63.2",
73
76
  "@types/react-native-communications": "2.2.1",
74
77
  "@types/react-test-renderer": "16.9.2",
75
78
  "@types/uuid": "3.4.9",
76
79
  "babel-core": "7.0.0-bridge.0",
77
80
  "babel-jest": "25.5.1",
78
- "babel-preset-expo": "^8.1.0",
79
- "expo": "^37.0.0",
80
- "expo-constants": "~9.0.0",
81
- "expo-image-picker": "~8.1.0",
82
- "expo-location": "~8.1.0",
83
- "expo-permissions": "~8.1.0",
84
- "flow-bin": "0.123.0",
81
+ "babel-preset-expo": "8.3.0",
82
+ "expo": "^41.0.0",
83
+ "expo-app-loading": "1.0.3",
84
+ "expo-constants": "~10.1.3",
85
+ "expo-image-picker": "~10.1.4",
86
+ "expo-location": "~12.0.4",
87
+ "expo-permissions": "~12.0.1",
88
+ "flow-bin": "0.125.0",
85
89
  "husky": "4.2.5",
86
- "jest-expo": "^37.0.0",
90
+ "jest-expo": "^41.0.0",
87
91
  "json": "9.0.6",
88
92
  "prettier": "2.0.5",
89
- "react": "16.9.0",
90
- "react-dom": "16.9.0",
91
- "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",
92
- "react-native-maps": "0.26.1",
93
+ "react": "16.13.1",
94
+ "react-dom": "16.13.1",
95
+ "react-native": "0.63.4",
96
+ "react-native-maps": "0.27.1",
93
97
  "react-native-nav": "2.0.2",
98
+ "react-native-web": "~0.13.12",
94
99
  "react-native-web-maps": "0.2.0",
95
100
  "react-test-renderer": "16.9.0",
96
- "react-native-web": "^0.11.7",
97
101
  "tslint": "6.1.2",
98
102
  "tslint-config-prettier": "1.18.0",
99
- "typescript": "^3.8.3"
103
+ "typescript": "~4.0.0"
100
104
  },
101
105
  "dependencies": {
102
106
  "@expo/react-native-action-sheet": "^3.6.0",
103
- "dayjs": "1.8.26",
107
+ "dayjs": "^1.8.26",
104
108
  "prop-types": "^15.7.2",
105
109
  "react-native-communications": "^2.2.1",
106
- "react-native-iphone-x-helper": "^1.2.1",
110
+ "react-native-iphone-x-helper": "^1.3.1",
107
111
  "react-native-lightbox": "^0.8.1",
108
- "react-native-parsed-text": "EvanBacon/react-native-parsed-text",
112
+ "react-native-parsed-text": "0.0.22",
109
113
  "react-native-typing-animation": "^0.1.7",
114
+ "use-memo-one": "1.1.1",
110
115
  "uuid": "3.4.0"
111
116
  },
112
117
  "peerDependencies": {
@@ -116,7 +121,7 @@
116
121
  },
117
122
  "husky": {
118
123
  "hooks": {
119
- "pre-commit": "yarn lint && yarn tsc"
124
+ "pre-commit": "yarn lint:fix && yarn prettier && yarn tsc"
120
125
  }
121
126
  }
122
127
  }