react-native-gifted-chat 0.16.2 → 1.0.0-beta-2

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 +12 -9
  4. package/jest.config.js +15 -0
  5. package/lib/Actions.d.ts +13 -11
  6. package/lib/Actions.js +28 -34
  7. package/lib/Actions.js.map +1 -1
  8. package/lib/Avatar.d.ts +5 -6
  9. package/lib/Avatar.js +30 -35
  10. package/lib/Avatar.js.map +1 -1
  11. package/lib/Bubble.d.ts +23 -20
  12. package/lib/Bubble.js +24 -18
  13. package/lib/Bubble.js.map +1 -1
  14. package/lib/Composer.d.ts +5 -11
  15. package/lib/Composer.js +24 -30
  16. package/lib/Composer.js.map +1 -1
  17. package/lib/Day.d.ts +7 -10
  18. package/lib/Day.js +14 -18
  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 +51 -42
  23. package/lib/GiftedChat.js +69 -47
  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 +14 -28
  30. package/lib/InputToolbar.js +27 -83
  31. package/lib/InputToolbar.js.map +1 -1
  32. package/lib/LoadEarlier.d.ts +4 -5
  33. package/lib/LoadEarlier.js +12 -25
  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 +8 -13
  42. package/lib/MessageContainer.js +5 -43
  43. package/lib/MessageContainer.js.map +1 -1
  44. package/lib/MessageImage.d.ts +4 -5
  45. package/lib/MessageImage.js +10 -13
  46. package/lib/MessageImage.js.map +1 -1
  47. package/lib/MessageText.d.ts +5 -13
  48. package/lib/MessageText.js +77 -80
  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 +3 -4
  54. package/lib/Models.js +1 -0
  55. package/lib/QuickReplies.d.ts +5 -15
  56. package/lib/QuickReplies.js +65 -85
  57. package/lib/QuickReplies.js.map +1 -1
  58. package/lib/Send.d.ts +6 -7
  59. package/lib/Send.js +16 -21
  60. package/lib/Send.js.map +1 -1
  61. package/lib/SystemMessage.d.ts +4 -5
  62. package/lib/SystemMessage.js +10 -12
  63. package/lib/SystemMessage.js.map +1 -1
  64. package/lib/Time.d.ts +5 -9
  65. package/lib/Time.js +26 -26
  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 +42 -68
@@ -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
+ export const Time = ({ position, containerStyle, currentMessage, timeFormat, timeTextStyle, }) => {
44
+ const { getLocale } = useChatContext();
45
+ if (!!currentMessage) {
46
+ return (<View style={[
43
47
  styles[position].container,
44
48
  containerStyle && containerStyle[position],
45
49
  ]}>
46
- <Text style={[
50
+ <Text style={[
47
51
  styles[position].text,
48
52
  timeTextStyle && timeTextStyle[position],
49
53
  ]}>
50
- {dayjs(currentMessage.createdAt)
51
- .locale(this.context.getLocale())
54
+ {dayjs(currentMessage.createdAt)
55
+ .locale(getLocale())
52
56
  .format(timeFormat)}
53
- </Text>
54
- </View>);
55
- }
56
- return null;
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
  }
@@ -57,17 +57,17 @@ const TypingIndicator = ({ isTyping }) => {
57
57
  ]).start();
58
58
  };
59
59
  return (<Animated.View style={[
60
- styles.container,
61
- {
62
- transform: [
63
- {
64
- translateY: yCoords,
65
- },
66
- ],
67
- height: heightScale,
68
- marginBottom: marginScale,
69
- },
70
- ]}>
60
+ styles.container,
61
+ {
62
+ transform: [
63
+ {
64
+ translateY: yCoords,
65
+ },
66
+ ],
67
+ height: heightScale,
68
+ marginBottom: marginScale,
69
+ },
70
+ ]}>
71
71
  {isTyping ? (<TypingAnimation style={{ marginLeft: 6, marginTop: 7.2 }} dotRadius={4} dotMargin={5.5} dotColor={'rgba(0, 0, 0, 0.38)'}/>) : null}
72
72
  </Animated.View>);
73
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../src/TypingIndicator.tsx"],"names":[],"mappings":"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"}
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.2",
3
+ "version": "1.0.0-beta-2",
4
4
  "description": "The most complete chat UI for React Native",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -25,96 +25,70 @@
25
25
  },
26
26
  "homepage": "https://github.com/FaridSafi/react-native-gifted-chat#readme",
27
27
  "scripts": {
28
- "config:dev": "json -I -f package.json -e 'this.main=\"node_modules/expo/AppEntry.js\"'",
29
- "config:npm": "json -I -f package.json -e 'this.main=\"lib/index.js\"'",
30
- "lint": "tslint --project .",
31
- "lint:fix": "./node_modules/.bin/tslint ./src/**/*.{ts,tsx} --fix",
28
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
29
+ "lint:fix": "./node_modules/.bin/eslint ./src/*.{ts,tsx} --fix",
32
30
  "tsc": "node_modules/.bin/tsc --noEmit",
33
- "start": "yarn config:dev && expo start",
34
- "start:web": "yarn config:dev && expo start -w --dev",
31
+ "tsc:watch": "node_modules/.bin/tsc --watch --noEmit",
32
+ "start": "cd example && expo start",
33
+ "start:web": "cd example && expo start -w --dev",
35
34
  "build": "rm -rf lib/ && node_modules/.bin/tsc && cp flow-typedefs/*.js.flow lib/",
36
35
  "test": "TZ=Europe/Paris jest --no-watchman",
37
36
  "test:watch": "TZ=Europe/Paris jest --watch",
38
37
  "test:coverage": "TZ=Europe/Paris jest --coverage",
39
- "prepublishOnly": "yarn lint && yarn build && yarn test && yarn config:npm",
40
- "postpublish": "yarn config:dev",
41
- "prettier": "./node_modules/.bin/prettier --write ./src/**/*.{ts,tsx}"
42
- },
43
- "jest": {
44
- "preset": "react-native",
45
- "setupFiles": [
46
- "./tests/setup.js"
47
- ],
48
- "moduleFileExtensions": [
49
- "js",
50
- "jsx",
51
- "json",
52
- "ts",
53
- "tsx"
54
- ],
55
- "transform": {
56
- "^.+\\.(js|jsx|ts|tsx)$": "babel-jest"
57
- },
58
- "testMatch": [
59
- "**/*.test.ts?(x)"
60
- ],
61
- "modulePathIgnorePatterns": [
62
- "<rootDir>/example-expo",
63
- "<rootDir>/example-slack-message"
64
- ],
65
- "coveragePathIgnorePatterns": [
66
- "./src/__tests__/"
67
- ]
38
+ "prepublishOnly": "yarn lint && yarn build && yarn test",
39
+ "prettier": "./node_modules/.bin/prettier --write \"src/**/*.{ts,tsx}\""
68
40
  },
69
41
  "devDependencies": {
70
- "@babel/core": "7.9.6",
71
- "@babel/preset-typescript": "7.9.0",
72
- "@types/jest": "25.2.1",
73
- "@types/react": "^16.9.11",
74
- "@types/react-native": "^0.60.22",
42
+ "@babel/core": "7.17.9",
43
+ "@babel/plugin-transform-flow-strip-types": "7.16.7",
44
+ "@babel/preset-env": "7.16.11",
45
+ "@babel/preset-typescript": "7.16.7",
46
+ "@types/jest": "27.4.1",
47
+ "@types/react": "~16.9.35",
48
+ "@types/react-native": "~0.63.2",
75
49
  "@types/react-native-communications": "2.2.1",
76
50
  "@types/react-test-renderer": "16.9.2",
77
51
  "@types/uuid": "3.4.9",
78
- "babel-core": "7.0.0-bridge.0",
79
- "babel-jest": "25.5.1",
80
- "babel-preset-expo": "^8.1.0",
81
- "expo": "^37.0.0",
82
- "expo-constants": "~9.0.0",
83
- "expo-image-picker": "~8.1.0",
84
- "expo-location": "~8.1.0",
85
- "expo-permissions": "~8.1.0",
52
+ "@typescript-eslint/eslint-plugin": "5.18.0",
53
+ "@typescript-eslint/parser": "5.18.0",
54
+ "babel-jest": "27.5.1",
55
+ "eslint": "8.13.0",
56
+ "eslint-config-prettier": "8.5.0",
86
57
  "flow-bin": "0.125.0",
87
58
  "husky": "4.2.5",
88
- "jest-expo": "^37.0.0",
59
+ "jest": "27.5.1",
89
60
  "json": "9.0.6",
61
+ "metro-react-native-babel-preset": "0.70.1",
90
62
  "prettier": "2.0.5",
91
- "react": "16.9.0",
92
- "react-dom": "16.9.0",
93
- "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",
94
- "react-native-maps": "0.26.1",
95
- "react-native-nav": "2.0.2",
96
- "react-native-web-maps": "0.2.0",
63
+ "react": "16.13.1",
64
+ "react-dom": "16.13.1",
65
+ "react-native": "0.63.4",
97
66
  "react-test-renderer": "16.9.0",
98
- "react-native-web": "^0.11.7",
99
- "tslint": "6.1.2",
100
- "tslint-config-prettier": "1.18.0",
101
- "typescript": "^3.8.3"
67
+ "typescript": "4.6.3"
102
68
  },
103
69
  "dependencies": {
104
- "@expo/react-native-action-sheet": "^3.6.0",
105
- "dayjs": "^1.8.26",
106
- "prop-types": "^15.7.2",
107
- "react-native-communications": "^2.2.1",
108
- "react-native-iphone-x-helper": "^1.2.1",
109
- "react-native-lightbox": "^0.8.1",
70
+ "@expo/react-native-action-sheet": "3.13.0",
71
+ "dayjs": "1.8.26",
72
+ "prop-types": "15.7.2",
73
+ "react-native-communications": "2.2.1",
74
+ "react-native-iphone-x-helper": "1.3.1",
75
+ "react-native-lightbox": "0.8.1",
110
76
  "react-native-parsed-text": "0.0.22",
111
- "react-native-typing-animation": "^0.1.7",
77
+ "react-native-safe-area-context": "4.2.4",
78
+ "react-native-typing-animation": "0.1.7",
79
+ "use-memo-one": "1.1.1",
112
80
  "uuid": "3.4.0"
113
81
  },
114
82
  "peerDependencies": {
83
+ "@expo/react-native-action-sheet": "*",
115
84
  "dayjs": "*",
116
85
  "react": "*",
117
- "react-native": "*"
86
+ "react-native": "*",
87
+ "react-native-communications": "*",
88
+ "react-native-lightbox": "*",
89
+ "react-native-parsed-text": "*",
90
+ "react-native-safe-area-context": "*",
91
+ "react-native-typing-animation": "*"
118
92
  },
119
93
  "husky": {
120
94
  "hooks": {