stream-chat-react-native-core 5.0.0-offline-support.5 → 5.0.0-offline-support.8

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 (140) hide show
  1. package/lib/commonjs/components/Attachment/Gallery.js +85 -56
  2. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/Giphy.js +29 -29
  4. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/VideoThumbnail.js +18 -16
  6. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  7. package/lib/commonjs/components/Avatar/Avatar.js +10 -10
  8. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  9. package/lib/commonjs/components/Avatar/GroupAvatar.js +7 -7
  10. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  11. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +1 -1
  12. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -1
  13. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +15 -8
  14. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  15. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +10 -5
  16. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  17. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
  18. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  19. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +4 -2
  20. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  21. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +4 -1
  22. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  23. package/lib/commonjs/components/MessageList/MessageList.js +130 -70
  24. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  25. package/lib/commonjs/components/Reply/Reply.js +22 -14
  26. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  27. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +2 -2
  28. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  29. package/lib/commonjs/contexts/themeContext/utils/theme.js +5 -1
  30. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  31. package/lib/commonjs/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  32. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -0
  33. package/lib/commonjs/i18n/en.json +2 -1
  34. package/lib/commonjs/i18n/fr.json +2 -1
  35. package/lib/commonjs/i18n/he.json +2 -0
  36. package/lib/commonjs/i18n/hi.json +2 -1
  37. package/lib/commonjs/i18n/it.json +2 -1
  38. package/lib/commonjs/i18n/ja.json +2 -0
  39. package/lib/commonjs/i18n/ko.json +2 -0
  40. package/lib/commonjs/i18n/nl.json +2 -1
  41. package/lib/commonjs/i18n/ru.json +2 -1
  42. package/lib/commonjs/i18n/tr.json +2 -1
  43. package/lib/commonjs/version.json +1 -1
  44. package/lib/module/components/Attachment/Gallery.js +85 -56
  45. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  46. package/lib/module/components/Attachment/Giphy.js +29 -29
  47. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  48. package/lib/module/components/Attachment/VideoThumbnail.js +18 -16
  49. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  50. package/lib/module/components/Avatar/Avatar.js +10 -10
  51. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  52. package/lib/module/components/Avatar/GroupAvatar.js +7 -7
  53. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  54. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +1 -1
  55. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -1
  56. package/lib/module/components/ChannelPreview/ChannelPreview.js +15 -8
  57. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  58. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +10 -5
  59. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  60. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  61. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  62. package/lib/module/components/MessageInput/FileUploadPreview.js +4 -2
  63. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  64. package/lib/module/components/MessageInput/ImageUploadPreview.js +4 -1
  65. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  66. package/lib/module/components/MessageList/MessageList.js +130 -70
  67. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  68. package/lib/module/components/Reply/Reply.js +22 -14
  69. package/lib/module/components/Reply/Reply.js.map +1 -1
  70. package/lib/module/contexts/messageInputContext/MessageInputContext.js +2 -2
  71. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  72. package/lib/module/contexts/themeContext/utils/theme.js +5 -1
  73. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  74. package/lib/module/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  75. package/lib/module/hooks/useLoadingImage.js.map +1 -0
  76. package/lib/module/i18n/en.json +2 -1
  77. package/lib/module/i18n/fr.json +2 -1
  78. package/lib/module/i18n/he.json +2 -0
  79. package/lib/module/i18n/hi.json +2 -1
  80. package/lib/module/i18n/it.json +2 -1
  81. package/lib/module/i18n/ja.json +2 -0
  82. package/lib/module/i18n/ko.json +2 -0
  83. package/lib/module/i18n/nl.json +2 -1
  84. package/lib/module/i18n/ru.json +2 -1
  85. package/lib/module/i18n/tr.json +2 -1
  86. package/lib/module/version.json +1 -1
  87. package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +4 -2
  88. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +4 -0
  89. package/lib/typescript/{components/Attachment/hooks → hooks}/useLoadingImage.d.ts +0 -0
  90. package/lib/typescript/i18n/en.json +2 -1
  91. package/lib/typescript/i18n/fr.json +2 -1
  92. package/lib/typescript/i18n/he.json +2 -0
  93. package/lib/typescript/i18n/hi.json +2 -1
  94. package/lib/typescript/i18n/it.json +2 -1
  95. package/lib/typescript/i18n/ja.json +2 -0
  96. package/lib/typescript/i18n/ko.json +2 -0
  97. package/lib/typescript/i18n/nl.json +2 -1
  98. package/lib/typescript/i18n/ru.json +2 -1
  99. package/lib/typescript/i18n/tr.json +2 -1
  100. package/lib/typescript/utils/Streami18n.d.ts +2 -1
  101. package/package.json +3 -3
  102. package/src/components/Attachment/Gallery.tsx +68 -25
  103. package/src/components/Attachment/Giphy.tsx +1 -2
  104. package/src/components/Attachment/VideoThumbnail.tsx +14 -4
  105. package/src/components/Avatar/Avatar.tsx +4 -5
  106. package/src/components/Avatar/GroupAvatar.tsx +15 -16
  107. package/src/components/ChannelList/hooks/listeners/handleEventToSyncDB.ts +1 -1
  108. package/src/components/ChannelPreview/ChannelPreview.tsx +12 -10
  109. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +5 -5
  110. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -1
  111. package/src/components/MessageInput/FileUploadPreview.tsx +3 -3
  112. package/src/components/MessageInput/ImageUploadPreview.tsx +2 -2
  113. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +12 -16
  114. package/src/components/MessageList/MessageList.tsx +8 -10
  115. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +42 -45
  116. package/src/components/Reply/Reply.tsx +15 -3
  117. package/src/contexts/messageInputContext/MessageInputContext.tsx +7 -7
  118. package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +3 -3
  119. package/src/contexts/themeContext/utils/theme.ts +8 -0
  120. package/src/hooks/useLoadingImage.tsx +16 -0
  121. package/src/i18n/en.json +2 -1
  122. package/src/i18n/fr.json +2 -1
  123. package/src/i18n/he.json +2 -0
  124. package/src/i18n/hi.json +2 -1
  125. package/src/i18n/it.json +2 -1
  126. package/src/i18n/ja.json +2 -0
  127. package/src/i18n/ko.json +2 -0
  128. package/src/i18n/nl.json +2 -1
  129. package/src/i18n/ru.json +2 -1
  130. package/src/i18n/tr.json +2 -1
  131. package/src/version.json +1 -1
  132. package/lib/commonjs/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  133. package/lib/commonjs/hooks/useImageErrorHandler.js +0 -35
  134. package/lib/commonjs/hooks/useImageErrorHandler.js.map +0 -1
  135. package/lib/module/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  136. package/lib/module/hooks/useImageErrorHandler.js +0 -35
  137. package/lib/module/hooks/useImageErrorHandler.js.map +0 -1
  138. package/lib/typescript/hooks/useImageErrorHandler.d.ts +0 -5
  139. package/src/components/Attachment/hooks/useLoadingImage.tsx +0 -8
  140. package/src/hooks/useImageErrorHandler.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","fileSizeText","fontSize","paddingHorizontal","flatList","paddingBottom","iconContainer","alignItems","flexDirection","justifyContent","itemContainer","height","marginLeft","unsupportedImage","bottom","marginHorizontal","upload","width","warningIconStyle","marginTop","warningText","color","ImageUploadPreviewWithContext","props","imageUploads","removeImage","uploadImage","theme","overlay","colors","messageInput","imageUploadPreview","UnsupportedImageTypeIndicator","indicatorType","accent_red","white","t","ProgressIndicatorTypes","NOT_SUPPORTED","backgroundColor","renderItem","index","item","state","itemMarginForIndex","length","marginRight","newImage","uri","file","url","id","_","offset","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n flatList: { paddingBottom: 12 },\n iconContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n unsupportedImage: {\n borderRadius: 20,\n bottom: 8,\n flexDirection: 'row',\n marginHorizontal: 3,\n position: 'absolute',\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 6,\n },\n warningText: {\n alignItems: 'center',\n color: 'black',\n fontSize: 10,\n justifyContent: 'center',\n marginHorizontal: 4,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n>;\n\nexport type ImageUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ImageUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\ntype ImageUploadPreviewItem = { index: number; item: ImageUpload };\n\nconst ImageUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n colors: { overlay },\n messageInput: {\n imageUploadPreview: { dismiss, flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const UnsupportedImageTypeIndicator = ({\n indicatorType,\n }: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes] | null;\n }) => {\n const {\n theme: {\n colors: { accent_red, overlay, white },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={[styles.unsupportedImage, { backgroundColor: overlay }]}>\n <View style={[styles.iconContainer]}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.warningText, { color: white }]}>{t('Not supported')}</Text>\n </View>\n </View>\n ) : null;\n };\n\n const renderItem = ({ index, item }: ImageUploadPreviewItem) => {\n const indicatorType = getIndicatorTypeForFileState(item.state);\n const itemMarginForIndex = index === imageUploads.length - 1 ? { marginRight: 8 } : {};\n\n return (\n <View style={[styles.itemContainer, itemMarginForIndex, itemContainer]}>\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n style={styles.upload}\n type={indicatorType}\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeImage(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n <UnsupportedImageTypeIndicator indicatorType={indicatorType} />\n </View>\n );\n };\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { imageUploads, removeImage, uploadImage } = useMessageInputContext<StreamChatGenerics>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}
1
+ {"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","fileSizeText","fontSize","paddingHorizontal","flatList","paddingBottom","iconContainer","alignItems","flexDirection","justifyContent","itemContainer","height","marginLeft","unsupportedImage","bottom","marginHorizontal","upload","width","warningIconStyle","marginTop","warningText","color","ImageUploadPreviewWithContext","props","imageUploads","removeImage","uploadImage","theme","colors","overlay","white","messageInput","imageUploadPreview","UnsupportedImageTypeIndicator","indicatorType","accent_red","t","ProgressIndicatorTypes","NOT_SUPPORTED","backgroundColor","renderItem","index","item","state","itemMarginForIndex","length","marginRight","newImage","uri","file","url","id","_","offset","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n flatList: { paddingBottom: 12 },\n iconContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n unsupportedImage: {\n borderRadius: 20,\n bottom: 8,\n flexDirection: 'row',\n marginHorizontal: 3,\n position: 'absolute',\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 6,\n },\n warningText: {\n alignItems: 'center',\n color: 'black',\n fontSize: 10,\n justifyContent: 'center',\n marginHorizontal: 4,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n>;\n\nexport type ImageUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ImageUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\ntype ImageUploadPreviewItem = { index: number; item: ImageUpload };\n\nconst ImageUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const UnsupportedImageTypeIndicator = ({\n indicatorType,\n }: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes] | null;\n }) => {\n const {\n theme: {\n colors: { accent_red, overlay, white },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={[styles.unsupportedImage, { backgroundColor: overlay }]}>\n <View style={[styles.iconContainer]}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.warningText, { color: white }]}>{t('Not supported')}</Text>\n </View>\n </View>\n ) : null;\n };\n\n const renderItem = ({ index, item }: ImageUploadPreviewItem) => {\n const indicatorType = getIndicatorTypeForFileState(item.state);\n const itemMarginForIndex = index === imageUploads.length - 1 ? { marginRight: 8 } : {};\n\n return (\n <View style={[styles.itemContainer, itemMarginForIndex, itemContainer]}>\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n style={styles.upload}\n type={indicatorType}\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeImage(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={white} />\n </TouchableOpacity>\n <UnsupportedImageTypeIndicator indicatorType={indicatorType} />\n </View>\n );\n };\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { imageUploads, removeImage, uploadImage } = useMessageInputContext<StreamChatGenerics>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}
@@ -446,63 +446,123 @@ var MessageListWithContext = function MessageListWithContext(props) {
446
446
  }));
447
447
  };
448
448
 
449
- var maybeCallOnStartReached = function maybeCallOnStartReached(limit) {
450
- if (messageList != null && messageList.length && onStartReachedTracker.current[messageList.length]) {
451
- return;
452
- }
449
+ var maybeCallOnStartReached = function () {
450
+ var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(limit) {
451
+ var callback, onError;
452
+ return _regenerator["default"].wrap(function _callee$(_context) {
453
+ while (1) {
454
+ switch (_context.prev = _context.next) {
455
+ case 0:
456
+ if (!(messageList != null && messageList.length && onStartReachedTracker.current[messageList.length])) {
457
+ _context.next = 2;
458
+ break;
459
+ }
453
460
 
454
- if (messageList != null && messageList.length) {
455
- onStartReachedTracker.current[messageList.length] = true;
456
- }
461
+ return _context.abrupt("return");
457
462
 
458
- var callback = function callback() {
459
- onStartReachedInPromise.current = null;
460
- return Promise.resolve();
461
- };
463
+ case 2:
464
+ if (messageList != null && messageList.length) {
465
+ onStartReachedTracker.current[messageList.length] = true;
466
+ }
462
467
 
463
- var onError = function onError() {
464
- setTimeout(function () {
465
- onStartReachedTracker.current = {};
466
- }, 2000);
467
- };
468
+ callback = function callback() {
469
+ onStartReachedInPromise.current = null;
470
+ return Promise.resolve();
471
+ };
468
472
 
469
- if (onEndReachedInPromise.current) {
470
- onEndReachedInPromise.current["finally"](function () {
471
- onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
472
- });
473
- } else {
474
- onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
475
- }
476
- };
473
+ onError = function onError() {
474
+ setTimeout(function () {
475
+ onStartReachedTracker.current = {};
476
+ }, 2000);
477
+ };
477
478
 
478
- var maybeCallOnEndReached = function maybeCallOnEndReached() {
479
- if (messageList != null && messageList.length && onEndReachedTracker.current[messageList.length]) {
480
- return;
481
- }
479
+ if (!onEndReachedInPromise.current) {
480
+ _context.next = 11;
481
+ break;
482
+ }
482
483
 
483
- if (messageList != null && messageList.length) {
484
- onEndReachedTracker.current[messageList.length] = true;
485
- }
484
+ _context.next = 8;
485
+ return onEndReachedInPromise.current;
486
486
 
487
- var callback = function callback() {
488
- onEndReachedInPromise.current = null;
489
- return Promise.resolve();
490
- };
487
+ case 8:
488
+ onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
489
+ _context.next = 12;
490
+ break;
491
491
 
492
- var onError = function onError() {
493
- setTimeout(function () {
494
- onEndReachedTracker.current = {};
495
- }, 2000);
492
+ case 11:
493
+ onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
494
+
495
+ case 12:
496
+ case "end":
497
+ return _context.stop();
498
+ }
499
+ }
500
+ }, _callee);
501
+ }));
502
+
503
+ return function maybeCallOnStartReached(_x) {
504
+ return _ref3.apply(this, arguments);
496
505
  };
506
+ }();
497
507
 
498
- if (onStartReachedInPromise.current) {
499
- onStartReachedInPromise.current["finally"](function () {
500
- onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
501
- });
502
- } else {
503
- onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
504
- }
505
- };
508
+ var maybeCallOnEndReached = function () {
509
+ var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
510
+ var callback, onError;
511
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
512
+ while (1) {
513
+ switch (_context2.prev = _context2.next) {
514
+ case 0:
515
+ if (!(messageList != null && messageList.length && onEndReachedTracker.current[messageList.length])) {
516
+ _context2.next = 2;
517
+ break;
518
+ }
519
+
520
+ return _context2.abrupt("return");
521
+
522
+ case 2:
523
+ if (messageList != null && messageList.length) {
524
+ onEndReachedTracker.current[messageList.length] = true;
525
+ }
526
+
527
+ callback = function callback() {
528
+ onEndReachedInPromise.current = null;
529
+ return Promise.resolve();
530
+ };
531
+
532
+ onError = function onError() {
533
+ setTimeout(function () {
534
+ onEndReachedTracker.current = {};
535
+ }, 2000);
536
+ };
537
+
538
+ if (!onStartReachedInPromise.current) {
539
+ _context2.next = 11;
540
+ break;
541
+ }
542
+
543
+ _context2.next = 8;
544
+ return onStartReachedInPromise.current;
545
+
546
+ case 8:
547
+ onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
548
+ _context2.next = 12;
549
+ break;
550
+
551
+ case 11:
552
+ onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
553
+
554
+ case 12:
555
+ case "end":
556
+ return _context2.stop();
557
+ }
558
+ }
559
+ }, _callee2);
560
+ }));
561
+
562
+ return function maybeCallOnEndReached() {
563
+ return _ref4.apply(this, arguments);
564
+ };
565
+ }();
506
566
 
507
567
  var handleScroll = function handleScroll(event) {
508
568
  if (!channel || !channelResyncScrollSet.current) {
@@ -539,22 +599,22 @@ var MessageListWithContext = function MessageListWithContext(props) {
539
599
  };
540
600
 
541
601
  var goToNewMessages = function () {
542
- var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
543
- return _regenerator["default"].wrap(function _callee$(_context) {
602
+ var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
603
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
544
604
  while (1) {
545
- switch (_context.prev = _context.next) {
605
+ switch (_context3.prev = _context3.next) {
546
606
  case 0:
547
607
  if (hasNoMoreRecentMessagesToLoad) {
548
- _context.next = 6;
608
+ _context3.next = 6;
549
609
  break;
550
610
  }
551
611
 
552
612
  resetPaginationTrackersRef.current();
553
- _context.next = 4;
613
+ _context3.next = 4;
554
614
  return reloadChannel();
555
615
 
556
616
  case 4:
557
- _context.next = 7;
617
+ _context3.next = 7;
558
618
  break;
559
619
 
560
620
  case 6:
@@ -573,14 +633,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
573
633
 
574
634
  case 9:
575
635
  case "end":
576
- return _context.stop();
636
+ return _context3.stop();
577
637
  }
578
638
  }
579
- }, _callee);
639
+ }, _callee3);
580
640
  }));
581
641
 
582
642
  return function goToNewMessages() {
583
- return _ref3.apply(this, arguments);
643
+ return _ref5.apply(this, arguments);
584
644
  };
585
645
  }();
586
646
 
@@ -724,7 +784,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
724
784
  __self: _this,
725
785
  __source: {
726
786
  fileName: _jsxFileName,
727
- lineNumber: 942,
787
+ lineNumber: 940,
728
788
  columnNumber: 5
729
789
  }
730
790
  }, _react["default"].createElement(EmptyStateIndicator, {
@@ -732,7 +792,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
732
792
  __self: _this,
733
793
  __source: {
734
794
  fileName: _jsxFileName,
735
- lineNumber: 943,
795
+ lineNumber: 941,
736
796
  columnNumber: 7
737
797
  }
738
798
  }));
@@ -746,7 +806,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
746
806
  __self: _this,
747
807
  __source: {
748
808
  fileName: _jsxFileName,
749
- lineNumber: 951,
809
+ lineNumber: 949,
750
810
  columnNumber: 7
751
811
  }
752
812
  }, _react["default"].createElement(LoadingIndicator, {
@@ -754,7 +814,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
754
814
  __self: _this,
755
815
  __source: {
756
816
  fileName: _jsxFileName,
757
- lineNumber: 952,
817
+ lineNumber: 950,
758
818
  columnNumber: 9
759
819
  }
760
820
  }));
@@ -768,7 +828,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
768
828
  __self: _this,
769
829
  __source: {
770
830
  fileName: _jsxFileName,
771
- lineNumber: 958,
831
+ lineNumber: 956,
772
832
  columnNumber: 5
773
833
  }
774
834
  }, _react["default"].createElement(FlatList, (0, _extends2["default"])({
@@ -802,7 +862,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
802
862
  __self: _this,
803
863
  __source: {
804
864
  fileName: _jsxFileName,
805
- lineNumber: 962,
865
+ lineNumber: 960,
806
866
  columnNumber: 7
807
867
  }
808
868
  })), !loading && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
@@ -810,7 +870,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
810
870
  __self: _this,
811
871
  __source: {
812
872
  fileName: _jsxFileName,
813
- lineNumber: 994,
873
+ lineNumber: 992,
814
874
  columnNumber: 11
815
875
  }
816
876
  }, stickyHeaderDateToRender && (StickyHeader ? _react["default"].createElement(StickyHeader, {
@@ -818,7 +878,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
818
878
  __self: _this,
819
879
  __source: {
820
880
  fileName: _jsxFileName,
821
- lineNumber: 997,
881
+ lineNumber: 995,
822
882
  columnNumber: 17
823
883
  }
824
884
  }) : messageListLengthAfterUpdate ? _react["default"].createElement(DateHeader, {
@@ -826,21 +886,21 @@ var MessageListWithContext = function MessageListWithContext(props) {
826
886
  __self: _this,
827
887
  __source: {
828
888
  fileName: _jsxFileName,
829
- lineNumber: 999,
889
+ lineNumber: 997,
830
890
  columnNumber: 17
831
891
  }
832
892
  }) : null)), !disableTypingIndicator && TypingIndicator && _react["default"].createElement(TypingIndicatorContainer, {
833
893
  __self: _this,
834
894
  __source: {
835
895
  fileName: _jsxFileName,
836
- lineNumber: 1003,
896
+ lineNumber: 1001,
837
897
  columnNumber: 13
838
898
  }
839
899
  }, _react["default"].createElement(TypingIndicator, {
840
900
  __self: _this,
841
901
  __source: {
842
902
  fileName: _jsxFileName,
843
- lineNumber: 1004,
903
+ lineNumber: 1002,
844
904
  columnNumber: 15
845
905
  }
846
906
  })), _react["default"].createElement(ScrollToBottomButton, {
@@ -850,14 +910,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
850
910
  __self: _this,
851
911
  __source: {
852
912
  fileName: _jsxFileName,
853
- lineNumber: 1007,
913
+ lineNumber: 1005,
854
914
  columnNumber: 11
855
915
  }
856
916
  })), _react["default"].createElement(NetworkDownIndicator, {
857
917
  __self: _this,
858
918
  __source: {
859
919
  fileName: _jsxFileName,
860
- lineNumber: 1014,
920
+ lineNumber: 1012,
861
921
  columnNumber: 7
862
922
  }
863
923
  }));
@@ -976,7 +1036,7 @@ var MessageList = function MessageList(props) {
976
1036
  __self: _this,
977
1037
  __source: {
978
1038
  fileName: _jsxFileName,
979
- lineNumber: 1073,
1039
+ lineNumber: 1071,
980
1040
  columnNumber: 5
981
1041
  }
982
1042
  }));