stream-chat-react-native-core 4.9.0-beta.3 → 4.10.0-beta.1
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 +246 -190
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js +11 -5
- package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +7 -3
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +9 -5
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +25 -22
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +15 -15
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +13 -8
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +34 -35
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +15 -13
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js +8 -4
- package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
- package/lib/commonjs/hooks/useTranslatedMessage.js +34 -0
- package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -0
- package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/attachment.js +3 -2
- package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +8 -4
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Gallery.js +246 -190
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js +11 -5
- package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +7 -3
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +9 -5
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +25 -22
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +15 -15
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/Message/Message.js +13 -8
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -4
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +34 -35
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +15 -13
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js +8 -4
- package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/module/hooks/useStreami18n.js.map +1 -1
- package/lib/module/hooks/useTranslatedMessage.js +34 -0
- package/lib/module/hooks/useTranslatedMessage.js.map +1 -0
- package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/module/mock-builders/generator/attachment.js +3 -2
- package/lib/module/mock-builders/generator/attachment.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +8 -4
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +3 -1
- package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/__tests__/ChannelPreview.test.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/__tests__/MessageTextContainer.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/MessageInputContext.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/isValidMessage.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/pickFile.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/removeFile.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/removeImage.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/sendMessage.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/sendMessageAsync.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/updateMessage.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/uploadFile.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/uploadImage.test.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.d.ts +1 -0
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +2 -1
- package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +7 -2
- package/lib/typescript/hooks/__tests__/useTranslatedMessage.test.d.ts +1 -0
- package/lib/typescript/hooks/useStreami18n.d.ts +2 -2
- package/lib/typescript/hooks/useTranslatedMessage.d.ts +3 -0
- package/lib/typescript/mock-builders/api/getOrCreateChannel.d.ts +13 -1
- package/lib/typescript/mock-builders/event/messageNew.d.ts +2 -0
- package/lib/typescript/mock-builders/event/messageRead.d.ts +8 -0
- package/lib/typescript/mock-builders/generator/attachment.d.ts +10 -0
- package/lib/typescript/mock-builders/generator/channel.d.ts +27 -23
- package/lib/typescript/mock-builders/generator/message.d.ts +38 -0
- package/lib/typescript/mock-builders/generator/user.d.ts +9 -9
- package/package.json +7 -6
- package/src/components/Attachment/Gallery.tsx +231 -140
- package/src/components/Attachment/VideoThumbnail.tsx +12 -5
- package/src/components/Attachment/__tests__/Attachment.test.js +12 -0
- package/src/components/Attachment/__tests__/Gallery.test.js +23 -1
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +1 -0
- package/src/components/Attachment/utils/buildGallery/types.ts +1 -0
- package/src/components/ChannelPreview/ChannelPreview.tsx +7 -1
- package/src/components/ChannelPreview/__tests__/{ChannelPreview.test.js → ChannelPreview.test.tsx} +79 -41
- package/src/components/ChannelPreview/hooks/__tests__/useLatestMessagePreview.test.tsx +56 -21
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +4 -1
- package/src/components/Chat/Chat.tsx +6 -3
- package/src/components/ImageGallery/ImageGallery.tsx +10 -6
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -1
- package/src/components/Message/Message.tsx +8 -1
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +7 -1
- package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.tsx +108 -0
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/{MessageTextContainer.test.js.snap → MessageTextContainer.test.tsx.snap} +0 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +10 -4
- package/src/contexts/messageInputContext/__tests__/MessageInputContext.test.tsx +208 -0
- package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +113 -0
- package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessageAsync.test.tsx.snap +33 -0
- package/src/contexts/messageInputContext/__tests__/isValidMessage.test.tsx +71 -0
- package/src/contexts/messageInputContext/__tests__/pickFile.test.tsx +67 -0
- package/src/contexts/messageInputContext/__tests__/removeFile.test.tsx +82 -0
- package/src/contexts/messageInputContext/__tests__/removeImage.test.tsx +80 -0
- package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +286 -0
- package/src/contexts/messageInputContext/__tests__/sendMessageAsync.test.tsx +124 -0
- package/src/contexts/messageInputContext/__tests__/updateMessage.test.tsx +92 -0
- package/src/contexts/messageInputContext/__tests__/uploadFile.test.tsx +76 -0
- package/src/contexts/messageInputContext/__tests__/uploadImage.test.tsx +55 -0
- package/src/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.tsx +62 -0
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +2 -1
- package/src/contexts/overlayContext/OverlayProvider.tsx +4 -3
- package/src/contexts/translationContext/TranslationContext.tsx +10 -1
- package/src/hooks/__tests__/useTranslatedMessage.test.tsx +106 -0
- package/src/hooks/useStreami18n.ts +2 -2
- package/src/hooks/useTranslatedMessage.ts +30 -0
- package/src/mock-builders/api/{getOrCreateChannel.js → getOrCreateChannel.ts} +8 -1
- package/src/mock-builders/generator/attachment.js +4 -2
- package/src/mock-builders/generator/{channel.js → channel.ts} +19 -10
- package/src/utils/getUrlOfImageAttachment.ts +1 -1
- package/src/version.json +1 -1
- package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +0 -65
|
@@ -224,11 +224,13 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
224
224
|
};
|
|
225
225
|
if (loadingTranslators) return null;
|
|
226
226
|
return _react["default"].createElement(_TranslationContext.TranslationProvider, {
|
|
227
|
-
value: translators,
|
|
227
|
+
value: (0, _extends2["default"])({}, translators, {
|
|
228
|
+
userLanguage: _TranslationContext.DEFAULT_USER_LANGUAGE
|
|
229
|
+
}),
|
|
228
230
|
__self: _this,
|
|
229
231
|
__source: {
|
|
230
232
|
fileName: _jsxFileName,
|
|
231
|
-
lineNumber:
|
|
233
|
+
lineNumber: 202,
|
|
232
234
|
columnNumber: 5
|
|
233
235
|
}
|
|
234
236
|
}, _react["default"].createElement(_OverlayContext.OverlayContext.Provider, {
|
|
@@ -236,14 +238,14 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
236
238
|
__self: _this,
|
|
237
239
|
__source: {
|
|
238
240
|
fileName: _jsxFileName,
|
|
239
|
-
lineNumber:
|
|
241
|
+
lineNumber: 203,
|
|
240
242
|
columnNumber: 7
|
|
241
243
|
}
|
|
242
244
|
}, _react["default"].createElement(_MessageOverlayContext.MessageOverlayProvider, {
|
|
243
245
|
__self: _this,
|
|
244
246
|
__source: {
|
|
245
247
|
fileName: _jsxFileName,
|
|
246
|
-
lineNumber:
|
|
248
|
+
lineNumber: 204,
|
|
247
249
|
columnNumber: 9
|
|
248
250
|
}
|
|
249
251
|
}, _react["default"].createElement(_AttachmentPickerContext.AttachmentPickerProvider, {
|
|
@@ -251,21 +253,21 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
251
253
|
__self: _this,
|
|
252
254
|
__source: {
|
|
253
255
|
fileName: _jsxFileName,
|
|
254
|
-
lineNumber:
|
|
256
|
+
lineNumber: 205,
|
|
255
257
|
columnNumber: 11
|
|
256
258
|
}
|
|
257
259
|
}, _react["default"].createElement(_ImageGalleryContext.ImageGalleryProvider, {
|
|
258
260
|
__self: _this,
|
|
259
261
|
__source: {
|
|
260
262
|
fileName: _jsxFileName,
|
|
261
|
-
lineNumber:
|
|
263
|
+
lineNumber: 206,
|
|
262
264
|
columnNumber: 13
|
|
263
265
|
}
|
|
264
266
|
}, _react["default"].createElement(_ChannelsStateContext.ChannelsStateProvider, {
|
|
265
267
|
__self: _this,
|
|
266
268
|
__source: {
|
|
267
269
|
fileName: _jsxFileName,
|
|
268
|
-
lineNumber:
|
|
270
|
+
lineNumber: 207,
|
|
269
271
|
columnNumber: 15
|
|
270
272
|
}
|
|
271
273
|
}, children), _react["default"].createElement(_ThemeContext.ThemeProvider, {
|
|
@@ -273,7 +275,7 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
273
275
|
__self: _this,
|
|
274
276
|
__source: {
|
|
275
277
|
fileName: _jsxFileName,
|
|
276
|
-
lineNumber:
|
|
278
|
+
lineNumber: 208,
|
|
277
279
|
columnNumber: 15
|
|
278
280
|
}
|
|
279
281
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -282,7 +284,7 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
282
284
|
__self: _this,
|
|
283
285
|
__source: {
|
|
284
286
|
fileName: _jsxFileName,
|
|
285
|
-
lineNumber:
|
|
287
|
+
lineNumber: 209,
|
|
286
288
|
columnNumber: 17
|
|
287
289
|
}
|
|
288
290
|
}, _react["default"].createElement(_OverlayBackdrop.OverlayBackdrop, {
|
|
@@ -293,7 +295,7 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
293
295
|
__self: _this,
|
|
294
296
|
__source: {
|
|
295
297
|
fileName: _jsxFileName,
|
|
296
|
-
lineNumber:
|
|
298
|
+
lineNumber: 213,
|
|
297
299
|
columnNumber: 19
|
|
298
300
|
}
|
|
299
301
|
})), overlay === 'message' && _react["default"].createElement(_MessageOverlay.MessageOverlay, {
|
|
@@ -307,7 +309,7 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
307
309
|
__self: _this,
|
|
308
310
|
__source: {
|
|
309
311
|
fileName: _jsxFileName,
|
|
310
|
-
lineNumber:
|
|
312
|
+
lineNumber: 216,
|
|
311
313
|
columnNumber: 19
|
|
312
314
|
}
|
|
313
315
|
}), overlay === 'gallery' && _react["default"].createElement(_ImageGallery.ImageGallery, {
|
|
@@ -320,7 +322,7 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
320
322
|
__self: _this,
|
|
321
323
|
__source: {
|
|
322
324
|
fileName: _jsxFileName,
|
|
323
|
-
lineNumber:
|
|
325
|
+
lineNumber: 227,
|
|
324
326
|
columnNumber: 19
|
|
325
327
|
}
|
|
326
328
|
}), _react["default"].createElement(_AttachmentPicker.AttachmentPicker, (0, _extends2["default"])({
|
|
@@ -329,7 +331,7 @@ var OverlayProvider = function OverlayProvider(props) {
|
|
|
329
331
|
__self: _this,
|
|
330
332
|
__source: {
|
|
331
333
|
fileName: _jsxFileName,
|
|
332
|
-
lineNumber:
|
|
334
|
+
lineNumber: 236,
|
|
333
335
|
columnNumber: 17
|
|
334
336
|
}
|
|
335
337
|
}))))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["OverlayProvider.tsx"],"names":["OverlayProvider","props","AttachmentPickerBottomSheetHandle","DefaultAttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","DefaultAttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","DefaultAttachmentPickerErrorImage","attachmentPickerErrorText","attachmentSelectionBarHeight","bottomInset","CameraSelectorIcon","DefaultCameraSelectorIcon","children","closePicker","ref","current","close","FileSelectorIcon","DefaultFileSelectorIcon","giphyVersion","i18nInstance","imageGalleryCustomComponents","imageGalleryGridHandleHeight","imageGalleryGridSnapPoints","ImageOverlaySelectedComponent","DefaultImageOverlaySelectedComponent","ImageSelectorIcon","DefaultImageSelectorIcon","MessageActionList","MessageActionListItem","messageTextNumberOfLines","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","numberOfImageGalleryGridColumns","openPicker","snapToIndex","console","warn","topInset","translucentStatusBar","OverlayReactionList","OverlayReactions","OverlayReactionsAvatar","value","attachmentPickerProps","bottomSheetRef","t","key","tDateTimeParser","input","translators","setTranslators","overlay","setOverlay","overlayOpacity","Dimensions","get","height","width","loadingTranslators","backAction","backHandler","BackHandler","addEventListener","remove","attachmentPickerContext","overlayStyle","opacity","overlayContext","style","StyleSheet","absoluteFill"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useRef, useState } from 'react';\n\nimport { BackHandler, Dimensions, StyleSheet, ViewStyle } from 'react-native';\n\nimport Animated, {\n cancelAnimation,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport type BottomSheet from '@gorhom/bottom-sheet';\nimport Dayjs from 'dayjs';\n\nimport { OverlayContext, OverlayProviderProps } from './OverlayContext';\n\nimport { AttachmentPicker } from '../../components/AttachmentPicker/AttachmentPicker';\n\nimport { AttachmentPickerBottomSheetHandle as DefaultAttachmentPickerBottomSheetHandle } from '../../components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle';\nimport { AttachmentPickerError as DefaultAttachmentPickerError } from '../../components/AttachmentPicker/components/AttachmentPickerError';\nimport { AttachmentPickerErrorImage as DefaultAttachmentPickerErrorImage } from '../../components/AttachmentPicker/components/AttachmentPickerErrorImage';\nimport { CameraSelectorIcon as DefaultCameraSelectorIcon } from '../../components/AttachmentPicker/components/CameraSelectorIcon';\nimport { FileSelectorIcon as DefaultFileSelectorIcon } from '../../components/AttachmentPicker/components/FileSelectorIcon';\nimport { ImageOverlaySelectedComponent as DefaultImageOverlaySelectedComponent } from '../../components/AttachmentPicker/components/ImageOverlaySelectedComponent';\nimport { ImageSelectorIcon as DefaultImageSelectorIcon } from '../../components/AttachmentPicker/components/ImageSelectorIcon';\nimport { ImageGallery } from '../../components/ImageGallery/ImageGallery';\nimport { MessageOverlay } from '../../components/MessageOverlay/MessageOverlay';\nimport { OverlayBackdrop } from '../../components/MessageOverlay/OverlayBackdrop';\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentPickerProvider } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ImageGalleryProvider } from '../imageGalleryContext/ImageGalleryContext';\nimport { MessageOverlayProvider } from '../messageOverlayContext/MessageOverlayContext';\nimport { ThemeProvider } from '../themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n TranslationProvider,\n} from '../translationContext/TranslationContext';\n\n/**\n * - The highest level of these components is the `OverlayProvider`. The `OverlayProvider` allows users to interact with messages on long press above the underlying views, use the full screen image viewer, and use the `AttachmentPicker` as a keyboard-esk view.\n * Because these views must exist above all others `OverlayProvider` should wrap your navigation stack as well. Assuming [`React Navigation`](https://reactnavigation.org/) is being used, your highest level navigation stack should be wrapped in the provider:\n *\n * ```js\n * <NavigationContainer>\n * <OverlayProvider>\n * <Stack.Navigator>\n * <Stack.Screen />\n * </Stack.Navigator>\n * </OverlayProvider>\n * </NavigationContainer>\n * ```\n *\n * - Don't forget to check our cookbook section of [OverlayProvider](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#overlayprovider)\n *\n * - Also check the [visual component guide](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#custom-components), to learn about component customizations.\n *\n * @example ./OverlayProvider.md\n */\nexport const OverlayProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<OverlayProviderProps<StreamChatGenerics>>,\n) => {\n const {\n AttachmentPickerBottomSheetHandle = DefaultAttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError = DefaultAttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage = DefaultAttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon = DefaultCameraSelectorIcon,\n children,\n closePicker = (ref) => {\n if (ref.current) {\n ref.current.close();\n }\n },\n FileSelectorIcon = DefaultFileSelectorIcon,\n giphyVersion,\n i18nInstance,\n imageGalleryCustomComponents,\n imageGalleryGridHandleHeight,\n imageGalleryGridSnapPoints,\n ImageOverlaySelectedComponent = DefaultImageOverlaySelectedComponent,\n ImageSelectorIcon = DefaultImageSelectorIcon,\n MessageActionList,\n MessageActionListItem,\n messageTextNumberOfLines,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n numberOfImageGalleryGridColumns,\n openPicker = (ref) => {\n if (ref.current?.snapToIndex) {\n ref.current.snapToIndex(0);\n } else {\n console.warn('bottom and top insets must be set for the image picker to work correctly');\n }\n },\n topInset,\n translucentStatusBar,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n value,\n } = props;\n\n const attachmentPickerProps = {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n };\n\n const bottomSheetRef = useRef<BottomSheet>(null);\n\n const [translators, setTranslators] = useState<TranslationContextValue>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n const [overlay, setOverlay] = useState(value?.overlay || 'none');\n\n const overlayOpacity = useSharedValue(0);\n const { height, width } = Dimensions.get('screen');\n\n // Setup translators\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n useEffect(() => {\n const backAction = () => {\n if (overlay !== 'none') {\n setOverlay('none');\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [overlay]);\n\n useEffect(() => {\n if (bottomSheetRef.current) {\n bottomSheetRef.current.close?.();\n }\n cancelAnimation(overlayOpacity);\n if (overlay !== 'none') {\n overlayOpacity.value = withTiming(1);\n } else {\n overlayOpacity.value = withTiming(0);\n }\n }, [overlay]);\n\n // Setup translators\n useStreami18n({ i18nInstance, setTranslators });\n\n const attachmentPickerContext = {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon,\n closePicker: () => closePicker(bottomSheetRef),\n FileSelectorIcon,\n ImageSelectorIcon,\n openPicker: () => openPicker(bottomSheetRef),\n topInset,\n };\n\n const overlayStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: overlayOpacity.value,\n }),\n [],\n );\n\n const overlayContext = {\n overlay,\n setOverlay,\n style: value?.style,\n translucentStatusBar,\n };\n\n if (loadingTranslators) return null;\n\n return (\n <TranslationProvider value={translators}>\n <OverlayContext.Provider value={overlayContext}>\n <MessageOverlayProvider<StreamChatGenerics>>\n <AttachmentPickerProvider value={attachmentPickerContext}>\n <ImageGalleryProvider>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n <ThemeProvider style={overlayContext.style}>\n <Animated.View\n pointerEvents={overlay === 'none' ? 'none' : 'auto'}\n style={[StyleSheet.absoluteFill, overlayStyle]}\n >\n <OverlayBackdrop style={[StyleSheet.absoluteFill, { height, width }]} />\n </Animated.View>\n {overlay === 'message' && (\n <MessageOverlay<StreamChatGenerics>\n MessageActionList={MessageActionList}\n MessageActionListItem={MessageActionListItem}\n messageTextNumberOfLines={messageTextNumberOfLines}\n overlayOpacity={overlayOpacity}\n OverlayReactionList={OverlayReactionList}\n OverlayReactions={OverlayReactions}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n />\n )}\n {overlay === 'gallery' && (\n <ImageGallery<StreamChatGenerics>\n giphyVersion={giphyVersion}\n imageGalleryCustomComponents={imageGalleryCustomComponents}\n imageGalleryGridHandleHeight={imageGalleryGridHandleHeight}\n imageGalleryGridSnapPoints={imageGalleryGridSnapPoints}\n numberOfImageGalleryGridColumns={numberOfImageGalleryGridColumns}\n overlayOpacity={overlayOpacity}\n />\n )}\n <AttachmentPicker ref={bottomSheetRef} {...attachmentPickerProps} />\n </ThemeProvider>\n </ImageGalleryProvider>\n </AttachmentPickerProvider>\n </MessageOverlayProvider>\n </OverlayContext.Provider>\n </TranslationProvider>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["OverlayProvider.tsx"],"names":["OverlayProvider","props","AttachmentPickerBottomSheetHandle","DefaultAttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","DefaultAttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","DefaultAttachmentPickerErrorImage","attachmentPickerErrorText","attachmentSelectionBarHeight","bottomInset","CameraSelectorIcon","DefaultCameraSelectorIcon","children","closePicker","ref","current","close","FileSelectorIcon","DefaultFileSelectorIcon","giphyVersion","i18nInstance","imageGalleryCustomComponents","imageGalleryGridHandleHeight","imageGalleryGridSnapPoints","ImageOverlaySelectedComponent","DefaultImageOverlaySelectedComponent","ImageSelectorIcon","DefaultImageSelectorIcon","MessageActionList","MessageActionListItem","messageTextNumberOfLines","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","numberOfImageGalleryGridColumns","openPicker","snapToIndex","console","warn","topInset","translucentStatusBar","OverlayReactionList","OverlayReactions","OverlayReactionsAvatar","value","attachmentPickerProps","bottomSheetRef","t","key","tDateTimeParser","input","translators","setTranslators","overlay","setOverlay","overlayOpacity","Dimensions","get","height","width","loadingTranslators","backAction","backHandler","BackHandler","addEventListener","remove","attachmentPickerContext","overlayStyle","opacity","overlayContext","style","userLanguage","DEFAULT_USER_LANGUAGE","StyleSheet","absoluteFill"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useRef, useState } from 'react';\n\nimport { BackHandler, Dimensions, StyleSheet, ViewStyle } from 'react-native';\n\nimport Animated, {\n cancelAnimation,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport type BottomSheet from '@gorhom/bottom-sheet';\nimport Dayjs from 'dayjs';\n\nimport { OverlayContext, OverlayProviderProps } from './OverlayContext';\n\nimport { AttachmentPicker } from '../../components/AttachmentPicker/AttachmentPicker';\n\nimport { AttachmentPickerBottomSheetHandle as DefaultAttachmentPickerBottomSheetHandle } from '../../components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle';\nimport { AttachmentPickerError as DefaultAttachmentPickerError } from '../../components/AttachmentPicker/components/AttachmentPickerError';\nimport { AttachmentPickerErrorImage as DefaultAttachmentPickerErrorImage } from '../../components/AttachmentPicker/components/AttachmentPickerErrorImage';\nimport { CameraSelectorIcon as DefaultCameraSelectorIcon } from '../../components/AttachmentPicker/components/CameraSelectorIcon';\nimport { FileSelectorIcon as DefaultFileSelectorIcon } from '../../components/AttachmentPicker/components/FileSelectorIcon';\nimport { ImageOverlaySelectedComponent as DefaultImageOverlaySelectedComponent } from '../../components/AttachmentPicker/components/ImageOverlaySelectedComponent';\nimport { ImageSelectorIcon as DefaultImageSelectorIcon } from '../../components/AttachmentPicker/components/ImageSelectorIcon';\nimport { ImageGallery } from '../../components/ImageGallery/ImageGallery';\nimport { MessageOverlay } from '../../components/MessageOverlay/MessageOverlay';\nimport { OverlayBackdrop } from '../../components/MessageOverlay/OverlayBackdrop';\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentPickerProvider } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ImageGalleryProvider } from '../imageGalleryContext/ImageGalleryContext';\nimport { MessageOverlayProvider } from '../messageOverlayContext/MessageOverlayContext';\nimport { ThemeProvider } from '../themeContext/ThemeContext';\nimport {\n DEFAULT_USER_LANGUAGE,\n TranslationProvider,\n TranslatorFunctions,\n} from '../translationContext/TranslationContext';\n\n/**\n * - The highest level of these components is the `OverlayProvider`. The `OverlayProvider` allows users to interact with messages on long press above the underlying views, use the full screen image viewer, and use the `AttachmentPicker` as a keyboard-esk view.\n * Because these views must exist above all others `OverlayProvider` should wrap your navigation stack as well. Assuming [`React Navigation`](https://reactnavigation.org/) is being used, your highest level navigation stack should be wrapped in the provider:\n *\n * ```js\n * <NavigationContainer>\n * <OverlayProvider>\n * <Stack.Navigator>\n * <Stack.Screen />\n * </Stack.Navigator>\n * </OverlayProvider>\n * </NavigationContainer>\n * ```\n *\n * - Don't forget to check our cookbook section of [OverlayProvider](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#overlayprovider)\n *\n * - Also check the [visual component guide](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#custom-components), to learn about component customizations.\n *\n * @example ./OverlayProvider.md\n */\nexport const OverlayProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<OverlayProviderProps<StreamChatGenerics>>,\n) => {\n const {\n AttachmentPickerBottomSheetHandle = DefaultAttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError = DefaultAttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage = DefaultAttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon = DefaultCameraSelectorIcon,\n children,\n closePicker = (ref) => {\n if (ref.current) {\n ref.current.close();\n }\n },\n FileSelectorIcon = DefaultFileSelectorIcon,\n giphyVersion,\n i18nInstance,\n imageGalleryCustomComponents,\n imageGalleryGridHandleHeight,\n imageGalleryGridSnapPoints,\n ImageOverlaySelectedComponent = DefaultImageOverlaySelectedComponent,\n ImageSelectorIcon = DefaultImageSelectorIcon,\n MessageActionList,\n MessageActionListItem,\n messageTextNumberOfLines,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n numberOfImageGalleryGridColumns,\n openPicker = (ref) => {\n if (ref.current?.snapToIndex) {\n ref.current.snapToIndex(0);\n } else {\n console.warn('bottom and top insets must be set for the image picker to work correctly');\n }\n },\n topInset,\n translucentStatusBar,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n value,\n } = props;\n\n const attachmentPickerProps = {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n };\n\n const bottomSheetRef = useRef<BottomSheet>(null);\n\n const [translators, setTranslators] = useState<TranslatorFunctions>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n const [overlay, setOverlay] = useState(value?.overlay || 'none');\n\n const overlayOpacity = useSharedValue(0);\n const { height, width } = Dimensions.get('screen');\n\n // Setup translators\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n useEffect(() => {\n const backAction = () => {\n if (overlay !== 'none') {\n setOverlay('none');\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [overlay]);\n\n useEffect(() => {\n if (bottomSheetRef.current) {\n bottomSheetRef.current.close?.();\n }\n cancelAnimation(overlayOpacity);\n if (overlay !== 'none') {\n overlayOpacity.value = withTiming(1);\n } else {\n overlayOpacity.value = withTiming(0);\n }\n }, [overlay]);\n\n // Setup translators\n useStreami18n({ i18nInstance, setTranslators });\n\n const attachmentPickerContext = {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon,\n closePicker: () => closePicker(bottomSheetRef),\n FileSelectorIcon,\n ImageSelectorIcon,\n openPicker: () => openPicker(bottomSheetRef),\n topInset,\n };\n\n const overlayStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: overlayOpacity.value,\n }),\n [],\n );\n\n const overlayContext = {\n overlay,\n setOverlay,\n style: value?.style,\n translucentStatusBar,\n };\n\n if (loadingTranslators) return null;\n\n return (\n <TranslationProvider value={{ ...translators, userLanguage: DEFAULT_USER_LANGUAGE }}>\n <OverlayContext.Provider value={overlayContext}>\n <MessageOverlayProvider<StreamChatGenerics>>\n <AttachmentPickerProvider value={attachmentPickerContext}>\n <ImageGalleryProvider>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n <ThemeProvider style={overlayContext.style}>\n <Animated.View\n pointerEvents={overlay === 'none' ? 'none' : 'auto'}\n style={[StyleSheet.absoluteFill, overlayStyle]}\n >\n <OverlayBackdrop style={[StyleSheet.absoluteFill, { height, width }]} />\n </Animated.View>\n {overlay === 'message' && (\n <MessageOverlay<StreamChatGenerics>\n MessageActionList={MessageActionList}\n MessageActionListItem={MessageActionListItem}\n messageTextNumberOfLines={messageTextNumberOfLines}\n overlayOpacity={overlayOpacity}\n OverlayReactionList={OverlayReactionList}\n OverlayReactions={OverlayReactions}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n />\n )}\n {overlay === 'gallery' && (\n <ImageGallery<StreamChatGenerics>\n giphyVersion={giphyVersion}\n imageGalleryCustomComponents={imageGalleryCustomComponents}\n imageGalleryGridHandleHeight={imageGalleryGridHandleHeight}\n imageGalleryGridSnapPoints={imageGalleryGridSnapPoints}\n numberOfImageGalleryGridColumns={numberOfImageGalleryGridColumns}\n overlayOpacity={overlayOpacity}\n />\n )}\n <AttachmentPicker ref={bottomSheetRef} {...attachmentPickerProps} />\n </ThemeProvider>\n </ImageGalleryProvider>\n </AttachmentPickerProvider>\n </MessageOverlayProvider>\n </OverlayContext.Provider>\n </TranslationProvider>\n );\n};\n"]}
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.withTranslationContext = exports.useTranslationContext = exports.isDayOrMoment = exports.TranslationProvider = exports.TranslationContext = void 0;
|
|
8
|
+
exports.withTranslationContext = exports.useTranslationContext = exports.isDayOrMoment = exports.TranslationProvider = exports.TranslationContext = exports.DEFAULT_USER_LANGUAGE = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
@@ -24,6 +24,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
24
24
|
|
|
25
25
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
26
|
|
|
27
|
+
var DEFAULT_USER_LANGUAGE = 'en';
|
|
28
|
+
exports.DEFAULT_USER_LANGUAGE = DEFAULT_USER_LANGUAGE;
|
|
29
|
+
|
|
27
30
|
var isDayOrMoment = function isDayOrMoment(output) {
|
|
28
31
|
return output.isSame != null;
|
|
29
32
|
};
|
|
@@ -35,7 +38,8 @@ var defaultTranslationContextValue = {
|
|
|
35
38
|
},
|
|
36
39
|
tDateTimeParser: function tDateTimeParser(input) {
|
|
37
40
|
return (0, _dayjs["default"])(input);
|
|
38
|
-
}
|
|
41
|
+
},
|
|
42
|
+
userLanguage: DEFAULT_USER_LANGUAGE
|
|
39
43
|
};
|
|
40
44
|
|
|
41
45
|
var TranslationContext = _react["default"].createContext(defaultTranslationContextValue);
|
|
@@ -50,7 +54,7 @@ var TranslationProvider = function TranslationProvider(_ref) {
|
|
|
50
54
|
__self: _this,
|
|
51
55
|
__source: {
|
|
52
56
|
fileName: _jsxFileName,
|
|
53
|
-
lineNumber:
|
|
57
|
+
lineNumber: 47,
|
|
54
58
|
columnNumber: 3
|
|
55
59
|
}
|
|
56
60
|
}, children);
|
|
@@ -77,7 +81,7 @@ var withTranslationContext = function withTranslationContext(Component) {
|
|
|
77
81
|
__self: _this,
|
|
78
82
|
__source: {
|
|
79
83
|
fileName: _jsxFileName,
|
|
80
|
-
lineNumber:
|
|
84
|
+
lineNumber: 72,
|
|
81
85
|
columnNumber: 12
|
|
82
86
|
}
|
|
83
87
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["TranslationContext.tsx"],"names":["isDayOrMoment","output","isSame","defaultTranslationContextValue","t","key","tDateTimeParser","input","TranslationContext","React","createContext","TranslationProvider","children","value","useTranslationContext","contextValue","Error","withTranslationContext","Component","WithTranslationContextComponent","props","translationContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["TranslationContext.tsx"],"names":["DEFAULT_USER_LANGUAGE","isDayOrMoment","output","isSame","defaultTranslationContextValue","t","key","tDateTimeParser","input","userLanguage","TranslationContext","React","createContext","TranslationProvider","children","value","useTranslationContext","contextValue","Error","withTranslationContext","Component","WithTranslationContextComponent","props","translationContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAQA;;AACA;;;;;;;;;AAEO,IAAMA,qBAA2C,GAAG,IAApD;;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,MAAD;AAAA,SAC1BA,MAAD,CAAiCC,MAAjC,IAA2C,IADhB;AAAA,CAAtB;;;AAkBP,IAAMC,8BAAuD,GAAG;AAC9DC,EAAAA,CAAC,EAAE,WAACC,GAAD;AAAA,WAAiBA,GAAjB;AAAA,GAD2D;AAE9DC,EAAAA,eAAe,EAAE,yBAACC,KAAD;AAAA,WAAW,uBAAMA,KAAN,CAAX;AAAA,GAF6C;AAG9DC,EAAAA,YAAY,EAAET;AAHgD,CAAhE;;AAMO,IAAMU,kBAAkB,GAAGC,kBAAMC,aAAN,CAChCR,8BADgC,CAA3B;;;;AAIA,IAAMS,mBAEX,GAAG,SAFQA,mBAER;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,SACH,gCAAC,kBAAD,CAAoB,QAApB;AAA6B,IAAA,KAAK,EAAEA,KAApC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA4CD,QAA5C,CADG;AAAA,CAFE;;;;AAMA,IAAME,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AACzC,MAAMC,YAAY,GAAG,uBAAWP,kBAAX,CAArB;;AAEA,MAAIO,YAAY,KAAKb,8BAAjB,IAAmD,CAAC,2CAAxD,EAA6E;AAC3E,UAAM,IAAIc,KAAJ,+UAAN;AAGD;;AAED,SAAOD,YAAP;AACD,CAVM;;;;AAYA,IAAME,sBAAsB,GAAG,SAAzBA,sBAAyB,CAGpCC,SAHoC,EAIkC;AACtE,MAAMC,+BAA+B,GAAG,SAAlCA,+BAAkC,CACtCC,KADsC,EAEnC;AACH,QAAMC,kBAAkB,GAAGP,qBAAqB,EAAhD;AAEA,WAAO,gCAAC,SAAD,gCAAgBM,KAAhB,EAAkDC,kBAAlD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,+BAA+B,CAACG,WAAhC,8BAAuE,oCACrEJ,SADqE,CAAvE;AAGA,SAAOC,+BAAP;AACD,CAhBM","sourcesContent":["import React, { useContext } from 'react';\n\nimport Dayjs from 'dayjs';\n\nimport type { TFunction } from 'i18next';\nimport type { Moment } from 'moment';\n\nimport type { TranslationLanguages } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport const DEFAULT_USER_LANGUAGE: TranslationLanguages = 'en';\n\nexport const isDayOrMoment = (output: TDateTimeParserOutput): output is Dayjs.Dayjs | Moment =>\n (output as Dayjs.Dayjs | Moment).isSame != null;\n\nexport type TDateTimeParserInput = string | number | Date;\n\nexport type TDateTimeParserOutput = string | number | Date | Dayjs.Dayjs | Moment;\n\nexport type TDateTimeParser = (input?: TDateTimeParserInput) => TDateTimeParserOutput;\n\nexport type TranslatorFunctions = {\n t: TFunction | ((key: string) => string);\n tDateTimeParser: TDateTimeParser;\n};\n\nexport type TranslationContextValue = TranslatorFunctions & {\n userLanguage: TranslationLanguages;\n};\n\nconst defaultTranslationContextValue: TranslationContextValue = {\n t: (key: string) => key,\n tDateTimeParser: (input) => Dayjs(input),\n userLanguage: DEFAULT_USER_LANGUAGE,\n};\n\nexport const TranslationContext = React.createContext<TranslationContextValue>(\n defaultTranslationContextValue,\n);\n\nexport const TranslationProvider: React.FC<{\n value: TranslationContextValue;\n}> = ({ children, value }) => (\n <TranslationContext.Provider value={value}>{children}</TranslationContext.Provider>\n);\n\nexport const useTranslationContext = () => {\n const contextValue = useContext(TranslationContext);\n\n if (contextValue === defaultTranslationContextValue && !isTestEnvironment()) {\n throw new Error(\n `The useTranslationContext hook was called outside the TranslationContext Provider. Make sure you have configured OverlayProvider component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#overlay-provider)(https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#overlay-provider`,\n );\n }\n\n return contextValue;\n};\n\nexport const withTranslationContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<StreamChatGenerics>,\n): React.FC<Omit<StreamChatGenerics, keyof TranslationContextValue>> => {\n const WithTranslationContextComponent = (\n props: Omit<StreamChatGenerics, keyof TranslationContextValue>,\n ) => {\n const translationContext = useTranslationContext();\n\n return <Component {...(props as StreamChatGenerics)} {...translationContext} />;\n };\n WithTranslationContextComponent.displayName = `WithTranslationContext${getDisplayName(\n Component as React.ComponentType,\n )}`;\n return WithTranslationContextComponent;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useStreami18n.ts"],"names":["useStreami18n","i18nInstance","setTranslators","loadingTranslators","setLoadingTranslators","isMounted","i18nInstanceExists","streami18n","Streami18n","language","registerSetLanguageCallback","t","prevTranslator","getTranslators","then","translator","current"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAGA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAMvB;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,cAII,QAJJA,cAII;;AACJ,kBAAoD,qBAAS,IAAT,CAApD;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,SAAS,GAAG,uCAAlB;AACA,MAAMC,kBAAkB,GAAG,CAAC,CAACL,YAA7B;AACA,wBAAU,YAAM;AACd,QAAIM,UAAJ;;AAEA,QAAIN,YAAY,YAAYO,sBAA5B,EAAwC;AACtCD,MAAAA,UAAU,GAAGN,YAAb;AACD,KAFD,MAEO;AACLM,MAAAA,UAAU,GAAG,IAAIC,sBAAJ,CAAe;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAf,CAAb;AACD;;AAEDF,IAAAA,UAAU,CAACG,2BAAX,CAAuC,UAACC,CAAD;AAAA,aACrCT,cAAc,CAAC,UAACU,cAAD;AAAA,6CAA0BA,cAA1B;AAA0CD,UAAAA,CAAC,EAADA;AAA1C;AAAA,OAAD,CADuB;AAAA,KAAvC;AAGAJ,IAAAA,UAAU,CAACM,cAAX,GAA4BC,IAA5B,CAAiC,UAACC,UAAD,EAAgB;AAC/C,UAAIA,UAAU,IAAIV,SAAS,CAACW,OAA5B,EAAqCd,cAAc,CAACa,UAAD,CAAd;AACtC,KAFD;AAIAX,IAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,GAjBD,EAiBG,CAACE,kBAAD,EAAqBL,YAArB,CAjBH;AAmBA,SAAOE,kBAAP;AACD,CA9BM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useIsMountedRef } from './useIsMountedRef';\n\nimport type {
|
|
1
|
+
{"version":3,"sources":["useStreami18n.ts"],"names":["useStreami18n","i18nInstance","setTranslators","loadingTranslators","setLoadingTranslators","isMounted","i18nInstanceExists","streami18n","Streami18n","language","registerSetLanguageCallback","t","prevTranslator","getTranslators","then","translator","current"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAGA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAMvB;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,cAII,QAJJA,cAII;;AACJ,kBAAoD,qBAAS,IAAT,CAApD;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,SAAS,GAAG,uCAAlB;AACA,MAAMC,kBAAkB,GAAG,CAAC,CAACL,YAA7B;AACA,wBAAU,YAAM;AACd,QAAIM,UAAJ;;AAEA,QAAIN,YAAY,YAAYO,sBAA5B,EAAwC;AACtCD,MAAAA,UAAU,GAAGN,YAAb;AACD,KAFD,MAEO;AACLM,MAAAA,UAAU,GAAG,IAAIC,sBAAJ,CAAe;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAf,CAAb;AACD;;AAEDF,IAAAA,UAAU,CAACG,2BAAX,CAAuC,UAACC,CAAD;AAAA,aACrCT,cAAc,CAAC,UAACU,cAAD;AAAA,6CAA0BA,cAA1B;AAA0CD,UAAAA,CAAC,EAADA;AAA1C;AAAA,OAAD,CADuB;AAAA,KAAvC;AAGAJ,IAAAA,UAAU,CAACM,cAAX,GAA4BC,IAA5B,CAAiC,UAACC,UAAD,EAAgB;AAC/C,UAAIA,UAAU,IAAIV,SAAS,CAACW,OAA5B,EAAqCd,cAAc,CAACa,UAAD,CAAd;AACtC,KAFD;AAIAX,IAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,GAjBD,EAiBG,CAACE,kBAAD,EAAqBL,YAArB,CAjBH;AAmBA,SAAOE,kBAAP;AACD,CA9BM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useIsMountedRef } from './useIsMountedRef';\n\nimport type { TranslatorFunctions } from '../contexts/translationContext/TranslationContext';\nimport { Streami18n } from '../utils/Streami18n';\n\nexport const useStreami18n = ({\n i18nInstance,\n setTranslators,\n}: {\n setTranslators: React.Dispatch<React.SetStateAction<TranslatorFunctions>>;\n i18nInstance?: Streami18n;\n}) => {\n const [loadingTranslators, setLoadingTranslators] = useState(true);\n const isMounted = useIsMountedRef();\n const i18nInstanceExists = !!i18nInstance;\n useEffect(() => {\n let streami18n: Streami18n;\n\n if (i18nInstance instanceof Streami18n) {\n streami18n = i18nInstance;\n } else {\n streami18n = new Streami18n({ language: 'en' });\n }\n\n streami18n.registerSetLanguageCallback((t: (key: string) => string) =>\n setTranslators((prevTranslator) => ({ ...prevTranslator, t })),\n );\n streami18n.getTranslators().then((translator) => {\n if (translator && isMounted.current) setTranslators(translator);\n });\n\n setLoadingTranslators(false);\n }, [i18nInstanceExists, i18nInstance]);\n\n return loadingTranslators;\n};\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTranslatedMessage = void 0;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
|
|
10
|
+
var _MessageOverlayContext = require("../contexts/messageOverlayContext/MessageOverlayContext");
|
|
11
|
+
|
|
12
|
+
var _TranslationContext = require("../contexts/translationContext/TranslationContext");
|
|
13
|
+
|
|
14
|
+
var useTranslatedMessage = function useTranslatedMessage(message) {
|
|
15
|
+
var _messageOverlayContex;
|
|
16
|
+
|
|
17
|
+
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
|
|
18
|
+
translationContextUserLanguage = _useTranslationContex.userLanguage;
|
|
19
|
+
|
|
20
|
+
var messageOverlayContextValue = (0, _MessageOverlayContext.useMessageOverlayContext)();
|
|
21
|
+
var userLanguage = ((_messageOverlayContex = messageOverlayContextValue.data) == null ? void 0 : _messageOverlayContex.userLanguage) || translationContextUserLanguage;
|
|
22
|
+
var translationKey = userLanguage + "_text";
|
|
23
|
+
|
|
24
|
+
if (message.i18n && translationKey in message.i18n) {
|
|
25
|
+
return (0, _extends2["default"])({}, message, {
|
|
26
|
+
text: message.i18n[translationKey]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return (0, _extends2["default"])({}, message);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.useTranslatedMessage = useTranslatedMessage;
|
|
34
|
+
//# sourceMappingURL=useTranslatedMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useTranslatedMessage.ts"],"names":["useTranslatedMessage","message","translationContextUserLanguage","userLanguage","messageOverlayContextValue","data","translationKey","i18n","text"],"mappings":";;;;;;;;;AAEA;;AACA;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAGlCC,OAHkC,EAI/B;AAAA;;AACH,8BAAyD,gDAAzD;AAAA,MAAsBC,8BAAtB,yBAAQC,YAAR;;AACA,MAAMC,0BAA0B,GAAG,sDAAnC;AAEA,MAAMD,YAAY,GAChB,0BAAAC,0BAA0B,CAACC,IAA3B,2CAAiCF,YAAjC,KAAiDD,8BADnD;AAGA,MAAMI,cAA8B,GAAMH,YAAN,UAApC;;AAEA,MAAIF,OAAO,CAACM,IAAR,IAAgBD,cAAc,IAAIL,OAAO,CAACM,IAA9C,EAAoD;AAClD,yCACKN,OADL;AAEEO,MAAAA,IAAI,EAAEP,OAAO,CAACM,IAAR,CAAaD,cAAb;AAFR;AAID;;AAED,uCAAYL,OAAZ;AACD,CArBM","sourcesContent":["import type { FormatMessageResponse, MessageResponse, TranslationLanguages } from 'stream-chat';\n\nimport { useMessageOverlayContext } from '../contexts/messageOverlayContext/MessageOverlayContext';\nimport { useTranslationContext } from '../contexts/translationContext/TranslationContext';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\ntype TranslationKey = `${TranslationLanguages}_text`;\n\nexport const useTranslatedMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n message: MessageResponse<StreamChatGenerics> | FormatMessageResponse<StreamChatGenerics>,\n) => {\n const { userLanguage: translationContextUserLanguage } = useTranslationContext();\n const messageOverlayContextValue = useMessageOverlayContext<StreamChatGenerics>();\n\n const userLanguage =\n messageOverlayContextValue.data?.userLanguage || translationContextUserLanguage;\n\n const translationKey: TranslationKey = `${userLanguage}_text`;\n\n if (message.i18n && translationKey in message.i18n) {\n return {\n ...message,\n text: message.i18n[translationKey],\n };\n }\n\n return { ...message };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getOrCreateChannel.
|
|
1
|
+
{"version":3,"sources":["getOrCreateChannel.ts"],"names":["getOrCreateChannelApi","channel","members","messages","result","duration"],"mappings":";;;;;AACA;;AAeO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,GAMhC;AAAA,MALHC,OAKG,uEALoC;AACrCA,IAAAA,OAAO,EAAE,EAD4B;AAErCC,IAAAA,OAAO,EAAE,EAF4B;AAGrCC,IAAAA,QAAQ,EAAE;AAH2B,GAKpC;AACH,MAAMC,MAAM,GAAG;AACbH,IAAAA,OAAO,EAAEA,OAAO,CAACA,OADJ;AAEbI,IAAAA,QAAQ,EAAE,IAFG;AAGbH,IAAAA,OAAO,EAAED,OAAO,CAACC,OAHJ;AAIbC,IAAAA,QAAQ,EAAEF,OAAO,CAACE;AAJL,GAAf;AAOA,SAAO,8BAAkBC,MAAlB,EAA0B,MAA1B,CAAP;AACD,CAfM","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { mockedApiResponse } from './utils';\n\nexport type GetOrCreateChannelApiParams = {\n channel?: Record<string, any>;\n members?: Record<string, any>[];\n messages?: Record<string, any>[];\n};\n\n/**\n * Returns the api response for queryChannel api.\n *\n * api - /channels/{type}/{id}/query\n *\n * @param {*} channel\n */\nexport const getOrCreateChannelApi = (\n channel: GetOrCreateChannelApiParams = {\n channel: {},\n members: [],\n messages: [],\n },\n) => {\n const result = {\n channel: channel.channel,\n duration: 0.01,\n members: channel.members,\n messages: channel.messages,\n };\n\n return mockedApiResponse(result, 'post');\n};\n"]}
|
|
@@ -25,8 +25,9 @@ var generateVideoAttachment = function generateVideoAttachment(a) {
|
|
|
25
25
|
return (0, _extends2["default"])({
|
|
26
26
|
asset_url: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
|
|
27
27
|
mime_type: 'video/mp4',
|
|
28
|
+
thumb_url: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg',
|
|
28
29
|
title: (0, _uuid.v4)(),
|
|
29
|
-
type: '
|
|
30
|
+
type: 'video'
|
|
30
31
|
}, a);
|
|
31
32
|
};
|
|
32
33
|
|
|
@@ -34,8 +35,8 @@ exports.generateVideoAttachment = generateVideoAttachment;
|
|
|
34
35
|
|
|
35
36
|
var generateImageAttachment = function generateImageAttachment(a) {
|
|
36
37
|
return (0, _extends2["default"])({
|
|
38
|
+
id: (0, _uuid.v4)(),
|
|
37
39
|
image_url: (0, _uuid.v4)(),
|
|
38
|
-
thumb_url: (0, _uuid.v4)(),
|
|
39
40
|
title: (0, _uuid.v4)(),
|
|
40
41
|
type: 'image'
|
|
41
42
|
}, a);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["attachment.js"],"names":["image_url","generateAttachmentAction","a","name","text","value","generateVideoAttachment","asset_url","mime_type","title","type","generateImageAttachment","
|
|
1
|
+
{"version":3,"sources":["attachment.js"],"names":["image_url","generateAttachmentAction","a","name","text","value","generateVideoAttachment","asset_url","mime_type","thumb_url","title","type","generateImageAttachment","id","generateImageUploadPreview","file","uri","state","generateAudioAttachment","description","generateFileAttachment","file_size","generateFileUploadPreview","generateCardAttachment","og_scrape_url","title_link","generateImgurAttachment","generateGiphyAttachment"],"mappings":"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","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nconst image_url = 'http://www.jackblack.com/tenac_iousd.bmp';\n\nexport const generateAttachmentAction = (a) => ({\n name: uuidv4(),\n text: uuidv4(),\n value: uuidv4(),\n ...a,\n});\n\nexport const generateVideoAttachment = (a) => ({\n asset_url: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',\n mime_type: 'video/mp4',\n thumb_url:\n 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg',\n title: uuidv4(),\n type: 'video',\n ...a,\n});\n\nexport const generateImageAttachment = (a) => ({\n id: uuidv4(),\n image_url: uuidv4(),\n title: uuidv4(),\n type: 'image',\n ...a,\n});\n\nexport const generateImageUploadPreview = (a) => ({\n file: {\n uri: image_url,\n },\n id: uuidv4(),\n state: 'uploaded',\n ...a,\n});\n\nexport const generateAudioAttachment = (a) => ({\n asset_url: 'http://www.jackblack.com/tribute.mp3',\n description: uuidv4(),\n image_url,\n text: uuidv4(),\n title: uuidv4(),\n type: 'audio',\n ...a,\n});\n\nexport const generateFileAttachment = (a) => ({\n asset_url: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',\n description: uuidv4(),\n file_size: 1337,\n mime_type: uuidv4(),\n text: uuidv4(),\n title: uuidv4(),\n type: 'file',\n ...a,\n});\n\nexport const generateFileUploadPreview = (a) => ({\n file: {\n name: 'dummy.pdf',\n type: 'file',\n ...a,\n },\n id: uuidv4(),\n state: 'uploaded',\n ...a,\n});\n\nexport const generateCardAttachment = (a) => ({\n image_url,\n og_scrape_url: uuidv4(),\n text: uuidv4(),\n thumb_url: image_url,\n title: uuidv4(),\n title_link: uuidv4(),\n ...a,\n});\n\nexport const generateImgurAttachment = () => generateCardAttachment({ type: 'imgur' });\n\nexport const generateGiphyAttachment = () => generateCardAttachment({ type: 'giphy' });\n"]}
|
|
@@ -17,7 +17,7 @@ var _uuid = require("uuid");
|
|
|
17
17
|
|
|
18
18
|
var _user = require("./user");
|
|
19
19
|
|
|
20
|
-
var _excluded = ["id", "type", "channel"];
|
|
20
|
+
var _excluded = ["id", "messages", "type", "channel"];
|
|
21
21
|
var defaultCapabilities = ['ban-channel-members', 'delete-any-message', 'delete-own-message', 'flag-message', 'mute-channel', 'pin-message', 'quote-message', 'read-events', 'send-links', 'send-message', 'send-reaction', 'send-reply', 'typing-events', 'update-any-message', 'update-own-message', 'upload-file'];
|
|
22
22
|
var defaultConfig = {
|
|
23
23
|
automod: 'disabled',
|
|
@@ -81,8 +81,9 @@ var getChannelDefaults = function getChannelDefaults() {
|
|
|
81
81
|
|
|
82
82
|
var generateChannel = function generateChannel(customValues) {
|
|
83
83
|
return Object.keys(customValues).reduce(function (accumulated, current) {
|
|
84
|
-
if (
|
|
85
|
-
|
|
84
|
+
if (current in accumulated) {
|
|
85
|
+
var _key = current;
|
|
86
|
+
accumulated[_key] = (0, _typeof2["default"])(accumulated[_key]) === 'object' ? (0, _extends3["default"])({}, accumulated[_key], customValues[_key]) : accumulated[_key] = customValues[_key];
|
|
86
87
|
return accumulated;
|
|
87
88
|
}
|
|
88
89
|
|
|
@@ -96,10 +97,13 @@ var generateChannelResponse = function generateChannelResponse() {
|
|
|
96
97
|
var customValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
97
98
|
channel: {},
|
|
98
99
|
id: (0, _uuid.v4)(),
|
|
100
|
+
messages: [],
|
|
99
101
|
type: 'messaging'
|
|
100
102
|
};
|
|
101
103
|
var _customValues$id = customValues.id,
|
|
102
104
|
id = _customValues$id === void 0 ? (0, _uuid.v4)() : _customValues$id,
|
|
105
|
+
_customValues$message = customValues.messages,
|
|
106
|
+
messages = _customValues$message === void 0 ? [] : _customValues$message,
|
|
103
107
|
_customValues$type = customValues.type,
|
|
104
108
|
type = _customValues$type === void 0 ? 'messaging' : _customValues$type,
|
|
105
109
|
_customValues$channel = customValues.channel,
|
|
@@ -115,7 +119,7 @@ var generateChannelResponse = function generateChannelResponse() {
|
|
|
115
119
|
user: (0, _user.generateUser)()
|
|
116
120
|
})),
|
|
117
121
|
members: [],
|
|
118
|
-
messages:
|
|
122
|
+
messages: messages
|
|
119
123
|
}, rest);
|
|
120
124
|
};
|
|
121
125
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["channel.
|
|
1
|
+
{"version":3,"sources":["channel.ts"],"names":["defaultCapabilities","defaultConfig","automod","automod_behavior","commands","args","description","name","set","connect_events","created_at","max_message_length","message_retention","mutes","reactions","read_events","replies","search","typing_events","updated_at","uploads","url_enrichment","defaultState","members","messages","setIsUpToDate","jest","fn","getChannelDefaults","id","type","_client","data","cid","config","created_by","frozen","own_capabilities","state","generateChannel","customValues","Object","keys","reduce","accumulated","current","key","generateChannelResponse","channel","rest","defaults","user"],"mappings":";;;;;;;;;;;;;;;AACA;;AAEA;;;AAEA,IAAMA,mBAAmB,GAAG,CAC1B,qBAD0B,EAE1B,oBAF0B,EAG1B,oBAH0B,EAI1B,cAJ0B,EAK1B,cAL0B,EAM1B,aAN0B,EAO1B,eAP0B,EAQ1B,aAR0B,EAS1B,YAT0B,EAU1B,cAV0B,EAW1B,eAX0B,EAY1B,YAZ0B,EAa1B,eAb0B,EAc1B,oBAd0B,EAe1B,oBAf0B,EAgB1B,aAhB0B,CAA5B;AAmBA,IAAMC,aAAa,GAAG;AACpBC,EAAAA,OAAO,EAAE,UADW;AAEpBC,EAAAA,gBAAgB,EAAE,MAFE;AAGpBC,EAAAA,QAAQ,EAAE,CACR;AACEC,IAAAA,IAAI,EAAE,QADR;AAEEC,IAAAA,WAAW,EAAE,kCAFf;AAGEC,IAAAA,IAAI,EAAE,OAHR;AAIEC,IAAAA,GAAG,EAAE;AAJP,GADQ,CAHU;AAWpBC,EAAAA,cAAc,EAAE,IAXI;AAYpBC,EAAAA,UAAU,EAAE,gCAZQ;AAapBC,EAAAA,kBAAkB,EAAE,IAbA;AAcpBC,EAAAA,iBAAiB,EAAE,UAdC;AAepBC,EAAAA,KAAK,EAAE,IAfa;AAgBpBN,EAAAA,IAAI,EAAE,WAhBc;AAiBpBO,EAAAA,SAAS,EAAE,IAjBS;AAkBpBC,EAAAA,WAAW,EAAE,IAlBO;AAmBpBC,EAAAA,OAAO,EAAE,IAnBW;AAoBpBC,EAAAA,MAAM,EAAE,IApBY;AAqBpBC,EAAAA,aAAa,EAAE,IArBK;AAsBpBC,EAAAA,UAAU,EAAE,gCAtBQ;AAuBpBC,EAAAA,OAAO,EAAE,IAvBW;AAwBpBC,EAAAA,cAAc,EAAE;AAxBI,CAAtB;AA0BA,IAAMC,YAAY,GAAG;AACnBC,EAAAA,OAAO,EAAE,EADU;AAEnBC,EAAAA,QAAQ,EAAE,EAFS;AAGnBC,EAAAA,aAAa,EAAEC,IAAI,CAACC,EAAL;AAHI,CAArB;;AAMA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,iFACc;AAAEC,IAAAA,EAAE,EAAE,eAAN;AAAgBC,IAAAA,IAAI,EAAE;AAAtB,GADd;AAAA,MACvBD,EADuB,QACvBA,EADuB;AAAA,MACnBC,IADmB,QACnBA,IADmB;;AAAA,SAErB;AACJC,IAAAA,OAAO,EAAE,EADL;AAEJC,IAAAA,IAAI,EAAE;AACJC,MAAAA,GAAG,EAAKH,IAAL,SAAaD,EADZ;AAEJK,MAAAA,MAAM,gCACDjC,aADC;AAEJM,QAAAA,IAAI,EAAEuB,IAFF;AAGJA,QAAAA,IAAI,EAAJA;AAHI,QAFF;AAOJpB,MAAAA,UAAU,EAAE,6BAPR;AAQJyB,MAAAA,UAAU,EAAE,4BARR;AASJC,MAAAA,MAAM,EAAE,KATJ;AAUJP,MAAAA,EAAE,EAAFA,EAVI;AAWJQ,MAAAA,gBAAgB,EAAErC,mBAXd;AAYJ8B,MAAAA,IAAI,EAAJA,IAZI;AAaJX,MAAAA,UAAU,EAAE;AAbR,KAFF;AAiBJU,IAAAA,EAAE,EAAFA,EAjBI;AAkBJS,IAAAA,KAAK,EAAEhB,YAlBH;AAmBJQ,IAAAA,IAAI,EAAJA;AAnBI,GAFqB;AAAA,CAA3B;;AAwBO,IAAMS,eAAe,GAAG,SAAlBA,eAAkB,CAACC,YAAD;AAAA,SAC7BC,MAAM,CAACC,IAAP,CAAYF,YAAZ,EAA0BG,MAA1B,CAAiC,UAACC,WAAD,EAAcC,OAAd,EAA0B;AACzD,QAAIA,OAAO,IAAID,WAAf,EAA4B;AAC1B,UAAME,IAAG,GAAGD,OAAZ;AACAD,MAAAA,WAAW,CAACE,IAAD,CAAX,GACE,yBAAOF,WAAW,CAACE,IAAD,CAAlB,MAA4B,QAA5B,iCACSF,WAAW,CAACE,IAAD,CADpB,EAC8BN,YAAY,CAACM,IAAD,CAD1C,IAEKF,WAAW,CAACE,IAAD,CAAX,GAAmBN,YAAY,CAACM,IAAD,CAHtC;AAIA,aAAOF,WAAP;AACD;;AACD,yCAAYA,WAAZ,uCAA0BC,OAA1B,EAAoCL,YAAY,CAACK,OAAD,CAAhD;AACD,GAVD,EAUGjB,kBAAkB,EAVrB,CAD6B;AAAA,CAAxB;;;;AAaA,IAAMmB,uBAAuB,GAAG,SAA1BA,uBAA0B,GAOlC;AAAA,MANHP,YAMG,uEADC;AAAEQ,IAAAA,OAAO,EAAE,EAAX;AAAenB,IAAAA,EAAE,EAAE,eAAnB;AAA6BL,IAAAA,QAAQ,EAAE,EAAvC;AAA2CM,IAAAA,IAAI,EAAE;AAAjD,GACD;AACH,yBAAoFU,YAApF,CAAQX,EAAR;AAAA,MAAQA,EAAR,iCAAa,eAAb;AAAA,8BAAoFW,YAApF,CAAuBhB,QAAvB;AAAA,MAAuBA,QAAvB,sCAAkC,EAAlC;AAAA,2BAAoFgB,YAApF,CAAsCV,IAAtC;AAAA,MAAsCA,IAAtC,mCAA6C,WAA7C;AAAA,8BAAoFU,YAApF,CAA0DQ,OAA1D;AAAA,MAA0DA,OAA1D,sCAAoE,EAApE;AAAA,MAA2EC,IAA3E,6CAAoFT,YAApF;AAEA,MAAMU,QAAQ,GAAGtB,kBAAkB,EAAnC;AACA;AACEoB,IAAAA,OAAO,gCACFE,QAAQ,CAAClB,IADP;AAGHC,MAAAA,GAAG,EAAKH,IAAL,SAAaD;AAHb,OAIAmB,OAJA;AAKHnB,MAAAA,EAAE,EAAFA,EALG;AAMHC,MAAAA,IAAI,EAAJA,IANG;AAOHqB,MAAAA,IAAI,EAAE;AAPH,OADT;AAWE5B,IAAAA,OAAO,EAAE,EAXX;AAYEC,IAAAA,QAAQ,EAARA;AAZF,KAaKyB,IAbL;AAeD,CA1BM","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { generateUser, getUserDefaults } from './user';\n\nconst defaultCapabilities = [\n 'ban-channel-members',\n 'delete-any-message',\n 'delete-own-message',\n 'flag-message',\n 'mute-channel',\n 'pin-message',\n 'quote-message',\n 'read-events',\n 'send-links',\n 'send-message',\n 'send-reaction',\n 'send-reply',\n 'typing-events',\n 'update-any-message',\n 'update-own-message',\n 'upload-file',\n];\n\nconst defaultConfig = {\n automod: 'disabled',\n automod_behavior: 'flag',\n commands: [\n {\n args: '[text]',\n description: 'Post a random gif to the channel',\n name: 'giphy',\n set: 'fun_set',\n },\n ],\n connect_events: true,\n created_at: '2020-04-24T11:36:43.859020368Z',\n max_message_length: 5000,\n message_retention: 'infinite',\n mutes: true,\n name: 'messaging',\n reactions: true,\n read_events: true,\n replies: true,\n search: true,\n typing_events: true,\n updated_at: '2020-04-24T11:36:43.859022903Z',\n uploads: true,\n url_enrichment: true,\n};\nconst defaultState = {\n members: {},\n messages: [],\n setIsUpToDate: jest.fn(),\n};\n\nconst getChannelDefaults = (\n { id, type }: { [key: string]: any } = { id: uuidv4(), type: 'messaging' },\n) => ({\n _client: {},\n data: {\n cid: `${type}:${id}`,\n config: {\n ...defaultConfig,\n name: type,\n type,\n },\n created_at: '2020-04-28T11:20:48.578147Z',\n created_by: getUserDefaults(),\n frozen: false,\n id,\n own_capabilities: defaultCapabilities,\n type,\n updated_at: '2020-04-28T11:20:48.578147Z',\n },\n id,\n state: defaultState,\n type,\n});\n\nexport const generateChannel = (customValues: { [key: string]: any }) =>\n Object.keys(customValues).reduce((accumulated, current) => {\n if (current in accumulated) {\n const key = current as keyof typeof accumulated;\n accumulated[key] =\n typeof accumulated[key] === 'object'\n ? { ...accumulated[key], ...customValues[key] }\n : (accumulated[key] = customValues[key]);\n return accumulated;\n }\n return { ...accumulated, [current]: customValues[current] };\n }, getChannelDefaults());\n\nexport const generateChannelResponse = (\n customValues: {\n channel?: Record<string, any>;\n id?: string;\n messages?: Record<string, any>[];\n type?: string;\n } = { channel: {}, id: uuidv4(), messages: [], type: 'messaging' },\n) => {\n const { id = uuidv4(), messages = [], type = 'messaging', channel = {}, ...rest } = customValues;\n\n const defaults = getChannelDefaults();\n return {\n channel: {\n ...defaults.data,\n ...{\n cid: `${type}:${id}`,\n ...channel,\n id,\n type,\n user: generateUser(),\n },\n },\n members: [],\n messages,\n ...rest,\n };\n};\n"]}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
exports.getUrlOfImageAttachment = getUrlOfImageAttachment;
|
|
5
5
|
|
|
6
6
|
function getUrlOfImageAttachment(image) {
|
|
7
|
-
return image.image_url || image.
|
|
7
|
+
return image.image_url || image.asset_url;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=getUrlOfImageAttachment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getUrlOfImageAttachment.ts"],"names":["getUrlOfImageAttachment","image","image_url","
|
|
1
|
+
{"version":3,"sources":["getUrlOfImageAttachment.ts"],"names":["getUrlOfImageAttachment","image","image_url","asset_url"],"mappings":";;;;;AAOO,SAASA,uBAAT,CAAiCC,KAAjC,EAAoD;AACzD,SAAOA,KAAK,CAACC,SAAN,IAAmBD,KAAK,CAACE,SAAhC;AACD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\n/**\n * Extract url of image from image attachment.\n * @param image Image attachment\n * @returns {string}\n */\nexport function getUrlOfImageAttachment(image: Attachment) {\n return image.image_url || image.asset_url;\n}\n"]}
|