stream-chat-react-native-core 5.6.0-beta.0 → 5.6.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Attachment/Gallery.js +21 -16
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/GalleryImage.js +3 -3
- package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +43 -33
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +5 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +1 -1
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +51 -22
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +2 -2
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +18 -21
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -32
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/index.js +1 -1
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +128 -89
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +1 -0
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient.js +46 -1
- package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient_v4.js +112 -0
- package/lib/commonjs/store/QuickSqliteClient_v4.js.map +1 -0
- package/lib/commonjs/store/apis/getAppSettings.js +23 -0
- package/lib/commonjs/store/apis/getAppSettings.js.map +1 -0
- package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
- package/lib/commonjs/store/apis/index.js +26 -0
- package/lib/commonjs/store/apis/index.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/upsertAppSettings.js +26 -0
- package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -0
- package/lib/commonjs/store/schema.js +1 -0
- package/lib/commonjs/store/schema.js.map +1 -1
- package/lib/commonjs/utils/DBSyncManager.js +16 -16
- package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
- package/lib/commonjs/{components/Message/utils → utils}/removeReservedFields.js +1 -1
- package/lib/commonjs/utils/removeReservedFields.js.map +1 -0
- package/lib/commonjs/utils/utils.js +2 -2
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Gallery.js +21 -16
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/GalleryImage.js +3 -3
- package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +43 -33
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +5 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +1 -1
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +51 -22
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +2 -2
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +18 -21
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -32
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/index.js +1 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +128 -89
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +1 -0
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/store/QuickSqliteClient.js +46 -1
- package/lib/module/store/QuickSqliteClient.js.map +1 -1
- package/lib/module/store/QuickSqliteClient_v4.js +112 -0
- package/lib/module/store/QuickSqliteClient_v4.js.map +1 -0
- package/lib/module/store/apis/getAppSettings.js +23 -0
- package/lib/module/store/apis/getAppSettings.js.map +1 -0
- package/lib/module/store/apis/getPendingTasks.js.map +1 -1
- package/lib/module/store/apis/index.js +26 -0
- package/lib/module/store/apis/index.js.map +1 -1
- package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/module/store/apis/upsertAppSettings.js +26 -0
- package/lib/module/store/apis/upsertAppSettings.js.map +1 -0
- package/lib/module/store/schema.js +1 -0
- package/lib/module/store/schema.js.map +1 -1
- package/lib/module/utils/DBSyncManager.js +16 -16
- package/lib/module/utils/DBSyncManager.js.map +1 -1
- package/lib/module/{components/Message/utils → utils}/removeReservedFields.js +1 -1
- package/lib/module/utils/removeReservedFields.js.map +1 -0
- package/lib/module/utils/utils.js +2 -2
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts +2 -2
- package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +1 -1
- package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +1 -1
- package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +1 -1
- package/lib/typescript/components/index.d.ts +1 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -1
- package/lib/typescript/store/QuickSqliteClient.d.ts +4 -1
- package/lib/typescript/store/QuickSqliteClient_v4.d.ts +12 -0
- package/lib/typescript/store/apis/getAppSettings.d.ts +4 -0
- package/lib/typescript/store/apis/getPendingTasks.d.ts +1 -1
- package/lib/typescript/store/apis/index.d.ts +2 -0
- package/lib/typescript/store/apis/upsertAppSettings.d.ts +6 -0
- package/lib/typescript/store/mappers/mapTaskToStorable.d.ts +0 -8
- package/lib/typescript/store/schema.d.ts +1 -0
- package/lib/typescript/store/types.d.ts +0 -4
- package/lib/typescript/utils/DBSyncManager.d.ts +1 -1
- package/lib/typescript/{components/Message/utils → utils}/removeReservedFields.d.ts +2 -2
- package/lib/typescript/utils/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/Attachment/Gallery.tsx +5 -1
- package/src/components/Attachment/GalleryImage.tsx +2 -0
- package/src/components/Attachment/__tests__/Gallery.test.js +9 -2
- package/src/components/Attachment/__tests__/Giphy.test.js +9 -5
- package/src/components/Channel/Channel.tsx +20 -12
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +6 -4
- package/src/components/Chat/Chat.tsx +1 -1
- package/src/components/Chat/hooks/__tests__/useAppSettings.test.tsx +1 -0
- package/src/components/Chat/hooks/useAppSettings.ts +19 -6
- package/src/components/Chat/hooks/useIsOnline.ts +1 -1
- package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +29 -15
- package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +12 -6
- package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +9 -4
- package/src/components/Message/hooks/useMessageActions.tsx +1 -1
- package/src/components/MessageInput/FileUploadPreview.tsx +4 -5
- package/src/components/MessageInput/ImageUploadPreview.tsx +10 -35
- package/src/components/index.ts +1 -1
- package/src/contexts/chatContext/ChatContext.tsx +1 -1
- package/src/contexts/messageInputContext/MessageInputContext.tsx +94 -75
- package/src/contexts/messageInputContext/__tests__/MessageInputContext.test.tsx +8 -3
- package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +0 -3
- package/src/contexts/messageInputContext/__tests__/uploadFile.test.tsx +16 -6
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +1 -0
- package/src/store/QuickSqliteClient.ts +49 -5
- package/src/store/QuickSqliteClient_v4.ts +98 -0
- package/src/store/apis/getAppSettings.ts +19 -0
- package/src/store/apis/getPendingTasks.ts +2 -1
- package/src/store/apis/index.ts +2 -0
- package/src/store/apis/queries/selectChannels.ts +4 -1
- package/src/store/apis/queries/selectMembersForChannels.ts +1 -1
- package/src/store/apis/queries/selectMessagesForChannels.ts +1 -1
- package/src/store/apis/queries/selectReactionsForMessages.ts +1 -1
- package/src/store/apis/queries/selectReadsForChannels.ts +1 -1
- package/src/store/apis/upsertAppSettings.ts +23 -0
- package/src/store/schema.ts +2 -0
- package/src/store/types.ts +0 -5
- package/src/utils/DBSyncManager.ts +1 -1
- package/src/{components/Message/utils → utils}/removeReservedFields.ts +7 -3
- package/src/utils/utils.ts +7 -6
- package/src/version.json +1 -1
- package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +0 -1
- package/lib/commonjs/utils/pendingTaskUtils.js +0 -302
- package/lib/commonjs/utils/pendingTaskUtils.js.map +0 -1
- package/lib/module/components/Message/utils/removeReservedFields.js.map +0 -1
- package/lib/module/utils/pendingTaskUtils.js +0 -302
- package/lib/module/utils/pendingTaskUtils.js.map +0 -1
- package/lib/typescript/utils/pendingTaskUtils.d.ts +0 -13
- package/src/utils/pendingTaskUtils.ts +0 -131
|
@@ -174,7 +174,6 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
174
174
|
enableOfflineSupport = props.enableOfflineSupport,
|
|
175
175
|
FileAttachmentIcon = props.FileAttachmentIcon,
|
|
176
176
|
fileUploads = props.fileUploads,
|
|
177
|
-
isOnline = props.isOnline,
|
|
178
177
|
removeFile = props.removeFile,
|
|
179
178
|
setFileUploads = props.setFileUploads,
|
|
180
179
|
uploadFile = props.uploadFile;
|
|
@@ -247,7 +246,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
247
246
|
|
|
248
247
|
var index = _ref2.index,
|
|
249
248
|
item = _ref2.item;
|
|
250
|
-
var indicatorType = (0, _utils.getIndicatorTypeForFileState)(item.state,
|
|
249
|
+
var indicatorType = (0, _utils.getIndicatorTypeForFileState)(item.state, enableOfflineSupport);
|
|
251
250
|
var lastIndexOfDot = item.file.name.lastIndexOf('.');
|
|
252
251
|
return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_UploadProgressIndicator.UploadProgressIndicator, {
|
|
253
252
|
action: function action() {
|
|
@@ -260,7 +259,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
260
259
|
__self: _this,
|
|
261
260
|
__source: {
|
|
262
261
|
fileName: _jsxFileName,
|
|
263
|
-
lineNumber:
|
|
262
|
+
lineNumber: 223,
|
|
264
263
|
columnNumber: 9
|
|
265
264
|
}
|
|
266
265
|
}, (_item$file$type = item.file.type) != null && _item$file$type.startsWith('audio/') && (0, _native.isAudioPackageAvailable)() ? _react["default"].createElement(_reactNative.View, {
|
|
@@ -270,7 +269,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
270
269
|
__self: _this,
|
|
271
270
|
__source: {
|
|
272
271
|
fileName: _jsxFileName,
|
|
273
|
-
lineNumber:
|
|
272
|
+
lineNumber: 231,
|
|
274
273
|
columnNumber: 13
|
|
275
274
|
}
|
|
276
275
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -285,7 +284,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
285
284
|
__self: _this,
|
|
286
285
|
__source: {
|
|
287
286
|
fileName: _jsxFileName,
|
|
288
|
-
lineNumber:
|
|
287
|
+
lineNumber: 237,
|
|
289
288
|
columnNumber: 15
|
|
290
289
|
}
|
|
291
290
|
}, _react["default"].createElement(AudioAttachment, {
|
|
@@ -297,7 +296,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
297
296
|
__self: _this,
|
|
298
297
|
__source: {
|
|
299
298
|
fileName: _jsxFileName,
|
|
300
|
-
lineNumber:
|
|
299
|
+
lineNumber: 254,
|
|
301
300
|
columnNumber: 17
|
|
302
301
|
}
|
|
303
302
|
}))) : _react["default"].createElement(_reactNative.View, {
|
|
@@ -310,7 +309,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
310
309
|
__self: _this,
|
|
311
310
|
__source: {
|
|
312
311
|
fileName: _jsxFileName,
|
|
313
|
-
lineNumber:
|
|
312
|
+
lineNumber: 264,
|
|
314
313
|
columnNumber: 13
|
|
315
314
|
}
|
|
316
315
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -318,7 +317,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
318
317
|
__self: _this,
|
|
319
318
|
__source: {
|
|
320
319
|
fileName: _jsxFileName,
|
|
321
|
-
lineNumber:
|
|
320
|
+
lineNumber: 279,
|
|
322
321
|
columnNumber: 15
|
|
323
322
|
}
|
|
324
323
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -326,7 +325,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
326
325
|
__self: _this,
|
|
327
326
|
__source: {
|
|
328
327
|
fileName: _jsxFileName,
|
|
329
|
-
lineNumber:
|
|
328
|
+
lineNumber: 280,
|
|
330
329
|
columnNumber: 17
|
|
331
330
|
}
|
|
332
331
|
}, _react["default"].createElement(FileAttachmentIcon, {
|
|
@@ -334,7 +333,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
334
333
|
__self: _this,
|
|
335
334
|
__source: {
|
|
336
335
|
fileName: _jsxFileName,
|
|
337
|
-
lineNumber:
|
|
336
|
+
lineNumber: 281,
|
|
338
337
|
columnNumber: 19
|
|
339
338
|
}
|
|
340
339
|
})), _react["default"].createElement(_reactNative.View, {
|
|
@@ -342,7 +341,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
342
341
|
__self: _this,
|
|
343
342
|
__source: {
|
|
344
343
|
fileName: _jsxFileName,
|
|
345
|
-
lineNumber:
|
|
344
|
+
lineNumber: 283,
|
|
346
345
|
columnNumber: 17
|
|
347
346
|
}
|
|
348
347
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -358,7 +357,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
358
357
|
__self: _this,
|
|
359
358
|
__source: {
|
|
360
359
|
fileName: _jsxFileName,
|
|
361
|
-
lineNumber:
|
|
360
|
+
lineNumber: 284,
|
|
362
361
|
columnNumber: 19
|
|
363
362
|
}
|
|
364
363
|
}, item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)), indicatorType !== null && _react["default"].createElement(UnsupportedFileTypeOrFileSizeIndicator, {
|
|
@@ -367,7 +366,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
367
366
|
__self: _this,
|
|
368
367
|
__source: {
|
|
369
368
|
fileName: _jsxFileName,
|
|
370
|
-
lineNumber:
|
|
369
|
+
lineNumber: 304,
|
|
371
370
|
columnNumber: 21
|
|
372
371
|
}
|
|
373
372
|
})))), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -381,7 +380,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
381
380
|
__self: _this,
|
|
382
381
|
__source: {
|
|
383
382
|
fileName: _jsxFileName,
|
|
384
|
-
lineNumber:
|
|
383
|
+
lineNumber: 313,
|
|
385
384
|
columnNumber: 11
|
|
386
385
|
}
|
|
387
386
|
}, _react["default"].createElement(_Close.Close, {
|
|
@@ -389,7 +388,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
389
388
|
__self: _this,
|
|
390
389
|
__source: {
|
|
391
390
|
fileName: _jsxFileName,
|
|
392
|
-
lineNumber:
|
|
391
|
+
lineNumber: 320,
|
|
393
392
|
columnNumber: 13
|
|
394
393
|
}
|
|
395
394
|
}))));
|
|
@@ -427,7 +426,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
427
426
|
__self: _this,
|
|
428
427
|
__source: {
|
|
429
428
|
fileName: _jsxFileName,
|
|
430
|
-
lineNumber:
|
|
429
|
+
lineNumber: 336,
|
|
431
430
|
columnNumber: 5
|
|
432
431
|
}
|
|
433
432
|
}) : null;
|
|
@@ -445,8 +444,7 @@ var MemoizedFileUploadPreview = _react["default"].memo(FileUploadPreviewWithCont
|
|
|
445
444
|
|
|
446
445
|
var FileUploadPreview = function FileUploadPreview(props) {
|
|
447
446
|
var _useChatContext = (0, _contexts.useChatContext)(),
|
|
448
|
-
enableOfflineSupport = _useChatContext.enableOfflineSupport
|
|
449
|
-
isOnline = _useChatContext.isOnline;
|
|
447
|
+
enableOfflineSupport = _useChatContext.enableOfflineSupport;
|
|
450
448
|
|
|
451
449
|
var _useMessageInputConte = (0, _MessageInputContext.useMessageInputContext)(),
|
|
452
450
|
fileUploads = _useMessageInputConte.fileUploads,
|
|
@@ -465,13 +463,12 @@ var FileUploadPreview = function FileUploadPreview(props) {
|
|
|
465
463
|
removeFile: removeFile,
|
|
466
464
|
setFileUploads: setFileUploads,
|
|
467
465
|
uploadFile: uploadFile,
|
|
468
|
-
enableOfflineSupport: enableOfflineSupport
|
|
469
|
-
isOnline: isOnline
|
|
466
|
+
enableOfflineSupport: enableOfflineSupport
|
|
470
467
|
}, props, {
|
|
471
468
|
__self: _this,
|
|
472
469
|
__source: {
|
|
473
470
|
fileName: _jsxFileName,
|
|
474
|
-
lineNumber:
|
|
471
|
+
lineNumber: 401,
|
|
475
472
|
columnNumber: 5
|
|
476
473
|
}
|
|
477
474
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","marginTop","UnsupportedFileTypeOrFileSizeIndicator","indicatorType","item","theme","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","t","ProgressIndicatorTypes","NOT_SUPPORTED","color","file","duration","size","FileUploadPreviewWithContext","props","AudioAttachment","enableOfflineSupport","FileAttachmentIcon","fileUploads","isOnline","removeFile","setFileUploads","uploadFile","flatListRef","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","black","grey_gainsboro","grey_whisper","white","audioAttachmentFileContainer","renderItem","state","lastIndexOfDot","name","lastIndexOf","newFile","type","startsWith","FileState","UPLOADED","length","backgroundColor","borderColor","I18nManager","isRTL","writingDirection","slice","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { 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 },\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>, 'isOnline' | '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 isOnline,\n removeFile,\n setFileUploads,\n uploadFile,\n } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n duration: fileUpload.id === index ? duration : fileUpload.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n progress:\n fileUpload.id === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: fileUpload.id === index ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, isOnline, 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.type?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.type} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport, isOnline } = 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, isOnline }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","marginTop","UnsupportedFileTypeOrFileSizeIndicator","indicatorType","item","theme","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","t","ProgressIndicatorTypes","NOT_SUPPORTED","color","file","duration","size","FileUploadPreviewWithContext","props","AudioAttachment","enableOfflineSupport","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","black","grey_gainsboro","grey_whisper","white","audioAttachmentFileContainer","renderItem","state","lastIndexOfDot","name","lastIndexOf","newFile","type","startsWith","FileState","UPLOADED","length","backgroundColor","borderColor","I18nManager","isRTL","writingDirection","slice","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { 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 },\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 ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, 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.type?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.type} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { 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"]}
|
|
@@ -85,7 +85,6 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
85
85
|
var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props) {
|
|
86
86
|
var enableOfflineSupport = props.enableOfflineSupport,
|
|
87
87
|
imageUploads = props.imageUploads,
|
|
88
|
-
isOnline = props.isOnline,
|
|
89
88
|
removeImage = props.removeImage,
|
|
90
89
|
uploadImage = props.uploadImage;
|
|
91
90
|
|
|
@@ -152,7 +151,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
|
|
|
152
151
|
var renderItem = function renderItem(_ref2) {
|
|
153
152
|
var index = _ref2.index,
|
|
154
153
|
item = _ref2.item;
|
|
155
|
-
var indicatorType = (0, _utils.getIndicatorTypeForFileState)(item.state,
|
|
154
|
+
var indicatorType = (0, _utils.getIndicatorTypeForFileState)(item.state, enableOfflineSupport);
|
|
156
155
|
var itemMarginForIndex = index === imageUploads.length - 1 ? {
|
|
157
156
|
marginRight: 8
|
|
158
157
|
} : {};
|
|
@@ -271,41 +270,18 @@ var DismissUpload = function DismissUpload(_ref3) {
|
|
|
271
270
|
};
|
|
272
271
|
|
|
273
272
|
var areEqual = function areEqual(prevProps, nextProps) {
|
|
274
|
-
var
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
var nextEnableOfflineSupport = nextProps.enableOfflineSupport,
|
|
278
|
-
nextImageUploads = nextProps.imageUploads,
|
|
279
|
-
nextIsOnline = nextProps.isOnline;
|
|
280
|
-
var isOnlineEqual = prevIsOnline === nextIsOnline;
|
|
281
|
-
|
|
282
|
-
if (!isOnlineEqual) {
|
|
283
|
-
return false;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
var enableOfflineSupportEqual = prevEnableOfflineSupport === nextEnableOfflineSupport;
|
|
287
|
-
|
|
288
|
-
if (!enableOfflineSupportEqual) {
|
|
289
|
-
return false;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
var imageUploadsEqual = prevImageUploads.length === nextImageUploads.length && prevImageUploads.every(function (prevImageUpload, index) {
|
|
273
|
+
var prevImageUploads = prevProps.imageUploads;
|
|
274
|
+
var nextImageUploads = nextProps.imageUploads;
|
|
275
|
+
return prevImageUploads.length === nextImageUploads.length && prevImageUploads.every(function (prevImageUpload, index) {
|
|
293
276
|
return prevImageUpload.state === nextImageUploads[index].state;
|
|
294
277
|
});
|
|
295
|
-
|
|
296
|
-
if (!imageUploadsEqual) {
|
|
297
|
-
return false;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
return true;
|
|
301
278
|
};
|
|
302
279
|
|
|
303
280
|
var MemoizedImageUploadPreviewWithContext = _react["default"].memo(ImageUploadPreviewWithContext, areEqual);
|
|
304
281
|
|
|
305
282
|
var ImageUploadPreview = function ImageUploadPreview(props) {
|
|
306
283
|
var _useChatContext = (0, _contexts.useChatContext)(),
|
|
307
|
-
enableOfflineSupport = _useChatContext.enableOfflineSupport
|
|
308
|
-
isOnline = _useChatContext.isOnline;
|
|
284
|
+
enableOfflineSupport = _useChatContext.enableOfflineSupport;
|
|
309
285
|
|
|
310
286
|
var _useMessageInputConte = (0, _MessageInputContext.useMessageInputContext)(),
|
|
311
287
|
imageUploads = _useMessageInputConte.imageUploads,
|
|
@@ -316,13 +292,12 @@ var ImageUploadPreview = function ImageUploadPreview(props) {
|
|
|
316
292
|
imageUploads: imageUploads,
|
|
317
293
|
removeImage: removeImage,
|
|
318
294
|
uploadImage: uploadImage,
|
|
319
|
-
enableOfflineSupport: enableOfflineSupport
|
|
320
|
-
isOnline: isOnline
|
|
295
|
+
enableOfflineSupport: enableOfflineSupport
|
|
321
296
|
}, props, {
|
|
322
297
|
__self: _this,
|
|
323
298
|
__source: {
|
|
324
299
|
fileName: _jsxFileName,
|
|
325
|
-
lineNumber:
|
|
300
|
+
lineNumber: 233,
|
|
326
301
|
columnNumber: 5
|
|
327
302
|
}
|
|
328
303
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","fileSizeText","fontSize","paddingHorizontal","flatList","paddingBottom","iconContainer","alignItems","flexDirection","justifyContent","itemContainer","height","marginLeft","unsupportedImage","bottom","marginHorizontal","upload","width","warningIconStyle","marginTop","warningText","color","ImageUploadPreviewWithContext","props","enableOfflineSupport","imageUploads","isOnline","removeImage","uploadImage","theme","messageInput","imageUploadPreview","UnsupportedImageTypeIndicator","indicatorType","colors","accent_red","overlay","white","t","ProgressIndicatorTypes","NOT_SUPPORTED","backgroundColor","renderItem","index","item","state","itemMarginForIndex","length","marginRight","newImage","uri","file","url","id","_","offset","DismissUpload","onPress","dismissIconColor","areEqual","prevProps","nextProps","prevEnableOfflineSupport","prevImageUploads","prevIsOnline","nextEnableOfflineSupport","nextImageUploads","nextIsOnline","isOnlineEqual","enableOfflineSupportEqual","imageUploadsEqual","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n FlatList,\n Image,\n StyleSheet,\n Text,\n TouchableOpacity,\n TouchableOpacityProps,\n View,\n} from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n flatList: { paddingBottom: 12 },\n iconContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n unsupportedImage: {\n borderRadius: 20,\n bottom: 8,\n flexDirection: 'row',\n marginHorizontal: 3,\n position: 'absolute',\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 6,\n },\n warningText: {\n alignItems: 'center',\n color: 'black',\n fontSize: 10,\n justifyContent: 'center',\n marginHorizontal: 4,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n> &\n Pick<ChatContextValue<StreamChatGenerics>, 'isOnline' | 'enableOfflineSupport'>;\n\nexport type ImageUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ImageUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\ntype ImageUploadPreviewItem = { index: number; item: ImageUpload };\n\nconst ImageUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport, imageUploads, isOnline, removeImage, uploadImage } = props;\n\n const {\n theme: {\n messageInput: {\n imageUploadPreview: { flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const UnsupportedImageTypeIndicator = ({\n indicatorType,\n }: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes] | null;\n }) => {\n const {\n theme: {\n colors: { accent_red, overlay, white },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={[styles.unsupportedImage, { backgroundColor: overlay }]}>\n <View style={[styles.iconContainer]}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.warningText, { color: white }]}>{t('Not supported')}</Text>\n </View>\n </View>\n ) : null;\n };\n\n const renderItem = ({ index, item }: ImageUploadPreviewItem) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, isOnline, enableOfflineSupport);\n const itemMarginForIndex = index === imageUploads.length - 1 ? { marginRight: 8 } : {};\n\n return (\n <View style={[styles.itemContainer, itemMarginForIndex, itemContainer]}>\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n style={styles.upload}\n type={indicatorType}\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <DismissUpload\n onPress={() => {\n removeImage(item.id);\n }}\n />\n <UnsupportedImageTypeIndicator indicatorType={indicatorType} />\n </View>\n );\n };\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\ntype DismissUploadProps = Pick<TouchableOpacityProps, 'onPress'>;\n\nconst DismissUpload = ({ onPress }: DismissUploadProps) => {\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, dismissIconColor },\n },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n onPress={onPress}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={dismissIconColor || white} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n enableOfflineSupport: prevEnableOfflineSupport,\n imageUploads: prevImageUploads,\n isOnline: prevIsOnline,\n } = prevProps;\n const {\n enableOfflineSupport: nextEnableOfflineSupport,\n imageUploads: nextImageUploads,\n isOnline: nextIsOnline,\n } = nextProps;\n\n const isOnlineEqual = prevIsOnline === nextIsOnline;\n\n if (!isOnlineEqual) {\n return false;\n }\n\n const enableOfflineSupportEqual = prevEnableOfflineSupport === nextEnableOfflineSupport;\n\n if (!enableOfflineSupportEqual) {\n return false;\n }\n\n const imageUploadsEqual =\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n );\n\n if (!imageUploadsEqual) {\n return false;\n }\n\n return true;\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport, isOnline } = useChatContext<StreamChatGenerics>();\n const { imageUploads, removeImage, uploadImage } = useMessageInputContext<StreamChatGenerics>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...{ enableOfflineSupport, isOnline }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","fileSizeText","fontSize","paddingHorizontal","flatList","paddingBottom","iconContainer","alignItems","flexDirection","justifyContent","itemContainer","height","marginLeft","unsupportedImage","bottom","marginHorizontal","upload","width","warningIconStyle","marginTop","warningText","color","ImageUploadPreviewWithContext","props","enableOfflineSupport","imageUploads","removeImage","uploadImage","theme","messageInput","imageUploadPreview","UnsupportedImageTypeIndicator","indicatorType","colors","accent_red","overlay","white","t","ProgressIndicatorTypes","NOT_SUPPORTED","backgroundColor","renderItem","index","item","state","itemMarginForIndex","length","marginRight","newImage","uri","file","url","id","_","offset","DismissUpload","onPress","dismissIconColor","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n FlatList,\n Image,\n StyleSheet,\n Text,\n TouchableOpacity,\n TouchableOpacityProps,\n View,\n} from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n flatList: { paddingBottom: 12 },\n iconContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n unsupportedImage: {\n borderRadius: 20,\n bottom: 8,\n flexDirection: 'row',\n marginHorizontal: 3,\n position: 'absolute',\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 6,\n },\n warningText: {\n alignItems: 'center',\n color: 'black',\n fontSize: 10,\n justifyContent: 'center',\n marginHorizontal: 4,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n> &\n Pick<ChatContextValue<StreamChatGenerics>, 'enableOfflineSupport'>;\n\nexport type ImageUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ImageUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\ntype ImageUploadPreviewItem = { index: number; item: ImageUpload };\n\nconst ImageUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport, imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n messageInput: {\n imageUploadPreview: { flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const UnsupportedImageTypeIndicator = ({\n indicatorType,\n }: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes] | null;\n }) => {\n const {\n theme: {\n colors: { accent_red, overlay, white },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={[styles.unsupportedImage, { backgroundColor: overlay }]}>\n <View style={[styles.iconContainer]}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.warningText, { color: white }]}>{t('Not supported')}</Text>\n </View>\n </View>\n ) : null;\n };\n\n const renderItem = ({ index, item }: ImageUploadPreviewItem) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, enableOfflineSupport);\n const itemMarginForIndex = index === imageUploads.length - 1 ? { marginRight: 8 } : {};\n\n return (\n <View style={[styles.itemContainer, itemMarginForIndex, itemContainer]}>\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n style={styles.upload}\n type={indicatorType}\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <DismissUpload\n onPress={() => {\n removeImage(item.id);\n }}\n />\n <UnsupportedImageTypeIndicator indicatorType={indicatorType} />\n </View>\n );\n };\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\ntype DismissUploadProps = Pick<TouchableOpacityProps, 'onPress'>;\n\nconst DismissUpload = ({ onPress }: DismissUploadProps) => {\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, dismissIconColor },\n },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n onPress={onPress}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={dismissIconColor || white} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { imageUploads, removeImage, uploadImage } = useMessageInputContext<StreamChatGenerics>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...{ enableOfflineSupport }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}
|
|
@@ -1289,7 +1289,7 @@ Object.keys(_messageActions).forEach(function (key) {
|
|
|
1289
1289
|
});
|
|
1290
1290
|
});
|
|
1291
1291
|
|
|
1292
|
-
var _removeReservedFields = require("
|
|
1292
|
+
var _removeReservedFields = require("../utils/removeReservedFields");
|
|
1293
1293
|
|
|
1294
1294
|
Object.keys(_removeReservedFields).forEach(function (key) {
|
|
1295
1295
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Attachment/Attachment';\nexport * from './Attachment/AttachmentActions';\nexport * from './Attachment/AudioAttachment';\nexport * from './Attachment/Card';\nexport * from './Attachment/FileAttachment';\nexport * from './Attachment/FileAttachmentGroup';\nexport * from './Attachment/FileIcon';\nexport * from './Attachment/Gallery';\nexport * from './Attachment/Giphy';\nexport * from './Attachment/VideoThumbnail';\nexport * from './Attachment/utils/buildGallery/buildGallery';\n\nexport * from './AttachmentPicker/AttachmentPicker';\nexport * from './AttachmentPicker/components/AttachmentPickerBottomSheetHandle';\nexport * from './AttachmentPicker/components/AttachmentPickerError';\nexport * from './AttachmentPicker/components/AttachmentPickerErrorImage';\nexport * from './AttachmentPicker/components/AttachmentSelectionBar';\nexport * from './AttachmentPicker/components/CameraSelectorIcon';\nexport * from './AttachmentPicker/components/FileSelectorIcon';\nexport * from './AttachmentPicker/components/ImageOverlaySelectedComponent';\nexport * from './AttachmentPicker/components/ImageSelectorIcon';\n\nexport * from './AutoCompleteInput/AutoCompleteInput';\nexport * from './AutoCompleteInput/AutoCompleteSuggestionHeader';\nexport * from './AutoCompleteInput/AutoCompleteSuggestionItem';\nexport * from './AutoCompleteInput/AutoCompleteSuggestionList';\n\nexport * from './Avatar/Avatar';\nexport * from './Avatar/GroupAvatar';\n\nexport * from './Channel/Channel';\nexport * from './Channel/hooks/useCreateChannelContext';\nexport * from './Channel/hooks/useCreateInputMessageInputContext';\nexport * from './Channel/hooks/useCreateMessagesContext';\nexport * from './Channel/hooks/useCreatePaginatedMessageListContext';\nexport * from './Channel/hooks/useCreateThreadContext';\nexport * from './Channel/hooks/useCreateTypingContext';\nexport * from './Channel/hooks/useTargetedMessage';\n\nexport * from './ChannelList/ChannelList';\nexport * from './ChannelList/ChannelListFooterLoadingIndicator';\nexport * from './ChannelList/ChannelListHeaderErrorIndicator';\nexport * from './ChannelList/ChannelListHeaderNetworkDownIndicator';\nexport * from './ChannelList/ChannelListLoadingIndicator';\nexport * from './ChannelList/ChannelListMessenger';\nexport * from './ChannelList/hooks/listeners/useAddedToChannelNotification';\nexport * from './ChannelList/hooks/listeners/useChannelDeleted';\nexport * from './ChannelList/hooks/listeners/useChannelHidden';\nexport * from './ChannelList/hooks/listeners/useChannelTruncated';\nexport * from './ChannelList/hooks/listeners/useChannelUpdated';\nexport * from './ChannelList/hooks/listeners/useNewMessage';\nexport * from './ChannelList/hooks/listeners/useNewMessageNotification';\nexport * from './ChannelList/hooks/listeners/useRemovedFromChannelNotification';\nexport * from './ChannelList/hooks/listeners/useUserPresence';\nexport * from './ChannelList/hooks/useCreateChannelsContext';\nexport * from './ChannelList/hooks/usePaginatedChannels';\nexport * from './ChannelList/Skeleton';\n\nexport * from './ChannelPreview/ChannelAvatar';\nexport * from './ChannelPreview/ChannelPreview';\nexport * from './ChannelPreview/ChannelPreviewMessenger';\nexport * from './ChannelPreview/ChannelPreviewMessage';\nexport * from './ChannelPreview/ChannelPreviewStatus';\nexport * from './ChannelPreview/ChannelPreviewTitle';\nexport * from './ChannelPreview/ChannelPreviewUnreadCount';\nexport * from './ChannelPreview/hooks/useChannelPreviewDisplayAvatar';\nexport * from './ChannelPreview/hooks/useChannelPreviewDisplayName';\nexport * from './ChannelPreview/hooks/useChannelPreviewDisplayPresence';\nexport * from './ChannelPreview/hooks/useLatestMessagePreview';\n\nexport * from './Chat/Chat';\nexport * from './Chat/hooks/useCreateChatContext';\nexport * from './Chat/hooks/useIsOnline';\nexport * from './Chat/hooks/useMutedUsers';\nexport * from './Chat/hooks/useSyncDatabase';\n\nexport * from './ImageGallery/ImageGallery';\nexport * from './ImageGallery/components/AnimatedGalleryImage';\nexport * from './ImageGallery/components/AnimatedGalleryVideo';\nexport * from './ImageGallery/components/ImageGalleryFooter';\nexport * from './ImageGallery/components/ImageGalleryHeader';\nexport * from './ImageGallery/components/ImageGalleryOverlay';\nexport * from './ImageGallery/components/ImageGrid';\nexport * from './ImageGallery/components/ImageGridHandle';\n\nexport * from './Indicators/EmptyStateIndicator';\nexport * from './Indicators/LoadingDot';\nexport * from './Indicators/LoadingDots';\nexport * from './Indicators/LoadingErrorIndicator';\nexport * from './Indicators/LoadingIndicator';\n\nexport * from './KeyboardCompatibleView/KeyboardCompatibleView';\n\nexport * from './Message/hooks/useCreateMessageContext';\nexport * from './Message/hooks/useMessageActions';\nexport * from './Message/hooks/useMessageActionHandlers';\nexport * from './Message/Message';\nexport * from './Message/MessageSimple/MessageAvatar';\nexport * from './Message/MessageSimple/MessageContent';\nexport * from './Message/MessageSimple/MessageDeleted';\nexport * from './Message/MessageSimple/MessageFooter';\nexport * from './Message/MessageSimple/MessagePinnedHeader';\nexport * from './Message/MessageSimple/MessageReplies';\nexport * from './Message/MessageSimple/MessageRepliesAvatars';\nexport * from './Message/MessageSimple/MessageSimple';\nexport * from './Message/MessageSimple/MessageStatus';\nexport * from './Message/MessageSimple/MessageTextContainer';\nexport * from './Message/MessageSimple/ReactionList';\nexport * from './Message/MessageSimple/utils/renderText';\nexport * from './Message/utils/messageActions';\nexport * from './Message/utils/removeReservedFields';\n\nexport * from './MessageInput/AttachButton';\nexport * from './MessageInput/CommandsButton';\nexport * from './MessageInput/CooldownTimer';\nexport * from './MessageInput/FileUploadPreview';\nexport * from './MessageInput/ImageUploadPreview';\nexport * from './MessageInput/InputButtons';\nexport * from './MessageInput/MessageInput';\nexport * from './MessageInput/MoreOptionsButton';\nexport * from './MessageInput/SendButton';\nexport * from './MessageInput/ShowThreadMessageInChannelButton';\nexport * from './MessageInput/UploadProgressIndicator';\n\nexport * from './MessageList/DateHeader';\nexport * from './MessageList/hooks/useMessageList';\nexport * from './MessageList/hooks/useTypingString';\nexport * from './MessageList/InlineDateSeparator';\nexport * from './MessageList/InlineLoadingMoreIndicator';\nexport * from './MessageList/InlineLoadingMoreRecentIndicator';\nexport * from './MessageList/InlineLoadingMoreThreadIndicator';\nexport * from './MessageList/InlineUnreadIndicator';\nexport * from './MessageList/MessageList';\nexport * from './MessageList/MessageSystem';\nexport * from './MessageList/NetworkDownIndicator';\nexport * from './MessageList/ScrollToBottomButton';\nexport * from './MessageList/TypingIndicator';\nexport * from './MessageList/TypingIndicatorContainer';\nexport * from './MessageList/utils/getDateSeparators';\nexport * from './MessageList/utils/getGroupStyles';\nexport * from './MessageList/utils/getLastReceivedMessage';\nexport * from './MessageList/utils/getReadStates';\n\nexport * from './MessageOverlay/hooks/useMessageActionAnimation';\nexport * from './MessageOverlay/MessageActionList';\nexport * from './MessageOverlay/MessageActionListItem';\nexport * from './MessageOverlay/MessageOverlay';\nexport * from './MessageOverlay/OverlayBackdrop';\nexport * from './MessageOverlay/OverlayReactions';\nexport * from './MessageOverlay/OverlayReactionsAvatar';\nexport * from './MessageOverlay/OverlayReactionList';\n\nexport * from './ProgressControl/ProgressControl';\n\nexport * from './Reply/Reply';\n\nexport * from './Spinner/Spinner';\n\nexport * from './Thread/Thread';\nexport * from './Thread/components/ThreadFooterComponent';\n"]}
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Attachment/Attachment';\nexport * from './Attachment/AttachmentActions';\nexport * from './Attachment/AudioAttachment';\nexport * from './Attachment/Card';\nexport * from './Attachment/FileAttachment';\nexport * from './Attachment/FileAttachmentGroup';\nexport * from './Attachment/FileIcon';\nexport * from './Attachment/Gallery';\nexport * from './Attachment/Giphy';\nexport * from './Attachment/VideoThumbnail';\nexport * from './Attachment/utils/buildGallery/buildGallery';\n\nexport * from './AttachmentPicker/AttachmentPicker';\nexport * from './AttachmentPicker/components/AttachmentPickerBottomSheetHandle';\nexport * from './AttachmentPicker/components/AttachmentPickerError';\nexport * from './AttachmentPicker/components/AttachmentPickerErrorImage';\nexport * from './AttachmentPicker/components/AttachmentSelectionBar';\nexport * from './AttachmentPicker/components/CameraSelectorIcon';\nexport * from './AttachmentPicker/components/FileSelectorIcon';\nexport * from './AttachmentPicker/components/ImageOverlaySelectedComponent';\nexport * from './AttachmentPicker/components/ImageSelectorIcon';\n\nexport * from './AutoCompleteInput/AutoCompleteInput';\nexport * from './AutoCompleteInput/AutoCompleteSuggestionHeader';\nexport * from './AutoCompleteInput/AutoCompleteSuggestionItem';\nexport * from './AutoCompleteInput/AutoCompleteSuggestionList';\n\nexport * from './Avatar/Avatar';\nexport * from './Avatar/GroupAvatar';\n\nexport * from './Channel/Channel';\nexport * from './Channel/hooks/useCreateChannelContext';\nexport * from './Channel/hooks/useCreateInputMessageInputContext';\nexport * from './Channel/hooks/useCreateMessagesContext';\nexport * from './Channel/hooks/useCreatePaginatedMessageListContext';\nexport * from './Channel/hooks/useCreateThreadContext';\nexport * from './Channel/hooks/useCreateTypingContext';\nexport * from './Channel/hooks/useTargetedMessage';\n\nexport * from './ChannelList/ChannelList';\nexport * from './ChannelList/ChannelListFooterLoadingIndicator';\nexport * from './ChannelList/ChannelListHeaderErrorIndicator';\nexport * from './ChannelList/ChannelListHeaderNetworkDownIndicator';\nexport * from './ChannelList/ChannelListLoadingIndicator';\nexport * from './ChannelList/ChannelListMessenger';\nexport * from './ChannelList/hooks/listeners/useAddedToChannelNotification';\nexport * from './ChannelList/hooks/listeners/useChannelDeleted';\nexport * from './ChannelList/hooks/listeners/useChannelHidden';\nexport * from './ChannelList/hooks/listeners/useChannelTruncated';\nexport * from './ChannelList/hooks/listeners/useChannelUpdated';\nexport * from './ChannelList/hooks/listeners/useNewMessage';\nexport * from './ChannelList/hooks/listeners/useNewMessageNotification';\nexport * from './ChannelList/hooks/listeners/useRemovedFromChannelNotification';\nexport * from './ChannelList/hooks/listeners/useUserPresence';\nexport * from './ChannelList/hooks/useCreateChannelsContext';\nexport * from './ChannelList/hooks/usePaginatedChannels';\nexport * from './ChannelList/Skeleton';\n\nexport * from './ChannelPreview/ChannelAvatar';\nexport * from './ChannelPreview/ChannelPreview';\nexport * from './ChannelPreview/ChannelPreviewMessenger';\nexport * from './ChannelPreview/ChannelPreviewMessage';\nexport * from './ChannelPreview/ChannelPreviewStatus';\nexport * from './ChannelPreview/ChannelPreviewTitle';\nexport * from './ChannelPreview/ChannelPreviewUnreadCount';\nexport * from './ChannelPreview/hooks/useChannelPreviewDisplayAvatar';\nexport * from './ChannelPreview/hooks/useChannelPreviewDisplayName';\nexport * from './ChannelPreview/hooks/useChannelPreviewDisplayPresence';\nexport * from './ChannelPreview/hooks/useLatestMessagePreview';\n\nexport * from './Chat/Chat';\nexport * from './Chat/hooks/useCreateChatContext';\nexport * from './Chat/hooks/useIsOnline';\nexport * from './Chat/hooks/useMutedUsers';\nexport * from './Chat/hooks/useSyncDatabase';\n\nexport * from './ImageGallery/ImageGallery';\nexport * from './ImageGallery/components/AnimatedGalleryImage';\nexport * from './ImageGallery/components/AnimatedGalleryVideo';\nexport * from './ImageGallery/components/ImageGalleryFooter';\nexport * from './ImageGallery/components/ImageGalleryHeader';\nexport * from './ImageGallery/components/ImageGalleryOverlay';\nexport * from './ImageGallery/components/ImageGrid';\nexport * from './ImageGallery/components/ImageGridHandle';\n\nexport * from './Indicators/EmptyStateIndicator';\nexport * from './Indicators/LoadingDot';\nexport * from './Indicators/LoadingDots';\nexport * from './Indicators/LoadingErrorIndicator';\nexport * from './Indicators/LoadingIndicator';\n\nexport * from './KeyboardCompatibleView/KeyboardCompatibleView';\n\nexport * from './Message/hooks/useCreateMessageContext';\nexport * from './Message/hooks/useMessageActions';\nexport * from './Message/hooks/useMessageActionHandlers';\nexport * from './Message/Message';\nexport * from './Message/MessageSimple/MessageAvatar';\nexport * from './Message/MessageSimple/MessageContent';\nexport * from './Message/MessageSimple/MessageDeleted';\nexport * from './Message/MessageSimple/MessageFooter';\nexport * from './Message/MessageSimple/MessagePinnedHeader';\nexport * from './Message/MessageSimple/MessageReplies';\nexport * from './Message/MessageSimple/MessageRepliesAvatars';\nexport * from './Message/MessageSimple/MessageSimple';\nexport * from './Message/MessageSimple/MessageStatus';\nexport * from './Message/MessageSimple/MessageTextContainer';\nexport * from './Message/MessageSimple/ReactionList';\nexport * from './Message/MessageSimple/utils/renderText';\nexport * from './Message/utils/messageActions';\nexport * from '../utils/removeReservedFields';\n\nexport * from './MessageInput/AttachButton';\nexport * from './MessageInput/CommandsButton';\nexport * from './MessageInput/CooldownTimer';\nexport * from './MessageInput/FileUploadPreview';\nexport * from './MessageInput/ImageUploadPreview';\nexport * from './MessageInput/InputButtons';\nexport * from './MessageInput/MessageInput';\nexport * from './MessageInput/MoreOptionsButton';\nexport * from './MessageInput/SendButton';\nexport * from './MessageInput/ShowThreadMessageInChannelButton';\nexport * from './MessageInput/UploadProgressIndicator';\n\nexport * from './MessageList/DateHeader';\nexport * from './MessageList/hooks/useMessageList';\nexport * from './MessageList/hooks/useTypingString';\nexport * from './MessageList/InlineDateSeparator';\nexport * from './MessageList/InlineLoadingMoreIndicator';\nexport * from './MessageList/InlineLoadingMoreRecentIndicator';\nexport * from './MessageList/InlineLoadingMoreThreadIndicator';\nexport * from './MessageList/InlineUnreadIndicator';\nexport * from './MessageList/MessageList';\nexport * from './MessageList/MessageSystem';\nexport * from './MessageList/NetworkDownIndicator';\nexport * from './MessageList/ScrollToBottomButton';\nexport * from './MessageList/TypingIndicator';\nexport * from './MessageList/TypingIndicatorContainer';\nexport * from './MessageList/utils/getDateSeparators';\nexport * from './MessageList/utils/getGroupStyles';\nexport * from './MessageList/utils/getLastReceivedMessage';\nexport * from './MessageList/utils/getReadStates';\n\nexport * from './MessageOverlay/hooks/useMessageActionAnimation';\nexport * from './MessageOverlay/MessageActionList';\nexport * from './MessageOverlay/MessageActionListItem';\nexport * from './MessageOverlay/MessageOverlay';\nexport * from './MessageOverlay/OverlayBackdrop';\nexport * from './MessageOverlay/OverlayReactions';\nexport * from './MessageOverlay/OverlayReactionsAvatar';\nexport * from './MessageOverlay/OverlayReactionList';\n\nexport * from './ProgressControl/ProgressControl';\n\nexport * from './Reply/Reply';\n\nexport * from './Spinner/Spinner';\n\nexport * from './Thread/Thread';\nexport * from './Thread/components/ThreadFooterComponent';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ChatContext.tsx"],"names":["ChatContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","ChatProvider","children","value","useChatContext","contextValue","Error","withChatContext","Component","WithChatContextComponent","props","chatContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAMA;;AAEA;;AACA;;;;;;;;;AAyDO,IAAMA,WAAW,GAAGC,kBAAMC,aAAN,CAAoBC,mDAApB,CAApB;;;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,MAG1BC,QAH0B,QAG1BA,QAH0B;AAAA,MAI1BC,KAJ0B,QAI1BA,KAJ0B;AAAA,SAQ1B,gCAAC,WAAD,CAAa,QAAb;AAAsB,IAAA,KAAK,EAAEA,KAA7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAR0B;AAAA,CAArB;;;;AAaA,IAAME,cAAc,GAAG,SAAjBA,cAAiB,GAEvB;AACL,MAAMC,YAAY,GAAG,uBAAWR,WAAX,CAArB;;AAEA,MAAIQ,YAAY,KAAKL,mDAAjB,IAA+C,CAAC,2CAApD,EAAyE;AACvE,UAAM,IAAIM,KAAJ,+MAAN;AAGD;;AAED,SAAOD,YAAP;AACD,CAZM;;;;AAmBA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAI7BC,SAJ6B,EAKqC;AAClE,MAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,KAAD,EAAgE;AAC/F,QAAMC,WAAW,GAAGP,cAAc,EAAlC;AAEA,WAAO,gCAAC,SAAD,gCAAgBM,KAAhB,EAAiCC,WAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAJD;;AAKAF,EAAAA,wBAAwB,CAACG,WAAzB,uBAAyD,oCAAeJ,SAAf,CAAzD;AACA,SAAOC,wBAAP;AACD,CAbM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\nimport type { ImageProps } from 'react-native';\n\nimport type { AppSettingsAPIResponse, Channel, Mute, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type ChatContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Object of application settings returned from Stream.\n * */\n appSettings: AppSettingsAPIResponse<StreamChatGenerics> | null;\n /**\n * The StreamChat client object\n *\n * ```\n * import { StreamChat } from 'stream-chat';\n * import { Chat } from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key);\n * await client.connectUser('user_id', 'userToken');\n *\n * <Chat client={client}>\n * </Chat>\n * ```\n *\n * @overrideType StreamChat\n * */\n client: StreamChat<StreamChatGenerics>;\n connectionRecovering: boolean;\n enableOfflineSupport: boolean;\n ImageComponent: React.ComponentType<ImageProps>;\n isOnline: boolean;\n mutedUsers: Mute<StreamChatGenerics>[];\n /**\n * @param newChannel Channel to set as active.\n *\n * @overrideType Function\n */\n setActiveChannel: (newChannel?: Channel<StreamChatGenerics>) => void;\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n * ```\n *\n * @overrideType Channel\n */\n channel?: Channel<StreamChatGenerics>;\n};\n\nexport const ChatContext = React.createContext(DEFAULT_BASE_CONTEXT_VALUE as ChatContextValue);\n\nexport const ChatProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: ChatContextValue<StreamChatGenerics>;\n}>) => (\n <ChatContext.Provider value={value as unknown as ChatContextValue}>\n {children}\n </ChatContext.Provider>\n);\n\nexport const useChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(ChatContext) as unknown as ChatContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useChatContext hook was called outside the ChatContext Provider. Make sure you have configured Chat component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#chat`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChatContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChatContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChatContextValue<StreamChatGenerics>>> => {\n const WithChatContextComponent = (props: Omit<P, keyof ChatContextValue<StreamChatGenerics>>) => {\n const chatContext = useChatContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...chatContext} />;\n };\n WithChatContextComponent.displayName = `WithChatContext${getDisplayName(Component)}`;\n return WithChatContextComponent;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["ChatContext.tsx"],"names":["ChatContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","ChatProvider","children","value","useChatContext","contextValue","Error","withChatContext","Component","WithChatContextComponent","props","chatContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAMA;;AAEA;;AACA;;;;;;;;;AAyDO,IAAMA,WAAW,GAAGC,kBAAMC,aAAN,CAAoBC,mDAApB,CAApB;;;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,MAG1BC,QAH0B,QAG1BA,QAH0B;AAAA,MAI1BC,KAJ0B,QAI1BA,KAJ0B;AAAA,SAQ1B,gCAAC,WAAD,CAAa,QAAb;AAAsB,IAAA,KAAK,EAAEA,KAA7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAR0B;AAAA,CAArB;;;;AAaA,IAAME,cAAc,GAAG,SAAjBA,cAAiB,GAEvB;AACL,MAAMC,YAAY,GAAG,uBAAWR,WAAX,CAArB;;AAEA,MAAIQ,YAAY,KAAKL,mDAAjB,IAA+C,CAAC,2CAApD,EAAyE;AACvE,UAAM,IAAIM,KAAJ,+MAAN;AAGD;;AAED,SAAOD,YAAP;AACD,CAZM;;;;AAmBA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAI7BC,SAJ6B,EAKqC;AAClE,MAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,KAAD,EAAgE;AAC/F,QAAMC,WAAW,GAAGP,cAAc,EAAlC;AAEA,WAAO,gCAAC,SAAD,gCAAgBM,KAAhB,EAAiCC,WAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAJD;;AAKAF,EAAAA,wBAAwB,CAACG,WAAzB,uBAAyD,oCAAeJ,SAAf,CAAzD;AACA,SAAOC,wBAAP;AACD,CAbM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\nimport type { ImageProps } from 'react-native';\n\nimport type { AppSettingsAPIResponse, Channel, Mute, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type ChatContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Object of application settings returned from Stream.\n * */\n appSettings: AppSettingsAPIResponse<StreamChatGenerics> | null;\n /**\n * The StreamChat client object\n *\n * ```\n * import { StreamChat } from 'stream-chat';\n * import { Chat } from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key);\n * await client.connectUser('user_id', 'userToken');\n *\n * <Chat client={client}>\n * </Chat>\n * ```\n *\n * @overrideType StreamChat\n * */\n client: StreamChat<StreamChatGenerics>;\n connectionRecovering: boolean;\n enableOfflineSupport: boolean;\n ImageComponent: React.ComponentType<ImageProps>;\n isOnline: boolean | null;\n mutedUsers: Mute<StreamChatGenerics>[];\n /**\n * @param newChannel Channel to set as active.\n *\n * @overrideType Function\n */\n setActiveChannel: (newChannel?: Channel<StreamChatGenerics>) => void;\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n * ```\n *\n * @overrideType Channel\n */\n channel?: Channel<StreamChatGenerics>;\n};\n\nexport const ChatContext = React.createContext(DEFAULT_BASE_CONTEXT_VALUE as ChatContextValue);\n\nexport const ChatProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: ChatContextValue<StreamChatGenerics>;\n}>) => (\n <ChatContext.Provider value={value as unknown as ChatContextValue}>\n {children}\n </ChatContext.Provider>\n);\n\nexport const useChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(ChatContext) as unknown as ChatContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useChatContext hook was called outside the ChatContext Provider. Make sure you have configured Chat component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#chat`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChatContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChatContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChatContextValue<StreamChatGenerics>>> => {\n const WithChatContextComponent = (props: Omit<P, keyof ChatContextValue<StreamChatGenerics>>) => {\n const chatContext = useChatContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...chatContext} />;\n };\n WithChatContextComponent.displayName = `WithChatContext${getDisplayName(Component)}`;\n return WithChatContextComponent;\n};\n"]}
|