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.
Files changed (150) hide show
  1. package/lib/commonjs/components/Attachment/Gallery.js +246 -190
  2. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/VideoThumbnail.js +11 -5
  4. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
  6. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  7. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +7 -3
  8. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  9. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  10. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  11. package/lib/commonjs/components/Chat/Chat.js +9 -5
  12. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  13. package/lib/commonjs/components/ImageGallery/ImageGallery.js +25 -22
  14. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  15. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +15 -15
  16. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  17. package/lib/commonjs/components/Message/Message.js +13 -8
  18. package/lib/commonjs/components/Message/Message.js.map +1 -1
  19. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -4
  20. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  21. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +34 -35
  22. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  23. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  24. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  25. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +15 -13
  26. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  27. package/lib/commonjs/contexts/translationContext/TranslationContext.js +8 -4
  28. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  29. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  30. package/lib/commonjs/hooks/useTranslatedMessage.js +34 -0
  31. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -0
  32. package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
  33. package/lib/commonjs/mock-builders/generator/attachment.js +3 -2
  34. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  35. package/lib/commonjs/mock-builders/generator/channel.js +8 -4
  36. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  37. package/lib/commonjs/utils/getUrlOfImageAttachment.js +1 -1
  38. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
  39. package/lib/commonjs/version.json +1 -1
  40. package/lib/module/components/Attachment/Gallery.js +246 -190
  41. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  42. package/lib/module/components/Attachment/VideoThumbnail.js +11 -5
  43. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  44. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
  45. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  46. package/lib/module/components/ChannelPreview/ChannelPreview.js +7 -3
  47. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  48. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  49. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  50. package/lib/module/components/Chat/Chat.js +9 -5
  51. package/lib/module/components/Chat/Chat.js.map +1 -1
  52. package/lib/module/components/ImageGallery/ImageGallery.js +25 -22
  53. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  54. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +15 -15
  55. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  56. package/lib/module/components/Message/Message.js +13 -8
  57. package/lib/module/components/Message/Message.js.map +1 -1
  58. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -4
  59. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  60. package/lib/module/contexts/messageInputContext/MessageInputContext.js +34 -35
  61. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  62. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  63. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  64. package/lib/module/contexts/overlayContext/OverlayProvider.js +15 -13
  65. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  66. package/lib/module/contexts/translationContext/TranslationContext.js +8 -4
  67. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  68. package/lib/module/hooks/useStreami18n.js.map +1 -1
  69. package/lib/module/hooks/useTranslatedMessage.js +34 -0
  70. package/lib/module/hooks/useTranslatedMessage.js.map +1 -0
  71. package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
  72. package/lib/module/mock-builders/generator/attachment.js +3 -2
  73. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  74. package/lib/module/mock-builders/generator/channel.js +8 -4
  75. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  76. package/lib/module/utils/getUrlOfImageAttachment.js +1 -1
  77. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
  78. package/lib/module/version.json +1 -1
  79. package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +3 -1
  80. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +1 -0
  81. package/lib/typescript/components/ChannelPreview/__tests__/ChannelPreview.test.d.ts +1 -0
  82. package/lib/typescript/components/Message/MessageSimple/__tests__/MessageTextContainer.test.d.ts +1 -0
  83. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -0
  84. package/lib/typescript/contexts/messageInputContext/__tests__/MessageInputContext.test.d.ts +1 -0
  85. package/lib/typescript/contexts/messageInputContext/__tests__/isValidMessage.test.d.ts +1 -0
  86. package/lib/typescript/contexts/messageInputContext/__tests__/pickFile.test.d.ts +1 -0
  87. package/lib/typescript/contexts/messageInputContext/__tests__/removeFile.test.d.ts +1 -0
  88. package/lib/typescript/contexts/messageInputContext/__tests__/removeImage.test.d.ts +1 -0
  89. package/lib/typescript/contexts/messageInputContext/__tests__/sendMessage.test.d.ts +1 -0
  90. package/lib/typescript/contexts/messageInputContext/__tests__/sendMessageAsync.test.d.ts +1 -0
  91. package/lib/typescript/contexts/messageInputContext/__tests__/updateMessage.test.d.ts +1 -0
  92. package/lib/typescript/contexts/messageInputContext/__tests__/uploadFile.test.d.ts +1 -0
  93. package/lib/typescript/contexts/messageInputContext/__tests__/uploadImage.test.d.ts +1 -0
  94. package/lib/typescript/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.d.ts +1 -0
  95. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +2 -1
  96. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +7 -2
  97. package/lib/typescript/hooks/__tests__/useTranslatedMessage.test.d.ts +1 -0
  98. package/lib/typescript/hooks/useStreami18n.d.ts +2 -2
  99. package/lib/typescript/hooks/useTranslatedMessage.d.ts +3 -0
  100. package/lib/typescript/mock-builders/api/getOrCreateChannel.d.ts +13 -1
  101. package/lib/typescript/mock-builders/event/messageNew.d.ts +2 -0
  102. package/lib/typescript/mock-builders/event/messageRead.d.ts +8 -0
  103. package/lib/typescript/mock-builders/generator/attachment.d.ts +10 -0
  104. package/lib/typescript/mock-builders/generator/channel.d.ts +27 -23
  105. package/lib/typescript/mock-builders/generator/message.d.ts +38 -0
  106. package/lib/typescript/mock-builders/generator/user.d.ts +9 -9
  107. package/package.json +7 -6
  108. package/src/components/Attachment/Gallery.tsx +231 -140
  109. package/src/components/Attachment/VideoThumbnail.tsx +12 -5
  110. package/src/components/Attachment/__tests__/Attachment.test.js +12 -0
  111. package/src/components/Attachment/__tests__/Gallery.test.js +23 -1
  112. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +1 -0
  113. package/src/components/Attachment/utils/buildGallery/types.ts +1 -0
  114. package/src/components/ChannelPreview/ChannelPreview.tsx +7 -1
  115. package/src/components/ChannelPreview/__tests__/{ChannelPreview.test.js → ChannelPreview.test.tsx} +79 -41
  116. package/src/components/ChannelPreview/hooks/__tests__/useLatestMessagePreview.test.tsx +56 -21
  117. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +4 -1
  118. package/src/components/Chat/Chat.tsx +6 -3
  119. package/src/components/ImageGallery/ImageGallery.tsx +10 -6
  120. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -1
  121. package/src/components/Message/Message.tsx +8 -1
  122. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +7 -1
  123. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.tsx +108 -0
  124. package/src/components/Message/MessageSimple/__tests__/__snapshots__/{MessageTextContainer.test.js.snap → MessageTextContainer.test.tsx.snap} +0 -0
  125. package/src/contexts/messageInputContext/MessageInputContext.tsx +10 -4
  126. package/src/contexts/messageInputContext/__tests__/MessageInputContext.test.tsx +208 -0
  127. package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +113 -0
  128. package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessageAsync.test.tsx.snap +33 -0
  129. package/src/contexts/messageInputContext/__tests__/isValidMessage.test.tsx +71 -0
  130. package/src/contexts/messageInputContext/__tests__/pickFile.test.tsx +67 -0
  131. package/src/contexts/messageInputContext/__tests__/removeFile.test.tsx +82 -0
  132. package/src/contexts/messageInputContext/__tests__/removeImage.test.tsx +80 -0
  133. package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +286 -0
  134. package/src/contexts/messageInputContext/__tests__/sendMessageAsync.test.tsx +124 -0
  135. package/src/contexts/messageInputContext/__tests__/updateMessage.test.tsx +92 -0
  136. package/src/contexts/messageInputContext/__tests__/uploadFile.test.tsx +76 -0
  137. package/src/contexts/messageInputContext/__tests__/uploadImage.test.tsx +55 -0
  138. package/src/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.tsx +62 -0
  139. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +2 -1
  140. package/src/contexts/overlayContext/OverlayProvider.tsx +4 -3
  141. package/src/contexts/translationContext/TranslationContext.tsx +10 -1
  142. package/src/hooks/__tests__/useTranslatedMessage.test.tsx +106 -0
  143. package/src/hooks/useStreami18n.ts +2 -2
  144. package/src/hooks/useTranslatedMessage.ts +30 -0
  145. package/src/mock-builders/api/{getOrCreateChannel.js → getOrCreateChannel.ts} +8 -1
  146. package/src/mock-builders/generator/attachment.js +4 -2
  147. package/src/mock-builders/generator/{channel.js → channel.ts} +19 -10
  148. package/src/utils/getUrlOfImageAttachment.ts +1 -1
  149. package/src/version.json +1 -1
  150. 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: 201,
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: 202,
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: 203,
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: 204,
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: 205,
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: 206,
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: 207,
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: 208,
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: 212,
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: 215,
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: 226,
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: 235,
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: 38,
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: 63,
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;;AAMA;;AACA;;;;;;;;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,MAAD;AAAA,SAC1BA,MAAD,CAAiCC,MAAjC,IAA2C,IADhB;AAAA,CAAtB;;;AAcP,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;AAF6C,CAAhE;;AAKO,IAAMC,kBAAkB,GAAGC,kBAAMC,aAAN,CAChCP,8BADgC,CAA3B;;;;AAIA,IAAMQ,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,KAAKZ,8BAAjB,IAAmD,CAAC,2CAAxD,EAA6E;AAC3E,UAAM,IAAIa,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 { DefaultStreamChatGenerics } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\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 TranslationContextValue = {\n t: TFunction | ((key: string) => string);\n tDateTimeParser: TDateTimeParser;\n};\n\nconst defaultTranslationContextValue: TranslationContextValue = {\n t: (key: string) => key,\n tDateTimeParser: (input) => Dayjs(input),\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
+ {"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 { TranslationContextValue } from '../contexts/translationContext/TranslationContext';\nimport { Streami18n } from '../utils/Streami18n';\n\nexport const useStreami18n = ({\n i18nInstance,\n setTranslators,\n}: {\n setTranslators: React.Dispatch<React.SetStateAction<TranslationContextValue>>;\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"]}
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.js"],"names":["getOrCreateChannelApi","channel","members","messages","result","duration"],"mappings":";;;;;AAAA;;AASO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,GAMhC;AAAA,MALHC,OAKG,uEALO;AACRA,IAAAA,OAAO,EAAE,EADD;AAERC,IAAAA,OAAO,EAAE,EAFD;AAGRC,IAAAA,QAAQ,EAAE;AAHF,GAKP;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":["import { mockedApiResponse } from './utils';\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 = {\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"]}
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: 'media'
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","thumb_url","generateImageUploadPreview","file","uri","id","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 title: uuidv4(),\n type: 'media',\n ...a,\n});\n\nexport const generateImageAttachment = (a) => ({\n image_url: uuidv4(),\n thumb_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"]}
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":";;;;;;;;;AAAA;;AAEA,IAAMA,SAAS,GAAG,0CAAlB;;AAEO,IAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,CAAD;AAAA;AACtCC,IAAAA,IAAI,EAAE,eADgC;AAEtCC,IAAAA,IAAI,EAAE,eAFgC;AAGtCC,IAAAA,KAAK,EAAE;AAH+B,KAInCH,CAJmC;AAAA,CAAjC;;;;AAOA,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACJ,CAAD;AAAA;AACrCK,IAAAA,SAAS,EAAE,mFAD0B;AAErCC,IAAAA,SAAS,EAAE,WAF0B;AAGrCC,IAAAA,SAAS,EACP,2FAJmC;AAKrCC,IAAAA,KAAK,EAAE,eAL8B;AAMrCC,IAAAA,IAAI,EAAE;AAN+B,KAOlCT,CAPkC;AAAA,CAAhC;;;;AAUA,IAAMU,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACV,CAAD;AAAA;AACrCW,IAAAA,EAAE,EAAE,eADiC;AAErCb,IAAAA,SAAS,EAAE,eAF0B;AAGrCU,IAAAA,KAAK,EAAE,eAH8B;AAIrCC,IAAAA,IAAI,EAAE;AAJ+B,KAKlCT,CALkC;AAAA,CAAhC;;;;AAQA,IAAMY,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACZ,CAAD;AAAA;AACxCa,IAAAA,IAAI,EAAE;AACJC,MAAAA,GAAG,EAAEhB;AADD,KADkC;AAIxCa,IAAAA,EAAE,EAAE,eAJoC;AAKxCI,IAAAA,KAAK,EAAE;AALiC,KAMrCf,CANqC;AAAA,CAAnC;;;;AASA,IAAMgB,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAChB,CAAD;AAAA;AACrCK,IAAAA,SAAS,EAAE,sCAD0B;AAErCY,IAAAA,WAAW,EAAE,eAFwB;AAGrCnB,IAAAA,SAAS,EAATA,SAHqC;AAIrCI,IAAAA,IAAI,EAAE,eAJ+B;AAKrCM,IAAAA,KAAK,EAAE,eAL8B;AAMrCC,IAAAA,IAAI,EAAE;AAN+B,KAOlCT,CAPkC;AAAA,CAAhC;;;;AAUA,IAAMkB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAClB,CAAD;AAAA;AACpCK,IAAAA,SAAS,EAAE,yEADyB;AAEpCY,IAAAA,WAAW,EAAE,eAFuB;AAGpCE,IAAAA,SAAS,EAAE,IAHyB;AAIpCb,IAAAA,SAAS,EAAE,eAJyB;AAKpCJ,IAAAA,IAAI,EAAE,eAL8B;AAMpCM,IAAAA,KAAK,EAAE,eAN6B;AAOpCC,IAAAA,IAAI,EAAE;AAP8B,KAQjCT,CARiC;AAAA,CAA/B;;;;AAWA,IAAMoB,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACpB,CAAD;AAAA;AACvCa,IAAAA,IAAI;AACFZ,MAAAA,IAAI,EAAE,WADJ;AAEFQ,MAAAA,IAAI,EAAE;AAFJ,OAGCT,CAHD,CADmC;AAMvCW,IAAAA,EAAE,EAAE,eANmC;AAOvCI,IAAAA,KAAK,EAAE;AAPgC,KAQpCf,CARoC;AAAA,CAAlC;;;;AAWA,IAAMqB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACrB,CAAD;AAAA;AACpCF,IAAAA,SAAS,EAATA,SADoC;AAEpCwB,IAAAA,aAAa,EAAE,eAFqB;AAGpCpB,IAAAA,IAAI,EAAE,eAH8B;AAIpCK,IAAAA,SAAS,EAAET,SAJyB;AAKpCU,IAAAA,KAAK,EAAE,eAL6B;AAMpCe,IAAAA,UAAU,EAAE;AANwB,KAOjCvB,CAPiC;AAAA,CAA/B;;;;AAUA,IAAMwB,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAMH,sBAAsB,CAAC;AAAEZ,IAAAA,IAAI,EAAE;AAAR,GAAD,CAA5B;AAAA,CAAhC;;;;AAEA,IAAMgB,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAMJ,sBAAsB,CAAC;AAAEZ,IAAAA,IAAI,EAAE;AAAR,GAAD,CAA5B;AAAA,CAAhC","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 (Object.prototype.hasOwnProperty.call(accumulated, current)) {
85
- accumulated[current] = (0, _typeof2["default"])(accumulated[current]) === 'object' ? (0, _extends3["default"])({}, accumulated[current], customValues[current]) : accumulated[current] = customValues[current];
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.js"],"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","prototype","hasOwnProperty","call","generateChannelResponse","channel","rest","defaults","user"],"mappings":"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","sourcesContent":["import { 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 = ({ id, type } = { id: uuidv4(), type: 'messaging' }) => ({\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) =>\n Object.keys(customValues).reduce((accumulated, current) => {\n if (Object.prototype.hasOwnProperty.call(accumulated, current)) {\n accumulated[current] =\n typeof accumulated[current] === 'object'\n ? { ...accumulated[current], ...customValues[current] }\n : (accumulated[current] = customValues[current]);\n return accumulated;\n }\n return { ...accumulated, [current]: customValues[current] };\n }, getChannelDefaults());\n\nexport const generateChannelResponse = (\n customValues = { channel: {}, id: uuidv4(), type: 'messaging' },\n) => {\n const { id = uuidv4(), 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"]}
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":"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","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.thumb_url || image.asset_url;
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","thumb_url","asset_url"],"mappings":";;;;;AAOO,SAASA,uBAAT,CAAiCC,KAAjC,EAAoD;AACzD,SAAOA,KAAK,CAACC,SAAN,IAAmBD,KAAK,CAACE,SAAzB,IAAsCF,KAAK,CAACG,SAAnD;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.thumb_url || image.asset_url;\n}\n"]}
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"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "4.9.0-beta.3"
2
+ "version": "4.10.0-beta.1"
3
3
  }