stream-chat-react-native-core 5.4.0-beta.1 → 5.4.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.
@@ -130,7 +130,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
130
130
  __self: _this,
131
131
  __source: {
132
132
  fileName: _jsxFileName,
133
- lineNumber: 104,
133
+ lineNumber: 105,
134
134
  columnNumber: 5
135
135
  }
136
136
  }, _react["default"].createElement(_Warning.Warning, {
@@ -141,7 +141,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
141
141
  __self: _this,
142
142
  __source: {
143
143
  fileName: _jsxFileName,
144
- lineNumber: 105,
144
+ lineNumber: 106,
145
145
  columnNumber: 7
146
146
  }
147
147
  }), _react["default"].createElement(_reactNative.Text, {
@@ -151,7 +151,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
151
151
  __self: _this,
152
152
  __source: {
153
153
  fileName: _jsxFileName,
154
- lineNumber: 111,
154
+ lineNumber: 112,
155
155
  columnNumber: 7
156
156
  }
157
157
  }, t('File type not supported'))) : _react["default"].createElement(_WritingDirectionAwareText.WritingDirectionAwareText, {
@@ -161,7 +161,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
161
161
  __self: _this,
162
162
  __source: {
163
163
  fileName: _jsxFileName,
164
- lineNumber: 116,
164
+ lineNumber: 117,
165
165
  columnNumber: 5
166
166
  }
167
167
  }, item.file.duration || (0, _FileAttachment.getFileSizeDisplayText)(item.file.size));
@@ -256,7 +256,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
256
256
  __self: _this,
257
257
  __source: {
258
258
  fileName: _jsxFileName,
259
- lineNumber: 219,
259
+ lineNumber: 220,
260
260
  columnNumber: 9
261
261
  }
262
262
  }, (_item$file$type = item.file.type) != null && _item$file$type.startsWith('audio/') && (0, _native.isAudioPackageAvailable)() ? _react["default"].createElement(_reactNative.View, {
@@ -266,7 +266,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
266
266
  __self: _this,
267
267
  __source: {
268
268
  fileName: _jsxFileName,
269
- lineNumber: 227,
269
+ lineNumber: 228,
270
270
  columnNumber: 13
271
271
  }
272
272
  }, _react["default"].createElement(_reactNative.View, {
@@ -281,7 +281,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
281
281
  __self: _this,
282
282
  __source: {
283
283
  fileName: _jsxFileName,
284
- lineNumber: 233,
284
+ lineNumber: 234,
285
285
  columnNumber: 15
286
286
  }
287
287
  }, _react["default"].createElement(AudioAttachment, {
@@ -293,7 +293,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
293
293
  __self: _this,
294
294
  __source: {
295
295
  fileName: _jsxFileName,
296
- lineNumber: 250,
296
+ lineNumber: 251,
297
297
  columnNumber: 17
298
298
  }
299
299
  }))) : _react["default"].createElement(_reactNative.View, {
@@ -306,7 +306,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
306
306
  __self: _this,
307
307
  __source: {
308
308
  fileName: _jsxFileName,
309
- lineNumber: 260,
309
+ lineNumber: 261,
310
310
  columnNumber: 13
311
311
  }
312
312
  }, _react["default"].createElement(_reactNative.View, {
@@ -314,7 +314,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
314
314
  __self: _this,
315
315
  __source: {
316
316
  fileName: _jsxFileName,
317
- lineNumber: 275,
317
+ lineNumber: 276,
318
318
  columnNumber: 15
319
319
  }
320
320
  }, _react["default"].createElement(_reactNative.View, {
@@ -322,7 +322,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
322
322
  __self: _this,
323
323
  __source: {
324
324
  fileName: _jsxFileName,
325
- lineNumber: 276,
325
+ lineNumber: 277,
326
326
  columnNumber: 17
327
327
  }
328
328
  }, _react["default"].createElement(FileAttachmentIcon, {
@@ -330,7 +330,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
330
330
  __self: _this,
331
331
  __source: {
332
332
  fileName: _jsxFileName,
333
- lineNumber: 277,
333
+ lineNumber: 278,
334
334
  columnNumber: 19
335
335
  }
336
336
  })), _react["default"].createElement(_reactNative.View, {
@@ -338,7 +338,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
338
338
  __self: _this,
339
339
  __source: {
340
340
  fileName: _jsxFileName,
341
- lineNumber: 279,
341
+ lineNumber: 280,
342
342
  columnNumber: 17
343
343
  }
344
344
  }, _react["default"].createElement(_reactNative.Text, {
@@ -354,7 +354,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
354
354
  __self: _this,
355
355
  __source: {
356
356
  fileName: _jsxFileName,
357
- lineNumber: 280,
357
+ lineNumber: 281,
358
358
  columnNumber: 19
359
359
  }
360
360
  }, item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)), indicatorType !== null && _react["default"].createElement(UnsupportedFileTypeOrFileSizeIndicator, {
@@ -363,7 +363,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
363
363
  __self: _this,
364
364
  __source: {
365
365
  fileName: _jsxFileName,
366
- lineNumber: 300,
366
+ lineNumber: 301,
367
367
  columnNumber: 21
368
368
  }
369
369
  })))), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -377,7 +377,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
377
377
  __self: _this,
378
378
  __source: {
379
379
  fileName: _jsxFileName,
380
- lineNumber: 309,
380
+ lineNumber: 310,
381
381
  columnNumber: 11
382
382
  }
383
383
  }, _react["default"].createElement(_Close.Close, {
@@ -385,7 +385,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
385
385
  __self: _this,
386
386
  __source: {
387
387
  fileName: _jsxFileName,
388
- lineNumber: 316,
388
+ lineNumber: 317,
389
389
  columnNumber: 13
390
390
  }
391
391
  }))));
@@ -423,7 +423,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
423
423
  __self: _this,
424
424
  __source: {
425
425
  fileName: _jsxFileName,
426
- lineNumber: 332,
426
+ lineNumber: 333,
427
427
  columnNumber: 5
428
428
  }
429
429
  }) : null;
@@ -461,7 +461,7 @@ var FileUploadPreview = function FileUploadPreview(props) {
461
461
  __self: _this,
462
462
  __source: {
463
463
  fileName: _jsxFileName,
464
- lineNumber: 396,
464
+ lineNumber: 397,
465
465
  columnNumber: 5
466
466
  }
467
467
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","marginTop","UnsupportedFileTypeOrFileSizeIndicator","indicatorType","item","theme","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","t","ProgressIndicatorTypes","NOT_SUPPORTED","color","file","duration","size","FileUploadPreviewWithContext","props","AudioAttachment","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","black","grey_gainsboro","grey_whisper","white","audioAttachmentFileContainer","renderItem","state","lastIndexOfDot","name","lastIndexOf","newFile","type","startsWith","FileState","UPLOADED","length","backgroundColor","borderColor","I18nManager","isRTL","writingDirection","slice","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport { isAudioPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { FileState, getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport { WritingDirectionAwareText } from '../RTLComponents/WritingDirectionAwareText';\n\nconst FILE_PREVIEW_HEIGHT = 60;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n fileIcon: {\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingHorizontal: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n unsupportedFile: {\n flexDirection: 'row',\n paddingLeft: 10,\n },\n unsupportedFileText: {\n fontSize: 12,\n marginHorizontal: 4,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 2,\n },\n});\n\nconst UnsupportedFileTypeOrFileSizeIndicator = ({\n indicatorType,\n item,\n}: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes];\n item: FileUpload;\n}) => {\n const {\n theme: {\n colors: { accent_red, grey, grey_dark },\n messageInput: {\n fileUploadPreview: { fileSizeText },\n },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={styles.unsupportedFile}>\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.unsupportedFileText, { color: grey_dark }]}>\n {t('File type not supported')}\n </Text>\n </View>\n ) : (\n <WritingDirectionAwareText style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {item.file.duration || getFileSizeDisplayText(item.file.size)}\n </WritingDirectionAwareText>\n );\n};\n\ntype FileUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'fileUploads' | 'removeFile' | 'uploadFile' | 'setFileUploads'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'AudioAttachment' | 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n duration: fileUpload.id === index ? duration : fileUpload.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n progress:\n fileUpload.id === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: fileUpload.id === index ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state);\n\n const lastIndexOfDot = item.file.name.lastIndexOf('.');\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n style={styles.overlay}\n type={indicatorType}\n >\n {item.file.type?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.type} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { fileUploads, removeFile, setFileUploads, uploadFile } =\n useMessageInputContext<StreamChatGenerics>();\n const { AudioAttachment, FileAttachmentIcon } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedFileUploadPreview\n {...{\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
1
+ {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","marginTop","UnsupportedFileTypeOrFileSizeIndicator","indicatorType","item","theme","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","t","ProgressIndicatorTypes","NOT_SUPPORTED","color","file","duration","size","FileUploadPreviewWithContext","props","AudioAttachment","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","black","grey_gainsboro","grey_whisper","white","audioAttachmentFileContainer","renderItem","state","lastIndexOfDot","name","lastIndexOf","newFile","type","startsWith","FileState","UPLOADED","length","backgroundColor","borderColor","I18nManager","isRTL","writingDirection","slice","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport { isAudioPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { FileState, getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport { WritingDirectionAwareText } from '../RTLComponents/WritingDirectionAwareText';\n\nconst FILE_PREVIEW_HEIGHT = 60;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n fileIcon: {\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingHorizontal: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n unsupportedFile: {\n flexDirection: 'row',\n paddingLeft: 10,\n },\n unsupportedFileText: {\n fontSize: 12,\n marginHorizontal: 4,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 2,\n },\n});\n\nconst UnsupportedFileTypeOrFileSizeIndicator = ({\n indicatorType,\n item,\n}: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes];\n item: FileUpload;\n}) => {\n const {\n theme: {\n colors: { accent_red, grey, grey_dark },\n messageInput: {\n fileUploadPreview: { fileSizeText },\n },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={styles.unsupportedFile}>\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.unsupportedFileText, { color: grey_dark }]}>\n {t('File type not supported')}\n </Text>\n </View>\n ) : (\n <WritingDirectionAwareText style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {item.file.duration || getFileSizeDisplayText(item.file.size)}\n </WritingDirectionAwareText>\n );\n};\n\ntype FileUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'fileUploads' | 'removeFile' | 'uploadFile' | 'setFileUploads'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'AudioAttachment' | 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n duration: fileUpload.id === index ? duration : fileUpload.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n progress:\n fileUpload.id === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: fileUpload.id === index ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state);\n\n const lastIndexOfDot = item.file.name.lastIndexOf('.');\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n style={styles.overlay}\n type={indicatorType}\n >\n {item.file.type?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.type} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { fileUploads, removeFile, setFileUploads, uploadFile } =\n useMessageInputContext<StreamChatGenerics>();\n const { AudioAttachment, FileAttachmentIcon } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedFileUploadPreview\n {...{\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
@@ -68,9 +68,7 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
68
68
  var _useTheme = (0, _ThemeContext.useTheme)(),
69
69
  _useTheme$theme = _useTheme.theme,
70
70
  overlayColor = _useTheme$theme.colors.overlay,
71
- _useTheme$theme$messa = _useTheme$theme.messageInput.uploadProgressIndicator,
72
- container = _useTheme$theme$messa.container,
73
- overlay = _useTheme$theme$messa.overlay;
71
+ container = _useTheme$theme.messageInput.uploadProgressIndicator.container;
74
72
 
75
73
  return type === _utils.ProgressIndicatorTypes.INACTIVE ? _react["default"].createElement(_reactNative.View, {
76
74
  style: [styles.overflowHidden, style],
@@ -91,16 +89,6 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
91
89
  columnNumber: 5
92
90
  }
93
91
  }, children, _react["default"].createElement(_reactNative.View, {
94
- style: [styles.overlay, {
95
- backgroundColor: overlayColor
96
- }, overlay],
97
- __self: _this,
98
- __source: {
99
- fileName: _jsxFileName,
100
- lineNumber: 85,
101
- columnNumber: 7
102
- }
103
- }), _react["default"].createElement(_reactNative.View, {
104
92
  style: [type === _utils.ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container, {
105
93
  backgroundColor: overlayColor
106
94
  }, container],
@@ -108,14 +96,14 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
108
96
  __self: _this,
109
97
  __source: {
110
98
  fileName: _jsxFileName,
111
- lineNumber: 86,
99
+ lineNumber: 85,
112
100
  columnNumber: 7
113
101
  }
114
102
  }, type === _utils.ProgressIndicatorTypes.IN_PROGRESS && _react["default"].createElement(InProgressIndicator, {
115
103
  __self: _this,
116
104
  __source: {
117
105
  fileName: _jsxFileName,
118
- lineNumber: 94,
106
+ lineNumber: 93,
119
107
  columnNumber: 57
120
108
  }
121
109
  }), type === _utils.ProgressIndicatorTypes.RETRY && _react["default"].createElement(RetryIndicator, {
@@ -123,7 +111,7 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
123
111
  __self: _this,
124
112
  __source: {
125
113
  fileName: _jsxFileName,
126
- lineNumber: 95,
114
+ lineNumber: 94,
127
115
  columnNumber: 51
128
116
  }
129
117
  })));
@@ -140,7 +128,7 @@ var InProgressIndicator = function InProgressIndicator() {
140
128
  __self: _this,
141
129
  __source: {
142
130
  fileName: _jsxFileName,
143
- lineNumber: 109,
131
+ lineNumber: 108,
144
132
  columnNumber: 5
145
133
  }
146
134
  }, _react["default"].createElement(_reactNative.ActivityIndicator, {
@@ -149,7 +137,7 @@ var InProgressIndicator = function InProgressIndicator() {
149
137
  __self: _this,
150
138
  __source: {
151
139
  fileName: _jsxFileName,
152
- lineNumber: 110,
140
+ lineNumber: 109,
153
141
  columnNumber: 7
154
142
  }
155
143
  }));
@@ -167,7 +155,7 @@ var RetryIndicator = function RetryIndicator(_ref) {
167
155
  __self: _this,
168
156
  __source: {
169
157
  fileName: _jsxFileName,
170
- lineNumber: 123,
158
+ lineNumber: 122,
171
159
  columnNumber: 5
172
160
  }
173
161
  }, _react["default"].createElement(_icons.Refresh, {
@@ -178,7 +166,7 @@ var RetryIndicator = function RetryIndicator(_ref) {
178
166
  __self: _this,
179
167
  __source: {
180
168
  fileName: _jsxFileName,
181
- lineNumber: 124,
169
+ lineNumber: 123,
182
170
  columnNumber: 7
183
171
  }
184
172
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["UploadProgressIndicator.tsx"],"names":["REFRESH_ICON_SIZE","styles","StyleSheet","create","activityIndicatorContainer","alignItems","bottom","justifyContent","left","position","right","top","container","height","width","overflowHidden","overflow","overlay","opacity","retryButtonContainer","UploadProgressIndicator","props","action","children","style","type","theme","overlayColor","colors","messageInput","uploadProgressIndicator","ProgressIndicatorTypes","INACTIVE","backgroundColor","NOT_SUPPORTED","IN_PROGRESS","RETRY","InProgressIndicator","white_smoke","RetryIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n ActivityIndicator,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Refresh } from '../../icons';\nimport { ProgressIndicatorTypes } from '../../utils/utils';\n\nconst REFRESH_ICON_SIZE = 18;\n\nconst styles = StyleSheet.create({\n activityIndicatorContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n overlay: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n opacity: 0,\n position: 'absolute',\n width: '100%',\n },\n retryButtonContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nexport type UploadProgressIndicatorProps = {\n /** Action triggered when clicked indicator */\n action?: (event: GestureResponderEvent) => void;\n /** style */\n style?: StyleProp<ViewStyle>;\n /** Type of active indicator */\n type?: 'in_progress' | 'retry' | 'not_supported' | 'inactive' | null;\n};\n\nexport const UploadProgressIndicator: React.FC<UploadProgressIndicatorProps> = (props) => {\n const { action, children, style, type } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n messageInput: {\n uploadProgressIndicator: { container, overlay },\n },\n },\n } = useTheme();\n\n return type === ProgressIndicatorTypes.INACTIVE ? (\n <View style={[styles.overflowHidden, style]} testID='inactive-upload-progress-indicator'>\n {children}\n </View>\n ) : (\n <View style={[styles.overflowHidden, style]} testID='active-upload-progress-indicator'>\n {children}\n <View style={[styles.overlay, { backgroundColor: overlayColor }, overlay]} />\n <View\n style={[\n type === ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container,\n { backgroundColor: overlayColor },\n container,\n ]}\n testID='not-supported-upload-progress-indicator'\n >\n {type === ProgressIndicatorTypes.IN_PROGRESS && <InProgressIndicator />}\n {type === ProgressIndicatorTypes.RETRY && <RetryIndicator action={action} />}\n </View>\n </View>\n );\n};\n\nconst InProgressIndicator = () => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <View style={styles.activityIndicatorContainer}>\n <ActivityIndicator color={white_smoke} testID='upload-progress-indicator' />\n </View>\n );\n};\n\nconst RetryIndicator = ({ action }: Pick<UploadProgressIndicatorProps, 'action'>) => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={action} style={styles.retryButtonContainer}>\n <Refresh\n height={REFRESH_ICON_SIZE}\n pathFill={white_smoke}\n testID='retry-upload-progress-indicator'\n width={REFRESH_ICON_SIZE}\n />\n </TouchableOpacity>\n );\n};\n\nUploadProgressIndicator.displayName =\n 'UploadProgressIndicator{messageInput{uploadProgressIndicator}}';\n"]}
1
+ {"version":3,"sources":["UploadProgressIndicator.tsx"],"names":["REFRESH_ICON_SIZE","styles","StyleSheet","create","activityIndicatorContainer","alignItems","bottom","justifyContent","left","position","right","top","container","height","width","overflowHidden","overflow","overlay","opacity","retryButtonContainer","UploadProgressIndicator","props","action","children","style","type","theme","overlayColor","colors","messageInput","uploadProgressIndicator","ProgressIndicatorTypes","INACTIVE","NOT_SUPPORTED","backgroundColor","IN_PROGRESS","RETRY","InProgressIndicator","white_smoke","RetryIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n ActivityIndicator,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Refresh } from '../../icons';\nimport { ProgressIndicatorTypes } from '../../utils/utils';\n\nconst REFRESH_ICON_SIZE = 18;\n\nconst styles = StyleSheet.create({\n activityIndicatorContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n overlay: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n opacity: 0,\n position: 'absolute',\n width: '100%',\n },\n retryButtonContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nexport type UploadProgressIndicatorProps = {\n /** Action triggered when clicked indicator */\n action?: (event: GestureResponderEvent) => void;\n /** style */\n style?: StyleProp<ViewStyle>;\n /** Type of active indicator */\n type?: 'in_progress' | 'retry' | 'not_supported' | 'inactive' | null;\n};\n\nexport const UploadProgressIndicator: React.FC<UploadProgressIndicatorProps> = (props) => {\n const { action, children, style, type } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n messageInput: {\n uploadProgressIndicator: { container },\n },\n },\n } = useTheme();\n\n return type === ProgressIndicatorTypes.INACTIVE ? (\n <View style={[styles.overflowHidden, style]} testID='inactive-upload-progress-indicator'>\n {children}\n </View>\n ) : (\n <View style={[styles.overflowHidden, style]} testID='active-upload-progress-indicator'>\n {children}\n <View\n style={[\n type === ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container,\n { backgroundColor: overlayColor },\n container,\n ]}\n testID='not-supported-upload-progress-indicator'\n >\n {type === ProgressIndicatorTypes.IN_PROGRESS && <InProgressIndicator />}\n {type === ProgressIndicatorTypes.RETRY && <RetryIndicator action={action} />}\n </View>\n </View>\n );\n};\n\nconst InProgressIndicator = () => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <View style={styles.activityIndicatorContainer}>\n <ActivityIndicator color={white_smoke} testID='upload-progress-indicator' />\n </View>\n );\n};\n\nconst RetryIndicator = ({ action }: Pick<UploadProgressIndicatorProps, 'action'>) => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={action} style={styles.retryButtonContainer}>\n <Refresh\n height={REFRESH_ICON_SIZE}\n pathFill={white_smoke}\n testID='retry-upload-progress-indicator'\n width={REFRESH_ICON_SIZE}\n />\n </TouchableOpacity>\n );\n};\n\nUploadProgressIndicator.displayName =\n 'UploadProgressIndicator{messageInput{uploadProgressIndicator}}';\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.4.0-beta.1"
2
+ "version": "5.4.0-beta.2"
3
3
  }
@@ -130,7 +130,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
130
130
  __self: _this,
131
131
  __source: {
132
132
  fileName: _jsxFileName,
133
- lineNumber: 104,
133
+ lineNumber: 105,
134
134
  columnNumber: 5
135
135
  }
136
136
  }, _react["default"].createElement(_Warning.Warning, {
@@ -141,7 +141,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
141
141
  __self: _this,
142
142
  __source: {
143
143
  fileName: _jsxFileName,
144
- lineNumber: 105,
144
+ lineNumber: 106,
145
145
  columnNumber: 7
146
146
  }
147
147
  }), _react["default"].createElement(_reactNative.Text, {
@@ -151,7 +151,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
151
151
  __self: _this,
152
152
  __source: {
153
153
  fileName: _jsxFileName,
154
- lineNumber: 111,
154
+ lineNumber: 112,
155
155
  columnNumber: 7
156
156
  }
157
157
  }, t('File type not supported'))) : _react["default"].createElement(_WritingDirectionAwareText.WritingDirectionAwareText, {
@@ -161,7 +161,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
161
161
  __self: _this,
162
162
  __source: {
163
163
  fileName: _jsxFileName,
164
- lineNumber: 116,
164
+ lineNumber: 117,
165
165
  columnNumber: 5
166
166
  }
167
167
  }, item.file.duration || (0, _FileAttachment.getFileSizeDisplayText)(item.file.size));
@@ -256,7 +256,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
256
256
  __self: _this,
257
257
  __source: {
258
258
  fileName: _jsxFileName,
259
- lineNumber: 219,
259
+ lineNumber: 220,
260
260
  columnNumber: 9
261
261
  }
262
262
  }, (_item$file$type = item.file.type) != null && _item$file$type.startsWith('audio/') && (0, _native.isAudioPackageAvailable)() ? _react["default"].createElement(_reactNative.View, {
@@ -266,7 +266,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
266
266
  __self: _this,
267
267
  __source: {
268
268
  fileName: _jsxFileName,
269
- lineNumber: 227,
269
+ lineNumber: 228,
270
270
  columnNumber: 13
271
271
  }
272
272
  }, _react["default"].createElement(_reactNative.View, {
@@ -281,7 +281,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
281
281
  __self: _this,
282
282
  __source: {
283
283
  fileName: _jsxFileName,
284
- lineNumber: 233,
284
+ lineNumber: 234,
285
285
  columnNumber: 15
286
286
  }
287
287
  }, _react["default"].createElement(AudioAttachment, {
@@ -293,7 +293,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
293
293
  __self: _this,
294
294
  __source: {
295
295
  fileName: _jsxFileName,
296
- lineNumber: 250,
296
+ lineNumber: 251,
297
297
  columnNumber: 17
298
298
  }
299
299
  }))) : _react["default"].createElement(_reactNative.View, {
@@ -306,7 +306,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
306
306
  __self: _this,
307
307
  __source: {
308
308
  fileName: _jsxFileName,
309
- lineNumber: 260,
309
+ lineNumber: 261,
310
310
  columnNumber: 13
311
311
  }
312
312
  }, _react["default"].createElement(_reactNative.View, {
@@ -314,7 +314,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
314
314
  __self: _this,
315
315
  __source: {
316
316
  fileName: _jsxFileName,
317
- lineNumber: 275,
317
+ lineNumber: 276,
318
318
  columnNumber: 15
319
319
  }
320
320
  }, _react["default"].createElement(_reactNative.View, {
@@ -322,7 +322,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
322
322
  __self: _this,
323
323
  __source: {
324
324
  fileName: _jsxFileName,
325
- lineNumber: 276,
325
+ lineNumber: 277,
326
326
  columnNumber: 17
327
327
  }
328
328
  }, _react["default"].createElement(FileAttachmentIcon, {
@@ -330,7 +330,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
330
330
  __self: _this,
331
331
  __source: {
332
332
  fileName: _jsxFileName,
333
- lineNumber: 277,
333
+ lineNumber: 278,
334
334
  columnNumber: 19
335
335
  }
336
336
  })), _react["default"].createElement(_reactNative.View, {
@@ -338,7 +338,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
338
338
  __self: _this,
339
339
  __source: {
340
340
  fileName: _jsxFileName,
341
- lineNumber: 279,
341
+ lineNumber: 280,
342
342
  columnNumber: 17
343
343
  }
344
344
  }, _react["default"].createElement(_reactNative.Text, {
@@ -354,7 +354,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
354
354
  __self: _this,
355
355
  __source: {
356
356
  fileName: _jsxFileName,
357
- lineNumber: 280,
357
+ lineNumber: 281,
358
358
  columnNumber: 19
359
359
  }
360
360
  }, item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)), indicatorType !== null && _react["default"].createElement(UnsupportedFileTypeOrFileSizeIndicator, {
@@ -363,7 +363,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
363
363
  __self: _this,
364
364
  __source: {
365
365
  fileName: _jsxFileName,
366
- lineNumber: 300,
366
+ lineNumber: 301,
367
367
  columnNumber: 21
368
368
  }
369
369
  })))), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -377,7 +377,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
377
377
  __self: _this,
378
378
  __source: {
379
379
  fileName: _jsxFileName,
380
- lineNumber: 309,
380
+ lineNumber: 310,
381
381
  columnNumber: 11
382
382
  }
383
383
  }, _react["default"].createElement(_Close.Close, {
@@ -385,7 +385,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
385
385
  __self: _this,
386
386
  __source: {
387
387
  fileName: _jsxFileName,
388
- lineNumber: 316,
388
+ lineNumber: 317,
389
389
  columnNumber: 13
390
390
  }
391
391
  }))));
@@ -423,7 +423,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
423
423
  __self: _this,
424
424
  __source: {
425
425
  fileName: _jsxFileName,
426
- lineNumber: 332,
426
+ lineNumber: 333,
427
427
  columnNumber: 5
428
428
  }
429
429
  }) : null;
@@ -461,7 +461,7 @@ var FileUploadPreview = function FileUploadPreview(props) {
461
461
  __self: _this,
462
462
  __source: {
463
463
  fileName: _jsxFileName,
464
- lineNumber: 396,
464
+ lineNumber: 397,
465
465
  columnNumber: 5
466
466
  }
467
467
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","marginTop","UnsupportedFileTypeOrFileSizeIndicator","indicatorType","item","theme","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","t","ProgressIndicatorTypes","NOT_SUPPORTED","color","file","duration","size","FileUploadPreviewWithContext","props","AudioAttachment","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","black","grey_gainsboro","grey_whisper","white","audioAttachmentFileContainer","renderItem","state","lastIndexOfDot","name","lastIndexOf","newFile","type","startsWith","FileState","UPLOADED","length","backgroundColor","borderColor","I18nManager","isRTL","writingDirection","slice","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport { isAudioPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { FileState, getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport { WritingDirectionAwareText } from '../RTLComponents/WritingDirectionAwareText';\n\nconst FILE_PREVIEW_HEIGHT = 60;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n fileIcon: {\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingHorizontal: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n unsupportedFile: {\n flexDirection: 'row',\n paddingLeft: 10,\n },\n unsupportedFileText: {\n fontSize: 12,\n marginHorizontal: 4,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 2,\n },\n});\n\nconst UnsupportedFileTypeOrFileSizeIndicator = ({\n indicatorType,\n item,\n}: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes];\n item: FileUpload;\n}) => {\n const {\n theme: {\n colors: { accent_red, grey, grey_dark },\n messageInput: {\n fileUploadPreview: { fileSizeText },\n },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={styles.unsupportedFile}>\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.unsupportedFileText, { color: grey_dark }]}>\n {t('File type not supported')}\n </Text>\n </View>\n ) : (\n <WritingDirectionAwareText style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {item.file.duration || getFileSizeDisplayText(item.file.size)}\n </WritingDirectionAwareText>\n );\n};\n\ntype FileUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'fileUploads' | 'removeFile' | 'uploadFile' | 'setFileUploads'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'AudioAttachment' | 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n duration: fileUpload.id === index ? duration : fileUpload.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n progress:\n fileUpload.id === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: fileUpload.id === index ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state);\n\n const lastIndexOfDot = item.file.name.lastIndexOf('.');\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n style={styles.overlay}\n type={indicatorType}\n >\n {item.file.type?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.type} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { fileUploads, removeFile, setFileUploads, uploadFile } =\n useMessageInputContext<StreamChatGenerics>();\n const { AudioAttachment, FileAttachmentIcon } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedFileUploadPreview\n {...{\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
1
+ {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","marginTop","UnsupportedFileTypeOrFileSizeIndicator","indicatorType","item","theme","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","t","ProgressIndicatorTypes","NOT_SUPPORTED","color","file","duration","size","FileUploadPreviewWithContext","props","AudioAttachment","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","black","grey_gainsboro","grey_whisper","white","audioAttachmentFileContainer","renderItem","state","lastIndexOfDot","name","lastIndexOf","newFile","type","startsWith","FileState","UPLOADED","length","backgroundColor","borderColor","I18nManager","isRTL","writingDirection","slice","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport { isAudioPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { FileState, getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport { WritingDirectionAwareText } from '../RTLComponents/WritingDirectionAwareText';\n\nconst FILE_PREVIEW_HEIGHT = 60;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n fileIcon: {\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingHorizontal: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n unsupportedFile: {\n flexDirection: 'row',\n paddingLeft: 10,\n },\n unsupportedFileText: {\n fontSize: 12,\n marginHorizontal: 4,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 2,\n },\n});\n\nconst UnsupportedFileTypeOrFileSizeIndicator = ({\n indicatorType,\n item,\n}: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes];\n item: FileUpload;\n}) => {\n const {\n theme: {\n colors: { accent_red, grey, grey_dark },\n messageInput: {\n fileUploadPreview: { fileSizeText },\n },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={styles.unsupportedFile}>\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.unsupportedFileText, { color: grey_dark }]}>\n {t('File type not supported')}\n </Text>\n </View>\n ) : (\n <WritingDirectionAwareText style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {item.file.duration || getFileSizeDisplayText(item.file.size)}\n </WritingDirectionAwareText>\n );\n};\n\ntype FileUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'fileUploads' | 'removeFile' | 'uploadFile' | 'setFileUploads'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'AudioAttachment' | 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n duration: fileUpload.id === index ? duration : fileUpload.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n progress:\n fileUpload.id === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: fileUpload.id === index ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state);\n\n const lastIndexOfDot = item.file.name.lastIndexOf('.');\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n style={styles.overlay}\n type={indicatorType}\n >\n {item.file.type?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.type} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { fileUploads, removeFile, setFileUploads, uploadFile } =\n useMessageInputContext<StreamChatGenerics>();\n const { AudioAttachment, FileAttachmentIcon } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedFileUploadPreview\n {...{\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
@@ -68,9 +68,7 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
68
68
  var _useTheme = (0, _ThemeContext.useTheme)(),
69
69
  _useTheme$theme = _useTheme.theme,
70
70
  overlayColor = _useTheme$theme.colors.overlay,
71
- _useTheme$theme$messa = _useTheme$theme.messageInput.uploadProgressIndicator,
72
- container = _useTheme$theme$messa.container,
73
- overlay = _useTheme$theme$messa.overlay;
71
+ container = _useTheme$theme.messageInput.uploadProgressIndicator.container;
74
72
 
75
73
  return type === _utils.ProgressIndicatorTypes.INACTIVE ? _react["default"].createElement(_reactNative.View, {
76
74
  style: [styles.overflowHidden, style],
@@ -91,16 +89,6 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
91
89
  columnNumber: 5
92
90
  }
93
91
  }, children, _react["default"].createElement(_reactNative.View, {
94
- style: [styles.overlay, {
95
- backgroundColor: overlayColor
96
- }, overlay],
97
- __self: _this,
98
- __source: {
99
- fileName: _jsxFileName,
100
- lineNumber: 85,
101
- columnNumber: 7
102
- }
103
- }), _react["default"].createElement(_reactNative.View, {
104
92
  style: [type === _utils.ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container, {
105
93
  backgroundColor: overlayColor
106
94
  }, container],
@@ -108,14 +96,14 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
108
96
  __self: _this,
109
97
  __source: {
110
98
  fileName: _jsxFileName,
111
- lineNumber: 86,
99
+ lineNumber: 85,
112
100
  columnNumber: 7
113
101
  }
114
102
  }, type === _utils.ProgressIndicatorTypes.IN_PROGRESS && _react["default"].createElement(InProgressIndicator, {
115
103
  __self: _this,
116
104
  __source: {
117
105
  fileName: _jsxFileName,
118
- lineNumber: 94,
106
+ lineNumber: 93,
119
107
  columnNumber: 57
120
108
  }
121
109
  }), type === _utils.ProgressIndicatorTypes.RETRY && _react["default"].createElement(RetryIndicator, {
@@ -123,7 +111,7 @@ var UploadProgressIndicator = function UploadProgressIndicator(props) {
123
111
  __self: _this,
124
112
  __source: {
125
113
  fileName: _jsxFileName,
126
- lineNumber: 95,
114
+ lineNumber: 94,
127
115
  columnNumber: 51
128
116
  }
129
117
  })));
@@ -140,7 +128,7 @@ var InProgressIndicator = function InProgressIndicator() {
140
128
  __self: _this,
141
129
  __source: {
142
130
  fileName: _jsxFileName,
143
- lineNumber: 109,
131
+ lineNumber: 108,
144
132
  columnNumber: 5
145
133
  }
146
134
  }, _react["default"].createElement(_reactNative.ActivityIndicator, {
@@ -149,7 +137,7 @@ var InProgressIndicator = function InProgressIndicator() {
149
137
  __self: _this,
150
138
  __source: {
151
139
  fileName: _jsxFileName,
152
- lineNumber: 110,
140
+ lineNumber: 109,
153
141
  columnNumber: 7
154
142
  }
155
143
  }));
@@ -167,7 +155,7 @@ var RetryIndicator = function RetryIndicator(_ref) {
167
155
  __self: _this,
168
156
  __source: {
169
157
  fileName: _jsxFileName,
170
- lineNumber: 123,
158
+ lineNumber: 122,
171
159
  columnNumber: 5
172
160
  }
173
161
  }, _react["default"].createElement(_icons.Refresh, {
@@ -178,7 +166,7 @@ var RetryIndicator = function RetryIndicator(_ref) {
178
166
  __self: _this,
179
167
  __source: {
180
168
  fileName: _jsxFileName,
181
- lineNumber: 124,
169
+ lineNumber: 123,
182
170
  columnNumber: 7
183
171
  }
184
172
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["UploadProgressIndicator.tsx"],"names":["REFRESH_ICON_SIZE","styles","StyleSheet","create","activityIndicatorContainer","alignItems","bottom","justifyContent","left","position","right","top","container","height","width","overflowHidden","overflow","overlay","opacity","retryButtonContainer","UploadProgressIndicator","props","action","children","style","type","theme","overlayColor","colors","messageInput","uploadProgressIndicator","ProgressIndicatorTypes","INACTIVE","backgroundColor","NOT_SUPPORTED","IN_PROGRESS","RETRY","InProgressIndicator","white_smoke","RetryIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n ActivityIndicator,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Refresh } from '../../icons';\nimport { ProgressIndicatorTypes } from '../../utils/utils';\n\nconst REFRESH_ICON_SIZE = 18;\n\nconst styles = StyleSheet.create({\n activityIndicatorContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n overlay: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n opacity: 0,\n position: 'absolute',\n width: '100%',\n },\n retryButtonContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nexport type UploadProgressIndicatorProps = {\n /** Action triggered when clicked indicator */\n action?: (event: GestureResponderEvent) => void;\n /** style */\n style?: StyleProp<ViewStyle>;\n /** Type of active indicator */\n type?: 'in_progress' | 'retry' | 'not_supported' | 'inactive' | null;\n};\n\nexport const UploadProgressIndicator: React.FC<UploadProgressIndicatorProps> = (props) => {\n const { action, children, style, type } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n messageInput: {\n uploadProgressIndicator: { container, overlay },\n },\n },\n } = useTheme();\n\n return type === ProgressIndicatorTypes.INACTIVE ? (\n <View style={[styles.overflowHidden, style]} testID='inactive-upload-progress-indicator'>\n {children}\n </View>\n ) : (\n <View style={[styles.overflowHidden, style]} testID='active-upload-progress-indicator'>\n {children}\n <View style={[styles.overlay, { backgroundColor: overlayColor }, overlay]} />\n <View\n style={[\n type === ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container,\n { backgroundColor: overlayColor },\n container,\n ]}\n testID='not-supported-upload-progress-indicator'\n >\n {type === ProgressIndicatorTypes.IN_PROGRESS && <InProgressIndicator />}\n {type === ProgressIndicatorTypes.RETRY && <RetryIndicator action={action} />}\n </View>\n </View>\n );\n};\n\nconst InProgressIndicator = () => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <View style={styles.activityIndicatorContainer}>\n <ActivityIndicator color={white_smoke} testID='upload-progress-indicator' />\n </View>\n );\n};\n\nconst RetryIndicator = ({ action }: Pick<UploadProgressIndicatorProps, 'action'>) => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={action} style={styles.retryButtonContainer}>\n <Refresh\n height={REFRESH_ICON_SIZE}\n pathFill={white_smoke}\n testID='retry-upload-progress-indicator'\n width={REFRESH_ICON_SIZE}\n />\n </TouchableOpacity>\n );\n};\n\nUploadProgressIndicator.displayName =\n 'UploadProgressIndicator{messageInput{uploadProgressIndicator}}';\n"]}
1
+ {"version":3,"sources":["UploadProgressIndicator.tsx"],"names":["REFRESH_ICON_SIZE","styles","StyleSheet","create","activityIndicatorContainer","alignItems","bottom","justifyContent","left","position","right","top","container","height","width","overflowHidden","overflow","overlay","opacity","retryButtonContainer","UploadProgressIndicator","props","action","children","style","type","theme","overlayColor","colors","messageInput","uploadProgressIndicator","ProgressIndicatorTypes","INACTIVE","NOT_SUPPORTED","backgroundColor","IN_PROGRESS","RETRY","InProgressIndicator","white_smoke","RetryIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n ActivityIndicator,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Refresh } from '../../icons';\nimport { ProgressIndicatorTypes } from '../../utils/utils';\n\nconst REFRESH_ICON_SIZE = 18;\n\nconst styles = StyleSheet.create({\n activityIndicatorContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n overlay: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n opacity: 0,\n position: 'absolute',\n width: '100%',\n },\n retryButtonContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nexport type UploadProgressIndicatorProps = {\n /** Action triggered when clicked indicator */\n action?: (event: GestureResponderEvent) => void;\n /** style */\n style?: StyleProp<ViewStyle>;\n /** Type of active indicator */\n type?: 'in_progress' | 'retry' | 'not_supported' | 'inactive' | null;\n};\n\nexport const UploadProgressIndicator: React.FC<UploadProgressIndicatorProps> = (props) => {\n const { action, children, style, type } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n messageInput: {\n uploadProgressIndicator: { container },\n },\n },\n } = useTheme();\n\n return type === ProgressIndicatorTypes.INACTIVE ? (\n <View style={[styles.overflowHidden, style]} testID='inactive-upload-progress-indicator'>\n {children}\n </View>\n ) : (\n <View style={[styles.overflowHidden, style]} testID='active-upload-progress-indicator'>\n {children}\n <View\n style={[\n type === ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container,\n { backgroundColor: overlayColor },\n container,\n ]}\n testID='not-supported-upload-progress-indicator'\n >\n {type === ProgressIndicatorTypes.IN_PROGRESS && <InProgressIndicator />}\n {type === ProgressIndicatorTypes.RETRY && <RetryIndicator action={action} />}\n </View>\n </View>\n );\n};\n\nconst InProgressIndicator = () => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <View style={styles.activityIndicatorContainer}>\n <ActivityIndicator color={white_smoke} testID='upload-progress-indicator' />\n </View>\n );\n};\n\nconst RetryIndicator = ({ action }: Pick<UploadProgressIndicatorProps, 'action'>) => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={action} style={styles.retryButtonContainer}>\n <Refresh\n height={REFRESH_ICON_SIZE}\n pathFill={white_smoke}\n testID='retry-upload-progress-indicator'\n width={REFRESH_ICON_SIZE}\n />\n </TouchableOpacity>\n );\n};\n\nUploadProgressIndicator.displayName =\n 'UploadProgressIndicator{messageInput{uploadProgressIndicator}}';\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.4.0-beta.1"
2
+ "version": "5.4.0-beta.2"
3
3
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.4.0-beta.1",
4
+ "version": "5.4.0-beta.2",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -100,6 +100,7 @@ const UnsupportedFileTypeOrFileSizeIndicator = ({
100
100
  } = useTheme();
101
101
 
102
102
  const { t } = useTranslationContext();
103
+
103
104
  return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (
104
105
  <View style={styles.unsupportedFile}>
105
106
  <Warning
@@ -70,7 +70,7 @@ export const UploadProgressIndicator: React.FC<UploadProgressIndicatorProps> = (
70
70
  theme: {
71
71
  colors: { overlay: overlayColor },
72
72
  messageInput: {
73
- uploadProgressIndicator: { container, overlay },
73
+ uploadProgressIndicator: { container },
74
74
  },
75
75
  },
76
76
  } = useTheme();
@@ -82,7 +82,6 @@ export const UploadProgressIndicator: React.FC<UploadProgressIndicatorProps> = (
82
82
  ) : (
83
83
  <View style={[styles.overflowHidden, style]} testID='active-upload-progress-indicator'>
84
84
  {children}
85
- <View style={[styles.overlay, { backgroundColor: overlayColor }, overlay]} />
86
85
  <View
87
86
  style={[
88
87
  type === ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container,
@@ -12,24 +12,6 @@ exports[`UploadProgressIndicator should render an active UploadProgressIndicator
12
12
  }
13
13
  testID="active-upload-progress-indicator"
14
14
  >
15
- <View
16
- style={
17
- Array [
18
- Object {
19
- "alignItems": "center",
20
- "height": "100%",
21
- "justifyContent": "center",
22
- "opacity": 0,
23
- "position": "absolute",
24
- "width": "100%",
25
- },
26
- Object {
27
- "backgroundColor": "#000000CC",
28
- },
29
- Object {},
30
- ]
31
- }
32
- />
33
15
  <View
34
16
  style={
35
17
  Array [
@@ -82,24 +64,6 @@ exports[`UploadProgressIndicator should render an active UploadProgressIndicator
82
64
  }
83
65
  testID="active-upload-progress-indicator"
84
66
  >
85
- <View
86
- style={
87
- Array [
88
- Object {
89
- "alignItems": "center",
90
- "height": "100%",
91
- "justifyContent": "center",
92
- "opacity": 0,
93
- "position": "absolute",
94
- "width": "100%",
95
- },
96
- Object {
97
- "backgroundColor": "#000000CC",
98
- },
99
- Object {},
100
- ]
101
- }
102
- />
103
67
  <View
104
68
  style={
105
69
  Array [
@@ -152,24 +116,6 @@ exports[`UploadProgressIndicator should render an active UploadProgressIndicator
152
116
  }
153
117
  testID="active-upload-progress-indicator"
154
118
  >
155
- <View
156
- style={
157
- Array [
158
- Object {
159
- "alignItems": "center",
160
- "height": "100%",
161
- "justifyContent": "center",
162
- "opacity": 0,
163
- "position": "absolute",
164
- "width": "100%",
165
- },
166
- Object {
167
- "backgroundColor": "#000000CC",
168
- },
169
- Object {},
170
- ]
171
- }
172
- />
173
119
  <View
174
120
  style={
175
121
  Array [
@@ -199,24 +145,6 @@ exports[`UploadProgressIndicator should render an active UploadProgressIndicator
199
145
  }
200
146
  testID="active-upload-progress-indicator"
201
147
  >
202
- <View
203
- style={
204
- Array [
205
- Object {
206
- "alignItems": "center",
207
- "height": "100%",
208
- "justifyContent": "center",
209
- "opacity": 0,
210
- "position": "absolute",
211
- "width": "100%",
212
- },
213
- Object {
214
- "backgroundColor": "#000000CC",
215
- },
216
- Object {},
217
- ]
218
- }
219
- />
220
148
  <View
221
149
  style={
222
150
  Array [
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.4.0-beta.1"
2
+ "version": "5.4.0-beta.2"
3
3
  }