stream-chat-react-native-core 5.15.2-beta.1 → 5.15.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.
@@ -61,13 +61,14 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
61
61
  }
62
62
  })));
63
63
  }
64
- if ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && !threadList) {
64
+ if (threadList || message.status === _utils.MessageStatusTypes.FAILED) return null;
65
+ if ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message)) {
65
66
  return _react["default"].createElement(_reactNative.View, {
66
67
  style: [styles.statusContainer, statusContainer],
67
68
  __self: _this,
68
69
  __source: {
69
70
  fileName: _jsxFileName,
70
- lineNumber: 61,
71
+ lineNumber: 63,
71
72
  columnNumber: 7
72
73
  }
73
74
  }, typeof message.readBy === 'number' ? _react["default"].createElement(_reactNative.Text, {
@@ -78,7 +79,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
78
79
  __self: _this,
79
80
  __source: {
80
81
  fileName: _jsxFileName,
81
- lineNumber: 63,
82
+ lineNumber: 65,
82
83
  columnNumber: 11
83
84
  }
84
85
  }, message.readBy) : null, typeof message.readBy === 'number' || message.readBy === true ? _react["default"].createElement(_CheckAll.CheckAll, (0, _extends2["default"])({
@@ -87,7 +88,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
87
88
  __self: _this,
88
89
  __source: {
89
90
  fileName: _jsxFileName,
90
- lineNumber: 71,
91
+ lineNumber: 73,
91
92
  columnNumber: 11
92
93
  }
93
94
  })) : _react["default"].createElement(_Check.Check, (0, _extends2["default"])({
@@ -96,19 +97,19 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
96
97
  __self: _this,
97
98
  __source: {
98
99
  fileName: _jsxFileName,
99
- lineNumber: 73,
100
+ lineNumber: 75,
100
101
  columnNumber: 11
101
102
  }
102
103
  })));
103
104
  }
104
- if (message.status === _utils.MessageStatusTypes.RECEIVED && message.type !== 'ephemeral' && !threadList) {
105
+ if (message.status === _utils.MessageStatusTypes.RECEIVED && message.type !== 'ephemeral') {
105
106
  return _react["default"].createElement(_reactNative.View, {
106
107
  style: [styles.statusContainer, statusContainer],
107
108
  testID: "delivered-container",
108
109
  __self: _this,
109
110
  __source: {
110
111
  fileName: _jsxFileName,
111
- lineNumber: 85,
112
+ lineNumber: 83,
112
113
  columnNumber: 7
113
114
  }
114
115
  }, _react["default"].createElement(_Check.Check, (0, _extends2["default"])({
@@ -117,7 +118,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
117
118
  __self: _this,
118
119
  __source: {
119
120
  fileName: _jsxFileName,
120
- lineNumber: 86,
121
+ lineNumber: 84,
121
122
  columnNumber: 9
122
123
  }
123
124
  })));
@@ -147,7 +148,7 @@ var MessageStatus = function MessageStatus(props) {
147
148
  __self: _this,
148
149
  __source: {
149
150
  fileName: _jsxFileName,
150
- lineNumber: 130,
151
+ lineNumber: 128,
151
152
  columnNumber: 10
152
153
  }
153
154
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_this","_jsxFileName","styles","StyleSheet","create","readByCount","fontSize","fontWeight","paddingRight","statusContainer","alignItems","flexDirection","justifyContent","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","timeIcon","MessageStatusTypes","SENDING","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","Time","_extends2","isMessageWithStylesReadByAndDateSeparator","readBy","Text","color","CheckAll","pathFill","Check","RECEIVED","type","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","_useMessageContext","useMessageContext","exports","displayName"],"sources":["MessageStatus.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Check } from '../../../icons/Check';\nimport { CheckAll } from '../../../icons/CheckAll';\nimport { Time } from '../../../icons/Time';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n readByCount: {\n fontSize: 11,\n fontWeight: '700',\n paddingRight: 3,\n },\n statusContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n justifyContent: 'center',\n paddingRight: 3,\n },\n});\n\nexport type MessageStatusPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'message' | 'threadList'>;\n\nconst MessageStatusWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message, threadList } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey_dark },\n messageSimple: {\n status: { checkAllIcon, checkIcon, readByCount, statusContainer, timeIcon },\n },\n },\n } = useTheme();\n\n if (message.status === MessageStatusTypes.SENDING) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='sending-container'>\n <Time {...timeIcon} />\n </View>\n );\n }\n\n if (isMessageWithStylesReadByAndDateSeparator(message) && !threadList) {\n return (\n <View style={[styles.statusContainer, statusContainer]}>\n {typeof message.readBy === 'number' ? (\n <Text\n style={[styles.readByCount, { color: accent_blue }, readByCount]}\n testID='read-by-container'\n >\n {message.readBy}\n </Text>\n ) : null}\n {typeof message.readBy === 'number' || message.readBy === true ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : (\n <Check pathFill={grey_dark} {...checkIcon} />\n )}\n </View>\n );\n }\n\n if (\n message.status === MessageStatusTypes.RECEIVED &&\n message.type !== 'ephemeral' &&\n !threadList\n ) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>\n <Check pathFill={grey_dark} {...checkIcon} />\n </View>\n );\n }\n\n return null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n nextProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message: prevMessage, threadList: prevThreadList } = prevProps;\n const { message: nextMessage, threadList: nextThreadList } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageEqual =\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy);\n if (!messageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageStatus = React.memo(\n MessageStatusWithContext,\n areEqual,\n) as typeof MessageStatusWithContext;\n\nexport type MessageStatusProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageStatusPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageStatus = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusProps<StreamChatGenerics>,\n) => {\n const { message, threadList } = useMessageContext<StreamChatGenerics>();\n\n return <MemoizedMessageStatus {...{ message, threadList }} {...props} />;\n};\n\nMessageStatus.displayName = 'MessageStatus{messageSimple{status}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_this","_jsxFileName","styles","StyleSheet","create","readByCount","fontSize","fontWeight","paddingRight","statusContainer","alignItems","flexDirection","justifyContent","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","timeIcon","MessageStatusTypes","SENDING","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","Time","_extends2","FAILED","isMessageWithStylesReadByAndDateSeparator","readBy","Text","color","CheckAll","pathFill","Check","RECEIVED","type","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","_useMessageContext","useMessageContext","exports","displayName"],"sources":["MessageStatus.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Check } from '../../../icons/Check';\nimport { CheckAll } from '../../../icons/CheckAll';\nimport { Time } from '../../../icons/Time';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n readByCount: {\n fontSize: 11,\n fontWeight: '700',\n paddingRight: 3,\n },\n statusContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n justifyContent: 'center',\n paddingRight: 3,\n },\n});\n\nexport type MessageStatusPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'message' | 'threadList'>;\n\nconst MessageStatusWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message, threadList } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey_dark },\n messageSimple: {\n status: { checkAllIcon, checkIcon, readByCount, statusContainer, timeIcon },\n },\n },\n } = useTheme();\n\n if (message.status === MessageStatusTypes.SENDING) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='sending-container'>\n <Time {...timeIcon} />\n </View>\n );\n }\n\n if (threadList || message.status === MessageStatusTypes.FAILED) return null;\n\n if (isMessageWithStylesReadByAndDateSeparator(message)) {\n return (\n <View style={[styles.statusContainer, statusContainer]}>\n {typeof message.readBy === 'number' ? (\n <Text\n style={[styles.readByCount, { color: accent_blue }, readByCount]}\n testID='read-by-container'\n >\n {message.readBy}\n </Text>\n ) : null}\n {typeof message.readBy === 'number' || message.readBy === true ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : (\n <Check pathFill={grey_dark} {...checkIcon} />\n )}\n </View>\n );\n }\n\n if (message.status === MessageStatusTypes.RECEIVED && message.type !== 'ephemeral') {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>\n <Check pathFill={grey_dark} {...checkIcon} />\n </View>\n );\n }\n\n return null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n nextProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message: prevMessage, threadList: prevThreadList } = prevProps;\n const { message: nextMessage, threadList: nextThreadList } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageEqual =\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy);\n if (!messageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageStatus = React.memo(\n MessageStatusWithContext,\n areEqual,\n) as typeof MessageStatusWithContext;\n\nexport type MessageStatusProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageStatusPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageStatus = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusProps<StreamChatGenerics>,\n) => {\n const { message, threadList } = useMessageContext<StreamChatGenerics>();\n\n return <MemoizedMessageStatus {...{ message, threadList }} {...props} />;\n};\n\nMessageStatus.displayName = 'MessageStatus{messageSimple{status}}';\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAIA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,eAAA,GAAAR,OAAA;AAAmG,IAAAS,KAAA;EAAAC,YAAA;AAEnG,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,WAAW,EAAE;IACXC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE;EAChB,CAAC;EACDC,eAAe,EAAE;IACfC,UAAU,EAAE,UAAU;IACtBC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBJ,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAMF,IAAMK,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAG5BC,KAAwD,EACrD;EACH,IAAQC,OAAO,GAAiBD,KAAK,CAA7BC,OAAO;IAAEC,UAAU,GAAKF,KAAK,CAApBE,UAAU;EAE3B,IAAAC,SAAA,GAOI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CANZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,WAAW,GAAAF,qBAAA,CAAXE,WAAW;IAAEC,SAAS,GAAAH,qBAAA,CAATG,SAAS;IAAAC,qBAAA,GAAAN,eAAA,CAChCO,aAAa,CACXC,MAAM;IAAIC,YAAY,GAAAH,qBAAA,CAAZG,YAAY;IAAEC,SAAS,GAAAJ,qBAAA,CAATI,SAAS;IAAExB,WAAW,GAAAoB,qBAAA,CAAXpB,WAAW;IAAEI,eAAe,GAAAgB,qBAAA,CAAfhB,eAAe;IAAEqB,QAAQ,GAAAL,qBAAA,CAARK,QAAQ;EAK/E,IAAIf,OAAO,CAACY,MAAM,KAAKI,yBAAkB,CAACC,OAAO,EAAE;IACjD,OACE3C,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAA0C,IAAI;MAACC,KAAK,EAAE,CAACjC,MAAM,CAACO,eAAe,EAAEA,eAAe,CAAE;MAAC2B,MAAM,EAAC,mBAAmB;MAAAC,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,GAChFpD,MAAA,YAAA4C,aAAA,CAACpC,KAAA,CAAA6C,IAAI,MAAAC,SAAA,iBAAKb,QAAQ;MAAAO,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,EAAG,CACjB,CAAC;EAEX;EAEA,IAAIzB,UAAU,IAAID,OAAO,CAACY,MAAM,KAAKI,yBAAkB,CAACa,MAAM,EAAE,OAAO,IAAI;EAE3E,IAAI,IAAAC,yDAAyC,EAAC9B,OAAO,CAAC,EAAE;IACtD,OACE1B,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAA0C,IAAI;MAACC,KAAK,EAAE,CAACjC,MAAM,CAACO,eAAe,EAAEA,eAAe,CAAE;MAAA4B,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,GACpD,OAAO1B,OAAO,CAAC+B,MAAM,KAAK,QAAQ,GACjCzD,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAAuD,IAAI;MACHZ,KAAK,EAAE,CAACjC,MAAM,CAACG,WAAW,EAAE;QAAE2C,KAAK,EAAEzB;MAAY,CAAC,EAAElB,WAAW,CAAE;MACjE+B,MAAM,EAAC,mBAAmB;MAAAC,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEzB1B,OAAO,CAAC+B,MACL,CAAC,GACL,IAAI,EACP,OAAO/B,OAAO,CAAC+B,MAAM,KAAK,QAAQ,IAAI/B,OAAO,CAAC+B,MAAM,KAAK,IAAI,GAC5DzD,MAAA,YAAA4C,aAAA,CAACrC,SAAA,CAAAqD,QAAQ,MAAAN,SAAA;MAACO,QAAQ,EAAE3B;IAAY,GAAKK,YAAY;MAAAS,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,EAAG,CAAC,GAErDpD,MAAA,YAAA4C,aAAA,CAACtC,MAAA,CAAAwD,KAAK,MAAAR,SAAA;MAACO,QAAQ,EAAE1B;IAAU,GAAKK,SAAS;MAAAQ,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,EAAG,CAE1C,CAAC;EAEX;EAEA,IAAI1B,OAAO,CAACY,MAAM,KAAKI,yBAAkB,CAACqB,QAAQ,IAAIrC,OAAO,CAACsC,IAAI,KAAK,WAAW,EAAE;IAClF,OACEhE,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAA0C,IAAI;MAACC,KAAK,EAAE,CAACjC,MAAM,CAACO,eAAe,EAAEA,eAAe,CAAE;MAAC2B,MAAM,EAAC,qBAAqB;MAAAC,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,GAClFpD,MAAA,YAAA4C,aAAA,CAACtC,MAAA,CAAAwD,KAAK,MAAAR,SAAA;MAACO,QAAQ,EAAE1B;IAAU,GAAKK,SAAS;MAAAQ,MAAA,EAAArC,KAAA;MAAAsC,QAAA;QAAAC,QAAA,EAAAtC,YAAA;QAAAuC,UAAA;QAAAC,YAAA;MAAA;IAAA,EAAG,CACxC,CAAC;EAEX;EAEA,OAAO,IAAI;AACb,CAAC;AAED,IAAMa,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAA4D,EAC5DC,SAA4D,EACzD;EACH,IAAiBC,WAAW,GAAiCF,SAAS,CAA9DxC,OAAO;IAA2B2C,cAAc,GAAKH,SAAS,CAAxCvC,UAAU;EACxC,IAAiB2C,WAAW,GAAiCH,SAAS,CAA9DzC,OAAO;IAA2B6C,cAAc,GAAKJ,SAAS,CAAxCxC,UAAU;EAExC,IAAM6C,eAAe,GAAGH,cAAc,KAAKE,cAAc;EACzD,IAAI,CAACC,eAAe,EAAE,OAAO,KAAK;EAElC,IAAMC,YAAY,GAChBL,WAAW,CAAC9B,MAAM,KAAKgC,WAAW,CAAChC,MAAM,IACzC8B,WAAW,CAACJ,IAAI,KAAKM,WAAW,CAACN,IAAI,IACrC,CAAC,IAAAR,yDAAyC,EAACY,WAAW,CAAC,IAAIA,WAAW,CAACX,MAAM,OAC1E,IAAAD,yDAAyC,EAACc,WAAW,CAAC,IAAIA,WAAW,CAACb,MAAM,CAAC;EAClF,IAAI,CAACgB,YAAY,EAAE,OAAO,KAAK;EAE/B,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,qBAAqB,GAAGC,iBAAK,CAACC,IAAI,CACtCpD,wBAAwB,EACxByC,QACF,CAAoC;AAM7B,IAAMY,aAAa,GAAG,SAAhBA,aAAaA,CAGxBpD,KAA6C,EAC1C;EACH,IAAAqD,kBAAA,GAAgC,IAAAC,iCAAiB,EAAqB,CAAC;IAA/DrD,OAAO,GAAAoD,kBAAA,CAAPpD,OAAO;IAAEC,UAAU,GAAAmD,kBAAA,CAAVnD,UAAU;EAE3B,OAAO3B,MAAA,YAAA4C,aAAA,CAAC8B,qBAAqB,MAAApB,SAAA;IAAO5B,OAAO,EAAPA,OAAO;IAAEC,UAAU,EAAVA;EAAU,GAAQF,KAAK;IAAAuB,MAAA,EAAArC,KAAA;IAAAsC,QAAA;MAAAC,QAAA,EAAAtC,YAAA;MAAAuC,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,CAAC;AAC1E,CAAC;AAAC4B,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAEFA,aAAa,CAACI,WAAW,GAAG,sCAAsC"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.15.2-beta.1"
2
+ "version": "5.15.2"
3
3
  }
@@ -61,13 +61,14 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
61
61
  }
62
62
  })));
63
63
  }
64
- if ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && !threadList) {
64
+ if (threadList || message.status === _utils.MessageStatusTypes.FAILED) return null;
65
+ if ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message)) {
65
66
  return _react["default"].createElement(_reactNative.View, {
66
67
  style: [styles.statusContainer, statusContainer],
67
68
  __self: _this,
68
69
  __source: {
69
70
  fileName: _jsxFileName,
70
- lineNumber: 61,
71
+ lineNumber: 63,
71
72
  columnNumber: 7
72
73
  }
73
74
  }, typeof message.readBy === 'number' ? _react["default"].createElement(_reactNative.Text, {
@@ -78,7 +79,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
78
79
  __self: _this,
79
80
  __source: {
80
81
  fileName: _jsxFileName,
81
- lineNumber: 63,
82
+ lineNumber: 65,
82
83
  columnNumber: 11
83
84
  }
84
85
  }, message.readBy) : null, typeof message.readBy === 'number' || message.readBy === true ? _react["default"].createElement(_CheckAll.CheckAll, (0, _extends2["default"])({
@@ -87,7 +88,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
87
88
  __self: _this,
88
89
  __source: {
89
90
  fileName: _jsxFileName,
90
- lineNumber: 71,
91
+ lineNumber: 73,
91
92
  columnNumber: 11
92
93
  }
93
94
  })) : _react["default"].createElement(_Check.Check, (0, _extends2["default"])({
@@ -96,19 +97,19 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
96
97
  __self: _this,
97
98
  __source: {
98
99
  fileName: _jsxFileName,
99
- lineNumber: 73,
100
+ lineNumber: 75,
100
101
  columnNumber: 11
101
102
  }
102
103
  })));
103
104
  }
104
- if (message.status === _utils.MessageStatusTypes.RECEIVED && message.type !== 'ephemeral' && !threadList) {
105
+ if (message.status === _utils.MessageStatusTypes.RECEIVED && message.type !== 'ephemeral') {
105
106
  return _react["default"].createElement(_reactNative.View, {
106
107
  style: [styles.statusContainer, statusContainer],
107
108
  testID: "delivered-container",
108
109
  __self: _this,
109
110
  __source: {
110
111
  fileName: _jsxFileName,
111
- lineNumber: 85,
112
+ lineNumber: 83,
112
113
  columnNumber: 7
113
114
  }
114
115
  }, _react["default"].createElement(_Check.Check, (0, _extends2["default"])({
@@ -117,7 +118,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
117
118
  __self: _this,
118
119
  __source: {
119
120
  fileName: _jsxFileName,
120
- lineNumber: 86,
121
+ lineNumber: 84,
121
122
  columnNumber: 9
122
123
  }
123
124
  })));
@@ -147,7 +148,7 @@ var MessageStatus = function MessageStatus(props) {
147
148
  __self: _this,
148
149
  __source: {
149
150
  fileName: _jsxFileName,
150
- lineNumber: 130,
151
+ lineNumber: 128,
151
152
  columnNumber: 10
152
153
  }
153
154
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_this","_jsxFileName","styles","StyleSheet","create","readByCount","fontSize","fontWeight","paddingRight","statusContainer","alignItems","flexDirection","justifyContent","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","timeIcon","MessageStatusTypes","SENDING","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","Time","_extends2","isMessageWithStylesReadByAndDateSeparator","readBy","Text","color","CheckAll","pathFill","Check","RECEIVED","type","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","_useMessageContext","useMessageContext","exports","displayName"],"sources":["MessageStatus.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Check } from '../../../icons/Check';\nimport { CheckAll } from '../../../icons/CheckAll';\nimport { Time } from '../../../icons/Time';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n readByCount: {\n fontSize: 11,\n fontWeight: '700',\n paddingRight: 3,\n },\n statusContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n justifyContent: 'center',\n paddingRight: 3,\n },\n});\n\nexport type MessageStatusPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'message' | 'threadList'>;\n\nconst MessageStatusWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message, threadList } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey_dark },\n messageSimple: {\n status: { checkAllIcon, checkIcon, readByCount, statusContainer, timeIcon },\n },\n },\n } = useTheme();\n\n if (message.status === MessageStatusTypes.SENDING) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='sending-container'>\n <Time {...timeIcon} />\n </View>\n );\n }\n\n if (isMessageWithStylesReadByAndDateSeparator(message) && !threadList) {\n return (\n <View style={[styles.statusContainer, statusContainer]}>\n {typeof message.readBy === 'number' ? (\n <Text\n style={[styles.readByCount, { color: accent_blue }, readByCount]}\n testID='read-by-container'\n >\n {message.readBy}\n </Text>\n ) : null}\n {typeof message.readBy === 'number' || message.readBy === true ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : (\n <Check pathFill={grey_dark} {...checkIcon} />\n )}\n </View>\n );\n }\n\n if (\n message.status === MessageStatusTypes.RECEIVED &&\n message.type !== 'ephemeral' &&\n !threadList\n ) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>\n <Check pathFill={grey_dark} {...checkIcon} />\n </View>\n );\n }\n\n return null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n nextProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message: prevMessage, threadList: prevThreadList } = prevProps;\n const { message: nextMessage, threadList: nextThreadList } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageEqual =\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy);\n if (!messageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageStatus = React.memo(\n MessageStatusWithContext,\n areEqual,\n) as typeof MessageStatusWithContext;\n\nexport type MessageStatusProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageStatusPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageStatus = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusProps<StreamChatGenerics>,\n) => {\n const { message, threadList } = useMessageContext<StreamChatGenerics>();\n\n return <MemoizedMessageStatus {...{ message, threadList }} {...props} />;\n};\n\nMessageStatus.displayName = 'MessageStatus{messageSimple{status}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_this","_jsxFileName","styles","StyleSheet","create","readByCount","fontSize","fontWeight","paddingRight","statusContainer","alignItems","flexDirection","justifyContent","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","timeIcon","MessageStatusTypes","SENDING","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","Time","_extends2","FAILED","isMessageWithStylesReadByAndDateSeparator","readBy","Text","color","CheckAll","pathFill","Check","RECEIVED","type","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","_useMessageContext","useMessageContext","exports","displayName"],"sources":["MessageStatus.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Check } from '../../../icons/Check';\nimport { CheckAll } from '../../../icons/CheckAll';\nimport { Time } from '../../../icons/Time';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n readByCount: {\n fontSize: 11,\n fontWeight: '700',\n paddingRight: 3,\n },\n statusContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n justifyContent: 'center',\n paddingRight: 3,\n },\n});\n\nexport type MessageStatusPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'message' | 'threadList'>;\n\nconst MessageStatusWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message, threadList } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey_dark },\n messageSimple: {\n status: { checkAllIcon, checkIcon, readByCount, statusContainer, timeIcon },\n },\n },\n } = useTheme();\n\n if (message.status === MessageStatusTypes.SENDING) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='sending-container'>\n <Time {...timeIcon} />\n </View>\n );\n }\n\n if (threadList || message.status === MessageStatusTypes.FAILED) return null;\n\n if (isMessageWithStylesReadByAndDateSeparator(message)) {\n return (\n <View style={[styles.statusContainer, statusContainer]}>\n {typeof message.readBy === 'number' ? (\n <Text\n style={[styles.readByCount, { color: accent_blue }, readByCount]}\n testID='read-by-container'\n >\n {message.readBy}\n </Text>\n ) : null}\n {typeof message.readBy === 'number' || message.readBy === true ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : (\n <Check pathFill={grey_dark} {...checkIcon} />\n )}\n </View>\n );\n }\n\n if (message.status === MessageStatusTypes.RECEIVED && message.type !== 'ephemeral') {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>\n <Check pathFill={grey_dark} {...checkIcon} />\n </View>\n );\n }\n\n return null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n nextProps: MessageStatusPropsWithContext<StreamChatGenerics>,\n) => {\n const { message: prevMessage, threadList: prevThreadList } = prevProps;\n const { message: nextMessage, threadList: nextThreadList } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageEqual =\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy);\n if (!messageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageStatus = React.memo(\n MessageStatusWithContext,\n areEqual,\n) as typeof MessageStatusWithContext;\n\nexport type MessageStatusProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageStatusPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageStatus = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageStatusProps<StreamChatGenerics>,\n) => {\n const { message, threadList } = useMessageContext<StreamChatGenerics>();\n\n return <MemoizedMessageStatus {...{ message, threadList }} {...props} />;\n};\n\nMessageStatus.displayName = 'MessageStatus{messageSimple{status}}';\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.15.2-beta.1"
2
+ "version": "5.15.2"
3
3
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.15.2-beta.1",
4
+ "version": "5.15.2",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -56,7 +56,9 @@ const MessageStatusWithContext = <
56
56
  );
57
57
  }
58
58
 
59
- if (isMessageWithStylesReadByAndDateSeparator(message) && !threadList) {
59
+ if (threadList || message.status === MessageStatusTypes.FAILED) return null;
60
+
61
+ if (isMessageWithStylesReadByAndDateSeparator(message)) {
60
62
  return (
61
63
  <View style={[styles.statusContainer, statusContainer]}>
62
64
  {typeof message.readBy === 'number' ? (
@@ -76,11 +78,7 @@ const MessageStatusWithContext = <
76
78
  );
77
79
  }
78
80
 
79
- if (
80
- message.status === MessageStatusTypes.RECEIVED &&
81
- message.type !== 'ephemeral' &&
82
- !threadList
83
- ) {
81
+ if (message.status === MessageStatusTypes.RECEIVED && message.type !== 'ephemeral') {
84
82
  return (
85
83
  <View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>
86
84
  <Check pathFill={grey_dark} {...checkIcon} />
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.15.2-beta.1"
2
+ "version": "5.15.2"
3
3
  }