react-native-gifted-chat 2.4.1 → 2.6.0
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.
- package/README.md +34 -14
- package/lib/Actions.d.ts +5 -6
- package/lib/Actions.js +16 -13
- package/lib/Actions.js.map +1 -1
- package/lib/Avatar.d.ts +9 -25
- package/lib/Avatar.js +12 -18
- package/lib/Avatar.js.flow +1 -1
- package/lib/Avatar.js.map +1 -1
- package/lib/Bubble.d.ts +29 -30
- package/lib/Bubble.js +99 -92
- package/lib/Bubble.js.flow +2 -2
- package/lib/Bubble.js.map +1 -1
- package/lib/Composer.d.ts +1 -1
- package/lib/Composer.js +30 -32
- package/lib/Composer.js.map +1 -1
- package/lib/Constant.js +1 -0
- package/lib/Constant.js.map +1 -1
- package/lib/Day.d.ts +3 -15
- package/lib/Day.js +2 -14
- package/lib/Day.js.flow +1 -1
- package/lib/Day.js.map +1 -1
- package/lib/GiftedAvatar.d.ts +7 -7
- package/lib/GiftedAvatar.js +30 -29
- package/lib/GiftedAvatar.js.map +1 -1
- package/lib/GiftedChat.d.ts +15 -89
- package/lib/GiftedChat.js +204 -350
- package/lib/GiftedChat.js.flow +1 -3
- package/lib/GiftedChat.js.map +1 -1
- package/lib/GiftedChatContext.d.ts +2 -1
- package/lib/GiftedChatContext.js.map +1 -1
- package/lib/InputToolbar.d.ts +7 -5
- package/lib/InputToolbar.js +41 -34
- package/lib/InputToolbar.js.map +1 -1
- package/lib/LoadEarlier.d.ts +4 -4
- package/lib/LoadEarlier.js +8 -6
- package/lib/LoadEarlier.js.map +1 -1
- package/lib/Message.d.ts +8 -9
- package/lib/Message.js +47 -40
- package/lib/Message.js.flow +1 -1
- package/lib/Message.js.map +1 -1
- package/lib/MessageAudio.d.ts +2 -1
- package/lib/MessageAudio.js +4 -4
- package/lib/MessageAudio.js.flow +1 -1
- package/lib/MessageAudio.js.map +1 -1
- package/lib/MessageContainer.d.ts +17 -17
- package/lib/MessageContainer.js +33 -51
- package/lib/MessageContainer.js.map +1 -1
- package/lib/MessageImage.d.ts +5 -4
- package/lib/MessageImage.js +4 -5
- package/lib/MessageImage.js.flow +1 -1
- package/lib/MessageImage.js.map +1 -1
- package/lib/MessageText.d.ts +11 -10
- package/lib/MessageText.js +5 -10
- package/lib/MessageText.js.flow +1 -1
- package/lib/MessageText.js.map +1 -1
- package/lib/MessageVideo.d.ts +2 -1
- package/lib/MessageVideo.js +4 -4
- package/lib/MessageVideo.js.flow +1 -1
- package/lib/MessageVideo.js.map +1 -1
- package/lib/Models.d.ts +7 -7
- package/lib/QuickReplies.d.ts +3 -3
- package/lib/QuickReplies.js +8 -14
- package/lib/QuickReplies.js.flow +1 -1
- package/lib/QuickReplies.js.map +1 -1
- package/lib/Send.d.ts +4 -4
- package/lib/Send.js +6 -9
- package/lib/Send.js.map +1 -1
- package/lib/SystemMessage.d.ts +6 -5
- package/lib/SystemMessage.js +1 -2
- package/lib/SystemMessage.js.flow +1 -1
- package/lib/SystemMessage.js.map +1 -1
- package/lib/Time.d.ts +7 -6
- package/lib/Time.js +1 -3
- package/lib/Time.js.flow +1 -1
- package/lib/Time.js.map +1 -1
- package/lib/TypingIndicator.d.ts +2 -1
- package/lib/TypingIndicator.js +5 -5
- package/lib/TypingIndicator.js.map +1 -1
- package/lib/hooks/useUpdateLayoutEffect.js +2 -4
- package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/logging.d.ts +2 -2
- package/lib/logging.js.map +1 -1
- package/lib/types.js.flow +1 -1
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +2 -4
- package/lib/utils.js.map +1 -1
- package/package.json +86 -59
- package/src/Actions.tsx +114 -0
- package/src/Avatar.tsx +178 -0
- package/src/Bubble.tsx +596 -0
- package/src/Color.ts +17 -0
- package/src/Composer.tsx +147 -0
- package/src/Constant.ts +18 -0
- package/src/Day.tsx +71 -0
- package/src/GiftedAvatar.tsx +205 -0
- package/src/GiftedChat.tsx +670 -0
- package/src/GiftedChatContext.ts +23 -0
- package/src/InputToolbar.tsx +113 -0
- package/src/LoadEarlier.tsx +108 -0
- package/src/Message.tsx +229 -0
- package/src/MessageAudio.tsx +19 -0
- package/src/MessageContainer.tsx +362 -0
- package/src/MessageImage.tsx +78 -0
- package/src/MessageText.tsx +187 -0
- package/src/MessageVideo.tsx +19 -0
- package/src/Models.ts +84 -0
- package/src/QuickReplies.tsx +186 -0
- package/src/Send.tsx +102 -0
- package/src/SystemMessage.tsx +61 -0
- package/src/Time.tsx +97 -0
- package/src/TypingIndicator.tsx +108 -0
- package/src/__tests__/Actions.test.tsx +10 -0
- package/src/__tests__/Avatar.test.tsx +13 -0
- package/src/__tests__/Bubble.test.tsx +23 -0
- package/src/__tests__/Color.test.tsx +5 -0
- package/src/__tests__/Composer.test.tsx +11 -0
- package/src/__tests__/Constant.test.tsx +5 -0
- package/src/__tests__/Day.test.tsx +23 -0
- package/src/__tests__/GiftedAvatar.test.tsx +11 -0
- package/src/__tests__/GiftedChat.test.tsx +36 -0
- package/src/__tests__/InputToolbar.test.tsx +11 -0
- package/src/__tests__/LoadEarlier.test.tsx +11 -0
- package/src/__tests__/Message.test.tsx +77 -0
- package/src/__tests__/MessageContainer.test.tsx +11 -0
- package/src/__tests__/MessageImage.test.tsx +27 -0
- package/src/__tests__/MessageText.test.tsx +11 -0
- package/src/__tests__/Send.test.tsx +22 -0
- package/src/__tests__/SystemMessage.test.tsx +27 -0
- package/src/__tests__/Time.test.tsx +29 -0
- package/src/__tests__/__snapshots__/Actions.test.tsx.snap +76 -0
- package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +17 -0
- package/src/__tests__/__snapshots__/Bubble.test.tsx.snap +145 -0
- package/src/__tests__/__snapshots__/Color.test.tsx.snap +21 -0
- package/src/__tests__/__snapshots__/Composer.test.tsx.snap +35 -0
- package/src/__tests__/__snapshots__/Constant.test.tsx.snap +16 -0
- package/src/__tests__/__snapshots__/Day.test.tsx.snap +37 -0
- package/src/__tests__/__snapshots__/GiftedAvatar.test.tsx.snap +22 -0
- package/src/__tests__/__snapshots__/GiftedChat.test.tsx.snap +15 -0
- package/src/__tests__/__snapshots__/InputToolbar.test.tsx.snap +60 -0
- package/src/__tests__/__snapshots__/LoadEarlier.test.tsx.snap +74 -0
- package/src/__tests__/__snapshots__/Message.test.tsx.snap +628 -0
- package/src/__tests__/__snapshots__/MessageContainer.test.tsx.snap +127 -0
- package/src/__tests__/__snapshots__/MessageImage.test.tsx.snap +38 -0
- package/src/__tests__/__snapshots__/MessageText.test.tsx.snap +30 -0
- package/src/__tests__/__snapshots__/Send.test.tsx.snap +129 -0
- package/src/__tests__/__snapshots__/SystemMessage.test.tsx.snap +38 -0
- package/src/__tests__/__snapshots__/Time.test.tsx.snap +33 -0
- package/src/__tests__/data.ts +8 -0
- package/src/__tests__/utils.test.ts +31 -0
- package/src/hooks/useUpdateLayoutEffect.ts +21 -0
- package/src/index.ts +4 -0
- package/src/logging.ts +8 -0
- package/src/utils.ts +39 -0
- package/.eslintignore +0 -2
- package/.eslintrc.js +0 -21
- package/jest.config.js +0 -15
package/lib/QuickReplies.js
CHANGED
|
@@ -43,12 +43,10 @@ export function QuickReplies({ currentMessage, nextMessage, color = Color.peterR
|
|
|
43
43
|
const hasReplies = !!currentMessage && !!currentMessage.quickReplies;
|
|
44
44
|
const hasNext = !!nextMessage && !!nextMessage._id;
|
|
45
45
|
const keepIt = currentMessage.quickReplies.keepIt;
|
|
46
|
-
if (hasReplies && !hasNext)
|
|
46
|
+
if (hasReplies && !hasNext)
|
|
47
47
|
return true;
|
|
48
|
-
|
|
49
|
-
if (hasReplies && hasNext && keepIt) {
|
|
48
|
+
if (hasReplies && hasNext && keepIt)
|
|
50
49
|
return true;
|
|
51
|
-
}
|
|
52
50
|
return false;
|
|
53
51
|
}, [currentMessage, nextMessage]);
|
|
54
52
|
const handlePress = useCallbackOne((reply) => () => {
|
|
@@ -60,30 +58,26 @@ export function QuickReplies({ currentMessage, nextMessage, color = Color.peterR
|
|
|
60
58
|
return;
|
|
61
59
|
}
|
|
62
60
|
case 'checkbox': {
|
|
63
|
-
if (replies.find(sameReply(reply)))
|
|
61
|
+
if (replies.find(sameReply(reply)))
|
|
64
62
|
setReplies(replies.filter(diffReply(reply)));
|
|
65
|
-
|
|
66
|
-
else {
|
|
63
|
+
else
|
|
67
64
|
setReplies([...replies, reply]);
|
|
68
|
-
}
|
|
69
65
|
return;
|
|
70
66
|
}
|
|
71
67
|
default: {
|
|
72
68
|
warning(`onQuickReply unknown type: ${type}`);
|
|
73
|
-
return;
|
|
74
69
|
}
|
|
75
70
|
}
|
|
76
71
|
}
|
|
77
72
|
}, [replies, currentMessage]);
|
|
78
73
|
const handleSend = (repliesData) => () => {
|
|
79
|
-
onQuickReply
|
|
74
|
+
onQuickReply?.(repliesData.map((reply) => ({
|
|
80
75
|
...reply,
|
|
81
76
|
messageId: currentMessage._id,
|
|
82
77
|
})));
|
|
83
78
|
};
|
|
84
|
-
if (!shouldComponentDisplay)
|
|
79
|
+
if (!shouldComponentDisplay)
|
|
85
80
|
return null;
|
|
86
|
-
}
|
|
87
81
|
return (<View style={[styles.container, quickReplyContainerStyle]}>
|
|
88
82
|
{currentMessage.quickReplies.values.map((reply, index) => {
|
|
89
83
|
const selected = type === 'checkbox' && replies.find(sameReply(reply));
|
|
@@ -93,7 +87,7 @@ export function QuickReplies({ currentMessage, nextMessage, color = Color.peterR
|
|
|
93
87
|
{ borderColor: color },
|
|
94
88
|
selected && { backgroundColor: color },
|
|
95
89
|
]} key={`${reply.value}-${index}`}>
|
|
96
|
-
<Text numberOfLines={10} ellipsizeMode=
|
|
90
|
+
<Text numberOfLines={10} ellipsizeMode='tail' style={[
|
|
97
91
|
styles.quickReplyText,
|
|
98
92
|
{ color: selected ? Color.white : color },
|
|
99
93
|
quickReplyTextStyle,
|
|
@@ -103,7 +97,7 @@ export function QuickReplies({ currentMessage, nextMessage, color = Color.peterR
|
|
|
103
97
|
</TouchableOpacity>);
|
|
104
98
|
})}
|
|
105
99
|
{replies.length > 0 && (<TouchableOpacity style={[styles.quickReply, styles.sendLink]} onPress={handleSend(replies)}>
|
|
106
|
-
{
|
|
100
|
+
{renderQuickReplySend?.() || (<Text style={styles.sendLinkText}>{sendText}</Text>)}
|
|
107
101
|
</TouchableOpacity>)}
|
|
108
102
|
</View>);
|
|
109
103
|
}
|
package/lib/QuickReplies.js.flow
CHANGED
|
@@ -5,7 +5,7 @@ import type { ViewStyleProp, TextStyleProp } from 'react-native/Libraries/StyleS
|
|
|
5
5
|
|
|
6
6
|
export type QuickRepliesProps<TMessage: IMessage = IMessage> = $ReadOnly<{|
|
|
7
7
|
nextMessage?: TMessage,
|
|
8
|
-
currentMessage
|
|
8
|
+
currentMessage: TMessage,
|
|
9
9
|
color?: string,
|
|
10
10
|
sendText?: string,
|
|
11
11
|
quickReplyStyle?: ViewStyleProp,
|
package/lib/QuickReplies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickReplies.js","sourceRoot":"","sources":["../src/QuickReplies.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EACL,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,gBAAgB,GAIjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,GAAG;KACd;IACD,UAAU,EAAE;QACV,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,GAAG;QACb,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE,EAAE;QACrB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,CAAC;KACV;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,SAAS;KACpB;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,CAAC;KACf;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,WAAW;QACxB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,EAAE;KACb;CACF,CAAC,CAAA;AAcF,MAAM,SAAS,GAAG,CAAC,YAAmB,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAC1D,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;AAEpC,MAAM,SAAS,GAAG,CAAC,YAAmB,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAC1D,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;AAEpC,MAAM,UAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"QuickReplies.js","sourceRoot":"","sources":["../src/QuickReplies.tsx"],"names":[],"mappings":"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"}
|
package/lib/Send.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { StyleProp, ViewStyle, TextStyle, TouchableOpacityProps } from 'react-native';
|
|
4
4
|
import { IMessage } from './Models';
|
|
@@ -14,13 +14,13 @@ export interface SendProps<TMessage extends IMessage> {
|
|
|
14
14
|
onSend?(messages: Partial<TMessage> | Partial<TMessage>[], shouldResetInputToolbar: boolean): void;
|
|
15
15
|
}
|
|
16
16
|
export declare const Send: {
|
|
17
|
-
<TMessage extends IMessage = IMessage>({ text, containerStyle, children, textStyle, label, alwaysShowSend, disabled, sendButtonProps, onSend, }: SendProps<TMessage>): JSX.Element | null;
|
|
17
|
+
<TMessage extends IMessage = IMessage>({ text, containerStyle, children, textStyle, label, alwaysShowSend, disabled, sendButtonProps, onSend, }: SendProps<TMessage>): React.JSX.Element | null;
|
|
18
18
|
propTypes: {
|
|
19
19
|
text: PropTypes.Requireable<string>;
|
|
20
20
|
onSend: PropTypes.Requireable<(...args: any[]) => any>;
|
|
21
21
|
label: PropTypes.Requireable<string>;
|
|
22
|
-
containerStyle: PropTypes.Requireable<number | boolean | object
|
|
23
|
-
textStyle: PropTypes.Requireable<number | boolean | object
|
|
22
|
+
containerStyle: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
23
|
+
textStyle: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
24
24
|
children: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
25
25
|
alwaysShowSend: PropTypes.Requireable<boolean>;
|
|
26
26
|
disabled: PropTypes.Requireable<boolean>;
|
package/lib/Send.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React, { useMemo, useCallback } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { StyleSheet, Text, TouchableOpacity, View, } from 'react-native';
|
|
4
|
-
import { useCallbackOne, useMemoOne } from 'use-memo-one';
|
|
5
4
|
import Color from './Color';
|
|
6
5
|
import { StylePropType } from './utils';
|
|
7
6
|
import { TEST_ID } from './Constant';
|
|
@@ -20,16 +19,14 @@ const styles = StyleSheet.create({
|
|
|
20
19
|
marginRight: 10,
|
|
21
20
|
},
|
|
22
21
|
});
|
|
23
|
-
export const Send = ({ text
|
|
24
|
-
const handleOnPress =
|
|
25
|
-
if (text && onSend)
|
|
22
|
+
export const Send = ({ text, containerStyle, children, textStyle, label = 'Send', alwaysShowSend = false, disabled = false, sendButtonProps, onSend, }) => {
|
|
23
|
+
const handleOnPress = useCallback(() => {
|
|
24
|
+
if (text && onSend)
|
|
26
25
|
onSend({ text: text.trim() }, true);
|
|
27
|
-
}
|
|
28
26
|
}, [text, onSend]);
|
|
29
|
-
const showSend =
|
|
30
|
-
if (!showSend)
|
|
27
|
+
const showSend = useMemo(() => alwaysShowSend || (text && text.trim().length > 0), [alwaysShowSend, text]);
|
|
28
|
+
if (!showSend)
|
|
31
29
|
return null;
|
|
32
|
-
}
|
|
33
30
|
return (<TouchableOpacity testID={TEST_ID.SEND_TOUCHABLE} accessible accessibilityLabel='send' style={[styles.container, containerStyle]} onPress={handleOnPress} accessibilityRole='button' disabled={disabled} {...sendButtonProps}>
|
|
34
31
|
<View>
|
|
35
32
|
{children || <Text style={[styles.text, textStyle]}>{label}</Text>}
|
package/lib/Send.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Send.js","sourceRoot":"","sources":["../src/Send.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Send.js","sourceRoot":"","sources":["../src/Send.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EACL,UAAU,EACV,IAAI,EACJ,gBAAgB,EAChB,IAAI,GAKL,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,UAAU;KAC3B;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK,CAAC,WAAW;QACxB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,KAAK,CAAC,qBAAqB;QAC5C,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;KAChB;CACF,CAAC,CAAA;AAiBF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAuC,EACzD,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,MAAM,EACd,cAAc,GAAG,KAAK,EACtB,QAAQ,GAAG,KAAK,EAChB,eAAe,EACf,MAAM,GACc,EAAE,EAAE;IACxB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,IAAI,IAAI,MAAM;YAChB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAuB,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAElB,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EACxD,CAAC,cAAc,EAAE,IAAI,CAAC,CACvB,CAAA;IAED,IAAI,CAAC,QAAQ;QACX,OAAO,IAAI,CAAA;IAEb,OAAO,CACL,CAAC,gBAAgB,CACf,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAC/B,UAAU,CACV,kBAAkB,CAAC,MAAM,CACzB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAC1C,OAAO,CAAC,CAAC,aAAa,CAAC,CACvB,iBAAiB,CAAC,QAAQ,CAC1B,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,IAAI,eAAe,CAAC,CAEpB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CACpE;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAA;AACH,CAAC,CAAA;AAED,IAAI,CAAC,SAAS,GAAG;IACf,IAAI,EAAE,SAAS,CAAC,MAAM;IACtB,MAAM,EAAE,SAAS,CAAC,IAAI;IACtB,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,cAAc,EAAE,aAAa;IAC7B,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE,SAAS,CAAC,OAAO;IAC3B,cAAc,EAAE,SAAS,CAAC,IAAI;IAC9B,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,eAAe,EAAE,SAAS,CAAC,MAAM;CAClC,CAAA"}
|
package/lib/SystemMessage.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ViewStyle, StyleProp, TextStyle } from 'react-native';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
4
|
import { IMessage } from './Models';
|
|
4
5
|
export interface SystemMessageProps<TMessage extends IMessage> {
|
|
5
|
-
currentMessage
|
|
6
|
+
currentMessage: TMessage;
|
|
6
7
|
containerStyle?: StyleProp<ViewStyle>;
|
|
7
8
|
wrapperStyle?: StyleProp<ViewStyle>;
|
|
8
9
|
textStyle?: StyleProp<TextStyle>;
|
|
9
10
|
}
|
|
10
|
-
export declare function SystemMessage<TMessage extends IMessage = IMessage>({ currentMessage, containerStyle, wrapperStyle, textStyle, }: SystemMessageProps<TMessage>): JSX.Element | null;
|
|
11
|
+
export declare function SystemMessage<TMessage extends IMessage = IMessage>({ currentMessage, containerStyle, wrapperStyle, textStyle, }: SystemMessageProps<TMessage>): React.JSX.Element | null;
|
|
11
12
|
export declare namespace SystemMessage {
|
|
12
13
|
var propTypes: {
|
|
13
14
|
currentMessage: PropTypes.Requireable<object>;
|
|
14
|
-
containerStyle: PropTypes.Requireable<number | boolean | object
|
|
15
|
-
wrapperStyle: PropTypes.Requireable<number | boolean | object
|
|
16
|
-
textStyle: PropTypes.Requireable<number | boolean | object
|
|
15
|
+
containerStyle: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
16
|
+
wrapperStyle: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
17
|
+
textStyle: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
17
18
|
};
|
|
18
19
|
}
|
package/lib/SystemMessage.js
CHANGED
|
@@ -19,9 +19,8 @@ const styles = StyleSheet.create({
|
|
|
19
19
|
},
|
|
20
20
|
});
|
|
21
21
|
export function SystemMessage({ currentMessage, containerStyle, wrapperStyle, textStyle, }) {
|
|
22
|
-
if (currentMessage == null || currentMessage.system
|
|
22
|
+
if (currentMessage == null || currentMessage.system === false)
|
|
23
23
|
return null;
|
|
24
|
-
}
|
|
25
24
|
return (<View style={[styles.container, containerStyle]}>
|
|
26
25
|
<View style={wrapperStyle}>
|
|
27
26
|
<Text style={[styles.text, textStyle]}>{currentMessage.text}</Text>
|
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
} from 'react-native/Libraries/StyleSheet/StyleSheet'
|
|
8
8
|
|
|
9
9
|
export type SystemMessageProps<TMessage: IMessage = IMessage> = $ReadOnly<{|
|
|
10
|
-
currentMessage
|
|
10
|
+
currentMessage: TMessage,
|
|
11
11
|
containerStyle?: ViewStyleProp,
|
|
12
12
|
wrapperStyle?: ViewStyleProp,
|
|
13
13
|
textStyle?: TextStyleProp,
|
package/lib/SystemMessage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAAwC,EACnE,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,GACoB;IAC7B,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,KAAK,KAAK;QAC3D,OAAO,IAAI,CAAA;IAEb,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAC9C;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACxB;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CACpE;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;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,26 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import PropTypes from 'prop-types';
|
|
2
3
|
import { ViewStyle, TextStyle } from 'react-native';
|
|
3
4
|
import { LeftRightStyle, IMessage } from './Models';
|
|
4
5
|
export interface TimeProps<TMessage extends IMessage> {
|
|
5
6
|
position?: 'left' | 'right';
|
|
6
|
-
currentMessage
|
|
7
|
+
currentMessage: TMessage;
|
|
7
8
|
containerStyle?: LeftRightStyle<ViewStyle>;
|
|
8
9
|
timeTextStyle?: LeftRightStyle<TextStyle>;
|
|
9
10
|
timeFormat?: string;
|
|
10
11
|
}
|
|
11
|
-
export declare function Time<TMessage extends IMessage = IMessage>({ position, containerStyle, currentMessage, timeFormat, timeTextStyle, }: TimeProps<TMessage>): JSX.Element | null;
|
|
12
|
+
export declare function Time<TMessage extends IMessage = IMessage>({ position, containerStyle, currentMessage, timeFormat, timeTextStyle, }: TimeProps<TMessage>): React.JSX.Element | null;
|
|
12
13
|
export declare namespace Time {
|
|
13
14
|
var propTypes: {
|
|
14
15
|
position: PropTypes.Requireable<string>;
|
|
15
16
|
currentMessage: PropTypes.Requireable<object>;
|
|
16
17
|
containerStyle: PropTypes.Requireable<PropTypes.InferProps<{
|
|
17
|
-
left: PropTypes.Requireable<number | boolean | object
|
|
18
|
-
right: PropTypes.Requireable<number | boolean | object
|
|
18
|
+
left: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
19
|
+
right: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
19
20
|
}>>;
|
|
20
21
|
timeFormat: PropTypes.Requireable<string>;
|
|
21
22
|
timeTextStyle: PropTypes.Requireable<PropTypes.InferProps<{
|
|
22
|
-
left: PropTypes.Requireable<number | boolean | object
|
|
23
|
-
right: PropTypes.Requireable<number | boolean | object
|
|
23
|
+
left: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
24
|
+
right: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
24
25
|
}>>;
|
|
25
26
|
};
|
|
26
27
|
}
|
package/lib/Time.js
CHANGED
|
@@ -16,7 +16,6 @@ const { containerStyle } = StyleSheet.create({
|
|
|
16
16
|
const { textStyle } = StyleSheet.create({
|
|
17
17
|
textStyle: {
|
|
18
18
|
fontSize: 10,
|
|
19
|
-
backgroundColor: 'transparent',
|
|
20
19
|
textAlign: 'right',
|
|
21
20
|
},
|
|
22
21
|
});
|
|
@@ -42,9 +41,8 @@ const styles = {
|
|
|
42
41
|
};
|
|
43
42
|
export function Time({ position = 'left', containerStyle, currentMessage, timeFormat = TIME_FORMAT, timeTextStyle, }) {
|
|
44
43
|
const { getLocale } = useChatContext();
|
|
45
|
-
if (currentMessage == null)
|
|
44
|
+
if (currentMessage == null)
|
|
46
45
|
return null;
|
|
47
|
-
}
|
|
48
46
|
return (<View style={[
|
|
49
47
|
styles[position].container,
|
|
50
48
|
containerStyle && containerStyle[position],
|
package/lib/Time.js.flow
CHANGED
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
|
|
9
9
|
export type TimeProps<TMessage: IMessage = IMessage> = $ReadOnly<{|
|
|
10
10
|
position: 'left' | 'right',
|
|
11
|
-
currentMessage
|
|
11
|
+
currentMessage: TMessage,
|
|
12
12
|
containerStyle?: LeftRightStyle<ViewStyleProp>,
|
|
13
13
|
timeTextStyle?: LeftRightStyle<TextStyleProp>,
|
|
14
14
|
timeFormat?: string,
|
package/lib/Time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../src/Time.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,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;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IAC3C,cAAc,EAAE;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;KAChB;CACF,CAAC,CAAA;AACF,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,
|
|
1
|
+
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../src/Time.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,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;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IAC3C,cAAc,EAAE;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;KAChB;CACF,CAAC,CAAA;AACF,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,OAAO;KACnB;CACF,CAAC,CAAA;AAEF,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,UAAU,IAAI,CAAwC,EAC1D,QAAQ,GAAG,MAAM,EACjB,cAAc,EACd,cAAc,EACd,UAAU,GAAG,WAAW,EACxB,aAAa,GACO;IACpB,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;IACtC,IAAI,cAAc,IAAI,IAAI;QACxB,OAAO,IAAI,CAAA;IAEb,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,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI;YACrB,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC;SACzC,CAAC,CAEF;QAAA,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACzE;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;AAED,IAAI,CAAC,SAAS,GAAG;IACf,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"}
|
package/lib/TypingIndicator.d.ts
CHANGED
package/lib/TypingIndicator.js
CHANGED
|
@@ -11,12 +11,10 @@ const TypingIndicator = ({ isTyping }) => {
|
|
|
11
11
|
}), []);
|
|
12
12
|
// on isTyping fire side effect
|
|
13
13
|
useUpdateLayoutEffect(() => {
|
|
14
|
-
if (isTyping)
|
|
14
|
+
if (isTyping)
|
|
15
15
|
slideIn();
|
|
16
|
-
|
|
17
|
-
else {
|
|
16
|
+
else
|
|
18
17
|
slideOut();
|
|
19
|
-
}
|
|
20
18
|
}, [isTyping]);
|
|
21
19
|
// side effect
|
|
22
20
|
const slideIn = () => {
|
|
@@ -68,7 +66,9 @@ const TypingIndicator = ({ isTyping }) => {
|
|
|
68
66
|
marginBottom: marginScale,
|
|
69
67
|
},
|
|
70
68
|
]}>
|
|
71
|
-
{isTyping
|
|
69
|
+
{isTyping
|
|
70
|
+
? (<TypingAnimation style={{ marginLeft: 6, marginTop: 7.2 }} dotRadius={4} dotMargin={5.5} dotColor='rgba(0, 0, 0, 0.38)'/>)
|
|
71
|
+
: null}
|
|
72
72
|
</Animated.View>);
|
|
73
73
|
};
|
|
74
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
|
|
1
|
+
{"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../src/TypingIndicator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,10 @@ import { useLayoutEffect, useRef } from 'react';
|
|
|
8
8
|
export function useUpdateLayoutEffect(effect, dependencies = []) {
|
|
9
9
|
const isInitialMount = useRef(true);
|
|
10
10
|
useLayoutEffect(() => {
|
|
11
|
-
if (isInitialMount.current)
|
|
11
|
+
if (isInitialMount.current)
|
|
12
12
|
isInitialMount.current = false;
|
|
13
|
-
|
|
14
|
-
else {
|
|
13
|
+
else
|
|
15
14
|
effect();
|
|
16
|
-
}
|
|
17
15
|
}, dependencies);
|
|
18
16
|
}
|
|
19
17
|
//# sourceMappingURL=useUpdateLayoutEffect.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAA;;YAE9B,MAAM,EAAE,CAAA;IACZ,CAAC,EAAE,YAAY,CAAC,CAAA;AAClB,CAAC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
|
package/lib/logging.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const warning: (...args:
|
|
2
|
-
export declare const error: (...args:
|
|
1
|
+
export declare const warning: (...args: unknown[]) => void;
|
|
2
|
+
export declare const error: (...args: unknown[]) => void;
|
package/lib/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,qBAAqB,CAAA;AAC3E,MAAM,SAAS,GAAG,8BAA8B,CAAA;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,qBAAqB,CAAA;AAC3E,MAAM,SAAS,GAAG,8BAA8B,CAAA;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;AAExD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAC1C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA"}
|
package/lib/types.js.flow
CHANGED
package/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
2
|
import { IMessage } from './Models';
|
|
3
|
-
export declare const StylePropType: PropTypes.Requireable<number | boolean | object
|
|
3
|
+
export declare const StylePropType: PropTypes.Requireable<NonNullable<number | boolean | object | null | undefined>>;
|
|
4
4
|
export declare function isSameDay(currentMessage: IMessage, diffMessage: IMessage | null | undefined): boolean;
|
|
5
5
|
export declare function isSameUser(currentMessage: IMessage, diffMessage: IMessage | null | undefined): boolean;
|
package/lib/utils.js
CHANGED
|
@@ -7,14 +7,12 @@ export const StylePropType = PropTypes.oneOfType([
|
|
|
7
7
|
PropTypes.bool,
|
|
8
8
|
]);
|
|
9
9
|
export function isSameDay(currentMessage, diffMessage) {
|
|
10
|
-
if (!diffMessage || !diffMessage.createdAt)
|
|
10
|
+
if (!diffMessage || !diffMessage.createdAt)
|
|
11
11
|
return false;
|
|
12
|
-
}
|
|
13
12
|
const currentCreatedAt = dayjs(currentMessage.createdAt);
|
|
14
13
|
const diffCreatedAt = dayjs(diffMessage.createdAt);
|
|
15
|
-
if (!currentCreatedAt.isValid() || !diffCreatedAt.isValid())
|
|
14
|
+
if (!currentCreatedAt.isValid() || !diffCreatedAt.isValid())
|
|
16
15
|
return false;
|
|
17
|
-
}
|
|
18
16
|
return currentCreatedAt.isSame(diffCreatedAt, 'day');
|
|
19
17
|
}
|
|
20
18
|
export function isSameUser(currentMessage, diffMessage) {
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC;IAC/C,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,IAAI;CACf,CAAC,CAAA;AAEF,MAAM,UAAU,SAAS,CACvB,cAAwB,EACxB,WAAwC;IAExC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC;IAC/C,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,IAAI;CACf,CAAC,CAAA;AAEF,MAAM,UAAU,SAAS,CACvB,cAAwB,EACxB,WAAwC;IAExC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS;QACxC,OAAO,KAAK,CAAA;IAEd,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAElD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QACzD,OAAO,KAAK,CAAA;IAEd,OAAO,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,cAAwB,EACxB,WAAwC;IAExC,OAAO,CAAC,CAAC,CACP,WAAW;QACX,WAAW,CAAC,IAAI;QAChB,cAAc,CAAC,IAAI;QACnB,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CACjD,CAAA;AACH,CAAC"}
|