stream-chat-react-native-core 8.6.1 → 8.6.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +13 -3
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +3 -1
  4. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  5. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +5 -3
  6. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  7. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js +38 -21
  8. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -1
  9. package/lib/commonjs/components/Message/MessageSimple/MessageBubble.js +157 -0
  10. package/lib/commonjs/components/Message/MessageSimple/MessageBubble.js.map +1 -0
  11. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +29 -124
  12. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  13. package/lib/commonjs/components/MessageList/MessageFlashList.js +56 -65
  14. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  15. package/lib/commonjs/components/MessageList/MessageList.js +20 -8
  16. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  17. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +5 -3
  18. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  19. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  20. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  21. package/lib/commonjs/hooks/usePrunableMessageList.js +63 -0
  22. package/lib/commonjs/hooks/usePrunableMessageList.js.map +1 -0
  23. package/lib/commonjs/version.json +1 -1
  24. package/lib/module/components/Channel/Channel.js +13 -3
  25. package/lib/module/components/Channel/Channel.js.map +1 -1
  26. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +3 -1
  27. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  28. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +5 -3
  29. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  30. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js +38 -21
  31. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -1
  32. package/lib/module/components/Message/MessageSimple/MessageBubble.js +157 -0
  33. package/lib/module/components/Message/MessageSimple/MessageBubble.js.map +1 -0
  34. package/lib/module/components/Message/MessageSimple/MessageSimple.js +29 -124
  35. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  36. package/lib/module/components/MessageList/MessageFlashList.js +56 -65
  37. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  38. package/lib/module/components/MessageList/MessageList.js +20 -8
  39. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  40. package/lib/module/components/MessageList/hooks/useMessageList.js +5 -3
  41. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  42. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  43. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  44. package/lib/module/hooks/usePrunableMessageList.js +63 -0
  45. package/lib/module/hooks/usePrunableMessageList.js.map +1 -0
  46. package/lib/module/version.json +1 -1
  47. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  48. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  49. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  50. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  51. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  52. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts.map +1 -1
  53. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts.map +1 -1
  54. package/lib/typescript/components/Message/MessageSimple/MessageBubble.d.ts +11 -0
  55. package/lib/typescript/components/Message/MessageSimple/MessageBubble.d.ts.map +1 -0
  56. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
  57. package/lib/typescript/components/MessageList/MessageFlashList.d.ts +10 -1
  58. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  59. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  60. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  61. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +1 -0
  62. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  63. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +6 -0
  64. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  65. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +5 -0
  66. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts.map +1 -1
  67. package/lib/typescript/hooks/usePrunableMessageList.d.ts +19 -0
  68. package/lib/typescript/hooks/usePrunableMessageList.d.ts.map +1 -0
  69. package/lib/typescript/hooks/useTranslatedMessage.d.ts +4 -0
  70. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  71. package/package.json +4 -4
  72. package/src/components/Channel/Channel.tsx +9 -1
  73. package/src/components/Channel/hooks/useCreateChannelContext.ts +3 -0
  74. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +3 -1
  75. package/src/components/ChannelPreview/hooks/useChannelPreviewData.ts +59 -29
  76. package/src/components/Message/MessageSimple/MessageBubble.tsx +235 -0
  77. package/src/components/Message/MessageSimple/MessageSimple.tsx +30 -193
  78. package/src/components/MessageList/MessageFlashList.tsx +69 -66
  79. package/src/components/MessageList/MessageList.tsx +37 -14
  80. package/src/components/MessageList/hooks/useMessageList.ts +3 -2
  81. package/src/contexts/channelContext/ChannelContext.tsx +6 -0
  82. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +5 -0
  83. package/src/hooks/usePrunableMessageList.ts +79 -0
  84. package/src/version.json +1 -1
@@ -9,15 +9,33 @@ var _throttle = _interopRequireDefault(require("lodash/throttle"));
9
9
  var _useIsChannelMuted2 = require("./useIsChannelMuted");
10
10
  var _useLatestMessagePreview = require("./useLatestMessagePreview");
11
11
  var _contexts = require("../../../contexts");
12
+ var _hooks = require("../../../hooks");
13
+ var setLastMessageThrottleTimeout = 500;
14
+ var setLastMessageThrottleOptions = {
15
+ leading: true,
16
+ trailing: true
17
+ };
18
+ var refreshUnreadCountThrottleTimeout = 400;
19
+ var refreshUnreadCountThrottleOptions = setLastMessageThrottleOptions;
12
20
  var useChannelPreviewData = exports.useChannelPreviewData = function useChannelPreviewData(channel, client, forceUpdateOverride) {
13
21
  var _useState = (0, _react.useState)(0),
14
22
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
15
23
  forceUpdate = _useState2[0],
16
24
  setForceUpdate = _useState2[1];
17
- var _useState3 = (0, _react.useState)(channel.state.messages[channel.state.messages.length - 1]),
25
+ var _useState3 = (0, _react.useState)(function () {
26
+ return channel.state.messages[channel.state.messages.length - 1];
27
+ }),
18
28
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
19
29
  lastMessage = _useState4[0],
20
- setLastMessage = _useState4[1];
30
+ setLastMessageInner = _useState4[1];
31
+ var throttledSetLastMessage = (0, _react.useMemo)(function () {
32
+ return (0, _throttle.default)(function (newLastMessage) {
33
+ return setLastMessageInner(newLastMessage);
34
+ }, setLastMessageThrottleTimeout, setLastMessageThrottleOptions);
35
+ }, []);
36
+ var setLastMessage = (0, _hooks.useStableCallback)(function (newLastMessage) {
37
+ return throttledSetLastMessage(newLastMessage);
38
+ });
21
39
  var _useState5 = (0, _react.useState)(channel.countUnread()),
22
40
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
23
41
  unread = _useState6[0],
@@ -29,6 +47,15 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
29
47
  var channelListForceUpdate = forceUpdateOverride != null ? forceUpdateOverride : contextForceUpdate;
30
48
  var channelLastMessage = channel.lastMessage();
31
49
  var channelLastMessageString = `${channelLastMessage == null ? void 0 : channelLastMessage.id}${channelLastMessage == null ? void 0 : channelLastMessage.updated_at}`;
50
+ var refreshUnreadCount = (0, _react.useMemo)(function () {
51
+ return (0, _throttle.default)(function () {
52
+ if (muted) {
53
+ setUnread(0);
54
+ } else {
55
+ setUnread(channel.countUnread());
56
+ }
57
+ }, refreshUnreadCountThrottleTimeout, refreshUnreadCountThrottleOptions);
58
+ }, [channel, muted]);
32
59
  (0, _react.useEffect)(function () {
33
60
  var unsubscribe = channel.messageComposer.registerDraftEventSubscriptions();
34
61
  return function () {
@@ -37,18 +64,17 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
37
64
  }, [channel.messageComposer]);
38
65
  (0, _react.useEffect)(function () {
39
66
  var _client$on = client.on('notification.mark_read', function () {
40
- setUnread(channel.countUnread());
67
+ refreshUnreadCount();
41
68
  }),
42
69
  unsubscribe = _client$on.unsubscribe;
43
70
  return unsubscribe;
44
- }, [channel, client]);
71
+ }, [client, refreshUnreadCount]);
45
72
  (0, _react.useEffect)(function () {
46
- if (channelLastMessage && (channelLastMessage.id !== (lastMessage == null ? void 0 : lastMessage.id) || channelLastMessage.updated_at !== (lastMessage == null ? void 0 : lastMessage.updated_at))) {
47
- setLastMessage(channelLastMessage);
48
- }
49
- var newUnreadCount = channel.countUnread();
50
- setUnread(newUnreadCount);
51
- }, [channel, channelLastMessage, channelLastMessageString, channelListForceUpdate, lastMessage]);
73
+ setLastMessage(function (prevLastMessage) {
74
+ return channelLastMessage && (channelLastMessage.id !== (prevLastMessage == null ? void 0 : prevLastMessage.id) || channelLastMessage.updated_at !== (prevLastMessage == null ? void 0 : prevLastMessage.updated_at)) ? channelLastMessage : prevLastMessage;
75
+ });
76
+ refreshUnreadCount();
77
+ }, [channelLastMessage, channelLastMessageString, channelListForceUpdate, setLastMessage, refreshUnreadCount]);
52
78
  (0, _react.useEffect)(function () {
53
79
  var handleReadEvent = function handleReadEvent(event) {
54
80
  var _event$user, _event$user2;
@@ -88,15 +114,6 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
88
114
  unsubscribe = _client$on3.unsubscribe;
89
115
  return unsubscribe;
90
116
  }, [client, channel]);
91
- var refreshUnreadCount = (0, _react.useMemo)(function () {
92
- return (0, _throttle.default)(function () {
93
- if (muted) {
94
- setUnread(0);
95
- } else {
96
- setUnread(channel.countUnread());
97
- }
98
- }, 400);
99
- }, [channel, muted]);
100
117
  (0, _react.useEffect)(function () {
101
118
  refreshUnreadCount();
102
119
  var handleEvent = function handleEvent() {
@@ -107,7 +124,7 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
107
124
  var message = event.message;
108
125
  if (message && (!message.parent_id || message.show_in_channel)) {
109
126
  setLastMessage(message);
110
- setUnread(channel.countUnread());
127
+ refreshUnreadCount();
111
128
  }
112
129
  };
113
130
  var handleUpdatedOrDeletedMessage = function handleUpdatedOrDeletedMessage(event) {
@@ -125,7 +142,7 @@ var useChannelPreviewData = exports.useChannelPreviewData = function useChannelP
125
142
  return l.unsubscribe();
126
143
  });
127
144
  };
128
- }, [channel, refreshUnreadCount, forceUpdate, channelListForceUpdate]);
145
+ }, [channel, refreshUnreadCount, forceUpdate, channelListForceUpdate, setLastMessage]);
129
146
  var latestMessagePreview = (0, _useLatestMessagePreview.useLatestMessagePreview)(channel, forceUpdate, lastMessage);
130
147
  return {
131
148
  latestMessagePreview: latestMessagePreview,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_throttle","_interopRequireDefault","_useIsChannelMuted2","_useLatestMessagePreview","_contexts","useChannelPreviewData","exports","channel","client","forceUpdateOverride","_useState","useState","_useState2","_slicedToArray2","default","forceUpdate","setForceUpdate","_useState3","state","messages","length","_useState4","lastMessage","setLastMessage","_useState5","countUnread","_useState6","unread","setUnread","_useIsChannelMuted","useIsChannelMuted","muted","_useChannelsContext","useChannelsContext","contextForceUpdate","channelListForceUpdate","channelLastMessage","channelLastMessageString","id","updated_at","useEffect","unsubscribe","messageComposer","registerDraftEventSubscriptions","_client$on","on","newUnreadCount","handleReadEvent","event","_event$user","_event$user2","cid","user","userID","prev","_client$on2","handleUnreadEvent","_event$user3","_client$user","_client$on3","refreshUnreadCount","useMemo","throttle","handleEvent","latestMessages","handleNewMessageEvent","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","prevLastMessage","_event$message","listeners","forEach","l","latestMessagePreview","useLatestMessagePreview"],"sourceRoot":"../../../../../src","sources":["components/ChannelPreview/hooks/useChannelPreviewData.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_throttle","_interopRequireDefault","_useIsChannelMuted2","_useLatestMessagePreview","_contexts","_hooks","setLastMessageThrottleTimeout","setLastMessageThrottleOptions","leading","trailing","refreshUnreadCountThrottleTimeout","refreshUnreadCountThrottleOptions","useChannelPreviewData","exports","channel","client","forceUpdateOverride","_useState","useState","_useState2","_slicedToArray2","default","forceUpdate","setForceUpdate","_useState3","state","messages","length","_useState4","lastMessage","setLastMessageInner","throttledSetLastMessage","useMemo","throttle","newLastMessage","setLastMessage","useStableCallback","_useState5","countUnread","_useState6","unread","setUnread","_useIsChannelMuted","useIsChannelMuted","muted","_useChannelsContext","useChannelsContext","contextForceUpdate","channelListForceUpdate","channelLastMessage","channelLastMessageString","id","updated_at","refreshUnreadCount","useEffect","unsubscribe","messageComposer","registerDraftEventSubscriptions","_client$on","on","prevLastMessage","handleReadEvent","event","_event$user","_event$user2","cid","user","userID","prev","_client$on2","handleUnreadEvent","_event$user3","_client$user","_client$on3","handleEvent","latestMessages","handleNewMessageEvent","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","_event$message","listeners","forEach","l","latestMessagePreview","useLatestMessagePreview"],"sourceRoot":"../../../../../src","sources":["components/ChannelPreview/hooks/useChannelPreviewData.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,wBAAA,GAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAMO,6BAA6B,GAAG,GAAG;AACzC,IAAMC,6BAA6B,GAAG;EAAEC,OAAO,EAAE,IAAI;EAAEC,QAAQ,EAAE;AAAK,CAAC;AAEvE,IAAMC,iCAAiC,GAAG,GAAG;AAC7C,IAAMC,iCAAiC,GAAGJ,6BAA6B;AAIhE,IAAMK,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAChCE,OAAgB,EAChBC,MAAkB,EAClBC,mBAA4B,EACzB;EACH,IAAAC,SAAA,GAAsC,IAAAC,eAAQ,EAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA1CK,WAAW,GAAAH,UAAA;IAAEI,cAAc,GAAAJ,UAAA;EAClC,IAAAK,UAAA,GAA2C,IAAAN,eAAQ,EACjD;MAAA,OAAMJ,OAAO,CAACW,KAAK,CAACC,QAAQ,CAACZ,OAAO,CAACW,KAAK,CAACC,QAAQ,CAACC,MAAM,GAAG,CAAC,CAAC;IAAA,CACjE,CAAC;IAAAC,UAAA,OAAAR,eAAA,CAAAC,OAAA,EAAAG,UAAA;IAFMK,WAAW,GAAAD,UAAA;IAAEE,mBAAmB,GAAAF,UAAA;EAGvC,IAAMG,uBAAuB,GAAG,IAAAC,cAAO,EACrC;IAAA,OACE,IAAAC,iBAAQ,EACN,UAACC,cAA+C;MAAA,OAAKJ,mBAAmB,CAACI,cAAc,CAAC;IAAA,GACxF5B,6BAA6B,EAC7BC,6BACF,CAAC;EAAA,GACH,EACF,CAAC;EACD,IAAM4B,cAAc,GAAG,IAAAC,wBAAiB,EAAC,UAACF,cAA+C;IAAA,OACvFH,uBAAuB,CAACG,cAAc,CAAC;EAAA,CACzC,CAAC;EACD,IAAAG,UAAA,GAA4B,IAAAnB,eAAQ,EAACJ,OAAO,CAACwB,WAAW,CAAC,CAAC,CAAC;IAAAC,UAAA,OAAAnB,eAAA,CAAAC,OAAA,EAAAgB,UAAA;IAApDG,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAAG,kBAAA,GAAkB,IAAAC,qCAAiB,EAAC7B,OAAO,CAAC;IAApC8B,KAAK,GAAAF,kBAAA,CAALE,KAAK;EACb,IAAAC,mBAAA,GAA4C,IAAAC,4BAAkB,EAAC,CAAC;IAA3CC,kBAAkB,GAAAF,mBAAA,CAA/BvB,WAAW;EACnB,IAAM0B,sBAAsB,GAAGhC,mBAAmB,WAAnBA,mBAAmB,GAAI+B,kBAAkB;EAExE,IAAME,kBAAkB,GAAGnC,OAAO,CAACe,WAAW,CAAC,CAAC;EAChD,IAAMqB,wBAAwB,GAAG,GAAGD,kBAAkB,oBAAlBA,kBAAkB,CAAEE,EAAE,GAAGF,kBAAkB,oBAAlBA,kBAAkB,CAAEG,UAAU,EAAE;EAE7F,IAAMC,kBAAkB,GAAG,IAAArB,cAAO,EAChC;IAAA,OACE,IAAAC,iBAAQ,EACN,YAAM;MACJ,IAAIW,KAAK,EAAE;QACTH,SAAS,CAAC,CAAC,CAAC;MACd,CAAC,MAAM;QACLA,SAAS,CAAC3B,OAAO,CAACwB,WAAW,CAAC,CAAC,CAAC;MAClC;IACF,CAAC,EACD5B,iCAAiC,EACjCC,iCACF,CAAC;EAAA,GACH,CAACG,OAAO,EAAE8B,KAAK,CACjB,CAAC;EAED,IAAAU,gBAAS,EAAC,YAAM;IACd,IAAMC,WAAW,GAAGzC,OAAO,CAAC0C,eAAe,CAACC,+BAA+B,CAAC,CAAC;IAC7E,OAAO;MAAA,OAAMF,WAAW,CAAC,CAAC;IAAA;EAC5B,CAAC,EAAE,CAACzC,OAAO,CAAC0C,eAAe,CAAC,CAAC;EAE7B,IAAAF,gBAAS,EAAC,YAAM;IACd,IAAAI,UAAA,GAAwB3C,MAAM,CAAC4C,EAAE,CAAC,wBAAwB,EAAE,YAAM;QAChEN,kBAAkB,CAAC,CAAC;MACtB,CAAC,CAAC;MAFME,WAAW,GAAAG,UAAA,CAAXH,WAAW;IAGnB,OAAOA,WAAW;EACpB,CAAC,EAAE,CAACxC,MAAM,EAAEsC,kBAAkB,CAAC,CAAC;EAEhC,IAAAC,gBAAS,EAAC,YAAM;IACdnB,cAAc,CAAC,UAACyB,eAAe;MAAA,OAC7BX,kBAAkB,KACjBA,kBAAkB,CAACE,EAAE,MAAKS,eAAe,oBAAfA,eAAe,CAAET,EAAE,KAC5CF,kBAAkB,CAACG,UAAU,MAAKQ,eAAe,oBAAfA,eAAe,CAAER,UAAU,EAAC,GAC5DH,kBAAkB,GAClBW,eAAe;IAAA,CACrB,CAAC;IACDP,kBAAkB,CAAC,CAAC;EACtB,CAAC,EAAE,CACDJ,kBAAkB,EAClBC,wBAAwB,EACxBF,sBAAsB,EACtBb,cAAc,EACdkB,kBAAkB,CACnB,CAAC;EAKF,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAMO,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAY,EAAK;MAAA,IAAAC,WAAA,EAAAC,YAAA;MACxC,IAAI,CAACF,KAAK,CAACG,GAAG,EAAE;QACd;MACF;MACA,IAAInD,OAAO,CAACmD,GAAG,KAAKH,KAAK,CAACG,GAAG,EAAE;QAC7B;MACF;MACA,IAAI,CAAAH,KAAK,aAAAC,WAAA,GAALD,KAAK,CAAEI,IAAI,qBAAXH,WAAA,CAAaZ,EAAE,MAAKpC,MAAM,CAACoD,MAAM,EAAE;QACrC1B,SAAS,CAAC,CAAC,CAAC;MACd,CAAC,MAAM,IAAIqB,KAAK,aAAAE,YAAA,GAALF,KAAK,CAAEI,IAAI,aAAXF,YAAA,CAAab,EAAE,EAAE;QAC1B5B,cAAc,CAAC,UAAC6C,IAAI;UAAA,OAAKA,IAAI,GAAG,CAAC;QAAA,EAAC;MACpC;IACF,CAAC;IACD,IAAAC,WAAA,GAAwBtD,MAAM,CAAC4C,EAAE,CAAC,cAAc,EAAEE,eAAe,CAAC;MAA1DN,WAAW,GAAAc,WAAA,CAAXd,WAAW;IACnB,OAAOA,WAAW;EACpB,CAAC,EAAE,CAACxC,MAAM,EAAED,OAAO,CAAC,CAAC;EAKrB,IAAAwC,gBAAS,EAAC,YAAM;IACd,IAAMgB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIR,KAAY,EAAK;MAAA,IAAAS,YAAA,EAAAC,YAAA;MAC1C,IAAI,CAACV,KAAK,CAACG,GAAG,EAAE;QACd;MACF;MACA,IAAInD,OAAO,CAACmD,GAAG,KAAKH,KAAK,CAACG,GAAG,EAAE;QAC7B;MACF;MACA,IAAI,EAAAM,YAAA,GAAAT,KAAK,CAACI,IAAI,qBAAVK,YAAA,CAAYpB,EAAE,QAAAqB,YAAA,GAAKzD,MAAM,CAACmD,IAAI,qBAAXM,YAAA,CAAarB,EAAE,GAAE;QACtC;MACF;MACAV,SAAS,CAAC3B,OAAO,CAACwB,WAAW,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,IAAAmC,WAAA,GAAwB1D,MAAM,CAAC4C,EAAE,CAAC,0BAA0B,EAAEW,iBAAiB,CAAC;MAAxEf,WAAW,GAAAkB,WAAA,CAAXlB,WAAW;IACnB,OAAOA,WAAW;EACpB,CAAC,EAAE,CAACxC,MAAM,EAAED,OAAO,CAAC,CAAC;EAKrB,IAAAwC,gBAAS,EAAC,YAAM;IACdD,kBAAkB,CAAC,CAAC;IAEpB,IAAMqB,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;MACxBvC,cAAc,CAACrB,OAAO,CAACW,KAAK,CAACkD,cAAc,CAAC7D,OAAO,CAACW,KAAK,CAACkD,cAAc,CAAChD,MAAM,GAAG,CAAC,CAAC,CAAC;MACrF0B,kBAAkB,CAAC,CAAC;IACtB,CAAC;IAED,IAAMuB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAId,KAAY,EAAK;MAC9C,IAAMe,OAAO,GAAGf,KAAK,CAACe,OAAO;MAC7B,IAAIA,OAAO,KAAK,CAACA,OAAO,CAACC,SAAS,IAAID,OAAO,CAACE,eAAe,CAAC,EAAE;QAC9D5C,cAAc,CAAC0C,OAAO,CAAC;QACvBxB,kBAAkB,CAAC,CAAC;MACtB;IACF,CAAC;IAED,IAAM2B,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIlB,KAAY,EAAK;MACtD3B,cAAc,CAAC,UAACyB,eAAe,EAAK;QAAA,IAAAqB,cAAA;QAClC,IAAI,CAAArB,eAAe,oBAAfA,eAAe,CAAET,EAAE,QAAA8B,cAAA,GAAKnB,KAAK,CAACe,OAAO,qBAAbI,cAAA,CAAe9B,EAAE,GAAE;UAC7C,OAAOW,KAAK,CAACe,OAAO;QACtB;QACA,OAAOjB,eAAe;MACxB,CAAC,CAAC;IACJ,CAAC;IAED,IAAMsB,SAAS,GAAG,CAChBpE,OAAO,CAAC6C,EAAE,CAAC,aAAa,EAAEiB,qBAAqB,CAAC,EAChD9D,OAAO,CAAC6C,EAAE,CAAC,iBAAiB,EAAEqB,6BAA6B,CAAC,EAC5DlE,OAAO,CAAC6C,EAAE,CAAC,iBAAiB,EAAEqB,6BAA6B,CAAC,EAC5DlE,OAAO,CAAC6C,EAAE,CAAC,mBAAmB,EAAEe,WAAW,CAAC,EAC5C5D,OAAO,CAAC6C,EAAE,CAAC,mBAAmB,EAAEe,WAAW,CAAC,CAC7C;IAED,OAAO;MAAA,OAAMQ,SAAS,CAACC,OAAO,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAAC7B,WAAW,CAAC,CAAC;MAAA,EAAC;IAAA;EACxD,CAAC,EAAE,CAACzC,OAAO,EAAEuC,kBAAkB,EAAE/B,WAAW,EAAE0B,sBAAsB,EAAEb,cAAc,CAAC,CAAC;EAEtF,IAAMkD,oBAAoB,GAAG,IAAAC,gDAAuB,EAACxE,OAAO,EAAEQ,WAAW,EAAEO,WAAW,CAAC;EAEvF,OAAO;IAAEwD,oBAAoB,EAApBA,oBAAoB;IAAEzC,KAAK,EAALA,KAAK;IAAEJ,MAAM,EAANA;EAAO,CAAC;AAChD,CAAC","ignoreList":[]}
@@ -0,0 +1,157 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.SwipableMessageBubble = exports.MessageBubble = void 0;
6
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
11
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
12
+ var _contexts = require("../../../contexts");
13
+ var _native = require("../../../native");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _excluded = ["MessageSwipeContent", "shouldRenderSwipeableWrapper", "messageSwipeToReplyHitSlop", "onSwipe"];
16
+ var _this = this,
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageBubble.tsx";
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ var MessageBubble = exports.MessageBubble = _react.default.memo(function (_ref) {
21
+ var reactionListPosition = _ref.reactionListPosition,
22
+ messageContentWidth = _ref.messageContentWidth,
23
+ setMessageContentWidth = _ref.setMessageContentWidth,
24
+ MessageContent = _ref.MessageContent,
25
+ ReactionListTop = _ref.ReactionListTop,
26
+ backgroundColor = _ref.backgroundColor,
27
+ isVeryLastMessage = _ref.isVeryLastMessage,
28
+ messageGroupedSingleOrBottom = _ref.messageGroupedSingleOrBottom,
29
+ noBorder = _ref.noBorder;
30
+ var _useTheme = (0, _contexts.useTheme)(),
31
+ contentWrapper = _useTheme.theme.messageSimple.contentWrapper;
32
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
33
+ style: [styles.contentWrapper, contentWrapper],
34
+ children: [(0, _jsxRuntime.jsx)(MessageContent, {
35
+ backgroundColor: backgroundColor,
36
+ isVeryLastMessage: isVeryLastMessage,
37
+ messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
38
+ noBorder: noBorder,
39
+ setMessageContentWidth: setMessageContentWidth
40
+ }), reactionListPosition === 'top' && ReactionListTop ? (0, _jsxRuntime.jsx)(ReactionListTop, {
41
+ messageContentWidth: messageContentWidth
42
+ }) : null]
43
+ });
44
+ });
45
+ var AnimatedWrapper = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.View);
46
+ var SwipableMessageBubble = exports.SwipableMessageBubble = _react.default.memo(function (props) {
47
+ var MessageSwipeContent = props.MessageSwipeContent,
48
+ shouldRenderSwipeableWrapper = props.shouldRenderSwipeableWrapper,
49
+ messageSwipeToReplyHitSlop = props.messageSwipeToReplyHitSlop,
50
+ onSwipe = props.onSwipe,
51
+ messageBubbleProps = (0, _objectWithoutProperties2.default)(props, _excluded);
52
+ var _useTheme2 = (0, _contexts.useTheme)(),
53
+ _useTheme2$theme$mess = _useTheme2.theme.messageSimple,
54
+ contentWrapper = _useTheme2$theme$mess.contentWrapper,
55
+ swipeContentContainer = _useTheme2$theme$mess.swipeContentContainer;
56
+ var translateX = (0, _reactNativeReanimated.useSharedValue)(0);
57
+ var touchStart = (0, _reactNativeReanimated.useSharedValue)(null);
58
+ var isSwiping = (0, _reactNativeReanimated.useSharedValue)(false);
59
+ var _useState = (0, _react.useState)(shouldRenderSwipeableWrapper),
60
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
61
+ shouldRenderAnimatedWrapper = _useState2[0],
62
+ setShouldRenderAnimatedWrapper = _useState2[1];
63
+ var SWIPABLE_THRESHOLD = 25;
64
+ var triggerHaptic = _native.NativeHandlers.triggerHaptic;
65
+ var swipeGesture = (0, _react.useMemo)(function () {
66
+ return _reactNativeGestureHandler.Gesture.Pan().hitSlop(messageSwipeToReplyHitSlop).onBegin(function (event) {
67
+ touchStart.value = {
68
+ x: event.x,
69
+ y: event.y
70
+ };
71
+ }).onTouchesMove(function (event, state) {
72
+ if (!touchStart.value || !event.changedTouches.length) {
73
+ state.fail();
74
+ return;
75
+ }
76
+ var xDiff = Math.abs(event.changedTouches[0].x - touchStart.value.x);
77
+ var yDiff = Math.abs(event.changedTouches[0].y - touchStart.value.y);
78
+ var isHorizontalPanning = xDiff > yDiff;
79
+ if (isHorizontalPanning) {
80
+ state.activate();
81
+ isSwiping.value = true;
82
+ if (!shouldRenderSwipeableWrapper) {
83
+ (0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
84
+ }
85
+ } else {
86
+ state.fail();
87
+ }
88
+ }).onStart(function () {
89
+ translateX.value = 0;
90
+ }).onChange(function (_ref2) {
91
+ var translationX = _ref2.translationX;
92
+ if (translationX > 0) {
93
+ translateX.value = translationX;
94
+ }
95
+ }).onEnd(function () {
96
+ if (translateX.value >= SWIPABLE_THRESHOLD) {
97
+ (0, _reactNativeReanimated.runOnJS)(onSwipe)();
98
+ if (triggerHaptic) {
99
+ (0, _reactNativeReanimated.runOnJS)(triggerHaptic)('impactMedium');
100
+ }
101
+ }
102
+ isSwiping.value = false;
103
+ translateX.value = (0, _reactNativeReanimated.withSpring)(0, {
104
+ dampingRatio: 1,
105
+ duration: 500,
106
+ overshootClamping: true,
107
+ stiffness: 1
108
+ }, function () {
109
+ if (!shouldRenderSwipeableWrapper) {
110
+ (0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
111
+ }
112
+ });
113
+ });
114
+ }, [isSwiping, messageSwipeToReplyHitSlop, onSwipe, touchStart, translateX, triggerHaptic, shouldRenderSwipeableWrapper]);
115
+ var messageBubbleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
116
+ return {
117
+ transform: [{
118
+ translateX: translateX.value
119
+ }]
120
+ };
121
+ }, []);
122
+ var swipeContentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
123
+ return {
124
+ opacity: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [0, 1]),
125
+ transform: [{
126
+ translateX: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [-SWIPABLE_THRESHOLD, 0], _reactNativeReanimated.Extrapolation.CLAMP)
127
+ }]
128
+ };
129
+ }, []);
130
+ return (0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
131
+ gesture: swipeGesture,
132
+ children: (0, _jsxRuntime.jsx)(_reactNative.View, {
133
+ hitSlop: messageSwipeToReplyHitSlop,
134
+ style: [styles.contentWrapper, contentWrapper],
135
+ children: shouldRenderAnimatedWrapper ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
136
+ children: [(0, _jsxRuntime.jsx)(AnimatedWrapper, {
137
+ style: [styles.swipeContentContainer, swipeContentAnimatedStyle, swipeContentContainer],
138
+ children: MessageSwipeContent ? (0, _jsxRuntime.jsx)(MessageSwipeContent, {}) : null
139
+ }), (0, _jsxRuntime.jsx)(AnimatedWrapper, {
140
+ pointerEvents: "box-none",
141
+ style: messageBubbleAnimatedStyle,
142
+ children: (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps))
143
+ })]
144
+ }) : (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps))
145
+ })
146
+ });
147
+ });
148
+ var styles = _reactNative.StyleSheet.create({
149
+ contentWrapper: {
150
+ alignItems: 'center',
151
+ flexDirection: 'row'
152
+ },
153
+ swipeContentContainer: {
154
+ position: 'absolute'
155
+ }
156
+ });
157
+ //# sourceMappingURL=MessageBubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_contexts","_native","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubble","exports","React","memo","_ref","reactionListPosition","messageContentWidth","setMessageContentWidth","MessageContent","ReactionListTop","backgroundColor","isVeryLastMessage","messageGroupedSingleOrBottom","noBorder","_useTheme","useTheme","contentWrapper","theme","messageSimple","jsxs","View","style","styles","children","jsx","AnimatedWrapper","Animated","createAnimatedComponent","SwipableMessageBubble","props","MessageSwipeContent","shouldRenderSwipeableWrapper","messageSwipeToReplyHitSlop","onSwipe","messageBubbleProps","_objectWithoutProperties2","_useTheme2","_useTheme2$theme$mess","swipeContentContainer","translateX","useSharedValue","touchStart","isSwiping","_useState","useState","_useState2","_slicedToArray2","shouldRenderAnimatedWrapper","setShouldRenderAnimatedWrapper","SWIPABLE_THRESHOLD","triggerHaptic","NativeHandlers","swipeGesture","useMemo","Gesture","Pan","hitSlop","onBegin","event","value","x","y","onTouchesMove","state","changedTouches","length","fail","xDiff","Math","abs","yDiff","isHorizontalPanning","activate","runOnJS","onStart","onChange","_ref2","translationX","onEnd","withSpring","dampingRatio","duration","overshootClamping","stiffness","messageBubbleAnimatedStyle","useAnimatedStyle","transform","swipeContentAnimatedStyle","opacity","interpolate","Extrapolation","CLAMP","GestureDetector","gesture","Fragment","pointerEvents","assign","StyleSheet","create","alignItems","flexDirection","position"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageBubble.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,13 +6,11 @@ exports.MessageSimple = void 0;
6
6
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
+ var _MessageBubble = require("./MessageBubble");
11
10
  var _MessageContext = require("../../../contexts/messageContext/MessageContext");
12
11
  var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
13
12
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
14
13
  var _useStableCallback = require("../../../hooks/useStableCallback");
15
- var _native = require("../../../native");
16
14
  var _utils = require("../../../utils/utils");
17
15
  var _useMessageData2 = require("../hooks/useMessageData");
18
16
  var _jsxRuntime = require("react/jsx-runtime");
@@ -20,17 +18,12 @@ var _this = this,
20
18
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageSimple.tsx";
21
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
- var AnimatedWrapper = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.View);
24
21
  var styles = _reactNative.StyleSheet.create({
25
22
  container: {
26
23
  alignItems: 'flex-end',
27
24
  flexDirection: 'row'
28
25
  },
29
26
  contentContainer: {},
30
- contentWrapper: {
31
- alignItems: 'center',
32
- flexDirection: 'row'
33
- },
34
27
  lastMessageContainer: {
35
28
  marginBottom: 12
36
29
  },
@@ -43,9 +36,6 @@ var styles = _reactNative.StyleSheet.create({
43
36
  messageGroupedTopContainer: {},
44
37
  rightAlignItems: {
45
38
  alignItems: 'flex-end'
46
- },
47
- swipeContentContainer: {
48
- position: 'absolute'
49
39
  }
50
40
  });
51
41
  var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
@@ -104,13 +94,11 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
104
94
  errorContainer = _useTheme$theme$messa2.errorContainer,
105
95
  receiverMessageBackgroundColor = _useTheme$theme$messa2.receiverMessageBackgroundColor,
106
96
  senderMessageBackgroundColor = _useTheme$theme$messa2.senderMessageBackgroundColor,
107
- contentWrapper = _useTheme$theme$messa.contentWrapper,
108
97
  headerWrapper = _useTheme$theme$messa.headerWrapper,
109
98
  lastMessageContainer = _useTheme$theme$messa.lastMessageContainer,
110
99
  messageGroupedSingleOrBottomContainer = _useTheme$theme$messa.messageGroupedSingleOrBottomContainer,
111
100
  messageGroupedTopContainer = _useTheme$theme$messa.messageGroupedTopContainer,
112
- reactionPosition = _useTheme$theme$messa.reactionListTop.position,
113
- swipeContentContainer = _useTheme$theme$messa.swipeContentContainer;
101
+ reactionPosition = _useTheme$theme$messa.reactionListTop.position;
114
102
  var _useMessageData = (0, _useMessageData2.useMessageData)({}),
115
103
  isMessageErrorType = _useMessageData.isMessageErrorType,
116
104
  isMessageReceivedOrErrorType = _useMessageData.isMessageReceivedOrErrorType,
@@ -146,13 +134,6 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
146
134
  backgroundColor = receiverMessageBackgroundColor != null ? receiverMessageBackgroundColor : light_gray;
147
135
  }
148
136
  var repliesCurveColor = isMessageReceivedOrErrorType ? grey_gainsboro : backgroundColor;
149
- var translateX = (0, _reactNativeReanimated.useSharedValue)(0);
150
- var touchStart = (0, _reactNativeReanimated.useSharedValue)(null);
151
- var isSwiping = (0, _reactNativeReanimated.useSharedValue)(false);
152
- var _useState3 = (0, _react.useState)(shouldRenderSwipeableWrapper),
153
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
154
- shouldRenderAnimatedWrapper = _useState4[0],
155
- setShouldRenderAnimatedWrapper = _useState4[1];
156
137
  var onSwipeActionHandler = (0, _useStableCallback.useStableCallback)(function () {
157
138
  if (customMessageSwipeAction) {
158
139
  customMessageSwipeAction({
@@ -163,106 +144,6 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
163
144
  }
164
145
  setQuotedMessage(message);
165
146
  });
166
- var THRESHOLD = 25;
167
- var triggerHaptic = _native.NativeHandlers.triggerHaptic;
168
- var swipeGesture = (0, _react.useMemo)(function () {
169
- return _reactNativeGestureHandler.Gesture.Pan().hitSlop(messageSwipeToReplyHitSlop).onBegin(function (event) {
170
- touchStart.value = {
171
- x: event.x,
172
- y: event.y
173
- };
174
- }).onTouchesMove(function (event, state) {
175
- if (!touchStart.value || !event.changedTouches.length) {
176
- state.fail();
177
- return;
178
- }
179
- var xDiff = Math.abs(event.changedTouches[0].x - touchStart.value.x);
180
- var yDiff = Math.abs(event.changedTouches[0].y - touchStart.value.y);
181
- var isHorizontalPanning = xDiff > yDiff;
182
- if (isHorizontalPanning) {
183
- state.activate();
184
- isSwiping.value = true;
185
- if (!shouldRenderSwipeableWrapper) {
186
- (0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
187
- }
188
- } else {
189
- state.fail();
190
- }
191
- }).onStart(function () {
192
- translateX.value = 0;
193
- }).onChange(function (_ref2) {
194
- var translationX = _ref2.translationX;
195
- if (translationX > 0) {
196
- translateX.value = translationX;
197
- }
198
- }).onEnd(function () {
199
- if (translateX.value >= THRESHOLD) {
200
- (0, _reactNativeReanimated.runOnJS)(onSwipeActionHandler)();
201
- if (triggerHaptic) {
202
- (0, _reactNativeReanimated.runOnJS)(triggerHaptic)('impactMedium');
203
- }
204
- }
205
- isSwiping.value = false;
206
- translateX.value = (0, _reactNativeReanimated.withSpring)(0, {
207
- dampingRatio: 1,
208
- duration: 500,
209
- overshootClamping: true,
210
- stiffness: 1
211
- }, function () {
212
- if (!shouldRenderSwipeableWrapper) {
213
- (0, _reactNativeReanimated.runOnJS)(setShouldRenderAnimatedWrapper)(isSwiping.value);
214
- }
215
- });
216
- });
217
- }, [isSwiping, messageSwipeToReplyHitSlop, onSwipeActionHandler, touchStart, translateX, triggerHaptic, shouldRenderSwipeableWrapper]);
218
- var messageBubbleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
219
- return {
220
- transform: [{
221
- translateX: translateX.value
222
- }]
223
- };
224
- }, []);
225
- var swipeContentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
226
- return {
227
- opacity: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, THRESHOLD], [0, 1]),
228
- transform: [{
229
- translateX: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, THRESHOLD], [-THRESHOLD, 0], _reactNativeReanimated.Extrapolation.CLAMP)
230
- }]
231
- };
232
- }, []);
233
- var renderMessageBubble = (0, _react.useMemo)(function () {
234
- return (0, _jsxRuntime.jsxs)(_reactNative.View, {
235
- style: [styles.contentWrapper, contentWrapper],
236
- children: [(0, _jsxRuntime.jsx)(MessageContent, {
237
- backgroundColor: backgroundColor,
238
- isVeryLastMessage: isVeryLastMessage,
239
- messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
240
- noBorder: noBorder,
241
- setMessageContentWidth: setMessageContentWidth
242
- }), reactionListPosition === 'top' && ReactionListTop ? (0, _jsxRuntime.jsx)(ReactionListTop, {
243
- messageContentWidth: messageContentWidth
244
- }) : null]
245
- });
246
- }, [messageContentWidth, reactionListPosition, MessageContent, ReactionListTop, backgroundColor, contentWrapper, isVeryLastMessage, messageGroupedSingleOrBottom, noBorder]);
247
- var renderAnimatedMessageBubble = (0, _react.useMemo)(function () {
248
- return (0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
249
- gesture: swipeGesture,
250
- children: (0, _jsxRuntime.jsx)(_reactNative.View, {
251
- hitSlop: messageSwipeToReplyHitSlop,
252
- style: [styles.contentWrapper, contentWrapper],
253
- children: shouldRenderAnimatedWrapper ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
254
- children: [(0, _jsxRuntime.jsx)(AnimatedWrapper, {
255
- style: [styles.swipeContentContainer, swipeContentAnimatedStyle, swipeContentContainer],
256
- children: MessageSwipeContent ? (0, _jsxRuntime.jsx)(MessageSwipeContent, {}) : null
257
- }), (0, _jsxRuntime.jsx)(AnimatedWrapper, {
258
- pointerEvents: "box-none",
259
- style: messageBubbleAnimatedStyle,
260
- children: renderMessageBubble
261
- })]
262
- }) : renderMessageBubble
263
- })
264
- });
265
- }, [MessageSwipeContent, contentWrapper, shouldRenderAnimatedWrapper, messageBubbleAnimatedStyle, messageSwipeToReplyHitSlop, renderMessageBubble, swipeContentAnimatedStyle, swipeContentContainer, swipeGesture]);
266
147
  return (0, _jsxRuntime.jsxs)(_reactNative.View, {
267
148
  style: [styles.container, messageGroupedSingleOrBottom ? isVeryLastMessage && enableMessageGroupingByUser ? lastMessageInMessageListStyles : messageGroupedSingleOrBottomStyles : messageGroupedTopStyles, {
268
149
  justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end'
@@ -291,7 +172,31 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
291
172
  otherAttachments: otherAttachments,
292
173
  showMessageStatus: showMessageStatus
293
174
  }), message.pinned ? (0, _jsxRuntime.jsx)(MessagePinnedHeader, {}) : null]
294
- }), enableSwipeToReply ? renderAnimatedMessageBubble : renderMessageBubble, reactionListPosition === 'bottom' && ReactionListBottom ? (0, _jsxRuntime.jsx)(ReactionListBottom, {}) : null, (0, _jsxRuntime.jsx)(MessageReplies, {
175
+ }), enableSwipeToReply ? (0, _jsxRuntime.jsx)(_MessageBubble.SwipableMessageBubble, {
176
+ backgroundColor: backgroundColor,
177
+ isVeryLastMessage: isVeryLastMessage,
178
+ MessageContent: MessageContent,
179
+ messageContentWidth: messageContentWidth,
180
+ messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
181
+ MessageSwipeContent: MessageSwipeContent,
182
+ messageSwipeToReplyHitSlop: messageSwipeToReplyHitSlop,
183
+ noBorder: noBorder,
184
+ onSwipe: onSwipeActionHandler,
185
+ reactionListPosition: reactionListPosition,
186
+ ReactionListTop: ReactionListTop,
187
+ setMessageContentWidth: setMessageContentWidth,
188
+ shouldRenderSwipeableWrapper: shouldRenderSwipeableWrapper
189
+ }) : (0, _jsxRuntime.jsx)(_MessageBubble.MessageBubble, {
190
+ backgroundColor: backgroundColor,
191
+ isVeryLastMessage: isVeryLastMessage,
192
+ MessageContent: MessageContent,
193
+ messageContentWidth: messageContentWidth,
194
+ messageGroupedSingleOrBottom: messageGroupedSingleOrBottom,
195
+ noBorder: noBorder,
196
+ reactionListPosition: reactionListPosition,
197
+ ReactionListTop: ReactionListTop,
198
+ setMessageContentWidth: setMessageContentWidth
199
+ }), reactionListPosition === 'bottom' && ReactionListBottom ? (0, _jsxRuntime.jsx)(ReactionListBottom, {}) : null, (0, _jsxRuntime.jsx)(MessageReplies, {
295
200
  noBorder: noBorder,
296
201
  repliesCurveColor: repliesCurveColor
297
202
  }), (0, _jsxRuntime.jsx)(MessageFooter, {
@@ -362,9 +267,9 @@ var areEqual = function areEqual(prevProps, nextProps) {
362
267
  if (!quotedMessageAttachmentsEqual) {
363
268
  return false;
364
269
  }
365
- var latestReactionsEqual = Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions) ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length && prevMessage.latest_reactions.every(function (_ref3, index) {
270
+ var latestReactionsEqual = Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions) ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length && prevMessage.latest_reactions.every(function (_ref2, index) {
366
271
  var _nextMessage$latest_r;
367
- var type = _ref3.type;
272
+ var type = _ref2.type;
368
273
  return type === ((_nextMessage$latest_r = nextMessage.latest_reactions) == null ? void 0 : _nextMessage$latest_r[index].type);
369
274
  }) : prevMessage.latest_reactions === nextMessage.latest_reactions;
370
275
  if (!latestReactionsEqual) {