stream-chat-react-native-core 5.22.0-beta.7 → 5.22.0-beta.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.
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -4
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +17 -16
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +30 -20
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +7 -7
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/i18n/fr.json +12 -12
- package/lib/commonjs/i18n/hi.json +12 -12
- package/lib/commonjs/i18n/it.json +12 -12
- package/lib/commonjs/i18n/nl.json +12 -12
- package/lib/commonjs/i18n/ru.json +12 -12
- package/lib/commonjs/i18n/tr.json +12 -12
- package/lib/commonjs/types/types.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -4
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +17 -16
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +30 -20
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +1 -1
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +7 -7
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/i18n/fr.json +12 -12
- package/lib/module/i18n/hi.json +12 -12
- package/lib/module/i18n/it.json +12 -12
- package/lib/module/i18n/nl.json +12 -12
- package/lib/module/i18n/ru.json +12 -12
- package/lib/module/i18n/tr.json +12 -12
- package/lib/module/types/types.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts +1 -3
- package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.test.d.ts +1 -0
- package/lib/typescript/i18n/fr.json +12 -12
- package/lib/typescript/i18n/hi.json +12 -12
- package/lib/typescript/i18n/it.json +12 -12
- package/lib/typescript/i18n/nl.json +12 -12
- package/lib/typescript/i18n/ru.json +12 -12
- package/lib/typescript/i18n/tr.json +12 -12
- package/lib/typescript/types/types.d.ts +8 -11
- package/package.json +1 -1
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +4 -4
- package/src/components/Message/MessageSimple/utils/generateMarkdownText.test.ts +23 -0
- package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +12 -13
- package/src/components/Message/MessageSimple/utils/renderText.tsx +2 -1
- package/src/components/MessageInput/FileUploadPreview.tsx +16 -1
- package/src/components/MessageInput/MessageInput.tsx +1 -1
- package/src/components/MessageInput/__tests__/MessageInput.test.js +2 -2
- package/src/contexts/messageInputContext/MessageInputContext.tsx +2 -2
- package/src/i18n/fr.json +12 -12
- package/src/i18n/hi.json +12 -12
- package/src/i18n/it.json +12 -12
- package/src/i18n/nl.json +12 -12
- package/src/i18n/ru.json +12 -12
- package/src/i18n/tr.json +12 -12
- package/src/types/types.ts +8 -12
- package/src/version.json +1 -1
|
@@ -8,6 +8,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
11
12
|
var _UploadProgressIndicator = require("./UploadProgressIndicator");
|
|
12
13
|
var _contexts = require("../../contexts");
|
|
13
14
|
var _MessageInputContext = require("../../contexts/messageInputContext/MessageInputContext");
|
|
@@ -99,6 +100,15 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
|
|
|
99
100
|
grey = _useTheme$theme$color.grey,
|
|
100
101
|
grey_dark = _useTheme$theme$color.grey_dark,
|
|
101
102
|
fileSizeText = _useTheme$theme.messageInput.fileUploadPreview.fileSizeText;
|
|
103
|
+
var ONE_HOUR_IN_SECONDS = 3600;
|
|
104
|
+
var durationLabel = '00:00';
|
|
105
|
+
var videoDuration = item.file.duration;
|
|
106
|
+
if (videoDuration) {
|
|
107
|
+
var isDurationLongerThanHour = videoDuration / ONE_HOUR_IN_SECONDS >= 1;
|
|
108
|
+
var formattedDurationParam = isDurationLongerThanHour ? 'HH:mm:ss' : 'mm:ss';
|
|
109
|
+
var formattedVideoDuration = _dayjs["default"].duration(videoDuration, 'second').format(formattedDurationParam);
|
|
110
|
+
durationLabel = formattedVideoDuration;
|
|
111
|
+
}
|
|
102
112
|
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
|
|
103
113
|
t = _useTranslationContex.t;
|
|
104
114
|
return indicatorType === _utils.ProgressIndicatorTypes.NOT_SUPPORTED ? _react["default"].createElement(_reactNative.View, {
|
|
@@ -106,7 +116,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
|
|
|
106
116
|
__self: _this,
|
|
107
117
|
__source: {
|
|
108
118
|
fileName: _jsxFileName,
|
|
109
|
-
lineNumber:
|
|
119
|
+
lineNumber: 122,
|
|
110
120
|
columnNumber: 5
|
|
111
121
|
}
|
|
112
122
|
}, _react["default"].createElement(_Warning.Warning, {
|
|
@@ -117,7 +127,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
|
|
|
117
127
|
__self: _this,
|
|
118
128
|
__source: {
|
|
119
129
|
fileName: _jsxFileName,
|
|
120
|
-
lineNumber:
|
|
130
|
+
lineNumber: 123,
|
|
121
131
|
columnNumber: 7
|
|
122
132
|
}
|
|
123
133
|
}), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -127,7 +137,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
|
|
|
127
137
|
__self: _this,
|
|
128
138
|
__source: {
|
|
129
139
|
fileName: _jsxFileName,
|
|
130
|
-
lineNumber:
|
|
140
|
+
lineNumber: 129,
|
|
131
141
|
columnNumber: 7
|
|
132
142
|
}
|
|
133
143
|
}, t('File type not supported'))) : _react["default"].createElement(_WritingDirectionAwareText.WritingDirectionAwareText, {
|
|
@@ -137,10 +147,10 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
|
|
|
137
147
|
__self: _this,
|
|
138
148
|
__source: {
|
|
139
149
|
fileName: _jsxFileName,
|
|
140
|
-
lineNumber:
|
|
150
|
+
lineNumber: 134,
|
|
141
151
|
columnNumber: 5
|
|
142
152
|
}
|
|
143
|
-
},
|
|
153
|
+
}, videoDuration ? durationLabel : (0, _FileAttachment.getFileSizeDisplayText)(item.file.size));
|
|
144
154
|
};
|
|
145
155
|
var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props) {
|
|
146
156
|
var AudioAttachment = props.AudioAttachment,
|
|
@@ -225,7 +235,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
225
235
|
__self: _this,
|
|
226
236
|
__source: {
|
|
227
237
|
fileName: _jsxFileName,
|
|
228
|
-
lineNumber:
|
|
238
|
+
lineNumber: 239,
|
|
229
239
|
columnNumber: 9
|
|
230
240
|
}
|
|
231
241
|
}, (_item$file$mimeType = item.file.mimeType) != null && _item$file$mimeType.startsWith('audio/') && (0, _native.isAudioPackageAvailable)() ? _react["default"].createElement(_reactNative.View, {
|
|
@@ -235,7 +245,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
235
245
|
__self: _this,
|
|
236
246
|
__source: {
|
|
237
247
|
fileName: _jsxFileName,
|
|
238
|
-
lineNumber:
|
|
248
|
+
lineNumber: 247,
|
|
239
249
|
columnNumber: 13
|
|
240
250
|
}
|
|
241
251
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -250,7 +260,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
250
260
|
__self: _this,
|
|
251
261
|
__source: {
|
|
252
262
|
fileName: _jsxFileName,
|
|
253
|
-
lineNumber:
|
|
263
|
+
lineNumber: 253,
|
|
254
264
|
columnNumber: 15
|
|
255
265
|
}
|
|
256
266
|
}, _react["default"].createElement(AudioAttachment, {
|
|
@@ -262,7 +272,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
262
272
|
__self: _this,
|
|
263
273
|
__source: {
|
|
264
274
|
fileName: _jsxFileName,
|
|
265
|
-
lineNumber:
|
|
275
|
+
lineNumber: 270,
|
|
266
276
|
columnNumber: 17
|
|
267
277
|
}
|
|
268
278
|
}))) : _react["default"].createElement(_reactNative.View, {
|
|
@@ -275,7 +285,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
275
285
|
__self: _this,
|
|
276
286
|
__source: {
|
|
277
287
|
fileName: _jsxFileName,
|
|
278
|
-
lineNumber:
|
|
288
|
+
lineNumber: 280,
|
|
279
289
|
columnNumber: 13
|
|
280
290
|
}
|
|
281
291
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -283,7 +293,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
283
293
|
__self: _this,
|
|
284
294
|
__source: {
|
|
285
295
|
fileName: _jsxFileName,
|
|
286
|
-
lineNumber:
|
|
296
|
+
lineNumber: 295,
|
|
287
297
|
columnNumber: 15
|
|
288
298
|
}
|
|
289
299
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -291,7 +301,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
291
301
|
__self: _this,
|
|
292
302
|
__source: {
|
|
293
303
|
fileName: _jsxFileName,
|
|
294
|
-
lineNumber:
|
|
304
|
+
lineNumber: 296,
|
|
295
305
|
columnNumber: 17
|
|
296
306
|
}
|
|
297
307
|
}, _react["default"].createElement(FileAttachmentIcon, {
|
|
@@ -299,7 +309,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
299
309
|
__self: _this,
|
|
300
310
|
__source: {
|
|
301
311
|
fileName: _jsxFileName,
|
|
302
|
-
lineNumber:
|
|
312
|
+
lineNumber: 297,
|
|
303
313
|
columnNumber: 19
|
|
304
314
|
}
|
|
305
315
|
})), _react["default"].createElement(_reactNative.View, {
|
|
@@ -307,7 +317,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
307
317
|
__self: _this,
|
|
308
318
|
__source: {
|
|
309
319
|
fileName: _jsxFileName,
|
|
310
|
-
lineNumber:
|
|
320
|
+
lineNumber: 299,
|
|
311
321
|
columnNumber: 17
|
|
312
322
|
}
|
|
313
323
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -323,7 +333,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
323
333
|
__self: _this,
|
|
324
334
|
__source: {
|
|
325
335
|
fileName: _jsxFileName,
|
|
326
|
-
lineNumber:
|
|
336
|
+
lineNumber: 300,
|
|
327
337
|
columnNumber: 19
|
|
328
338
|
}
|
|
329
339
|
}, item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)), indicatorType !== null && _react["default"].createElement(UnsupportedFileTypeOrFileSizeIndicator, {
|
|
@@ -332,7 +342,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
332
342
|
__self: _this,
|
|
333
343
|
__source: {
|
|
334
344
|
fileName: _jsxFileName,
|
|
335
|
-
lineNumber:
|
|
345
|
+
lineNumber: 320,
|
|
336
346
|
columnNumber: 21
|
|
337
347
|
}
|
|
338
348
|
})))), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -346,7 +356,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
346
356
|
__self: _this,
|
|
347
357
|
__source: {
|
|
348
358
|
fileName: _jsxFileName,
|
|
349
|
-
lineNumber:
|
|
359
|
+
lineNumber: 329,
|
|
350
360
|
columnNumber: 11
|
|
351
361
|
}
|
|
352
362
|
}, _react["default"].createElement(_Close.Close, {
|
|
@@ -354,7 +364,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
354
364
|
__self: _this,
|
|
355
365
|
__source: {
|
|
356
366
|
fileName: _jsxFileName,
|
|
357
|
-
lineNumber:
|
|
367
|
+
lineNumber: 336,
|
|
358
368
|
columnNumber: 13
|
|
359
369
|
}
|
|
360
370
|
}))));
|
|
@@ -390,7 +400,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
390
400
|
__self: _this,
|
|
391
401
|
__source: {
|
|
392
402
|
fileName: _jsxFileName,
|
|
393
|
-
lineNumber:
|
|
403
|
+
lineNumber: 352,
|
|
394
404
|
columnNumber: 5
|
|
395
405
|
}
|
|
396
406
|
}) : null;
|
|
@@ -426,7 +436,7 @@ var FileUploadPreview = function FileUploadPreview(props) {
|
|
|
426
436
|
__self: _this,
|
|
427
437
|
__source: {
|
|
428
438
|
fileName: _jsxFileName,
|
|
429
|
-
lineNumber:
|
|
439
|
+
lineNumber: 417,
|
|
430
440
|
columnNumber: 5
|
|
431
441
|
}
|
|
432
442
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_UploadProgressIndicator","_contexts","_MessageInputContext","_MessagesContext","_ThemeContext","_TranslationContext","_Close","_Warning","_native","_utils","_FileAttachment","_WritingDirectionAwareText","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","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","marginTop","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","UnsupportedFileTypeOrFileSizeIndicator","_ref","indicatorType","item","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","_useTranslationContex","useTranslationContext","t","ProgressIndicatorTypes","NOT_SUPPORTED","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","Warning","pathFill","Text","color","WritingDirectionAwareText","file","duration","getFileSizeDisplayText","size","FileUploadPreviewWithContext","props","AudioAttachment","enableOfflineSupport","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","useRef","_useState","useState","_useState2","_slicedToArray2","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","_extends2","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","_useTheme2","_useTheme2$theme","_useTheme2$theme$colo","black","grey_gainsboro","grey_whisper","white","_useTheme2$theme$mess","audioAttachmentFileContainer","renderItem","_ref2","_item$file$mimeType","getIndicatorTypeForFileState","state","lastIndexOfDot","name","lastIndexOf","Fragment","UploadProgressIndicator","action","newFile","type","mimeType","startsWith","isAudioPackageAvailable","FileState","UPLOADED","length","backgroundColor","borderColor","testID","numberOfLines","I18nManager","isRTL","writingDirection","slice","TouchableOpacity","onPress","Close","fileUploadsLength","useEffect","current","setTimeout","_flatListRef$current","scrollToEnd","FlatList","data","getItemLayout","_","offset","keyExtractor","onLayout","_ref3","nativeEvent","layout","ref","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","_useChatContext","useChatContext","_useMessageInputConte","useMessageInputContext","_useMessagesContext","useMessagesContext","exports","displayName"],"sources":["FileUploadPreview.tsx"],"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 { ChatContextValue, useChatContext } from '../../contexts';\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 marginTop: 2,\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 Pick<ChatContextValue<StreamChatGenerics>, 'enableOfflineSupport'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n enableOfflineSupport,\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,\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, enableOfflineSupport);\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.mimeType?.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.mimeType} />\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 { enableOfflineSupport } = useChatContext<StreamChatGenerics>();\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 {...{ enableOfflineSupport }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,wBAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAKA,IAAAK,gBAAA,GAAAL,OAAA;AAIA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAEA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AACA,IAAAa,0BAAA,GAAAb,OAAA;AAAuF,IAAAc,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAlB,wBAAAsB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEvF,IAAMW,mBAAmB,GAAG,EAAE;AAC9B,IAAMC,iBAAiB,GAAG,EAAE;AAE5B,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,OAAO,EAAE;IACPC,YAAY,EAAE,EAAE;IAChBC,MAAM,EAAE,EAAE;IACVC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,CAAC;IACRC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE;EACT,CAAC;EACDC,aAAa,EAAE;IACbN,YAAY,EAAE,EAAE;IAChBO,WAAW,EAAE,CAAC;IACdC,aAAa,EAAE,KAAK;IACpBP,MAAM,EAAEP,mBAAmB;IAC3Be,cAAc,EAAE,eAAe;IAC/BC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE;EAChB,CAAC;EACDC,oBAAoB,EAAE;IAAEL,aAAa,EAAE;EAAM,CAAC;EAC9CM,QAAQ,EAAE;IACRC,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE,QAAQ;IACnBP,cAAc,EAAE;EAClB,CAAC;EACDQ,YAAY,EAAE;IACZC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDC,YAAY,EAAE;IACZH,QAAQ,EAAE,EAAE;IACZE,iBAAiB,EAAE;EACrB,CAAC;EACDE,iBAAiB,EAAE;IACjBrB,MAAM,EAAE,MAAM;IACdQ,cAAc,EAAE;EAClB,CAAC;EACDc,QAAQ,EAAE;IAAEb,YAAY,EAAE,EAAE;IAAEc,SAAS,EAAE9B,mBAAmB,GAAG,GAAG,GAAG;EAAG,CAAC;EACzE+B,OAAO,EAAE;IACPzB,YAAY,EAAE,EAAE;IAChB0B,UAAU,EAAE,CAAC;IACbC,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE;EACb,CAAC;EACDC,eAAe,EAAE;IACfrB,aAAa,EAAE,KAAK;IACpBG,WAAW,EAAE;EACf,CAAC;EACDmB,mBAAmB,EAAE;IACnBZ,QAAQ,EAAE,EAAE;IACZa,gBAAgB,EAAE;EACpB,CAAC;EACDC,gBAAgB,EAAE;IAChBhC,YAAY,EAAE,EAAE;IAChB4B,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,IAAMK,sCAAsC,GAAG,SAAzCA,sCAAsCA,CAAAC,IAAA,EAMtC;EAAA,IALJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,IAAI,GAAAF,IAAA,CAAJE,IAAI;EAKJ,IAAAC,SAAA,GAOI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CANZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,UAAU,GAAAF,qBAAA,CAAVE,UAAU;IAAEC,IAAI,GAAAH,qBAAA,CAAJG,IAAI;IAAEC,SAAS,GAAAJ,qBAAA,CAATI,SAAS;IAEdxB,YAAY,GAAAkB,eAAA,CADnCO,YAAY,CACVC,iBAAiB,CAAI1B,YAAY;EAKvC,IAAA2B,qBAAA,GAAc,IAAAC,yCAAqB,EAAC,CAAC;IAA7BC,CAAC,GAAAF,qBAAA,CAADE,CAAC;EAET,OAAOf,aAAa,KAAKgB,6BAAsB,CAACC,aAAa,GAC3DlG,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAiG,IAAI;IAACC,KAAK,EAAE3D,MAAM,CAACiC,eAAgB;IAAA2B,MAAA,EAAAtF,KAAA;IAAAuF,QAAA;MAAAC,QAAA,EAAAvF,YAAA;MAAAwF,UAAA;MAAAC,YAAA;IAAA;EAAA,GAClC1G,MAAA,YAAAmG,aAAA,CAACxF,QAAA,CAAAgG,OAAO;IACN5D,MAAM,EAAEN,iBAAkB;IAC1BmE,QAAQ,EAAEnB,UAAW;IACrBY,KAAK,EAAE3D,MAAM,CAACoC,gBAAiB;IAC/B3B,KAAK,EAAEV,iBAAkB;IAAA6D,MAAA,EAAAtF,KAAA;IAAAuF,QAAA;MAAAC,QAAA,EAAAvF,YAAA;MAAAwF,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC1B,CAAC,EACF1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAA0G,IAAI;IAACR,KAAK,EAAE,CAAC3D,MAAM,CAACkC,mBAAmB,EAAE;MAAEkC,KAAK,EAAEnB;IAAU,CAAC,CAAE;IAAAW,MAAA,EAAAtF,KAAA;IAAAuF,QAAA;MAAAC,QAAA,EAAAvF,YAAA;MAAAwF,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC7DV,CAAC,CAAC,yBAAyB,CACxB,CACF,CAAC,GAEPhG,MAAA,YAAAmG,aAAA,CAACpF,0BAAA,CAAAgG,yBAAyB;IAACV,KAAK,EAAE,CAAC3D,MAAM,CAACyB,YAAY,EAAE;MAAE2C,KAAK,EAAEpB;IAAK,CAAC,EAAEvB,YAAY,CAAE;IAAAmC,MAAA,EAAAtF,KAAA;IAAAuF,QAAA;MAAAC,QAAA,EAAAvF,YAAA;MAAAwF,UAAA;MAAAC,YAAA;IAAA;EAAA,GACpFxB,IAAI,CAAC8B,IAAI,CAACC,QAAQ,IAAI,IAAAC,sCAAsB,EAAChC,IAAI,CAAC8B,IAAI,CAACG,IAAI,CACnC,CAC5B;AACH,CAAC;AAWD,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAGhCC,KAA4D,EACzD;EACH,IACEC,eAAe,GAObD,KAAK,CAPPC,eAAe;IACfC,oBAAoB,GAMlBF,KAAK,CANPE,oBAAoB;IACpBC,kBAAkB,GAKhBH,KAAK,CALPG,kBAAkB;IAClBC,WAAW,GAITJ,KAAK,CAJPI,WAAW;IACXC,UAAU,GAGRL,KAAK,CAHPK,UAAU;IACVC,cAAc,GAEZN,KAAK,CAFPM,cAAc;IACdC,UAAU,GACRP,KAAK,CADPO,UAAU;EAGZ,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAA8B,IAAI,CAAC;EAC7D,IAAAC,SAAA,GAA0C,IAAAC,eAAQ,EAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA9CI,aAAa,GAAAF,UAAA;IAAEG,gBAAgB,GAAAH,UAAA;EAGtC,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAIC,KAAa,EAAErB,QAAgB,EAAK;IAClDU,cAAc,CAAC,UAACY,eAAe;MAAA,OAC7BA,eAAe,CAACC,GAAG,CAAC,UAACC,UAAU;QAAA,WAAAC,SAAA,iBAC1BD,UAAU;UACbxB,QAAQ,EAAEwB,UAAU,CAACE,EAAE,KAAKL,KAAK,GAAGrB,QAAQ,GAAGwB,UAAU,CAACxB;QAAQ;MAAA,CAClE,CAAC;IAAA,CACL,CAAC;EACH,CAAC;EAGD,IAAM2B,UAAU,GAAG,SAAbA,UAAUA,CAAIN,KAAa,EAAEO,WAAoB,EAAEC,MAAgB,EAAK;IAC5EnB,cAAc,CAAC,UAACY,eAAe;MAAA,OAC7BA,eAAe,CAACC,GAAG,CAAC,UAACC,UAAU;QAAA,WAAAC,SAAA,iBAC1BD,UAAU;UACbM,QAAQ,EACNN,UAAU,CAACE,EAAE,KAAKL,KAAK,GACnBQ,MAAM,GACJ,CAAC,GACDD,WAAW,GACXA,WAAW,GAAIJ,UAAU,CAACxB,QAAmB,GAC7C,CAAC,GACHwB,UAAU,CAACM;QAAQ;MAAA,CACzB,CAAC;IAAA,CACL,CAAC;EACH,CAAC;EAGD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIV,KAAa,EAAEW,YAAsB,EAAK;IAC7D,IAAIA,YAAY,KAAK,KAAK,EAAE;MAE1BtB,cAAc,CAAC,UAACY,eAAe;QAAA,OAC7BA,eAAe,CAACC,GAAG,CAAC,UAACC,UAAU;UAAA,WAAAC,SAAA,iBAC1BD,UAAU;YACbS,MAAM,EAAET,UAAU,CAACE,EAAE,KAAKL;UAAK;QAAA,CAC/B,CAAC;MAAA,CACL,CAAC;IACH,CAAC,MAAM;MAELX,cAAc,CAAC,UAACY,eAAe;QAAA,OAC7BA,eAAe,CAACC,GAAG,CAAC,UAACC,UAAU;UAAA,WAAAC,SAAA,iBAC1BD,UAAU;YACbS,MAAM,EAAE;UAAI;QAAA,CACZ,CAAC;MAAA,CACL,CAAC;IACH;EACF,CAAC;EAED,IAAAC,UAAA,GAeI,IAAA/D,sBAAQ,EAAC,CAAC;IAAAgE,gBAAA,GAAAD,UAAA,CAdZ7D,KAAK;IAAA+D,qBAAA,GAAAD,gBAAA,CACH5D,MAAM;IAAI8D,KAAK,GAAAD,qBAAA,CAALC,KAAK;IAAE3D,SAAS,GAAA0D,qBAAA,CAAT1D,SAAS;IAAE4D,cAAc,GAAAF,qBAAA,CAAdE,cAAc;IAAEC,YAAY,GAAAH,qBAAA,CAAZG,YAAY;IAAEC,KAAK,GAAAJ,qBAAA,CAALI,KAAK;IAAAC,qBAAA,GAAAN,gBAAA,CAC/DxD,YAAY,CACVC,iBAAiB;IACf8D,4BAA4B,GAAAD,qBAAA,CAA5BC,4BAA4B;IAC5B9G,OAAO,GAAA6G,qBAAA,CAAP7G,OAAO;IACPO,aAAa,GAAAsG,qBAAA,CAAbtG,aAAa;IACbO,oBAAoB,GAAA+F,qBAAA,CAApB/F,oBAAoB;IACpBI,YAAY,GAAA2F,qBAAA,CAAZ3F,YAAY;IACZK,iBAAiB,GAAAsF,qBAAA,CAAjBtF,iBAAiB;IACjBC,QAAQ,GAAAqF,qBAAA,CAARrF,QAAQ;EAMhB,IAAMuF,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA,EAA6D;IAAA,IAAAC,mBAAA;IAAA,IAAvDxB,KAAK,GAAAuB,KAAA,CAALvB,KAAK;MAAEpD,IAAI,GAAA2E,KAAA,CAAJ3E,IAAI;IAC/B,IAAMD,aAAa,GAAG,IAAA8E,mCAA4B,EAAC7E,IAAI,CAAC8E,KAAK,EAAEzC,oBAAoB,CAAC;IAEpF,IAAM0C,cAAc,GAAG/E,IAAI,CAAC8B,IAAI,CAACkD,IAAI,CAACC,WAAW,CAAC,GAAG,CAAC;IAEtD,OACEnK,MAAA,YAAAmG,aAAA,CAAAnG,MAAA,YAAAoK,QAAA,QACEpK,MAAA,YAAAmG,aAAA,CAAC/F,wBAAA,CAAAiK,uBAAuB;MACtBC,MAAM,EAAE,SAAAA,OAAA,EAAM;QACZ1C,UAAU,CAAC;UAAE2C,OAAO,EAAErF;QAAK,CAAC,CAAC;MAC/B,CAAE;MACFmB,KAAK,EAAE3D,MAAM,CAAC6B,OAAQ;MACtBiG,IAAI,EAAEvF,aAAc;MAAAqB,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEnB,CAAAoD,mBAAA,GAAA5E,IAAI,CAAC8B,IAAI,CAACyD,QAAQ,aAAlBX,mBAAA,CAAoBY,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAAC,+BAAuB,EAAC,CAAC,GACpE3K,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAiG,IAAI;MACHC,KAAK,EAAE,CACL;QAAE7C,YAAY,EAAE0B,IAAI,CAAC8E,KAAK,KAAKY,gBAAS,CAACC,QAAQ,GAAG,CAAC,GAAG;MAAE,CAAC,EAC3DlB,4BAA4B,CAC5B;MAAArD,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEF1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAiG,IAAI;MACHC,KAAK,EAAE,CACL3D,MAAM,CAACU,aAAa,EACpBkF,KAAK,KAAKb,WAAW,CAACqD,MAAM,GAAG,CAAC,GAC5B;QACEtH,YAAY,EAAE;MAChB,CAAC,GACD,CAAC,CAAC,EACN;QACEuH,eAAe,EAAEtB,KAAK;QACtBuB,WAAW,EAAExB,YAAY;QACzBrG,KAAK,EAAE,CAAC;MACV,CAAC,EACDC,aAAa,CACb;MACF6H,MAAM,EAAC,iCAAiC;MAAA3E,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAExC1G,MAAA,YAAAmG,aAAA,CAACmB,eAAe;MACdpC,IAAI,EAAEA,IAAK;MACXmD,MAAM,EAAEA,MAAO;MACfW,WAAW,EAAEA,WAAY;MACzBJ,UAAU,EAAEA,UAAW;MACvBqC,MAAM,EAAC,iCAAiC;MAAA3E,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,CACzC,CACG,CACF,CAAC,GAEP1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAiG,IAAI;MACHC,KAAK,EAAE,CACL3D,MAAM,CAACU,aAAa,EACpBkF,KAAK,KAAKb,WAAW,CAACqD,MAAM,GAAG,CAAC,GAC5B;QACEtH,YAAY,EAAE;MAChB,CAAC,GACD,CAAC,CAAC,EACN;QACEwH,WAAW,EAAExB,YAAY;QACzBrG,KAAK,EAAEgF,aAAa,GAAG;MACzB,CAAC,EACD/E,aAAa,CACb;MAAAkD,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEF1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAiG,IAAI;MAACC,KAAK,EAAE,CAAC3D,MAAM,CAACiB,oBAAoB,EAAEA,oBAAoB,CAAE;MAAA2C,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC/D1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAiG,IAAI;MAACC,KAAK,EAAE3D,MAAM,CAACkB,QAAS;MAAA0C,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC3B1G,MAAA,YAAAmG,aAAA,CAACqB,kBAAkB;MAACiD,QAAQ,EAAEvF,IAAI,CAAC8B,IAAI,CAACyD,QAAS;MAAAnE,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAC/C,CAAC,EACP1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAiG,IAAI;MAACC,KAAK,EAAE,CAAC3D,MAAM,CAAC0B,iBAAiB,EAAEA,iBAAiB,CAAE;MAAAkC,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GACzD1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAA0G,IAAI;MACHqE,aAAa,EAAE,CAAE;MACjB7E,KAAK,EAAE,CACL3D,MAAM,CAACqB,YAAY,EACnB;QACE+C,KAAK,EAAEwC,KAAK;QACZnG,KAAK,EACHgF,aAAa,GACb,EAAE,GACF,EAAE,GACF,EAAE,GACF;MACJ,CAAC,EACDgD,wBAAW,CAACC,KAAK,GAAG;QAAEC,gBAAgB,EAAE;MAAM,CAAC,GAAG;QAAEA,gBAAgB,EAAE;MAAM,CAAC,EAC7EtH,YAAY,CACZ;MAAAuC,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEDxB,IAAI,CAAC8B,IAAI,CAACkD,IAAI,CAACoB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAGpG,IAAI,CAAC8B,IAAI,CAACkD,IAAI,CAACoB,KAAK,CAACrB,cAAc,CACtE,CAAC,EACNhF,aAAa,KAAK,IAAI,IACrBjF,MAAA,YAAAmG,aAAA,CAACpB,sCAAsC;MACrCE,aAAa,EAAEA,aAAc;MAC7BC,IAAI,EAAEA,IAAK;MAAAoB,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,CACZ,CAEC,CACF,CACF,CACP,EACD1G,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAAoL,gBAAgB;MACfC,OAAO,EAAE,SAAAA,QAAA,EAAM;QACb9D,UAAU,CAACxC,IAAI,CAACyD,EAAE,CAAC;MACrB,CAAE;MACFtC,KAAK,EAAE,CAAC3D,MAAM,CAACG,OAAO,EAAE;QAAEkI,eAAe,EAAExB;MAAe,CAAC,EAAE1G,OAAO,CAAE;MACtEoI,MAAM,EAAC,4BAA4B;MAAA3E,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEnC1G,MAAA,YAAAmG,aAAA,CAACzF,MAAA,CAAA+K,KAAK;MAAC7E,QAAQ,EAAEjB,SAAU;MAAAW,MAAA,EAAAtF,KAAA;MAAAuF,QAAA;QAAAC,QAAA,EAAAvF,YAAA;QAAAwF,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CACb,CACK,CACzB,CAAC;EAEP,CAAC;EAED,IAAMgF,iBAAiB,GAAGjE,WAAW,CAACqD,MAAM;EAE5C,IAAAa,gBAAS,EAAC,YAAM;IACd,IAAID,iBAAiB,IAAI7D,WAAW,CAAC+D,OAAO,EAAE;MAC5CC,UAAU,CAAC;QAAA,IAAAC,oBAAA;QAAA,QAAAA,oBAAA,GAAMjE,WAAW,CAAC+D,OAAO,qBAAnBE,oBAAA,CAAqBC,WAAW,CAAC,CAAC;MAAA,GAAE,CAAC,CAAC;IACzD;EACF,CAAC,EAAE,CAACL,iBAAiB,CAAC,CAAC;EAEvB,OAAOA,iBAAiB,GACtB1L,MAAA,YAAAmG,aAAA,CAAChG,YAAA,CAAA6L,QAAQ;IACPC,IAAI,EAAExE,WAAY;IAClByE,aAAa,EAAE,SAAAA,cAACC,CAAC,EAAE7D,KAAK;MAAA,OAAM;QAC5BA,KAAK,EAALA,KAAK;QACLwC,MAAM,EAAEtI,mBAAmB,GAAG,CAAC;QAC/B4J,MAAM,EAAE,CAAC5J,mBAAmB,GAAG,CAAC,IAAI8F;MACtC,CAAC;IAAA,CAAE;IACH+D,YAAY,EAAE,SAAAA,aAACnH,IAAI;MAAA,YAAQA,IAAI,CAACyD,EAAE;IAAA,CAAG;IACrC2D,QAAQ,EAAE,SAAAA,SAAAC,KAAA,EAIJ;MAAA,IAFQpJ,KAAK,GAAAoJ,KAAA,CADjBC,WAAW,CACTC,MAAM,CAAItJ,KAAK;MAGjBiF,gBAAgB,CAACjF,KAAK,CAAC;IACzB,CAAE;IACFuJ,GAAG,EAAE7E,WAAY;IACjB+B,UAAU,EAAEA,UAAW;IACvBvD,KAAK,EAAE,CAAC3D,MAAM,CAAC2B,QAAQ,EAAEA,QAAQ,CAAE;IAAAiC,MAAA,EAAAtF,KAAA;IAAAuF,QAAA;MAAAC,QAAA,EAAAvF,YAAA;MAAAwF,UAAA;MAAAC,YAAA;IAAA;EAAA,CACpC,CAAC,GACA,IAAI;AACV,CAAC;AAED,IAAMiG,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAAgE,EAChEC,SAAgE,EAC7D;EACH,IAAqBtE,eAAe,GAAKqE,SAAS,CAA1CnF,WAAW;EACnB,IAAqBqF,eAAe,GAAKD,SAAS,CAA1CpF,WAAW;EAEnB,OACEc,eAAe,CAACuC,MAAM,KAAKgC,eAAe,CAAChC,MAAM,IACjDvC,eAAe,CAACwE,KAAK,CACnB,UAACC,cAAc,EAAE1E,KAAK;IAAA,OACpB0E,cAAc,CAAChD,KAAK,KAAK8C,eAAe,CAACxE,KAAK,CAAC,CAAC0B,KAAK,IACrDgD,cAAc,CAAC9D,MAAM,KAAK4D,eAAe,CAACxE,KAAK,CAAC,CAACY,MAAM,IACvD8D,cAAc,CAACjE,QAAQ,KAAK+D,eAAe,CAACxE,KAAK,CAAC,CAACS,QAAQ,IAC3DiE,cAAc,CAAC/F,QAAQ,KAAK6F,eAAe,CAACxE,KAAK,CAAC,CAACrB,QAAQ;EAAA,CAC/D,CAAC;AAEL,CAAC;AAED,IAAMgG,yBAAyB,GAAGC,iBAAK,CAACC,IAAI,CAC1C/F,4BAA4B,EAC5BuF,QACF,CAAwC;AAUjC,IAAMS,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5B/F,KAAiD,EAC9C;EACH,IAAAgG,eAAA,GAAiC,IAAAC,wBAAc,EAAqB,CAAC;IAA7D/F,oBAAoB,GAAA8F,eAAA,CAApB9F,oBAAoB;EAC5B,IAAAgG,qBAAA,GACE,IAAAC,2CAAsB,EAAqB,CAAC;IADtC/F,WAAW,GAAA8F,qBAAA,CAAX9F,WAAW;IAAEC,UAAU,GAAA6F,qBAAA,CAAV7F,UAAU;IAAEC,cAAc,GAAA4F,qBAAA,CAAd5F,cAAc;IAAEC,UAAU,GAAA2F,qBAAA,CAAV3F,UAAU;EAE3D,IAAA6F,mBAAA,GAAgD,IAAAC,mCAAkB,EAAqB,CAAC;IAAhFpG,eAAe,GAAAmG,mBAAA,CAAfnG,eAAe;IAAEE,kBAAkB,GAAAiG,mBAAA,CAAlBjG,kBAAkB;EAE3C,OACExH,MAAA,YAAAmG,aAAA,CAAC8G,yBAAyB,MAAAvE,SAAA;IAEtBpB,eAAe,EAAfA,eAAe;IACfE,kBAAkB,EAAlBA,kBAAkB;IAClBC,WAAW,EAAXA,WAAW;IACXC,UAAU,EAAVA,UAAU;IACVC,cAAc,EAAdA,cAAc;IACdC,UAAU,EAAVA,UAAU;IAENL,oBAAoB,EAApBA;EAAoB,GACtBF,KAAK;IAAAf,MAAA,EAAAtF,KAAA;IAAAuF,QAAA;MAAAC,QAAA,EAAAvF,YAAA;MAAAwF,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAACiH,OAAA,CAAAP,iBAAA,GAAAA,iBAAA;AAEFA,iBAAiB,CAACQ,WAAW,GAAG,oDAAoD"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_dayjs","_interopRequireDefault","_UploadProgressIndicator","_contexts","_MessageInputContext","_MessagesContext","_ThemeContext","_TranslationContext","_Close","_Warning","_native","_utils","_FileAttachment","_WritingDirectionAwareText","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","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","marginTop","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","UnsupportedFileTypeOrFileSizeIndicator","_ref","indicatorType","item","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","ONE_HOUR_IN_SECONDS","durationLabel","videoDuration","file","duration","isDurationLongerThanHour","formattedDurationParam","formattedVideoDuration","dayjs","format","_useTranslationContex","useTranslationContext","t","ProgressIndicatorTypes","NOT_SUPPORTED","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","Warning","pathFill","Text","color","WritingDirectionAwareText","getFileSizeDisplayText","size","FileUploadPreviewWithContext","props","AudioAttachment","enableOfflineSupport","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","useRef","_useState","useState","_useState2","_slicedToArray2","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","_extends2","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","_useTheme2","_useTheme2$theme","_useTheme2$theme$colo","black","grey_gainsboro","grey_whisper","white","_useTheme2$theme$mess","audioAttachmentFileContainer","renderItem","_ref2","_item$file$mimeType","getIndicatorTypeForFileState","state","lastIndexOfDot","name","lastIndexOf","Fragment","UploadProgressIndicator","action","newFile","type","mimeType","startsWith","isAudioPackageAvailable","FileState","UPLOADED","length","backgroundColor","borderColor","testID","numberOfLines","I18nManager","isRTL","writingDirection","slice","TouchableOpacity","onPress","Close","fileUploadsLength","useEffect","current","setTimeout","_flatListRef$current","scrollToEnd","FlatList","data","getItemLayout","_","offset","keyExtractor","onLayout","_ref3","nativeEvent","layout","ref","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","_useChatContext","useChatContext","_useMessageInputConte","useMessageInputContext","_useMessagesContext","useMessagesContext","exports","displayName"],"sources":["FileUploadPreview.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport dayjs from 'dayjs';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\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 marginTop: 2,\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 ONE_HOUR_IN_SECONDS = 3600;\n let durationLabel = '00:00';\n const videoDuration = item.file.duration;\n\n if (videoDuration) {\n const isDurationLongerThanHour = videoDuration / ONE_HOUR_IN_SECONDS >= 1;\n const formattedDurationParam = isDurationLongerThanHour ? 'HH:mm:ss' : 'mm:ss';\n const formattedVideoDuration = dayjs\n .duration(videoDuration, 'second')\n .format(formattedDurationParam);\n durationLabel = formattedVideoDuration;\n }\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 {videoDuration ? durationLabel : 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 Pick<ChatContextValue<StreamChatGenerics>, 'enableOfflineSupport'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n enableOfflineSupport,\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,\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, enableOfflineSupport);\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.mimeType?.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.mimeType} />\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 { enableOfflineSupport } = useChatContext<StreamChatGenerics>();\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 {...{ enableOfflineSupport }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"],"mappings":"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"}
|
|
@@ -222,7 +222,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
222
222
|
});
|
|
223
223
|
return !uploadedImage;
|
|
224
224
|
});
|
|
225
|
-
if (imageToUpload && Number(imageToUpload.
|
|
225
|
+
if (imageToUpload && Number(imageToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {
|
|
226
226
|
_reactNative.Alert.alert(t("Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.", {
|
|
227
227
|
MAX_FILE_SIZE_TO_UPLOAD_IN_MB: MAX_FILE_SIZE_TO_UPLOAD_IN_MB
|
|
228
228
|
}));
|