stream-chat-react-native-core 5.11.3-beta.7 → 5.12.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/lib/commonjs/components/Attachment/Gallery.js +38 -22
  2. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/ImageReloadIndicator.js +40 -0
  4. package/lib/commonjs/components/Attachment/ImageReloadIndicator.js.map +1 -0
  5. package/lib/commonjs/components/Channel/Channel.js +20 -18
  6. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  7. package/lib/commonjs/hooks/useLoadingImage.js +57 -16
  8. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
  9. package/lib/commonjs/version.json +1 -1
  10. package/lib/module/components/Attachment/Gallery.js +38 -22
  11. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  12. package/lib/module/components/Attachment/ImageReloadIndicator.js +40 -0
  13. package/lib/module/components/Attachment/ImageReloadIndicator.js.map +1 -0
  14. package/lib/module/components/Channel/Channel.js +20 -18
  15. package/lib/module/components/Channel/Channel.js.map +1 -1
  16. package/lib/module/hooks/useLoadingImage.js +57 -16
  17. package/lib/module/hooks/useLoadingImage.js.map +1 -1
  18. package/lib/module/version.json +1 -1
  19. package/lib/typescript/components/Attachment/ImageReloadIndicator.d.ts +6 -0
  20. package/lib/typescript/hooks/useLoadingImage.d.ts +3 -3
  21. package/package.json +1 -1
  22. package/src/components/Attachment/Gallery.tsx +22 -5
  23. package/src/components/Attachment/ImageReloadIndicator.tsx +27 -0
  24. package/src/components/Attachment/__tests__/Gallery.test.js +3 -1
  25. package/src/components/Channel/Channel.tsx +4 -1
  26. package/src/hooks/useLoadingImage.tsx +57 -9
  27. package/src/version.json +1 -1
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Gallery = void 0;
7
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
7
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactNative = require("react-native");
11
11
  var _GalleryImage = require("./GalleryImage");
12
+ var _ImageReloadIndicator = require("./ImageReloadIndicator");
12
13
  var _buildGallery = require("./utils/buildGallery/buildGallery");
13
14
  var _getGalleryImageBorderRadius = require("./utils/getGalleryImageBorderRadius");
14
15
  var _openUrlSafely = require("./utils/openUrlSafely");
@@ -63,6 +64,10 @@ var styles = _reactNative.StyleSheet.create({
63
64
  justifyContent: 'center',
64
65
  position: 'absolute'
65
66
  },
67
+ imageReloadContainerStyle: (0, _extends2["default"])({}, _reactNative.StyleSheet.absoluteFillObject, {
68
+ alignItems: 'center',
69
+ justifyContent: 'center'
70
+ }),
66
71
  moreImagesContainer: {
67
72
  alignItems: 'center',
68
73
  justifyContent: 'center',
@@ -141,7 +146,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
141
146
  __self: _this,
142
147
  __source: {
143
148
  fileName: _jsxFileName,
144
- lineNumber: 190,
149
+ lineNumber: 196,
145
150
  columnNumber: 5
146
151
  }
147
152
  }, thumbnailGrid.map(function (rows, colIndex) {
@@ -155,7 +160,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
155
160
  __self: _this,
156
161
  __source: {
157
162
  fileName: _jsxFileName,
158
- lineNumber: 207,
163
+ lineNumber: 213,
159
164
  columnNumber: 11
160
165
  }
161
166
  }, rows.map(function (thumbnail, rowIndex) {
@@ -203,7 +208,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
203
208
  __self: _this,
204
209
  __source: {
205
210
  fileName: _jsxFileName,
206
- lineNumber: 239,
211
+ lineNumber: 245,
207
212
  columnNumber: 17
208
213
  }
209
214
  });
@@ -302,7 +307,7 @@ var GalleryThumbnail = function GalleryThumbnail(_ref) {
302
307
  __self: _this,
303
308
  __source: {
304
309
  fileName: _jsxFileName,
305
- lineNumber: 363,
310
+ lineNumber: 369,
306
311
  columnNumber: 5
307
312
  }
308
313
  }), thumbnail.type === 'video' ? _react["default"].createElement(VideoThumbnail, {
@@ -314,7 +319,7 @@ var GalleryThumbnail = function GalleryThumbnail(_ref) {
314
319
  __self: _this,
315
320
  __source: {
316
321
  fileName: _jsxFileName,
317
- lineNumber: 405,
322
+ lineNumber: 411,
318
323
  columnNumber: 9
319
324
  }
320
325
  }) : _react["default"].createElement(_reactNative.View, {
@@ -322,7 +327,7 @@ var GalleryThumbnail = function GalleryThumbnail(_ref) {
322
327
  __self: _this,
323
328
  __source: {
324
329
  fileName: _jsxFileName,
325
- lineNumber: 417,
330
+ lineNumber: 423,
326
331
  columnNumber: 9
327
332
  }
328
333
  }, _react["default"].createElement(GalleryImageThumbnail, {
@@ -333,7 +338,7 @@ var GalleryThumbnail = function GalleryThumbnail(_ref) {
333
338
  __self: _this,
334
339
  __source: {
335
340
  fileName: _jsxFileName,
336
- lineNumber: 418,
341
+ lineNumber: 424,
337
342
  columnNumber: 11
338
343
  }
339
344
  })), colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? _react["default"].createElement(_reactNative.View, {
@@ -343,7 +348,7 @@ var GalleryThumbnail = function GalleryThumbnail(_ref) {
343
348
  __self: _this,
344
349
  __source: {
345
350
  fileName: _jsxFileName,
346
- lineNumber: 427,
351
+ lineNumber: 433,
347
352
  columnNumber: 9
348
353
  }
349
354
  }, _react["default"].createElement(_reactNative.Text, {
@@ -351,7 +356,7 @@ var GalleryThumbnail = function GalleryThumbnail(_ref) {
351
356
  __self: _this,
352
357
  __source: {
353
358
  fileName: _jsxFileName,
354
- lineNumber: 435,
359
+ lineNumber: 441,
355
360
  columnNumber: 11
356
361
  }
357
362
  }, "+" + (imagesAndVideos.length - 4))) : null);
@@ -364,6 +369,7 @@ var GalleryImageThumbnail = function GalleryImageThumbnail(_ref2) {
364
369
  var _useLoadingImage = (0, _useLoadingImage2.useLoadingImage)(),
365
370
  isLoadingImage = _useLoadingImage.isLoadingImage,
366
371
  isLoadingImageError = _useLoadingImage.isLoadingImageError,
372
+ onReloadImage = _useLoadingImage.onReloadImage,
367
373
  setLoadingImage = _useLoadingImage.setLoadingImage,
368
374
  setLoadingImageError = _useLoadingImage.setLoadingImageError;
369
375
  var _useTheme3 = (0, _ThemeContext.useTheme)(),
@@ -376,19 +382,29 @@ var GalleryImageThumbnail = function GalleryImageThumbnail(_ref2) {
376
382
  __self: _this,
377
383
  __source: {
378
384
  fileName: _jsxFileName,
379
- lineNumber: 467,
385
+ lineNumber: 478,
380
386
  columnNumber: 5
381
387
  }
382
- }, isLoadingImageError ? _react["default"].createElement(ImageLoadingFailedIndicator, {
383
- style: [styles.imageLoadingErrorIndicatorStyle],
388
+ }, isLoadingImageError ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(ImageLoadingFailedIndicator, {
389
+ style: styles.imageLoadingErrorIndicatorStyle,
384
390
  __self: _this,
385
391
  __source: {
386
392
  fileName: _jsxFileName,
387
- lineNumber: 474,
388
- columnNumber: 9
393
+ lineNumber: 486,
394
+ columnNumber: 11
395
+ }
396
+ }), _react["default"].createElement(_ImageReloadIndicator.ImageReloadIndicator, {
397
+ onReloadImage: onReloadImage,
398
+ style: styles.imageReloadContainerStyle,
399
+ __self: _this,
400
+ __source: {
401
+ fileName: _jsxFileName,
402
+ lineNumber: 487,
403
+ columnNumber: 11
389
404
  }
390
- }) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_GalleryImage.GalleryImage, {
391
- onError: function onError(error) {
405
+ })) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_GalleryImage.GalleryImage, {
406
+ onError: function onError(_ref3) {
407
+ var error = _ref3.nativeEvent.error;
392
408
  console.warn(error);
393
409
  setLoadingImage(false);
394
410
  setLoadingImageError(true);
@@ -408,15 +424,15 @@ var GalleryImageThumbnail = function GalleryImageThumbnail(_ref2) {
408
424
  __self: _this,
409
425
  __source: {
410
426
  fileName: _jsxFileName,
411
- lineNumber: 477,
427
+ lineNumber: 494,
412
428
  columnNumber: 11
413
429
  }
414
430
  }), isLoadingImage && _react["default"].createElement(_reactNative.View, {
415
- style: [styles.imageLoadingIndicatorContainer],
431
+ style: styles.imageLoadingIndicatorContainer,
416
432
  __self: _this,
417
433
  __source: {
418
434
  fileName: _jsxFileName,
419
- lineNumber: 497,
435
+ lineNumber: 514,
420
436
  columnNumber: 13
421
437
  }
422
438
  }, _react["default"].createElement(ImageLoadingIndicator, {
@@ -424,7 +440,7 @@ var GalleryImageThumbnail = function GalleryImageThumbnail(_ref2) {
424
440
  __self: _this,
425
441
  __source: {
426
442
  fileName: _jsxFileName,
427
- lineNumber: 498,
443
+ lineNumber: 515,
428
444
  columnNumber: 15
429
445
  }
430
446
  }))));
@@ -538,7 +554,7 @@ var Gallery = function Gallery(props) {
538
554
  __self: _this,
539
555
  __source: {
540
556
  fileName: _jsxFileName,
541
- lineNumber: 639,
557
+ lineNumber: 656,
542
558
  columnNumber: 5
543
559
  }
544
560
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_GalleryImage","_buildGallery","_getGalleryImageBorderRadius","_openUrlSafely","_ImageGalleryContext","_MessageContext","_MessagesContext","_OverlayContext","_ThemeContext","_useLoadingImage2","_native","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","errorTextSize","fontSize","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","alignItems","display","justifyContent","padding","imageContainerStyle","flex","imageLoadingErrorIndicatorStyle","bottom","left","position","imageLoadingIndicatorContainer","height","width","imageLoadingIndicatorStyle","moreImagesContainer","margin","moreImagesText","color","fontWeight","GalleryWithContext","props","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","ImageLoadingFailedIndicator","ImageLoadingIndicator","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setMessages","setOverlay","setSelectedMessage","threadList","videos","VideoThumbnail","_useTheme","useTheme","_useTheme$theme$messa","theme","messageSimple","gallery","galleryItemColumn","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","imagesAndVideos","concat","_toConsumableArray2","imagesAndVideosValue","length","map","i","image_url","thumb_url","join","_useMemo","useMemo","buildGallery","invertedDirections","thumbnailGrid","numOfColumns","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","rows","colIndex","numOfRows","thumbnail","rowIndex","borderRadius","getGalleryImageBorderRadius","messageText","text","undefined","GalleryThumbnail","_ref","_useTheme2","_useTheme2$theme","overlay","colors","_useTheme2$theme$mess","image","openImageViewer","messageId","id","url","defaultOnPress","type","isVideoPackageAvailable","openUrlSafely","TouchableOpacity","_extends2","activeOpacity","disabled","event","emitter","defaultHandler","GalleryImageThumbnail","absoluteFillObject","backgroundColor","Text","_ref2","_useLoadingImage","useLoadingImage","isLoadingImage","isLoadingImageError","setLoadingImage","setLoadingImageError","_useTheme3","Fragment","GalleryImage","onError","error","console","warn","onLoadEnd","onLoadStart","resizeMode","uri","areEqual","prevProps","nextProps","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","prevVideos","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","nextVideos","messageEqual","updated_at","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","getUrlWithoutParams","videosEqual","MemoizedGallery","React","memo","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","PropImageLoadingFailedIndicator","PropImageLoadingIndicator","propImages","propMessage","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetOverlay","propSetSelectedMessage","propThreadList","propVideos","PropVideoThumbnail","_useImageGalleryConte","useImageGalleryContext","contextSetSelectedMessage","_useMessageContext","useMessageContext","contextAlignment","contextGroupStyles","contextImages","contextMessage","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextVideos","_useMessagesContext","useMessagesContext","contextAdditionalTouchableProps","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","ContextVideoThumnbnail","_useOverlayContext","useOverlayContext","contextSetOverlay","channelId","cid","reply_count","exports","displayName"],"sources":["Gallery.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { GalleryImage } from './GalleryImage';\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport type { Thumbnail } from './utils/buildGallery/types';\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { isVideoPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n errorTextSize: { fontSize: 10 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n padding: 1,\n },\n imageContainerStyle: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n imageLoadingErrorIndicatorStyle: {\n bottom: 4,\n left: 4,\n position: 'absolute',\n },\n imageLoadingIndicatorContainer: {\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'videos'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"excessive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<StreamChatGenerics>;\n };\n\nconst GalleryWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n } = props;\n\n const {\n theme: {\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const imagesAndVideos = [...(images || []), ...(videos || [])];\n const imagesAndVideosValue = `${images?.length}${videos?.length}${images\n ?.map((i) => `${i.image_url}${i.thumb_url}`)\n .join('')}${videos?.map((i) => `${i.image_url}${i.thumb_url}`).join('')}`;\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images: imagesAndVideos,\n sizeConfig,\n }),\n [imagesAndVideosValue],\n );\n\n if (!imagesAndVideos?.length) return null;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n height,\n width,\n },\n galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n },\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map((thumbnail, rowIndex) => {\n const borderRadius = getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText: message?.text,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n });\n\n if (message === undefined) {\n return null;\n }\n\n return (\n <GalleryThumbnail\n additionalTouchableProps={additionalTouchableProps}\n borderRadius={borderRadius}\n colIndex={colIndex}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n imagesAndVideos={imagesAndVideos}\n invertedDirections={invertedDirections || false}\n key={rowIndex}\n legacyImageViewerSwipeBehaviour={legacyImageViewerSwipeBehaviour}\n message={message}\n numOfColumns={numOfColumns}\n numOfRows={numOfRows}\n onLongPress={onLongPress}\n onPress={onPress}\n onPressIn={onPressIn}\n preventPress={preventPress}\n rowIndex={rowIndex}\n setMessages={setMessages}\n setOverlay={setOverlay}\n setSelectedMessage={setSelectedMessage}\n thumbnail={thumbnail}\n VideoThumbnail={VideoThumbnail}\n />\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\ntype GalleryThumbnailProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n borderRadius: {\n borderBottomLeftRadius: number;\n borderBottomRightRadius: number;\n borderTopLeftRadius: number;\n borderTopRightRadius: number;\n };\n colIndex: number;\n imagesAndVideos: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n message: MessageType<StreamChatGenerics>;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n thumbnail: Thumbnail;\n} & Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n> &\n Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GalleryThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n borderRadius,\n colIndex,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n imagesAndVideos,\n invertedDirections,\n legacyImageViewerSwipeBehaviour,\n message,\n numOfColumns,\n numOfRows,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n rowIndex,\n setMessages,\n setOverlay,\n setSelectedMessage,\n thumbnail,\n VideoThumbnail,\n}: GalleryThumbnailProps<StreamChatGenerics>) => {\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: { image, imageContainer, moreImagesContainer, moreImagesText },\n },\n },\n } = useTheme();\n\n const openImageViewer = () => {\n if (!legacyImageViewerSwipeBehaviour && message) {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n setMessages([message]);\n setSelectedMessage({ messageId: message.id, url: thumbnail.url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setSelectedMessage({ messageId: message?.id, url: thumbnail.url });\n setOverlay('gallery');\n }\n };\n\n const defaultOnPress = () => {\n if (thumbnail.type === 'video' && !isVideoPackageAvailable()) {\n // This condition is kinda unreachable, since we render videos as file attachment if the video\n // library is not installed. But doesn't hurt to have extra safeguard, in case of some customizations.\n openUrlSafely(thumbnail.url);\n } else {\n openImageViewer();\n }\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${message.id}/${colIndex}/${rowIndex}/${imagesAndVideos.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height: thumbnail.height,\n width: thumbnail.width,\n },\n imageContainer,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n {thumbnail.type === 'video' ? (\n <VideoThumbnail\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n thumb_url={thumbnail.thumb_url}\n />\n ) : (\n <View style={styles.imageContainerStyle}>\n <GalleryImageThumbnail\n borderRadius={borderRadius}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n thumbnail={thumbnail}\n />\n </View>\n )}\n {colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${imagesAndVideos.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n};\n\nconst GalleryImageThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n borderRadius,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n thumbnail,\n}: Pick<\n GalleryThumbnailProps<StreamChatGenerics>,\n 'ImageLoadingFailedIndicator' | 'ImageLoadingIndicator' | 'thumbnail' | 'borderRadius'\n>) => {\n const { isLoadingImage, isLoadingImageError, setLoadingImage, setLoadingImageError } =\n useLoadingImage();\n\n const {\n theme: {\n messageSimple: {\n gallery: { image },\n },\n },\n } = useTheme();\n\n return (\n <View\n style={{\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n }}\n >\n {isLoadingImageError ? (\n <ImageLoadingFailedIndicator style={[styles.imageLoadingErrorIndicatorStyle]} />\n ) : (\n <>\n <GalleryImage\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode={thumbnail.resizeMode}\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n uri={thumbnail.url}\n />\n {isLoadingImage && (\n <View style={[styles.imageLoadingIndicatorContainer]}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n </>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GalleryPropsWithContext<StreamChatGenerics>,\n nextProps: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n videos: prevVideos,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n videos: nextVideos,\n } = nextProps;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n const videosEqual =\n prevVideos.length === nextVideos.length &&\n prevVideos.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextVideos[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextVideos[index].thumb_url),\n );\n if (!videosEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GalleryPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryProps<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator: PropImageLoadingFailedIndicator,\n ImageLoadingIndicator: PropImageLoadingIndicator,\n images: propImages,\n message: propMessage,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setOverlay: propSetOverlay,\n setSelectedMessage: propSetSelectedMessage,\n threadList: propThreadList,\n videos: propVideos,\n VideoThumbnail: PropVideoThumbnail,\n } = props;\n\n const { setMessages, setSelectedMessage: contextSetSelectedMessage } =\n useImageGalleryContext<StreamChatGenerics>();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message: contextMessage,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n videos: contextVideos,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n legacyImageViewerSwipeBehaviour,\n VideoThumbnail: ContextVideoThumnbnail,\n } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n const videos = propVideos || contextVideos;\n const message = propMessage || contextMessage;\n\n if (!images.length && !videos.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setSelectedMessage = propSetSelectedMessage || contextSetSelectedMessage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n const VideoThumbnail = PropVideoThumbnail || ContextVideoThumnbnail;\n const ImageLoadingFailedIndicator =\n PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;\n const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_GalleryImage","_ImageReloadIndicator","_buildGallery","_getGalleryImageBorderRadius","_openUrlSafely","_ImageGalleryContext","_MessageContext","_MessagesContext","_OverlayContext","_ThemeContext","_useLoadingImage2","_native","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","errorTextSize","fontSize","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","alignItems","display","justifyContent","padding","imageContainerStyle","flex","imageLoadingErrorIndicatorStyle","bottom","left","position","imageLoadingIndicatorContainer","height","width","imageLoadingIndicatorStyle","imageReloadContainerStyle","_extends2","absoluteFillObject","moreImagesContainer","margin","moreImagesText","color","fontWeight","GalleryWithContext","props","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","ImageLoadingFailedIndicator","ImageLoadingIndicator","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setMessages","setOverlay","setSelectedMessage","threadList","videos","VideoThumbnail","_useTheme","useTheme","_useTheme$theme$messa","theme","messageSimple","gallery","galleryItemColumn","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","imagesAndVideos","concat","_toConsumableArray2","imagesAndVideosValue","length","map","i","image_url","thumb_url","join","_useMemo","useMemo","buildGallery","invertedDirections","thumbnailGrid","numOfColumns","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","rows","colIndex","numOfRows","thumbnail","rowIndex","borderRadius","getGalleryImageBorderRadius","messageText","text","undefined","GalleryThumbnail","_ref","_useTheme2","_useTheme2$theme","overlay","colors","_useTheme2$theme$mess","image","openImageViewer","messageId","id","url","defaultOnPress","type","isVideoPackageAvailable","openUrlSafely","TouchableOpacity","activeOpacity","disabled","event","emitter","defaultHandler","GalleryImageThumbnail","backgroundColor","Text","_ref2","_useLoadingImage","useLoadingImage","isLoadingImage","isLoadingImageError","onReloadImage","setLoadingImage","setLoadingImageError","_useTheme3","Fragment","ImageReloadIndicator","GalleryImage","onError","_ref3","error","nativeEvent","console","warn","onLoadEnd","onLoadStart","resizeMode","uri","areEqual","prevProps","nextProps","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","prevVideos","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","nextVideos","messageEqual","updated_at","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","getUrlWithoutParams","videosEqual","MemoizedGallery","React","memo","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","PropImageLoadingFailedIndicator","PropImageLoadingIndicator","propImages","propMessage","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetOverlay","propSetSelectedMessage","propThreadList","propVideos","PropVideoThumbnail","_useImageGalleryConte","useImageGalleryContext","contextSetSelectedMessage","_useMessageContext","useMessageContext","contextAlignment","contextGroupStyles","contextImages","contextMessage","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextVideos","_useMessagesContext","useMessagesContext","contextAdditionalTouchableProps","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","ContextVideoThumnbnail","_useOverlayContext","useOverlayContext","contextSetOverlay","channelId","cid","reply_count","exports","displayName"],"sources":["Gallery.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { GalleryImage } from './GalleryImage';\nimport { ImageReloadIndicator } from './ImageReloadIndicator';\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport type { Thumbnail } from './utils/buildGallery/types';\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { isVideoPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n errorTextSize: { fontSize: 10 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n padding: 1,\n },\n imageContainerStyle: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n imageLoadingErrorIndicatorStyle: {\n bottom: 4,\n left: 4,\n position: 'absolute',\n },\n imageLoadingIndicatorContainer: {\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n },\n imageReloadContainerStyle: {\n ...StyleSheet.absoluteFillObject,\n alignItems: 'center',\n justifyContent: 'center',\n },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'videos'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"excessive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<StreamChatGenerics>;\n };\n\nconst GalleryWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n } = props;\n\n const {\n theme: {\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const imagesAndVideos = [...(images || []), ...(videos || [])];\n const imagesAndVideosValue = `${images?.length}${videos?.length}${images\n ?.map((i) => `${i.image_url}${i.thumb_url}`)\n .join('')}${videos?.map((i) => `${i.image_url}${i.thumb_url}`).join('')}`;\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images: imagesAndVideos,\n sizeConfig,\n }),\n [imagesAndVideosValue],\n );\n\n if (!imagesAndVideos?.length) return null;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n height,\n width,\n },\n galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n },\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map((thumbnail, rowIndex) => {\n const borderRadius = getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText: message?.text,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n });\n\n if (message === undefined) {\n return null;\n }\n\n return (\n <GalleryThumbnail\n additionalTouchableProps={additionalTouchableProps}\n borderRadius={borderRadius}\n colIndex={colIndex}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n imagesAndVideos={imagesAndVideos}\n invertedDirections={invertedDirections || false}\n key={rowIndex}\n legacyImageViewerSwipeBehaviour={legacyImageViewerSwipeBehaviour}\n message={message}\n numOfColumns={numOfColumns}\n numOfRows={numOfRows}\n onLongPress={onLongPress}\n onPress={onPress}\n onPressIn={onPressIn}\n preventPress={preventPress}\n rowIndex={rowIndex}\n setMessages={setMessages}\n setOverlay={setOverlay}\n setSelectedMessage={setSelectedMessage}\n thumbnail={thumbnail}\n VideoThumbnail={VideoThumbnail}\n />\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\ntype GalleryThumbnailProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n borderRadius: {\n borderBottomLeftRadius: number;\n borderBottomRightRadius: number;\n borderTopLeftRadius: number;\n borderTopRightRadius: number;\n };\n colIndex: number;\n imagesAndVideos: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n message: MessageType<StreamChatGenerics>;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n thumbnail: Thumbnail;\n} & Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n> &\n Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GalleryThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n borderRadius,\n colIndex,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n imagesAndVideos,\n invertedDirections,\n legacyImageViewerSwipeBehaviour,\n message,\n numOfColumns,\n numOfRows,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n rowIndex,\n setMessages,\n setOverlay,\n setSelectedMessage,\n thumbnail,\n VideoThumbnail,\n}: GalleryThumbnailProps<StreamChatGenerics>) => {\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: { image, imageContainer, moreImagesContainer, moreImagesText },\n },\n },\n } = useTheme();\n\n const openImageViewer = () => {\n if (!legacyImageViewerSwipeBehaviour && message) {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n setMessages([message]);\n setSelectedMessage({ messageId: message.id, url: thumbnail.url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setSelectedMessage({ messageId: message?.id, url: thumbnail.url });\n setOverlay('gallery');\n }\n };\n\n const defaultOnPress = () => {\n if (thumbnail.type === 'video' && !isVideoPackageAvailable()) {\n // This condition is kinda unreachable, since we render videos as file attachment if the video\n // library is not installed. But doesn't hurt to have extra safeguard, in case of some customizations.\n openUrlSafely(thumbnail.url);\n } else {\n openImageViewer();\n }\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${message.id}/${colIndex}/${rowIndex}/${imagesAndVideos.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height: thumbnail.height,\n width: thumbnail.width,\n },\n imageContainer,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n {thumbnail.type === 'video' ? (\n <VideoThumbnail\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n thumb_url={thumbnail.thumb_url}\n />\n ) : (\n <View style={styles.imageContainerStyle}>\n <GalleryImageThumbnail\n borderRadius={borderRadius}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n thumbnail={thumbnail}\n />\n </View>\n )}\n {colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${imagesAndVideos.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n};\n\nconst GalleryImageThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n borderRadius,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n thumbnail,\n}: Pick<\n GalleryThumbnailProps<StreamChatGenerics>,\n 'ImageLoadingFailedIndicator' | 'ImageLoadingIndicator' | 'thumbnail' | 'borderRadius'\n>) => {\n const {\n isLoadingImage,\n isLoadingImageError,\n onReloadImage,\n setLoadingImage,\n setLoadingImageError,\n } = useLoadingImage();\n\n const {\n theme: {\n messageSimple: {\n gallery: { image },\n },\n },\n } = useTheme();\n\n return (\n <View\n style={{\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n }}\n >\n {isLoadingImageError ? (\n <>\n <ImageLoadingFailedIndicator style={styles.imageLoadingErrorIndicatorStyle} />\n <ImageReloadIndicator\n onReloadImage={onReloadImage}\n style={styles.imageReloadContainerStyle}\n />\n </>\n ) : (\n <>\n <GalleryImage\n onError={({ nativeEvent: { error } }) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode={thumbnail.resizeMode}\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n uri={thumbnail.url}\n />\n {isLoadingImage && (\n <View style={styles.imageLoadingIndicatorContainer}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n </>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GalleryPropsWithContext<StreamChatGenerics>,\n nextProps: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n videos: prevVideos,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n videos: nextVideos,\n } = nextProps;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n const videosEqual =\n prevVideos.length === nextVideos.length &&\n prevVideos.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextVideos[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextVideos[index].thumb_url),\n );\n if (!videosEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GalleryPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryProps<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator: PropImageLoadingFailedIndicator,\n ImageLoadingIndicator: PropImageLoadingIndicator,\n images: propImages,\n message: propMessage,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setOverlay: propSetOverlay,\n setSelectedMessage: propSetSelectedMessage,\n threadList: propThreadList,\n videos: propVideos,\n VideoThumbnail: PropVideoThumbnail,\n } = props;\n\n const { setMessages, setSelectedMessage: contextSetSelectedMessage } =\n useImageGalleryContext<StreamChatGenerics>();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message: contextMessage,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n videos: contextVideos,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n legacyImageViewerSwipeBehaviour,\n VideoThumbnail: ContextVideoThumnbnail,\n } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n const videos = propVideos || contextVideos;\n const message = propMessage || contextMessage;\n\n if (!images.length && !videos.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setSelectedMessage = propSetSelectedMessage || contextSetSelectedMessage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n const VideoThumbnail = PropVideoThumbnail || ContextVideoThumnbnail;\n const ImageLoadingFailedIndicator =\n PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;\n const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.ImageReloadIndicator = void 0;
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _reactNative = require("react-native");
8
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
9
+ var _icons = require("../../icons");
10
+ var _this = this,
11
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Attachment/ImageReloadIndicator.tsx";
12
+ var REFRESH_ICON_SIZE = 24;
13
+ var ImageReloadIndicator = function ImageReloadIndicator(_ref) {
14
+ var onReloadImage = _ref.onReloadImage,
15
+ style = _ref.style;
16
+ var _useTheme = (0, _ThemeContext.useTheme)(),
17
+ grey_dark = _useTheme.theme.colors.grey_dark;
18
+ return _react["default"].createElement(_reactNative.Pressable, {
19
+ onPress: onReloadImage,
20
+ style: style,
21
+ __self: _this,
22
+ __source: {
23
+ fileName: _jsxFileName,
24
+ lineNumber: 23,
25
+ columnNumber: 5
26
+ }
27
+ }, _react["default"].createElement(_icons.Refresh, {
28
+ height: REFRESH_ICON_SIZE,
29
+ pathFill: grey_dark,
30
+ width: REFRESH_ICON_SIZE,
31
+ __self: _this,
32
+ __source: {
33
+ fileName: _jsxFileName,
34
+ lineNumber: 24,
35
+ columnNumber: 7
36
+ }
37
+ }));
38
+ };
39
+ exports.ImageReloadIndicator = ImageReloadIndicator;
40
+ //# sourceMappingURL=ImageReloadIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_icons","_this","_jsxFileName","REFRESH_ICON_SIZE","ImageReloadIndicator","_ref","onReloadImage","style","_useTheme","useTheme","grey_dark","theme","colors","createElement","Pressable","onPress","__self","__source","fileName","lineNumber","columnNumber","Refresh","height","pathFill","width","exports"],"sources":["ImageReloadIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Refresh } from '../../icons';\n\nconst REFRESH_ICON_SIZE = 24;\n\nexport const ImageReloadIndicator = ({\n onReloadImage,\n style,\n}: {\n onReloadImage: () => void;\n style: React.ComponentProps<typeof Pressable>['style'];\n}) => {\n const {\n theme: {\n colors: { grey_dark },\n },\n } = useTheme();\n\n return (\n <Pressable onPress={onReloadImage} style={style}>\n <Refresh height={REFRESH_ICON_SIZE} pathFill={grey_dark} width={REFRESH_ICON_SIZE} />\n </Pressable>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAAsC,IAAAI,KAAA;EAAAC,YAAA;AAEtC,IAAMC,iBAAiB,GAAG,EAAE;AAErB,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAM3B;EAAA,IALJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,KAAK,GAAAF,IAAA,CAALE,KAAK;EAKL,IAAAC,SAAA,GAII,IAAAC,sBAAQ,GAAE;IAFAC,SAAS,GAAAF,SAAA,CADrBG,KAAK,CACHC,MAAM,CAAIF,SAAS;EAIvB,OACEf,MAAA,YAAAkB,aAAA,CAACf,YAAA,CAAAgB,SAAS;IAACC,OAAO,EAAET,aAAc;IAACC,KAAK,EAAEA,KAAM;IAAAS,MAAA,EAAAf,KAAA;IAAAgB,QAAA;MAAAC,QAAA,EAAAhB,YAAA;MAAAiB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC9CzB,MAAA,YAAAkB,aAAA,CAACb,MAAA,CAAAqB,OAAO;IAACC,MAAM,EAAEnB,iBAAkB;IAACoB,QAAQ,EAAEb,SAAU;IAACc,KAAK,EAAErB,iBAAkB;IAAAa,MAAA,EAAAf,KAAA;IAAAgB,QAAA;MAAAC,QAAA,EAAAhB,YAAA;MAAAiB,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,CAC3E;AAEhB,CAAC;AAACK,OAAA,CAAArB,oBAAA,GAAAA,oBAAA"}
@@ -484,7 +484,9 @@ var ChannelWithContext = function ChannelWithContext(props) {
484
484
  }
485
485
  }, [threadPropsExists]);
486
486
  var handleAppBackground = (0, _react.useCallback)(function () {
487
- if (channel) {
487
+ var _channelData$own_capa;
488
+ var channelData = channel.data;
489
+ if (channelData != null && (_channelData$own_capa = channelData.own_capabilities) != null && _channelData$own_capa.includes('send-typing-events')) {
488
490
  channel.sendEvent({
489
491
  parent_id: thread == null ? void 0 : thread.id,
490
492
  type: 'typing.stop'
@@ -1605,7 +1607,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1605
1607
  }();
1606
1608
  var deleteMessage = function () {
1607
1609
  var _ref23 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee19(message) {
1608
- var data;
1610
+ var _data;
1609
1611
  return _regenerator["default"].wrap(function _callee19$(_context19) {
1610
1612
  while (1) switch (_context19.prev = _context19.next) {
1611
1613
  case 0:
@@ -1652,9 +1654,9 @@ var ChannelWithContext = function ChannelWithContext(props) {
1652
1654
  }
1653
1655
  });
1654
1656
  case 14:
1655
- data = _context19.sent;
1656
- if (data != null && data.message) {
1657
- updateMessage((0, _extends2["default"])({}, data.message));
1657
+ _data = _context19.sent;
1658
+ if (_data != null && _data.message) {
1659
+ updateMessage((0, _extends2["default"])({}, _data.message));
1658
1660
  }
1659
1661
  case 16:
1660
1662
  case "end":
@@ -1995,7 +1997,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1995
1997
  __self: _this,
1996
1998
  __source: {
1997
1999
  fileName: _jsxFileName,
1998
- lineNumber: 1977,
2000
+ lineNumber: 1980,
1999
2001
  columnNumber: 12
2000
2002
  }
2001
2003
  });
@@ -2009,7 +2011,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2009
2011
  __self: _this,
2010
2012
  __source: {
2011
2013
  fileName: _jsxFileName,
2012
- lineNumber: 1982,
2014
+ lineNumber: 1985,
2013
2015
  columnNumber: 7
2014
2016
  }
2015
2017
  }, t('Please select a channel first'));
@@ -2022,7 +2024,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2022
2024
  __self: _this,
2023
2025
  __source: {
2024
2026
  fileName: _jsxFileName,
2025
- lineNumber: 1989,
2027
+ lineNumber: 1992,
2026
2028
  columnNumber: 5
2027
2029
  }
2028
2030
  }), _react["default"].createElement(_ChannelContext.ChannelProvider, {
@@ -2030,7 +2032,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2030
2032
  __self: _this,
2031
2033
  __source: {
2032
2034
  fileName: _jsxFileName,
2033
- lineNumber: 1995,
2035
+ lineNumber: 1998,
2034
2036
  columnNumber: 7
2035
2037
  }
2036
2038
  }, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
@@ -2038,7 +2040,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2038
2040
  __self: _this,
2039
2041
  __source: {
2040
2042
  fileName: _jsxFileName,
2041
- lineNumber: 1996,
2043
+ lineNumber: 1999,
2042
2044
  columnNumber: 9
2043
2045
  }
2044
2046
  }, _react["default"].createElement(_TypingContext.TypingProvider, {
@@ -2046,7 +2048,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2046
2048
  __self: _this,
2047
2049
  __source: {
2048
2050
  fileName: _jsxFileName,
2049
- lineNumber: 1997,
2051
+ lineNumber: 2000,
2050
2052
  columnNumber: 11
2051
2053
  }
2052
2054
  }, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
@@ -2054,7 +2056,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2054
2056
  __self: _this,
2055
2057
  __source: {
2056
2058
  fileName: _jsxFileName,
2057
- lineNumber: 1998,
2059
+ lineNumber: 2001,
2058
2060
  columnNumber: 13
2059
2061
  }
2060
2062
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -2062,7 +2064,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2062
2064
  __self: _this,
2063
2065
  __source: {
2064
2066
  fileName: _jsxFileName,
2065
- lineNumber: 1999,
2067
+ lineNumber: 2002,
2066
2068
  columnNumber: 15
2067
2069
  }
2068
2070
  }, _react["default"].createElement(_ThreadContext.ThreadProvider, {
@@ -2070,7 +2072,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2070
2072
  __self: _this,
2071
2073
  __source: {
2072
2074
  fileName: _jsxFileName,
2073
- lineNumber: 2000,
2075
+ lineNumber: 2003,
2074
2076
  columnNumber: 17
2075
2077
  }
2076
2078
  }, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
@@ -2078,7 +2080,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2078
2080
  __self: _this,
2079
2081
  __source: {
2080
2082
  fileName: _jsxFileName,
2081
- lineNumber: 2001,
2083
+ lineNumber: 2004,
2082
2084
  columnNumber: 19
2083
2085
  }
2084
2086
  }, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
@@ -2086,7 +2088,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2086
2088
  __self: _this,
2087
2089
  __source: {
2088
2090
  fileName: _jsxFileName,
2089
- lineNumber: 2002,
2091
+ lineNumber: 2005,
2090
2092
  columnNumber: 21
2091
2093
  }
2092
2094
  }, _react["default"].createElement(_reactNative.View, {
@@ -2096,7 +2098,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2096
2098
  __self: _this,
2097
2099
  __source: {
2098
2100
  fileName: _jsxFileName,
2099
- lineNumber: 2003,
2101
+ lineNumber: 2006,
2100
2102
  columnNumber: 23
2101
2103
  }
2102
2104
  }, children))))))))));
@@ -2147,7 +2149,7 @@ var Channel = function Channel(props) {
2147
2149
  __self: _this,
2148
2150
  __source: {
2149
2151
  fileName: _jsxFileName,
2150
- lineNumber: 2060,
2152
+ lineNumber: 2063,
2151
2153
  columnNumber: 5
2152
2154
  }
2153
2155
  }));