stream-chat-react-native-core 4.6.1 → 4.7.0-beta.3

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 (222) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +22 -13
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/Card.js +23 -14
  4. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/Gallery.js +72 -37
  6. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/VideoThumbnail.js +83 -0
  8. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -0
  9. package/lib/commonjs/components/Attachment/hooks/useGoToURL.js +1 -1
  10. package/lib/commonjs/components/Attachment/hooks/useGoToURL.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
  12. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +5 -5
  14. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  15. package/lib/commonjs/components/Channel/Channel.js +19 -14
  16. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  17. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -2
  18. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  19. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
  20. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  21. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +6 -6
  22. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  23. package/lib/commonjs/components/ImageGallery/ImageGallery.js +167 -345
  24. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  25. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
  26. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  27. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
  28. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
  29. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
  30. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  31. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
  32. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
  33. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +31 -34
  34. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  35. package/lib/commonjs/components/ImageGallery/components/ProgressControl.js +153 -0
  36. package/lib/commonjs/components/ImageGallery/components/ProgressControl.js.map +1 -0
  37. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
  38. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
  39. package/lib/commonjs/components/Message/Message.js +23 -13
  40. package/lib/commonjs/components/Message/Message.js.map +1 -1
  41. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +22 -15
  42. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  43. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -2
  44. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  45. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +25 -23
  46. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  47. package/lib/commonjs/components/Reply/Reply.js +32 -12
  48. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  49. package/lib/commonjs/components/Spinner/Spinner.js +12 -4
  50. package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
  51. package/lib/commonjs/components/index.js +26 -0
  52. package/lib/commonjs/components/index.js.map +1 -1
  53. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  54. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  55. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +15 -4
  56. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  57. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  58. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  59. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  60. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  61. package/lib/commonjs/contexts/themeContext/utils/theme.js +10 -1
  62. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  63. package/lib/commonjs/icons/Pause.js +61 -0
  64. package/lib/commonjs/icons/Pause.js.map +1 -0
  65. package/lib/commonjs/icons/Play.js +42 -0
  66. package/lib/commonjs/icons/Play.js.map +1 -0
  67. package/lib/commonjs/icons/index.js +26 -0
  68. package/lib/commonjs/icons/index.js.map +1 -1
  69. package/lib/commonjs/mock-builders/api/queryMembers.js +98 -1
  70. package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
  71. package/lib/commonjs/native.js +7 -1
  72. package/lib/commonjs/native.js.map +1 -1
  73. package/lib/commonjs/utils/getUrlOfImageAttachment.js +1 -1
  74. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
  75. package/lib/commonjs/version.json +1 -1
  76. package/lib/module/components/Attachment/Attachment.js +22 -13
  77. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  78. package/lib/module/components/Attachment/Card.js +23 -14
  79. package/lib/module/components/Attachment/Card.js.map +1 -1
  80. package/lib/module/components/Attachment/Gallery.js +72 -37
  81. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  82. package/lib/module/components/Attachment/VideoThumbnail.js +83 -0
  83. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -0
  84. package/lib/module/components/Attachment/hooks/useGoToURL.js +1 -1
  85. package/lib/module/components/Attachment/hooks/useGoToURL.js.map +1 -1
  86. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
  87. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  88. package/lib/module/components/Attachment/utils/getAspectRatio.js +5 -5
  89. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  90. package/lib/module/components/Channel/Channel.js +19 -14
  91. package/lib/module/components/Channel/Channel.js.map +1 -1
  92. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -2
  93. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  94. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
  95. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  96. package/lib/module/components/Chat/hooks/useIsOnline.js +6 -6
  97. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  98. package/lib/module/components/ImageGallery/ImageGallery.js +167 -345
  99. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  100. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
  101. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  102. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
  103. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
  104. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
  105. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  106. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
  107. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
  108. package/lib/module/components/ImageGallery/components/ImageGrid.js +31 -34
  109. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  110. package/lib/module/components/ImageGallery/components/ProgressControl.js +153 -0
  111. package/lib/module/components/ImageGallery/components/ProgressControl.js.map +1 -0
  112. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
  113. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
  114. package/lib/module/components/Message/Message.js +23 -13
  115. package/lib/module/components/Message/Message.js.map +1 -1
  116. package/lib/module/components/Message/MessageSimple/utils/renderText.js +22 -15
  117. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  118. package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -2
  119. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  120. package/lib/module/components/MessageOverlay/MessageOverlay.js +25 -23
  121. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  122. package/lib/module/components/Reply/Reply.js +32 -12
  123. package/lib/module/components/Reply/Reply.js.map +1 -1
  124. package/lib/module/components/Spinner/Spinner.js +12 -4
  125. package/lib/module/components/Spinner/Spinner.js.map +1 -1
  126. package/lib/module/components/index.js +26 -0
  127. package/lib/module/components/index.js.map +1 -1
  128. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  129. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  130. package/lib/module/contexts/messageInputContext/MessageInputContext.js +15 -4
  131. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  132. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  133. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  134. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  135. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  136. package/lib/module/contexts/themeContext/utils/theme.js +10 -1
  137. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  138. package/lib/module/icons/Pause.js +61 -0
  139. package/lib/module/icons/Pause.js.map +1 -0
  140. package/lib/module/icons/Play.js +42 -0
  141. package/lib/module/icons/Play.js.map +1 -0
  142. package/lib/module/icons/index.js +26 -0
  143. package/lib/module/icons/index.js.map +1 -1
  144. package/lib/module/mock-builders/api/queryMembers.js +98 -1
  145. package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
  146. package/lib/module/native.js +7 -1
  147. package/lib/module/native.js.map +1 -1
  148. package/lib/module/utils/getUrlOfImageAttachment.js +1 -1
  149. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
  150. package/lib/module/version.json +1 -1
  151. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  152. package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +4 -0
  153. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +1 -0
  154. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +1 -1
  155. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  156. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  157. package/lib/typescript/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.d.ts +1 -0
  158. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  159. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +1 -1
  160. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -0
  161. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +27 -0
  162. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +18 -2
  163. package/lib/typescript/components/ImageGallery/components/ImageGalleryVideoControl.d.ts +3 -0
  164. package/lib/typescript/components/ImageGallery/components/ProgressControl.d.ts +5 -0
  165. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +36 -0
  166. package/lib/typescript/components/Message/Message.d.ts +9 -3
  167. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  168. package/lib/typescript/components/Spinner/Spinner.d.ts +7 -1
  169. package/lib/typescript/components/index.d.ts +2 -0
  170. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +3 -1
  171. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +1 -0
  172. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +2 -0
  173. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +9 -0
  174. package/lib/typescript/icons/Pause.d.ts +3 -0
  175. package/lib/typescript/icons/Play.d.ts +3 -0
  176. package/lib/typescript/icons/index.d.ts +2 -0
  177. package/lib/typescript/mock-builders/api/queryMembers.d.ts +161 -0
  178. package/lib/typescript/mock-builders/api/utils.d.ts +7 -0
  179. package/lib/typescript/mock-builders/generator/user.d.ts +30 -0
  180. package/lib/typescript/mock-builders/mock.d.ts +3 -0
  181. package/lib/typescript/native.d.ts +66 -1
  182. package/package.json +1 -1
  183. package/src/components/Attachment/Attachment.tsx +11 -7
  184. package/src/components/Attachment/Card.tsx +3 -0
  185. package/src/components/Attachment/Gallery.tsx +75 -36
  186. package/src/components/Attachment/VideoThumbnail.tsx +45 -0
  187. package/src/components/Attachment/hooks/useGoToURL.ts +1 -1
  188. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +1 -0
  189. package/src/components/Attachment/utils/buildGallery/types.ts +1 -0
  190. package/src/components/Attachment/utils/getAspectRatio.ts +7 -5
  191. package/src/components/Channel/Channel.tsx +4 -0
  192. package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
  193. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +83 -0
  194. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +43 -26
  195. package/src/components/Chat/hooks/useIsOnline.ts +7 -7
  196. package/src/components/ImageGallery/ImageGallery.tsx +145 -667
  197. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +4 -4
  198. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +224 -0
  199. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +114 -19
  200. package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +103 -0
  201. package/src/components/ImageGallery/components/ImageGrid.tsx +12 -25
  202. package/src/components/ImageGallery/components/ProgressControl.tsx +107 -0
  203. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +722 -0
  204. package/src/components/Message/Message.tsx +18 -7
  205. package/src/components/Message/MessageSimple/utils/renderText.tsx +6 -1
  206. package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
  207. package/src/components/MessageOverlay/MessageOverlay.tsx +2 -0
  208. package/src/components/Reply/Reply.tsx +36 -23
  209. package/src/components/Spinner/Spinner.tsx +11 -4
  210. package/src/components/index.ts +2 -0
  211. package/src/contexts/messageContext/MessageContext.tsx +2 -0
  212. package/src/contexts/messageInputContext/MessageInputContext.tsx +11 -0
  213. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +1 -0
  214. package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
  215. package/src/contexts/themeContext/utils/theme.ts +18 -0
  216. package/src/icons/Pause.tsx +14 -0
  217. package/src/icons/Play.tsx +17 -0
  218. package/src/icons/index.ts +2 -0
  219. package/src/mock-builders/api/queryMembers.js +98 -0
  220. package/src/native.ts +59 -1
  221. package/src/utils/getUrlOfImageAttachment.ts +1 -1
  222. package/src/version.json +1 -1
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
- exports.queryMembersApi = void 0;
4
+ exports.queryMembersApi = exports.ONE_MEMBER_WITH_EMPTY_USER_MOCK = exports.ONE_CHANNEL_MEMBER_MOCK = exports.GROUP_CHANNEL_MEMBERS_MOCK = void 0;
5
5
 
6
6
  var _utils = require("./utils");
7
7
 
@@ -14,4 +14,101 @@ var queryMembersApi = function queryMembersApi() {
14
14
  };
15
15
 
16
16
  exports.queryMembersApi = queryMembersApi;
17
+ var ONE_CHANNEL_MEMBER_MOCK = {
18
+ okey: {
19
+ banned: false,
20
+ channel_role: 'channel_member',
21
+ created_at: '2021-01-27T11:54:34.173125Z',
22
+ role: 'member',
23
+ shadow_banned: false,
24
+ updated_at: '2021-02-12T12:12:35.862282Z',
25
+ user: {
26
+ id: 'okechukwu nwagba martin',
27
+ name: 'okechukwu nwagba martin'
28
+ },
29
+ user_id: 'okechukwu nwagba martin'
30
+ }
31
+ };
32
+ exports.ONE_CHANNEL_MEMBER_MOCK = ONE_CHANNEL_MEMBER_MOCK;
33
+ var GROUP_CHANNEL_MEMBERS_MOCK = {
34
+ ben: {
35
+ banned: false,
36
+ channel_role: 'channel_member',
37
+ created_at: '2021-01-27T11:54:34.173125Z',
38
+ role: 'member',
39
+ shadow_banned: false,
40
+ updated_at: '2021-02-12T12:12:35.862282Z',
41
+ user: {
42
+ id: 'ben',
43
+ name: 'ben'
44
+ },
45
+ user_id: 'ben'
46
+ },
47
+ nick: {
48
+ banned: false,
49
+ channel_role: 'channel_member',
50
+ created_at: '2021-01-27T11:54:34.173125Z',
51
+ role: 'member',
52
+ shadow_banned: false,
53
+ updated_at: '2021-02-12T12:12:35.862282Z',
54
+ user: {
55
+ id: 'nick',
56
+ name: 'nick'
57
+ },
58
+ user_id: 'nick'
59
+ },
60
+ okey: {
61
+ banned: false,
62
+ channel_role: 'channel_member',
63
+ created_at: '2021-01-27T11:54:34.173125Z',
64
+ role: 'member',
65
+ shadow_banned: false,
66
+ updated_at: '2021-02-12T12:12:35.862282Z',
67
+ user: {
68
+ id: 'okechukwu nwagba',
69
+ name: 'okechukwu nwagba'
70
+ },
71
+ user_id: 'okechukwu nwagba'
72
+ },
73
+ qatest1: {
74
+ banned: false,
75
+ channel_role: 'channel_member',
76
+ created_at: '2021-01-28T09:08:43.274508Z',
77
+ role: 'member',
78
+ shadow_banned: false,
79
+ updated_at: '2021-02-12T12:12:35.862282Z',
80
+ user: {
81
+ id: 'qatest1',
82
+ name: 'qatest1'
83
+ },
84
+ user_id: 'qatest1'
85
+ },
86
+ thierry: {
87
+ banned: false,
88
+ channel_role: 'channel_member',
89
+ created_at: '2021-01-27T11:54:34.173125Z',
90
+ role: 'member',
91
+ shadow_banned: false,
92
+ updated_at: '2021-02-12T12:12:35.862282Z',
93
+ user: {
94
+ id: 'thierry',
95
+ name: 'thierry'
96
+ },
97
+ user_id: 'thierry'
98
+ }
99
+ };
100
+ exports.GROUP_CHANNEL_MEMBERS_MOCK = GROUP_CHANNEL_MEMBERS_MOCK;
101
+ var ONE_MEMBER_WITH_EMPTY_USER_MOCK = {
102
+ okey: {
103
+ banned: false,
104
+ channel_role: 'channel_member',
105
+ created_at: '2021-01-27T11:54:34.173125Z',
106
+ role: 'member',
107
+ shadow_banned: false,
108
+ updated_at: '2021-02-12T12:12:35.862282Z',
109
+ user: {},
110
+ user_id: 'okechukwu nwagba martin'
111
+ }
112
+ };
113
+ exports.ONE_MEMBER_WITH_EMPTY_USER_MOCK = ONE_MEMBER_WITH_EMPTY_USER_MOCK;
17
114
  //# sourceMappingURL=queryMembers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["queryMembers.js"],"names":["queryMembersApi","members","result"],"mappings":";;;;;AAAA;;AASO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,GAAkB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AAC/C,MAAMC,MAAM,GAAG;AACbD,IAAAA,OAAO,EAAPA;AADa,GAAf;AAIA,SAAO,8BAAkBC,MAAlB,EAA0B,KAA1B,CAAP;AACD,CANM","sourcesContent":["import { mockedApiResponse } from './utils';\n\n/**\n * Returns the api response for queryMembers api\n *\n * api - /query_members\n *\n * @param {*} members Array of User objects.\n */\nexport const queryMembersApi = (members = []) => {\n const result = {\n members,\n };\n\n return mockedApiResponse(result, 'get');\n};\n"]}
1
+ {"version":3,"sources":["queryMembers.js"],"names":["queryMembersApi","members","result","ONE_CHANNEL_MEMBER_MOCK","okey","banned","channel_role","created_at","role","shadow_banned","updated_at","user","id","name","user_id","GROUP_CHANNEL_MEMBERS_MOCK","ben","nick","qatest1","thierry","ONE_MEMBER_WITH_EMPTY_USER_MOCK"],"mappings":"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","sourcesContent":["import { mockedApiResponse } from './utils';\n\n/**\n * Returns the api response for queryMembers api\n *\n * api - /query_members\n *\n * @param {*} members Array of User objects.\n */\nexport const queryMembersApi = (members = []) => {\n const result = {\n members,\n };\n\n return mockedApiResponse(result, 'get');\n};\n\nexport const ONE_CHANNEL_MEMBER_MOCK = {\n okey: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'okechukwu nwagba martin',\n name: 'okechukwu nwagba martin',\n },\n user_id: 'okechukwu nwagba martin',\n },\n};\n\nexport const GROUP_CHANNEL_MEMBERS_MOCK = {\n ben: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'ben',\n name: 'ben',\n },\n user_id: 'ben',\n },\n nick: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'nick',\n name: 'nick',\n },\n user_id: 'nick',\n },\n okey: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'okechukwu nwagba',\n name: 'okechukwu nwagba',\n },\n user_id: 'okechukwu nwagba',\n },\n qatest1: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-28T09:08:43.274508Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'qatest1',\n name: 'qatest1',\n },\n user_id: 'qatest1',\n },\n\n thierry: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'thierry',\n name: 'thierry',\n },\n user_id: 'thierry',\n },\n};\n\nexport const ONE_MEMBER_WITH_EMPTY_USER_MOCK = {\n okey: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {},\n user_id: 'okechukwu nwagba martin',\n },\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
- exports.triggerHaptic = exports.takePhoto = exports.shareImage = exports.saveFile = exports.registerNativeHandlers = exports.pickDocument = exports.getPhotos = exports.getLocalAssetUri = exports.deleteFile = exports.compressImage = exports.SDK = exports.NetInfo = exports.FlatList = void 0;
4
+ exports.triggerHaptic = exports.takePhoto = exports.shareImage = exports.saveFile = exports.registerNativeHandlers = exports.pickDocument = exports.getPhotos = exports.getLocalAssetUri = exports.deleteFile = exports.compressImage = exports.Video = exports.SDK = exports.NetInfo = exports.FlatList = void 0;
5
5
 
6
6
  var _reactNative = require("react-native");
7
7
 
@@ -36,6 +36,8 @@ var triggerHaptic = fail;
36
36
  exports.triggerHaptic = triggerHaptic;
37
37
  var SDK;
38
38
  exports.SDK = SDK;
39
+ var Video = fail;
40
+ exports.Video = Video;
39
41
 
40
42
  var registerNativeHandlers = function registerNativeHandlers(handlers) {
41
43
  if (handlers.compressImage) {
@@ -89,6 +91,10 @@ var registerNativeHandlers = function registerNativeHandlers(handlers) {
89
91
  if (handlers.triggerHaptic) {
90
92
  exports.triggerHaptic = triggerHaptic = handlers.triggerHaptic;
91
93
  }
94
+
95
+ if (handlers.Video) {
96
+ exports.Video = Video = handlers.Video;
97
+ }
92
98
  };
93
99
 
94
100
  exports.registerNativeHandlers = registerNativeHandlers;
@@ -1 +1 @@
1
- {"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","registerNativeHandlers","handlers"],"mappings":";;;;;AAAA;;AAMA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAiBO,IAAIC,aAA4B,GAAGF,IAAnC;;AAGA,IAAIG,UAAsB,GAAGH,IAA7B;;AAGA,IAAII,gBAAkC,GAAGJ,IAAzC;;AASA,IAAIK,SAAoB,GAAGL,IAA3B;;AAOA,IAAIM,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAET,IADU;AAE5BU,EAAAA,KAAK,EAAEV;AAFqB,CAAvB;;AAWA,IAAIW,YAA0B,GAAGX,IAAjC;;AAOA,IAAIY,QAAkB,GAAGZ,IAAzB;;AAOA,IAAIa,UAAsB,GAAGb,IAA7B;;AASA,IAAIc,SAAoB,GAAGd,IAA3B;;AAWA,IAAIe,aAA4B,GAAGf,IAAnC;;AAEA,IAAIgB,GAAJ;;;AAiBA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAAChB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGgB,QAAQ,CAAChB,aAAzB;AACD;;AAED,MAAIgB,QAAQ,CAACf,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGe,QAAQ,CAACf,UAAtB;AACD;;AAED,MAAIe,QAAQ,CAACZ,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGY,QAAQ,CAACZ,QAApB;AACD;;AACD,MAAIY,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACd,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGc,QAAQ,CAACd,gBAA5B;AACD;;AAED,MAAIc,QAAQ,CAACb,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGa,QAAQ,CAACb,SAArB;AACD;;AAED,MAAIa,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACP,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGO,QAAQ,CAACP,YAAxB;AACD;;AAED,MAAIO,QAAQ,CAACN,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGM,QAAQ,CAACN,QAApB;AACD;;AAED,MAAIM,QAAQ,CAACF,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGE,QAAQ,CAACF,GAAf;AACD;;AAED,MAAIE,QAAQ,CAACL,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGK,QAAQ,CAACL,UAAtB;AACD;;AAED,MAAIK,QAAQ,CAACJ,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGI,QAAQ,CAACJ,SAArB;AACD;;AAED,MAAII,QAAQ,CAACH,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGG,QAAQ,CAACH,aAAzB;AACD;AACF,CAnDM","sourcesContent":["import { FlatList as DefaultFlatList } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport let SDK: string;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n};\n"]}
1
+ {"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","Video","registerNativeHandlers","handlers"],"mappings":";;;;;AACA;;AAMA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAiBO,IAAIC,aAA4B,GAAGF,IAAnC;;AAGA,IAAIG,UAAsB,GAAGH,IAA7B;;AAGA,IAAII,gBAAkC,GAAGJ,IAAzC;;AASA,IAAIK,SAAoB,GAAGL,IAA3B;;AAOA,IAAIM,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAET,IADU;AAE5BU,EAAAA,KAAK,EAAEV;AAFqB,CAAvB;;AAWA,IAAIW,YAA0B,GAAGX,IAAjC;;AAOA,IAAIY,QAAkB,GAAGZ,IAAzB;;AAOA,IAAIa,UAAsB,GAAGb,IAA7B;;AASA,IAAIc,SAAoB,GAAGd,IAA3B;;AAWA,IAAIe,aAA4B,GAAGf,IAAnC;;AAEA,IAAIgB,GAAJ;;AAoDA,IAAIC,KAAqC,GAAGjB,IAA5C;;;AAkBA,IAAMkB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAACjB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGiB,QAAQ,CAACjB,aAAzB;AACD;;AAED,MAAIiB,QAAQ,CAAChB,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGgB,QAAQ,CAAChB,UAAtB;AACD;;AAED,MAAIgB,QAAQ,CAACb,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGa,QAAQ,CAACb,QAApB;AACD;;AACD,MAAIa,QAAQ,CAACX,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGW,QAAQ,CAACX,OAAnB;AACD;;AAED,MAAIW,QAAQ,CAACf,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGe,QAAQ,CAACf,gBAA5B;AACD;;AAED,MAAIe,QAAQ,CAACd,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGc,QAAQ,CAACd,SAArB;AACD;;AAED,MAAIc,QAAQ,CAACX,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGW,QAAQ,CAACX,OAAnB;AACD;;AAED,MAAIW,QAAQ,CAACR,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGQ,QAAQ,CAACR,YAAxB;AACD;;AAED,MAAIQ,QAAQ,CAACP,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGO,QAAQ,CAACP,QAApB;AACD;;AAED,MAAIO,QAAQ,CAACH,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGG,QAAQ,CAACH,GAAf;AACD;;AAED,MAAIG,QAAQ,CAACN,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGM,QAAQ,CAACN,UAAtB;AACD;;AAED,MAAIM,QAAQ,CAACL,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGK,QAAQ,CAACL,SAArB;AACD;;AAED,MAAIK,QAAQ,CAACJ,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGI,QAAQ,CAACJ,aAAzB;AACD;;AAED,MAAII,QAAQ,CAACF,KAAb,EAAoB;AAClB,oBAAAA,KAAK,GAAGE,QAAQ,CAACF,KAAjB;AACD;AACF,CAvDM","sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport let SDK: string;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type VideoProgressData = {\n currentTime?: number;\n playableDuration?: number;\n seekableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n duration?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType> = fail;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n};\n"]}
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  exports.getUrlOfImageAttachment = getUrlOfImageAttachment;
5
5
 
6
6
  function getUrlOfImageAttachment(image) {
7
- return image.image_url || image.thumb_url;
7
+ return image.image_url || image.thumb_url || image.asset_url;
8
8
  }
9
9
  //# sourceMappingURL=getUrlOfImageAttachment.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["getUrlOfImageAttachment.ts"],"names":["getUrlOfImageAttachment","image","image_url","thumb_url"],"mappings":";;;;;AAOO,SAASA,uBAAT,CAAiCC,KAAjC,EAAoD;AACzD,SAAOA,KAAK,CAACC,SAAN,IAAmBD,KAAK,CAACE,SAAhC;AACD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\n/**\n * Extract url of image from image attachment.\n * @param image Image attachment\n * @returns {string}\n */\nexport function getUrlOfImageAttachment(image: Attachment) {\n return image.image_url || image.thumb_url;\n}\n"]}
1
+ {"version":3,"sources":["getUrlOfImageAttachment.ts"],"names":["getUrlOfImageAttachment","image","image_url","thumb_url","asset_url"],"mappings":";;;;;AAOO,SAASA,uBAAT,CAAiCC,KAAjC,EAAoD;AACzD,SAAOA,KAAK,CAACC,SAAN,IAAmBD,KAAK,CAACE,SAAzB,IAAsCF,KAAK,CAACG,SAAnD;AACD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\n/**\n * Extract url of image from image attachment.\n * @param image Image attachment\n * @returns {string}\n */\nexport function getUrlOfImageAttachment(image: Attachment) {\n return image.image_url || image.thumb_url || image.asset_url;\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "4.6.1"
2
+ "version": "4.7.0-beta.3"
3
3
  }
@@ -82,26 +82,35 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
82
82
  })));
83
83
  }
84
84
 
85
- if (attachment.type === 'file' || attachment.type === 'audio') {
86
- return _react["default"].createElement(FileAttachment, {
87
- attachment: attachment,
85
+ if (attachment.type === 'video' && !attachment.og_scrape_url) {
86
+ return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Gallery, {
87
+ videos: [attachment],
88
88
  __self: _this,
89
89
  __source: {
90
90
  fileName: _jsxFileName,
91
- lineNumber: 79,
92
- columnNumber: 12
91
+ lineNumber: 81,
92
+ columnNumber: 9
93
93
  }
94
- });
94
+ }), hasAttachmentActions && _react["default"].createElement(AttachmentActions, (0, _extends2["default"])({
95
+ key: "key-actions-" + attachment.id
96
+ }, attachment, {
97
+ __self: _this,
98
+ __source: {
99
+ fileName: _jsxFileName,
100
+ lineNumber: 83,
101
+ columnNumber: 11
102
+ }
103
+ })));
95
104
  }
96
105
 
97
- if (attachment.type === 'video' && attachment.asset_url) {
106
+ if (attachment.type === 'file' || attachment.type === 'audio') {
98
107
  return _react["default"].createElement(FileAttachment, {
99
108
  attachment: attachment,
100
109
  __self: _this,
101
110
  __source: {
102
111
  fileName: _jsxFileName,
103
- lineNumber: 85,
104
- columnNumber: 7
112
+ lineNumber: 90,
113
+ columnNumber: 12
105
114
  }
106
115
  });
107
116
  }
@@ -111,7 +120,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
111
120
  __self: _this,
112
121
  __source: {
113
122
  fileName: _jsxFileName,
114
- lineNumber: 92,
123
+ lineNumber: 96,
115
124
  columnNumber: 9
116
125
  }
117
126
  })), _react["default"].createElement(AttachmentActions, (0, _extends2["default"])({
@@ -120,7 +129,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
120
129
  __self: _this,
121
130
  __source: {
122
131
  fileName: _jsxFileName,
123
- lineNumber: 93,
132
+ lineNumber: 97,
124
133
  columnNumber: 9
125
134
  }
126
135
  })));
@@ -129,7 +138,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
129
138
  __self: _this,
130
139
  __source: {
131
140
  fileName: _jsxFileName,
132
- lineNumber: 97,
141
+ lineNumber: 101,
133
142
  columnNumber: 12
134
143
  }
135
144
  }));
@@ -198,7 +207,7 @@ var Attachment = function Attachment(props) {
198
207
  __self: _this,
199
208
  __source: {
200
209
  fileName: _jsxFileName,
201
- lineNumber: 187,
210
+ lineNumber: 191,
202
211
  columnNumber: 5
203
212
  }
204
213
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Attachment.tsx"],"names":["AttachmentWithContext","props","attachment","AttachmentActions","Card","FileAttachment","Gallery","Giphy","giphyVersion","UrlPreview","hasAttachmentActions","actions","length","type","title_link","og_scrape_url","image_url","thumb_url","id","asset_url","areEqual","prevProps","nextProps","prevAttachment","isAttachmentEqual","nextAttachment","attachmentEqual","MemoizedAttachment","React","memo","Attachment","PropAttachmentActions","PropCard","PropFileAttachment","PropGallery","PropGiphy","PropGiphyVersion","PropUrlPreview","ContextAttachmentActions","ContextCard","ContextFileAttachment","ContextGallery","ContextGiphy","ContextGiphyVersion","ContextUrlPreview","AttachmentActionsDefault","CardDefault","FileAttachmentDefault","GalleryDefault","GiphyDefault"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { Attachment as AttachmentType } from 'stream-chat';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { Card as CardDefault } from '../../components/Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../../components/Attachment/FileAttachment';\nimport { Gallery as GalleryDefault } from '../../components/Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../../components/Attachment/Giphy';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ActionHandler = (name: string, value: string) => void;\n\nexport type AttachmentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'giphyVersion'\n | 'Giphy'\n | 'isAttachmentEqual'\n | 'UrlPreview'\n> & {\n /**\n * The attachment to render\n */\n attachment: AttachmentType<StreamChatGenerics>;\n};\n\nconst AttachmentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n UrlPreview,\n } = props;\n\n const hasAttachmentActions = !!attachment.actions?.length;\n\n if (attachment.type === 'giphy' || attachment.type === 'imgur') {\n return <Giphy attachment={attachment} giphyVersion={giphyVersion} />;\n }\n\n if (\n (attachment.title_link || attachment.og_scrape_url) &&\n (attachment.image_url || attachment.thumb_url)\n ) {\n return <UrlPreview {...attachment} />;\n }\n\n if (attachment.type === 'image') {\n return (\n <>\n <Gallery images={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'file' || attachment.type === 'audio') {\n return <FileAttachment attachment={attachment} />;\n }\n\n if (attachment.type === 'video' && attachment.asset_url) {\n return (\n // TODO: Put in video component\n <FileAttachment attachment={attachment} />\n );\n }\n\n if (hasAttachmentActions) {\n return (\n <>\n <Card {...attachment} />\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n </>\n );\n } else {\n return <Card {...attachment} />;\n }\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AttachmentPropsWithContext<StreamChatGenerics>,\n nextProps: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const { attachment: prevAttachment, isAttachmentEqual } = prevProps;\n const { attachment: nextAttachment } = nextProps;\n\n const attachmentEqual =\n prevAttachment.actions?.length === nextAttachment.actions?.length &&\n prevAttachment.image_url === nextAttachment.image_url &&\n prevAttachment.thumb_url === nextAttachment.thumb_url;\n if (!attachmentEqual) return false;\n\n if (isAttachmentEqual) {\n return isAttachmentEqual(prevAttachment, nextAttachment);\n }\n\n return true;\n};\n\nconst MemoizedAttachment = React.memo(\n AttachmentWithContext,\n areEqual,\n) as typeof AttachmentWithContext;\n\nexport type AttachmentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'Giphy'\n | 'giphyVersion'\n | 'UrlPreview'\n | 'isAttachmentEqual'\n >\n> &\n Pick<AttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>;\n\n/**\n * Attachment - The message attachment\n */\nexport const Attachment = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentProps<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions: PropAttachmentActions,\n Card: PropCard,\n FileAttachment: PropFileAttachment,\n Gallery: PropGallery,\n Giphy: PropGiphy,\n giphyVersion: PropGiphyVersion,\n UrlPreview: PropUrlPreview,\n } = props;\n\n const {\n AttachmentActions: ContextAttachmentActions,\n Card: ContextCard,\n FileAttachment: ContextFileAttachment,\n Gallery: ContextGallery,\n Giphy: ContextGiphy,\n giphyVersion: ContextGiphyVersion,\n isAttachmentEqual,\n UrlPreview: ContextUrlPreview,\n } = useMessagesContext<StreamChatGenerics>();\n\n if (!attachment) {\n return null;\n }\n\n const AttachmentActions =\n PropAttachmentActions || ContextAttachmentActions || AttachmentActionsDefault;\n const Card = PropCard || ContextCard || CardDefault;\n const FileAttachment = PropFileAttachment || ContextFileAttachment || FileAttachmentDefault;\n const Gallery = PropGallery || ContextGallery || GalleryDefault;\n const Giphy = PropGiphy || ContextGiphy || GiphyDefault;\n const UrlPreview = PropUrlPreview || ContextUrlPreview || CardDefault;\n const giphyVersion = PropGiphyVersion || ContextGiphyVersion;\n\n return (\n <MemoizedAttachment\n {...{\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n isAttachmentEqual,\n UrlPreview,\n }}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["Attachment.tsx"],"names":["AttachmentWithContext","props","attachment","AttachmentActions","Card","FileAttachment","Gallery","Giphy","giphyVersion","UrlPreview","hasAttachmentActions","actions","length","type","title_link","og_scrape_url","image_url","thumb_url","id","areEqual","prevProps","nextProps","prevAttachment","isAttachmentEqual","nextAttachment","attachmentEqual","MemoizedAttachment","React","memo","Attachment","PropAttachmentActions","PropCard","PropFileAttachment","PropGallery","PropGiphy","PropGiphyVersion","PropUrlPreview","ContextAttachmentActions","ContextCard","ContextFileAttachment","ContextGallery","ContextGiphy","ContextGiphyVersion","ContextUrlPreview","AttachmentActionsDefault","CardDefault","FileAttachmentDefault","GalleryDefault","GiphyDefault"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { Attachment as AttachmentType } from 'stream-chat';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { Card as CardDefault } from '../../components/Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../../components/Attachment/FileAttachment';\nimport { Gallery as GalleryDefault } from '../../components/Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../../components/Attachment/Giphy';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ActionHandler = (name: string, value: string) => void;\n\nexport type AttachmentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'giphyVersion'\n | 'Giphy'\n | 'isAttachmentEqual'\n | 'UrlPreview'\n> & {\n /**\n * The attachment to render\n */\n attachment: AttachmentType<StreamChatGenerics>;\n};\n\nconst AttachmentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n UrlPreview,\n } = props;\n\n const hasAttachmentActions = !!attachment.actions?.length;\n\n if (attachment.type === 'giphy' || attachment.type === 'imgur') {\n return <Giphy attachment={attachment} giphyVersion={giphyVersion} />;\n }\n\n if (\n (attachment.title_link || attachment.og_scrape_url) &&\n (attachment.image_url || attachment.thumb_url)\n ) {\n return <UrlPreview {...attachment} />;\n }\n\n if (attachment.type === 'image') {\n return (\n <>\n <Gallery images={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'video' && !attachment.og_scrape_url) {\n return (\n <>\n <Gallery videos={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'file' || attachment.type === 'audio') {\n return <FileAttachment attachment={attachment} />;\n }\n\n if (hasAttachmentActions) {\n return (\n <>\n <Card {...attachment} />\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n </>\n );\n } else {\n return <Card {...attachment} />;\n }\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AttachmentPropsWithContext<StreamChatGenerics>,\n nextProps: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const { attachment: prevAttachment, isAttachmentEqual } = prevProps;\n const { attachment: nextAttachment } = nextProps;\n\n const attachmentEqual =\n prevAttachment.actions?.length === nextAttachment.actions?.length &&\n prevAttachment.image_url === nextAttachment.image_url &&\n prevAttachment.thumb_url === nextAttachment.thumb_url;\n if (!attachmentEqual) return false;\n\n if (isAttachmentEqual) {\n return isAttachmentEqual(prevAttachment, nextAttachment);\n }\n\n return true;\n};\n\nconst MemoizedAttachment = React.memo(\n AttachmentWithContext,\n areEqual,\n) as typeof AttachmentWithContext;\n\nexport type AttachmentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'Giphy'\n | 'giphyVersion'\n | 'UrlPreview'\n | 'isAttachmentEqual'\n >\n> &\n Pick<AttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>;\n\n/**\n * Attachment - The message attachment\n */\nexport const Attachment = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentProps<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions: PropAttachmentActions,\n Card: PropCard,\n FileAttachment: PropFileAttachment,\n Gallery: PropGallery,\n Giphy: PropGiphy,\n giphyVersion: PropGiphyVersion,\n UrlPreview: PropUrlPreview,\n } = props;\n\n const {\n AttachmentActions: ContextAttachmentActions,\n Card: ContextCard,\n FileAttachment: ContextFileAttachment,\n Gallery: ContextGallery,\n Giphy: ContextGiphy,\n giphyVersion: ContextGiphyVersion,\n isAttachmentEqual,\n UrlPreview: ContextUrlPreview,\n } = useMessagesContext<StreamChatGenerics>();\n\n if (!attachment) {\n return null;\n }\n\n const AttachmentActions =\n PropAttachmentActions || ContextAttachmentActions || AttachmentActionsDefault;\n const Card = PropCard || ContextCard || CardDefault;\n const FileAttachment = PropFileAttachment || ContextFileAttachment || FileAttachmentDefault;\n const Gallery = PropGallery || ContextGallery || GalleryDefault;\n const Giphy = PropGiphy || ContextGiphy || GiphyDefault;\n const UrlPreview = PropUrlPreview || ContextUrlPreview || CardDefault;\n const giphyVersion = PropGiphyVersion || ContextGiphyVersion;\n\n return (\n <MemoizedAttachment\n {...{\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n isAttachmentEqual,\n UrlPreview,\n }}\n />\n );\n};\n"]}
@@ -129,6 +129,9 @@ var CardWithContext = function CardWithContext(props) {
129
129
  onLongPress: function onLongPress(event) {
130
130
  if (_onLongPress) {
131
131
  _onLongPress({
132
+ additionalInfo: {
133
+ url: og_scrape_url
134
+ },
132
135
  emitter: 'card',
133
136
  event: event
134
137
  });
@@ -137,6 +140,9 @@ var CardWithContext = function CardWithContext(props) {
137
140
  onPress: function onPress(event) {
138
141
  if (_onPress) {
139
142
  _onPress({
143
+ additionalInfo: {
144
+ url: og_scrape_url
145
+ },
140
146
  defaultHandler: defaultOnPress,
141
147
  emitter: 'card',
142
148
  event: event
@@ -146,6 +152,9 @@ var CardWithContext = function CardWithContext(props) {
146
152
  onPressIn: function onPressIn(event) {
147
153
  if (_onPressIn) {
148
154
  _onPressIn({
155
+ additionalInfo: {
156
+ url: og_scrape_url
157
+ },
149
158
  defaultHandler: defaultOnPress,
150
159
  emitter: 'card',
151
160
  event: event
@@ -165,21 +174,21 @@ var CardWithContext = function CardWithContext(props) {
165
174
  __self: _this,
166
175
  __source: {
167
176
  fileName: _jsxFileName,
168
- lineNumber: 179,
177
+ lineNumber: 182,
169
178
  columnNumber: 22
170
179
  }
171
180
  })), CardCover && _react["default"].createElement(CardCover, (0, _extends2["default"])({}, props, {
172
181
  __self: _this,
173
182
  __source: {
174
183
  fileName: _jsxFileName,
175
- lineNumber: 180,
184
+ lineNumber: 183,
176
185
  columnNumber: 21
177
186
  }
178
187
  })), uri && !CardCover && _react["default"].createElement(_reactNative.View, {
179
188
  __self: _this,
180
189
  __source: {
181
190
  fileName: _jsxFileName,
182
- lineNumber: 182,
191
+ lineNumber: 185,
183
192
  columnNumber: 9
184
193
  }
185
194
  }, _react["default"].createElement(_reactNative.Image, {
@@ -191,7 +200,7 @@ var CardWithContext = function CardWithContext(props) {
191
200
  __self: _this,
192
201
  __source: {
193
202
  fileName: _jsxFileName,
194
- lineNumber: 183,
203
+ lineNumber: 186,
195
204
  columnNumber: 11
196
205
  }
197
206
  }), author_name && _react["default"].createElement(_reactNative.View, {
@@ -199,7 +208,7 @@ var CardWithContext = function CardWithContext(props) {
199
208
  __self: _this,
200
209
  __source: {
201
210
  fileName: _jsxFileName,
202
- lineNumber: 189,
211
+ lineNumber: 192,
203
212
  columnNumber: 13
204
213
  }
205
214
  }, _react["default"].createElement(_reactNative.View, {
@@ -209,7 +218,7 @@ var CardWithContext = function CardWithContext(props) {
209
218
  __self: _this,
210
219
  __source: {
211
220
  fileName: _jsxFileName,
212
- lineNumber: 190,
221
+ lineNumber: 193,
213
222
  columnNumber: 15
214
223
  }
215
224
  }, _react["default"].createElement(_reactNative.Text, {
@@ -219,14 +228,14 @@ var CardWithContext = function CardWithContext(props) {
219
228
  __self: _this,
220
229
  __source: {
221
230
  fileName: _jsxFileName,
222
- lineNumber: 198,
231
+ lineNumber: 201,
223
232
  columnNumber: 17
224
233
  }
225
234
  }, author_name)))), CardFooter ? _react["default"].createElement(CardFooter, (0, _extends2["default"])({}, props, {
226
235
  __self: _this,
227
236
  __source: {
228
237
  fileName: _jsxFileName,
229
- lineNumber: 214,
238
+ lineNumber: 217,
230
239
  columnNumber: 9
231
240
  }
232
241
  })) : _react["default"].createElement(_reactNative.View, {
@@ -234,7 +243,7 @@ var CardWithContext = function CardWithContext(props) {
234
243
  __self: _this,
235
244
  __source: {
236
245
  fileName: _jsxFileName,
237
- lineNumber: 216,
246
+ lineNumber: 219,
238
247
  columnNumber: 9
239
248
  }
240
249
  }, _react["default"].createElement(_reactNative.View, {
@@ -246,7 +255,7 @@ var CardWithContext = function CardWithContext(props) {
246
255
  __self: _this,
247
256
  __source: {
248
257
  fileName: _jsxFileName,
249
- lineNumber: 217,
258
+ lineNumber: 220,
250
259
  columnNumber: 11
251
260
  }
252
261
  }, !uri && author_name && _react["default"].createElement(_reactNative.Text, {
@@ -256,7 +265,7 @@ var CardWithContext = function CardWithContext(props) {
256
265
  __self: _this,
257
266
  __source: {
258
267
  fileName: _jsxFileName,
259
- lineNumber: 226,
268
+ lineNumber: 229,
260
269
  columnNumber: 15
261
270
  }
262
271
  }, author_name), title && _react["default"].createElement(_reactNative.Text, {
@@ -267,7 +276,7 @@ var CardWithContext = function CardWithContext(props) {
267
276
  __self: _this,
268
277
  __source: {
269
278
  fileName: _jsxFileName,
270
- lineNumber: 238,
279
+ lineNumber: 241,
271
280
  columnNumber: 15
272
281
  }
273
282
  }, title), text && _react["default"].createElement(_reactNative.Text, {
@@ -278,7 +287,7 @@ var CardWithContext = function CardWithContext(props) {
278
287
  __self: _this,
279
288
  __source: {
280
289
  fileName: _jsxFileName,
281
- lineNumber: 246,
290
+ lineNumber: 249,
282
291
  columnNumber: 15
283
292
  }
284
293
  }, text))));
@@ -317,7 +326,7 @@ var Card = function Card(props) {
317
326
  __self: _this,
318
327
  __source: {
319
328
  fileName: _jsxFileName,
320
- lineNumber: 287,
329
+ lineNumber: 290,
321
330
  columnNumber: 5
322
331
  }
323
332
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["Card.tsx"],"names":["styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","borderRadius","height","marginHorizontal","cardFooter","flexDirection","justifyContent","container","overflow","width","description","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","stylesProp","text","thumb_url","theme","colors","accent_blue","black","blue_alice","transparent","messageSimple","card","authorNameFooterContainer","cover","footer","titleStyle","footerStyle","noURI","uri","error","openURL","defaultOnPress","event","emitter","defaultHandler","backgroundColor","color","borderLeftColor","MemoizedCard","React","memo","Card","message","channelId","cid","messageId","id","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n Image,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useGoToURL } from './hooks/useGoToURL';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 8,\n position: 'absolute',\n },\n cardCover: {\n borderRadius: 8,\n height: 140,\n marginHorizontal: 8,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const [error, openURL] = useGoToURL(og_scrape_url || uri);\n\n const defaultOnPress = () => !error && openURL && openURL();\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n />\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"]}
1
+ {"version":3,"sources":["Card.tsx"],"names":["styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","borderRadius","height","marginHorizontal","cardFooter","flexDirection","justifyContent","container","overflow","width","description","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","stylesProp","text","thumb_url","theme","colors","accent_blue","black","blue_alice","transparent","messageSimple","card","authorNameFooterContainer","cover","footer","titleStyle","footerStyle","noURI","uri","error","openURL","defaultOnPress","event","additionalInfo","url","emitter","defaultHandler","backgroundColor","color","borderLeftColor","MemoizedCard","React","memo","Card","message","channelId","cid","messageId","id","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n Image,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useGoToURL } from './hooks/useGoToURL';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 8,\n position: 'absolute',\n },\n cardCover: {\n borderRadius: 8,\n height: 140,\n marginHorizontal: 8,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const [error, openURL] = useGoToURL(og_scrape_url || uri);\n\n const defaultOnPress = () => !error && openURL && openURL();\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { url: og_scrape_url },\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n />\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"]}