stream-chat-react-native-core 5.22.0-beta.6 → 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.
Files changed (74) hide show
  1. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -4
  2. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  3. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
  4. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  5. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
  6. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
  7. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +25 -17
  8. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  9. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +30 -20
  10. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  11. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  12. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  13. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  14. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +7 -7
  15. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  16. package/lib/commonjs/i18n/fr.json +23 -23
  17. package/lib/commonjs/i18n/hi.json +23 -23
  18. package/lib/commonjs/i18n/it.json +23 -23
  19. package/lib/commonjs/i18n/nl.json +23 -23
  20. package/lib/commonjs/i18n/ru.json +23 -23
  21. package/lib/commonjs/i18n/tr.json +23 -23
  22. package/lib/commonjs/types/types.js.map +1 -1
  23. package/lib/commonjs/version.json +1 -1
  24. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -4
  25. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  26. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
  27. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  28. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
  29. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
  30. package/lib/module/components/Message/MessageSimple/utils/renderText.js +25 -17
  31. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  32. package/lib/module/components/MessageInput/FileUploadPreview.js +30 -20
  33. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  34. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  35. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  36. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  37. package/lib/module/contexts/messageInputContext/MessageInputContext.js +7 -7
  38. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  39. package/lib/module/i18n/fr.json +23 -23
  40. package/lib/module/i18n/hi.json +23 -23
  41. package/lib/module/i18n/it.json +23 -23
  42. package/lib/module/i18n/nl.json +23 -23
  43. package/lib/module/i18n/ru.json +23 -23
  44. package/lib/module/i18n/tr.json +23 -23
  45. package/lib/module/types/types.js.map +1 -1
  46. package/lib/module/version.json +1 -1
  47. package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts +1 -3
  48. package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.test.d.ts +1 -0
  49. package/lib/typescript/components/MessageInput/UploadProgressIndicator.d.ts +5 -2
  50. package/lib/typescript/i18n/fr.json +23 -23
  51. package/lib/typescript/i18n/hi.json +23 -23
  52. package/lib/typescript/i18n/it.json +23 -23
  53. package/lib/typescript/i18n/nl.json +23 -23
  54. package/lib/typescript/i18n/ru.json +23 -23
  55. package/lib/typescript/i18n/tr.json +23 -23
  56. package/lib/typescript/types/types.d.ts +8 -11
  57. package/package.json +1 -1
  58. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +4 -4
  59. package/src/components/Message/MessageSimple/utils/generateMarkdownText.test.ts +23 -0
  60. package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +12 -13
  61. package/src/components/Message/MessageSimple/utils/renderText.tsx +12 -2
  62. package/src/components/MessageInput/FileUploadPreview.tsx +16 -1
  63. package/src/components/MessageInput/MessageInput.tsx +1 -1
  64. package/src/components/MessageInput/UploadProgressIndicator.tsx +2 -2
  65. package/src/components/MessageInput/__tests__/MessageInput.test.js +2 -2
  66. package/src/contexts/messageInputContext/MessageInputContext.tsx +2 -2
  67. package/src/i18n/fr.json +23 -23
  68. package/src/i18n/hi.json +23 -23
  69. package/src/i18n/it.json +23 -23
  70. package/src/i18n/nl.json +23 -23
  71. package/src/i18n/ru.json +23 -23
  72. package/src/i18n/tr.json +23 -23
  73. package/src/types/types.ts +8 -12
  74. 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: 107,
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: 108,
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: 114,
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: 119,
150
+ lineNumber: 134,
141
151
  columnNumber: 5
142
152
  }
143
- }, item.file.duration || (0, _FileAttachment.getFileSizeDisplayText)(item.file.size));
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: 224,
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: 232,
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: 238,
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: 255,
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: 265,
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: 280,
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: 281,
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: 282,
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: 284,
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: 285,
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: 305,
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: 314,
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: 321,
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: 337,
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: 402,
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":"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"}
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":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,wBAAA,GAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAKA,IAAAO,gBAAA,GAAAP,OAAA;AAIA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,mBAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAEA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,eAAA,GAAAd,OAAA;AACA,IAAAe,0BAAA,GAAAf,OAAA;AAAuF,IAAAgB,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,SAAApB,wBAAAwB,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,IAAM2B,mBAAmB,GAAG,IAAI;EAChC,IAAIC,aAAa,GAAG,OAAO;EAC3B,IAAMC,aAAa,GAAGd,IAAI,CAACe,IAAI,CAACC,QAAQ;EAExC,IAAIF,aAAa,EAAE;IACjB,IAAMG,wBAAwB,GAAGH,aAAa,GAAGF,mBAAmB,IAAI,CAAC;IACzE,IAAMM,sBAAsB,GAAGD,wBAAwB,GAAG,UAAU,GAAG,OAAO;IAC9E,IAAME,sBAAsB,GAAGC,iBAAK,CACjCJ,QAAQ,CAACF,aAAa,EAAE,QAAQ,CAAC,CACjCO,MAAM,CAACH,sBAAsB,CAAC;IACjCL,aAAa,GAAGM,sBAAsB;EACxC;EAEA,IAAAG,qBAAA,GAAc,IAAAC,yCAAqB,EAAC,CAAC;IAA7BC,CAAC,GAAAF,qBAAA,CAADE,CAAC;EAET,OAAOzB,aAAa,KAAK0B,6BAAsB,CAACC,aAAa,GAC3D9G,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA6G,IAAI;IAACC,KAAK,EAAErE,MAAM,CAACiC,eAAgB;IAAAqC,MAAA,EAAAhG,KAAA;IAAAiG,QAAA;MAAAC,QAAA,EAAAjG,YAAA;MAAAkG,UAAA;MAAAC,YAAA;IAAA;EAAA,GAClCtH,MAAA,YAAA+G,aAAA,CAAClG,QAAA,CAAA0G,OAAO;IACNtE,MAAM,EAAEN,iBAAkB;IAC1B6E,QAAQ,EAAE7B,UAAW;IACrBsB,KAAK,EAAErE,MAAM,CAACoC,gBAAiB;IAC/B3B,KAAK,EAAEV,iBAAkB;IAAAuE,MAAA,EAAAhG,KAAA;IAAAiG,QAAA;MAAAC,QAAA,EAAAjG,YAAA;MAAAkG,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC1B,CAAC,EACFtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAAsH,IAAI;IAACR,KAAK,EAAE,CAACrE,MAAM,CAACkC,mBAAmB,EAAE;MAAE4C,KAAK,EAAE7B;IAAU,CAAC,CAAE;IAAAqB,MAAA,EAAAhG,KAAA;IAAAiG,QAAA;MAAAC,QAAA,EAAAjG,YAAA;MAAAkG,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC7DV,CAAC,CAAC,yBAAyB,CACxB,CACF,CAAC,GAEP5G,MAAA,YAAA+G,aAAA,CAAC9F,0BAAA,CAAA0G,yBAAyB;IAACV,KAAK,EAAE,CAACrE,MAAM,CAACyB,YAAY,EAAE;MAAEqD,KAAK,EAAE9B;IAAK,CAAC,EAAEvB,YAAY,CAAE;IAAA6C,MAAA,EAAAhG,KAAA;IAAAiG,QAAA;MAAAC,QAAA,EAAAjG,YAAA;MAAAkG,UAAA;MAAAC,YAAA;IAAA;EAAA,GACpFpB,aAAa,GAAGD,aAAa,GAAG,IAAA2B,sCAAsB,EAACxC,IAAI,CAACe,IAAI,CAAC0B,IAAI,CAC7C,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,EAAE5C,QAAgB,EAAK;IAClDiC,cAAc,CAAC,UAACY,eAAe;MAAA,OAC7BA,eAAe,CAACC,GAAG,CAAC,UAACC,UAAU;QAAA,WAAAC,SAAA,iBAC1BD,UAAU;UACb/C,QAAQ,EAAE+C,UAAU,CAACE,EAAE,KAAKL,KAAK,GAAG5C,QAAQ,GAAG+C,UAAU,CAAC/C;QAAQ;MAAA,CAClE,CAAC;IAAA,CACL,CAAC;EACH,CAAC;EAGD,IAAMkD,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,CAAC/C,QAAmB,GAC7C,CAAC,GACH+C,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,IAAAvE,sBAAQ,EAAC,CAAC;IAAAwE,gBAAA,GAAAD,UAAA,CAdZrE,KAAK;IAAAuE,qBAAA,GAAAD,gBAAA,CACHpE,MAAM;IAAIsE,KAAK,GAAAD,qBAAA,CAALC,KAAK;IAAEnE,SAAS,GAAAkE,qBAAA,CAATlE,SAAS;IAAEoE,cAAc,GAAAF,qBAAA,CAAdE,cAAc;IAAEC,YAAY,GAAAH,qBAAA,CAAZG,YAAY;IAAEC,KAAK,GAAAJ,qBAAA,CAALI,KAAK;IAAAC,qBAAA,GAAAN,gBAAA,CAC/DhE,YAAY,CACVC,iBAAiB;IACfsE,4BAA4B,GAAAD,qBAAA,CAA5BC,4BAA4B;IAC5BtH,OAAO,GAAAqH,qBAAA,CAAPrH,OAAO;IACPO,aAAa,GAAA8G,qBAAA,CAAb9G,aAAa;IACbO,oBAAoB,GAAAuG,qBAAA,CAApBvG,oBAAoB;IACpBI,YAAY,GAAAmG,qBAAA,CAAZnG,YAAY;IACZK,iBAAiB,GAAA8F,qBAAA,CAAjB9F,iBAAiB;IACjBC,QAAQ,GAAA6F,qBAAA,CAAR7F,QAAQ;EAMhB,IAAM+F,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA,EAA6D;IAAA,IAAAC,mBAAA;IAAA,IAAvDxB,KAAK,GAAAuB,KAAA,CAALvB,KAAK;MAAE5D,IAAI,GAAAmF,KAAA,CAAJnF,IAAI;IAC/B,IAAMD,aAAa,GAAG,IAAAsF,mCAA4B,EAACrF,IAAI,CAACsF,KAAK,EAAEzC,oBAAoB,CAAC;IAEpF,IAAM0C,cAAc,GAAGvF,IAAI,CAACe,IAAI,CAACyE,IAAI,CAACC,WAAW,CAAC,GAAG,CAAC;IAEtD,OACE7K,MAAA,YAAA+G,aAAA,CAAA/G,MAAA,YAAA8K,QAAA,QACE9K,MAAA,YAAA+G,aAAA,CAACzG,wBAAA,CAAAyK,uBAAuB;MACtBC,MAAM,EAAE,SAAAA,OAAA,EAAM;QACZ1C,UAAU,CAAC;UAAE2C,OAAO,EAAE7F;QAAK,CAAC,CAAC;MAC/B,CAAE;MACF6B,KAAK,EAAErE,MAAM,CAAC6B,OAAQ;MACtByG,IAAI,EAAE/F,aAAc;MAAA+B,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEnB,CAAAkD,mBAAA,GAAApF,IAAI,CAACe,IAAI,CAACgF,QAAQ,aAAlBX,mBAAA,CAAoBY,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAAC,+BAAuB,EAAC,CAAC,GACpErL,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA6G,IAAI;MACHC,KAAK,EAAE,CACL;QAAEvD,YAAY,EAAE0B,IAAI,CAACsF,KAAK,KAAKY,gBAAS,CAACC,QAAQ,GAAG,CAAC,GAAG;MAAE,CAAC,EAC3DlB,4BAA4B,CAC5B;MAAAnD,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEFtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA6G,IAAI;MACHC,KAAK,EAAE,CACLrE,MAAM,CAACU,aAAa,EACpB0F,KAAK,KAAKb,WAAW,CAACqD,MAAM,GAAG,CAAC,GAC5B;QACE9H,YAAY,EAAE;MAChB,CAAC,GACD,CAAC,CAAC,EACN;QACE+H,eAAe,EAAEtB,KAAK;QACtBuB,WAAW,EAAExB,YAAY;QACzB7G,KAAK,EAAE,CAAC;MACV,CAAC,EACDC,aAAa,CACb;MACFqI,MAAM,EAAC,iCAAiC;MAAAzE,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAExCtH,MAAA,YAAA+G,aAAA,CAACiB,eAAe;MACd5C,IAAI,EAAEA,IAAK;MACX2D,MAAM,EAAEA,MAAO;MACfW,WAAW,EAAEA,WAAY;MACzBJ,UAAU,EAAEA,UAAW;MACvBqC,MAAM,EAAC,iCAAiC;MAAAzE,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,CACzC,CACG,CACF,CAAC,GAEPtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA6G,IAAI;MACHC,KAAK,EAAE,CACLrE,MAAM,CAACU,aAAa,EACpB0F,KAAK,KAAKb,WAAW,CAACqD,MAAM,GAAG,CAAC,GAC5B;QACE9H,YAAY,EAAE;MAChB,CAAC,GACD,CAAC,CAAC,EACN;QACEgI,WAAW,EAAExB,YAAY;QACzB7G,KAAK,EAAEwF,aAAa,GAAG;MACzB,CAAC,EACDvF,aAAa,CACb;MAAA4D,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEFtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA6G,IAAI;MAACC,KAAK,EAAE,CAACrE,MAAM,CAACiB,oBAAoB,EAAEA,oBAAoB,CAAE;MAAAqD,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC/DtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA6G,IAAI;MAACC,KAAK,EAAErE,MAAM,CAACkB,QAAS;MAAAoD,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC3BtH,MAAA,YAAA+G,aAAA,CAACmB,kBAAkB;MAACiD,QAAQ,EAAE/F,IAAI,CAACe,IAAI,CAACgF,QAAS;MAAAjE,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAC/C,CAAC,EACPtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA6G,IAAI;MAACC,KAAK,EAAE,CAACrE,MAAM,CAAC0B,iBAAiB,EAAEA,iBAAiB,CAAE;MAAA4C,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GACzDtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAAsH,IAAI;MACHmE,aAAa,EAAE,CAAE;MACjB3E,KAAK,EAAE,CACLrE,MAAM,CAACqB,YAAY,EACnB;QACEyD,KAAK,EAAEsC,KAAK;QACZ3G,KAAK,EACHwF,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,EAC7E9H,YAAY,CACZ;MAAAiD,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEDlC,IAAI,CAACe,IAAI,CAACyE,IAAI,CAACoB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG5G,IAAI,CAACe,IAAI,CAACyE,IAAI,CAACoB,KAAK,CAACrB,cAAc,CACtE,CAAC,EACNxF,aAAa,KAAK,IAAI,IACrBnF,MAAA,YAAA+G,aAAA,CAAC9B,sCAAsC;MACrCE,aAAa,EAAEA,aAAc;MAC7BC,IAAI,EAAEA,IAAK;MAAA8B,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,CACZ,CAEC,CACF,CACF,CACP,EACDtH,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAA8L,gBAAgB;MACfC,OAAO,EAAE,SAAAA,QAAA,EAAM;QACb9D,UAAU,CAAChD,IAAI,CAACiE,EAAE,CAAC;MACrB,CAAE;MACFpC,KAAK,EAAE,CAACrE,MAAM,CAACG,OAAO,EAAE;QAAE0I,eAAe,EAAExB;MAAe,CAAC,EAAElH,OAAO,CAAE;MACtE4I,MAAM,EAAC,4BAA4B;MAAAzE,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEnCtH,MAAA,YAAA+G,aAAA,CAACnG,MAAA,CAAAuL,KAAK;MAAC3E,QAAQ,EAAE3B,SAAU;MAAAqB,MAAA,EAAAhG,KAAA;MAAAiG,QAAA;QAAAC,QAAA,EAAAjG,YAAA;QAAAkG,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CACb,CACK,CACzB,CAAC;EAEP,CAAC;EAED,IAAM8E,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,GACtBpM,MAAA,YAAA+G,aAAA,CAAC5G,YAAA,CAAAuM,QAAQ;IACPC,IAAI,EAAExE,WAAY;IAClByE,aAAa,EAAE,SAAAA,cAACC,CAAC,EAAE7D,KAAK;MAAA,OAAM;QAC5BA,KAAK,EAALA,KAAK;QACLwC,MAAM,EAAE9I,mBAAmB,GAAG,CAAC;QAC/BoK,MAAM,EAAE,CAACpK,mBAAmB,GAAG,CAAC,IAAIsG;MACtC,CAAC;IAAA,CAAE;IACH+D,YAAY,EAAE,SAAAA,aAAC3H,IAAI;MAAA,YAAQA,IAAI,CAACiE,EAAE;IAAA,CAAG;IACrC2D,QAAQ,EAAE,SAAAA,SAAAC,KAAA,EAIJ;MAAA,IAFQ5J,KAAK,GAAA4J,KAAA,CADjBC,WAAW,CACTC,MAAM,CAAI9J,KAAK;MAGjByF,gBAAgB,CAACzF,KAAK,CAAC;IACzB,CAAE;IACF+J,GAAG,EAAE7E,WAAY;IACjB+B,UAAU,EAAEA,UAAW;IACvBrD,KAAK,EAAE,CAACrE,MAAM,CAAC2B,QAAQ,EAAEA,QAAQ,CAAE;IAAA2C,MAAA,EAAAhG,KAAA;IAAAiG,QAAA;MAAAC,QAAA,EAAAjG,YAAA;MAAAkG,UAAA;MAAAC,YAAA;IAAA;EAAA,CACpC,CAAC,GACA,IAAI;AACV,CAAC;AAED,IAAM+F,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,CAACtH,QAAQ,KAAKoH,eAAe,CAACxE,KAAK,CAAC,CAAC5C,QAAQ;EAAA,CAC/D,CAAC;AAEL,CAAC;AAED,IAAMuH,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,OACElI,MAAA,YAAA+G,aAAA,CAAC4G,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;IAAAb,MAAA,EAAAhG,KAAA;IAAAiG,QAAA;MAAAC,QAAA,EAAAjG,YAAA;MAAAkG,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAAC+G,OAAA,CAAAP,iBAAA,GAAAA,iBAAA;AAEFA,iBAAiB,CAACQ,WAAW,GAAG,oDAAoD"}
@@ -222,7 +222,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
222
222
  });
223
223
  return !uploadedImage;
224
224
  });
225
- if (imageToUpload && Number(imageToUpload.fileSize) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {
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
  }));