stream-chat-react-native-core 5.26.1-beta.2 → 5.27.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 (93) hide show
  1. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +7 -11
  2. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  3. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js +27 -0
  4. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js.map +1 -0
  5. package/lib/commonjs/components/Chat/Chat.js +12 -5
  6. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  7. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -0
  8. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  9. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  10. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  11. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +15 -11
  12. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  13. package/lib/commonjs/i18n/es.json +32 -32
  14. package/lib/commonjs/i18n/fr.json +32 -32
  15. package/lib/commonjs/i18n/he.json +32 -32
  16. package/lib/commonjs/i18n/hi.json +31 -31
  17. package/lib/commonjs/i18n/it.json +31 -31
  18. package/lib/commonjs/i18n/ja.json +31 -31
  19. package/lib/commonjs/i18n/ko.json +31 -31
  20. package/lib/commonjs/i18n/nl.json +31 -31
  21. package/lib/commonjs/i18n/pt-BR.json +31 -31
  22. package/lib/commonjs/i18n/ru.json +31 -31
  23. package/lib/commonjs/i18n/tr.json +31 -31
  24. package/lib/commonjs/index.js +7 -0
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/utils/StreamChatRN.js.map +1 -1
  27. package/lib/commonjs/version.json +1 -1
  28. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +7 -11
  29. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  30. package/lib/module/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js +27 -0
  31. package/lib/module/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js.map +1 -0
  32. package/lib/module/components/Chat/Chat.js +12 -5
  33. package/lib/module/components/Chat/Chat.js.map +1 -1
  34. package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -0
  35. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  36. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  37. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  38. package/lib/module/contexts/overlayContext/OverlayProvider.js +15 -11
  39. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  40. package/lib/module/i18n/es.json +32 -32
  41. package/lib/module/i18n/fr.json +32 -32
  42. package/lib/module/i18n/he.json +32 -32
  43. package/lib/module/i18n/hi.json +31 -31
  44. package/lib/module/i18n/it.json +31 -31
  45. package/lib/module/i18n/ja.json +31 -31
  46. package/lib/module/i18n/ko.json +31 -31
  47. package/lib/module/i18n/nl.json +31 -31
  48. package/lib/module/i18n/pt-BR.json +31 -31
  49. package/lib/module/i18n/ru.json +31 -31
  50. package/lib/module/i18n/tr.json +31 -31
  51. package/lib/module/index.js +7 -0
  52. package/lib/module/index.js.map +1 -1
  53. package/lib/module/utils/StreamChatRN.js.map +1 -1
  54. package/lib/module/version.json +1 -1
  55. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts +4 -0
  56. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.d.ts +2 -0
  57. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  58. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  59. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +4 -0
  60. package/lib/typescript/i18n/es.json +32 -32
  61. package/lib/typescript/i18n/fr.json +32 -32
  62. package/lib/typescript/i18n/he.json +32 -32
  63. package/lib/typescript/i18n/hi.json +31 -31
  64. package/lib/typescript/i18n/it.json +31 -31
  65. package/lib/typescript/i18n/ja.json +31 -31
  66. package/lib/typescript/i18n/ko.json +31 -31
  67. package/lib/typescript/i18n/nl.json +31 -31
  68. package/lib/typescript/i18n/pt-BR.json +31 -31
  69. package/lib/typescript/i18n/ru.json +31 -31
  70. package/lib/typescript/i18n/tr.json +31 -31
  71. package/lib/typescript/index.d.ts +1 -1
  72. package/lib/typescript/utils/StreamChatRN.d.ts +2 -0
  73. package/package.json +1 -1
  74. package/src/components/AttachmentPicker/AttachmentPicker.tsx +8 -19
  75. package/src/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.tsx +10 -0
  76. package/src/components/Chat/Chat.tsx +7 -1
  77. package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
  78. package/src/contexts/chatContext/ChatContext.tsx +4 -0
  79. package/src/contexts/overlayContext/OverlayProvider.tsx +3 -0
  80. package/src/i18n/es.json +32 -32
  81. package/src/i18n/fr.json +32 -32
  82. package/src/i18n/he.json +32 -32
  83. package/src/i18n/hi.json +31 -31
  84. package/src/i18n/it.json +31 -31
  85. package/src/i18n/ja.json +31 -31
  86. package/src/i18n/ko.json +31 -31
  87. package/src/i18n/nl.json +31 -31
  88. package/src/i18n/pt-BR.json +31 -31
  89. package/src/i18n/ru.json +31 -31
  90. package/src/i18n/tr.json +31 -31
  91. package/src/index.ts +1 -1
  92. package/src/utils/StreamChatRN.ts +2 -0
  93. package/src/version.json +1 -1
@@ -16,7 +16,6 @@ var _duration = _interopRequireDefault(require("dayjs/plugin/duration"));
16
16
  var _AttachmentPickerItem = require("./components/AttachmentPickerItem");
17
17
  var _AttachmentPickerContext = require("../../contexts/attachmentPickerContext/AttachmentPickerContext");
18
18
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
19
- var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
20
19
  var _useViewport2 = require("../../hooks/useViewport");
21
20
  var _native = require("../../native");
22
21
  var _this = this,
@@ -38,6 +37,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
38
37
  attachmentPickerErrorButtonText = props.attachmentPickerErrorButtonText,
39
38
  AttachmentPickerErrorImage = props.AttachmentPickerErrorImage,
40
39
  attachmentPickerErrorText = props.attachmentPickerErrorText,
40
+ AttachmentPickerIOSSelectMorePhotos = props.AttachmentPickerIOSSelectMorePhotos,
41
41
  ImageOverlaySelectedComponent = props.ImageOverlaySelectedComponent,
42
42
  numberOfAttachmentImagesToLoadPerCall = props.numberOfAttachmentImagesToLoadPerCall,
43
43
  numberOfAttachmentPickerImageColumns = props.numberOfAttachmentPickerImageColumns,
@@ -82,8 +82,6 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
82
82
  photos = _useState10[0],
83
83
  setPhotos = _useState10[1];
84
84
  var attemptedToLoadPhotosOnOpenRef = (0, _react.useRef)(false);
85
- var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
86
- t = _useTranslationContex.t;
87
85
  var getMorePhotos = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
88
86
  var endCursor, results;
89
87
  return _regenerator["default"].wrap(function _callee$(_context) {
@@ -251,17 +249,15 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
251
249
  __self: _this,
252
250
  __source: {
253
251
  fileName: _jsxFileName,
254
- lineNumber: 310,
252
+ lineNumber: 301,
255
253
  columnNumber: 9
256
254
  }
257
- }, iOSLimited && _react["default"].createElement(_reactNative.Button, {
258
- onPress: _native.iOS14RefreshGallerySelection,
259
- title: t('Select More Photos'),
255
+ }, iOSLimited && _react["default"].createElement(AttachmentPickerIOSSelectMorePhotos, {
260
256
  __self: _this,
261
257
  __source: {
262
258
  fileName: _jsxFileName,
263
- lineNumber: 327,
264
- columnNumber: 13
259
+ lineNumber: 317,
260
+ columnNumber: 26
265
261
  }
266
262
  }), _react["default"].createElement(_bottomSheet.BottomSheetFlatList, {
267
263
  contentContainerStyle: [styles.container, {
@@ -279,7 +275,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
279
275
  __self: _this,
280
276
  __source: {
281
277
  fileName: _jsxFileName,
282
- lineNumber: 329,
278
+ lineNumber: 318,
283
279
  columnNumber: 11
284
280
  }
285
281
  })), selectedPicker === 'images' && photoError && _react["default"].createElement(AttachmentPickerError, {
@@ -290,7 +286,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
290
286
  __self: _this,
291
287
  __source: {
292
288
  fileName: _jsxFileName,
293
- lineNumber: 344,
289
+ lineNumber: 333,
294
290
  columnNumber: 11
295
291
  }
296
292
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_bottomSheet","_dayjs","_interopRequireDefault","_duration","_AttachmentPickerItem","_AttachmentPickerContext","_ThemeContext","_TranslationContext","_useViewport2","_native","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","dayjs","extend","duration","styles","StyleSheet","create","container","flexGrow","fullScreenHeight","Dimensions","height","AttachmentPicker","React","forwardRef","props","ref","AttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","attachmentPickerErrorText","ImageOverlaySelectedComponent","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","translucentStatusBar","_useTheme","useTheme","_useTheme$theme","theme","bottomSheetContentContainer","attachmentPicker","white","colors","_useAttachmentPickerC","useAttachmentPickerContext","closePicker","maxNumberOfFiles","selectedFiles","selectedImages","selectedPicker","setSelectedFiles","setSelectedImages","setSelectedPicker","topInset","_useViewport","useViewport","vh","screenHeight","_useState","useState","_useState2","_slicedToArray2","currentIndex","setCurrentIndex","endCursorRef","useRef","_useState3","_useState4","photoError","setPhotoError","_useState5","_useState6","iOSLimited","setIosLimited","hasNextPageRef","_useState7","_useState8","loadingPhotos","setLoadingPhotos","_useState9","_useState10","photos","setPhotos","attemptedToLoadPhotosOnOpenRef","_useTranslationContex","useTranslationContext","t","getMorePhotos","useCallback","_asyncToGenerator2","_regenerator","mark","_callee","endCursor","results","wrap","_callee$","_context","prev","next","current","getPhotos","after","first","sent","prevPhotos","concat","_toConsumableArray2","assets","hasNextPage","t0","stop","getMorePhotosRef","useEffect","_oniOS14GalleryLibrar","oniOS14GalleryLibrarySelectionChange","undefined","unsubscribe","backAction","backHandler","BackHandler","addEventListener","remove","onKeyboardOpenHandler","keyboardShowEvent","Platform","OS","keyboardSubscription","Keyboard","addListener","removeListener","selectedPhotos","map","asset","numberOfUploads","length","selected","some","image","id","uri","file","handleHeight","getAndroidBottomBarHeightAdjustment","_StatusBar$currentHei","statusBarHeight","StatusBar","currentHeight","bottomBarHeight","getInitialSnapPoint","initialSnapPoint","finalSnapPoint","snapPoints","useMemo","createElement","Fragment","containerHeight","enablePanDownToClose","handleComponent","index","onChange","__self","__source","fileName","lineNumber","columnNumber","Button","onPress","iOS14RefreshGallerySelection","title","BottomSheetFlatList","contentContainerStyle","backgroundColor","opacity","data","keyExtractor","item","numColumns","onEndReached","renderItem","renderAttachmentPickerItem","exports","displayName"],"sources":["AttachmentPicker.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n BackHandler,\n Button,\n Dimensions,\n Keyboard,\n Platform,\n StatusBar,\n StyleSheet,\n} from 'react-native';\n\nimport BottomSheet, { BottomSheetFlatList, BottomSheetHandleProps } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport duration from 'dayjs/plugin/duration';\n\nimport type { AttachmentPickerErrorProps } from './components/AttachmentPickerError';\n\nimport { renderAttachmentPickerItem } from './components/AttachmentPickerItem';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { useViewport } from '../../hooks/useViewport';\nimport {\n getPhotos,\n iOS14RefreshGallerySelection,\n oniOS14GalleryLibrarySelectionChange,\n} from '../../native';\nimport type { Asset } from '../../types/types';\n\ndayjs.extend(duration);\n\nconst styles = StyleSheet.create({\n container: {\n flexGrow: 1,\n },\n});\n\nconst fullScreenHeight = Dimensions.get('window').height;\n\nexport type AttachmentPickerProps = {\n /**\n * Custom UI component to render [draggable handle](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) of attachment picker.\n *\n * **Default** [AttachmentPickerBottomSheetHandle](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx)\n */\n AttachmentPickerBottomSheetHandle: React.FC<BottomSheetHandleProps>;\n /**\n * Custom UI component to render error component while opening attachment picker.\n *\n * **Default** [AttachmentPickerError](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerError.tsx)\n */\n AttachmentPickerError: React.ComponentType<AttachmentPickerErrorProps>;\n /**\n * Custom UI component to render error image for attachment picker\n *\n * **Default** [AttachmentPickerErrorImage](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx)\n */\n AttachmentPickerErrorImage: React.ComponentType;\n /**\n * Custom UI component to render overlay component, that shows up on top of [selected image](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) (with tick mark)\n *\n * **Default** [ImageOverlaySelectedComponent](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx)\n */\n ImageOverlaySelectedComponent: React.ComponentType;\n attachmentPickerBottomSheetHandleHeight?: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentPickerErrorButtonText?: string;\n attachmentPickerErrorText?: string;\n numberOfAttachmentImagesToLoadPerCall?: number;\n numberOfAttachmentPickerImageColumns?: number;\n translucentStatusBar?: boolean;\n};\n\nexport const AttachmentPicker = React.forwardRef(\n (props: AttachmentPickerProps, ref: React.ForwardedRef<BottomSheet>) => {\n const {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { bottomSheetContentContainer },\n colors: { white },\n },\n } = useTheme();\n const {\n closePicker,\n maxNumberOfFiles,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setSelectedFiles,\n setSelectedImages,\n setSelectedPicker,\n topInset,\n } = useAttachmentPickerContext();\n const { vh } = useViewport();\n\n const screenHeight = vh(100);\n\n const [currentIndex, setCurrentIndex] = useState(-1);\n const endCursorRef = useRef<string>();\n const [photoError, setPhotoError] = useState(false);\n const [iOSLimited, setIosLimited] = useState(false);\n const hasNextPageRef = useRef(true);\n const [loadingPhotos, setLoadingPhotos] = useState(false);\n const [photos, setPhotos] = useState<Asset[]>([]);\n const attemptedToLoadPhotosOnOpenRef = useRef(false);\n const { t } = useTranslationContext();\n\n const getMorePhotos = useCallback(async () => {\n if (\n hasNextPageRef.current &&\n !loadingPhotos &&\n currentIndex > -1 &&\n selectedPicker === 'images'\n ) {\n setPhotoError(false);\n setLoadingPhotos(true);\n const endCursor = endCursorRef.current;\n try {\n const results = await getPhotos({\n after: endCursor,\n first: numberOfAttachmentImagesToLoadPerCall ?? 60,\n });\n endCursorRef.current = results.endCursor;\n setPhotos((prevPhotos) =>\n endCursor ? [...prevPhotos, ...results.assets] : results.assets,\n );\n setIosLimited(results.iOSLimited);\n hasNextPageRef.current = !!results.hasNextPage;\n } catch (error) {\n setPhotoError(true);\n }\n setLoadingPhotos(false);\n }\n }, [currentIndex, selectedPicker, loadingPhotos]);\n\n // we need to use ref here to avoid running effect when getMorePhotos changes\n const getMorePhotosRef = useRef(getMorePhotos);\n getMorePhotosRef.current = getMorePhotos;\n\n useEffect(() => {\n if (selectedPicker !== 'images') return;\n // ios 14 library selection change event is fired when user reselects the images that are permitted to be readable by the app\n const { unsubscribe } = oniOS14GalleryLibrarySelectionChange(() => {\n // we reset the cursor and has next page to true to facilitate fetching of the first page of photos again\n hasNextPageRef.current = true;\n endCursorRef.current = undefined;\n // fetch the first page of photos again\n getMorePhotosRef.current();\n });\n return unsubscribe;\n }, [selectedPicker]);\n\n useEffect(() => {\n const backAction = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n closePicker();\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [selectedPicker, closePicker]);\n\n useEffect(() => {\n const onKeyboardOpenHandler = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n }\n closePicker();\n };\n const keyboardShowEvent = Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow';\n const keyboardSubscription = Keyboard.addListener(keyboardShowEvent, onKeyboardOpenHandler);\n\n return () => {\n if (keyboardSubscription?.remove) {\n keyboardSubscription.remove();\n return;\n }\n\n // To keep compatibility with older versions of React Native, where `remove()` is not available\n Keyboard.removeListener(keyboardShowEvent, onKeyboardOpenHandler);\n };\n }, [closePicker, selectedPicker]);\n\n useEffect(() => {\n if (currentIndex < 0) {\n setSelectedPicker(undefined);\n if (!loadingPhotos) {\n endCursorRef.current = undefined;\n hasNextPageRef.current = true;\n attemptedToLoadPhotosOnOpenRef.current = false;\n setPhotoError(false);\n }\n }\n }, [currentIndex, loadingPhotos]);\n\n useEffect(() => {\n if (\n !attemptedToLoadPhotosOnOpenRef.current &&\n selectedPicker === 'images' &&\n endCursorRef.current === undefined &&\n currentIndex > -1 &&\n !loadingPhotos\n ) {\n getMorePhotos();\n // we do this only once on open for avoiding to request permissions in rationale dialog again and again on Android\n attemptedToLoadPhotosOnOpenRef.current = true;\n }\n }, [currentIndex, selectedPicker, getMorePhotos, loadingPhotos]);\n\n const selectedPhotos = photos.map((asset) => ({\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads: selectedFiles.length + selectedImages.length,\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n selected:\n selectedImages.some((image) =>\n image.id ? image.id === asset.id : image.uri === asset.uri,\n ) ||\n selectedFiles.some((file) => (file.id ? file.id === asset.id : file.uri === asset.uri)),\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n }));\n\n const handleHeight = attachmentPickerBottomSheetHandleHeight || 20;\n\n /**\n * This is to handle issues with Android measurements coming back incorrect.\n * If the StatusBar height is perfectly 1/2 of the difference between the two\n * dimensions for screen and window, it is incorrect and we need to account for\n * this. If you use a translucent header bar more adjustments are needed.\n */\n const getAndroidBottomBarHeightAdjustment = (): number => {\n if (Platform.OS === 'android') {\n const statusBarHeight = StatusBar.currentHeight ?? 0;\n const bottomBarHeight = fullScreenHeight - screenHeight - statusBarHeight;\n if (bottomBarHeight === statusBarHeight) {\n return translucentStatusBar ? 0 : statusBarHeight;\n } else {\n if (translucentStatusBar) {\n if (bottomBarHeight > statusBarHeight) {\n return -bottomBarHeight + statusBarHeight;\n } else {\n return bottomBarHeight > 0 ? -statusBarHeight : 0;\n }\n } else {\n return bottomBarHeight > 0 ? 0 : statusBarHeight;\n }\n }\n }\n return 0;\n };\n\n const getInitialSnapPoint = (): number => {\n if (attachmentPickerBottomSheetHeight !== undefined) {\n return attachmentPickerBottomSheetHeight;\n }\n if (Platform.OS === 'android') {\n return (\n 308 +\n (fullScreenHeight - screenHeight + getAndroidBottomBarHeightAdjustment()) -\n handleHeight\n );\n } else {\n return 308 + (fullScreenHeight - screenHeight);\n }\n };\n\n const initialSnapPoint = getInitialSnapPoint();\n\n const finalSnapPoint =\n Platform.OS === 'android'\n ? fullScreenHeight - topInset - handleHeight\n : fullScreenHeight - topInset;\n\n /**\n * Snap points changing cause a rerender of the position,\n * this is an issue if you are calling close on the bottom sheet.\n */\n const snapPoints = useMemo(\n () => [initialSnapPoint, finalSnapPoint],\n [initialSnapPoint, finalSnapPoint],\n );\n\n return (\n <>\n <BottomSheet\n containerHeight={fullScreenHeight}\n enablePanDownToClose={true}\n handleComponent={\n /**\n * using `null` here instead of `style={{ opacity: photoError ? 0 : 1 }}`\n * as opacity is not an allowed style\n */\n photoError ? null : AttachmentPickerBottomSheetHandle\n }\n handleHeight={handleHeight}\n index={-1}\n onChange={setCurrentIndex}\n ref={ref}\n snapPoints={snapPoints}\n >\n {iOSLimited && (\n <Button onPress={iOS14RefreshGallerySelection} title={t('Select More Photos')} />\n )}\n <BottomSheetFlatList\n contentContainerStyle={[\n styles.container,\n { backgroundColor: white },\n bottomSheetContentContainer,\n { opacity: photoError ? 0 : 1 },\n ]}\n data={selectedPhotos}\n keyExtractor={(item) => item.asset.uri}\n numColumns={numberOfAttachmentPickerImageColumns ?? 3}\n onEndReached={photoError ? undefined : getMorePhotos}\n renderItem={renderAttachmentPickerItem}\n />\n </BottomSheet>\n {selectedPicker === 'images' && photoError && (\n <AttachmentPickerError\n attachmentPickerBottomSheetHeight={initialSnapPoint}\n attachmentPickerErrorButtonText={attachmentPickerErrorButtonText}\n AttachmentPickerErrorImage={AttachmentPickerErrorImage}\n attachmentPickerErrorText={attachmentPickerErrorText}\n />\n )}\n </>\n );\n },\n);\n\nAttachmentPicker.displayName = 'AttachmentPicker';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_bottomSheet","_dayjs","_interopRequireDefault","_duration","_AttachmentPickerItem","_AttachmentPickerContext","_ThemeContext","_useViewport2","_native","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","dayjs","extend","duration","styles","StyleSheet","create","container","flexGrow","fullScreenHeight","Dimensions","height","AttachmentPicker","React","forwardRef","props","ref","AttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","attachmentPickerErrorText","AttachmentPickerIOSSelectMorePhotos","ImageOverlaySelectedComponent","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","translucentStatusBar","_useTheme","useTheme","_useTheme$theme","theme","bottomSheetContentContainer","attachmentPicker","white","colors","_useAttachmentPickerC","useAttachmentPickerContext","closePicker","maxNumberOfFiles","selectedFiles","selectedImages","selectedPicker","setSelectedFiles","setSelectedImages","setSelectedPicker","topInset","_useViewport","useViewport","vh","screenHeight","_useState","useState","_useState2","_slicedToArray2","currentIndex","setCurrentIndex","endCursorRef","useRef","_useState3","_useState4","photoError","setPhotoError","_useState5","_useState6","iOSLimited","setIosLimited","hasNextPageRef","_useState7","_useState8","loadingPhotos","setLoadingPhotos","_useState9","_useState10","photos","setPhotos","attemptedToLoadPhotosOnOpenRef","getMorePhotos","useCallback","_asyncToGenerator2","_regenerator","mark","_callee","endCursor","results","wrap","_callee$","_context","prev","next","current","getPhotos","after","first","sent","prevPhotos","concat","_toConsumableArray2","assets","hasNextPage","t0","stop","getMorePhotosRef","useEffect","_oniOS14GalleryLibrar","oniOS14GalleryLibrarySelectionChange","undefined","unsubscribe","backAction","backHandler","BackHandler","addEventListener","remove","onKeyboardOpenHandler","keyboardShowEvent","Platform","OS","keyboardSubscription","Keyboard","addListener","removeListener","selectedPhotos","map","asset","numberOfUploads","length","selected","some","image","id","uri","file","handleHeight","getAndroidBottomBarHeightAdjustment","_StatusBar$currentHei","statusBarHeight","StatusBar","currentHeight","bottomBarHeight","getInitialSnapPoint","initialSnapPoint","finalSnapPoint","snapPoints","useMemo","createElement","Fragment","containerHeight","enablePanDownToClose","handleComponent","index","onChange","__self","__source","fileName","lineNumber","columnNumber","BottomSheetFlatList","contentContainerStyle","backgroundColor","opacity","data","keyExtractor","item","numColumns","onEndReached","renderItem","renderAttachmentPickerItem","exports","displayName"],"sources":["AttachmentPicker.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { BackHandler, Dimensions, Keyboard, Platform, StatusBar, StyleSheet } from 'react-native';\n\nimport BottomSheet, { BottomSheetFlatList, BottomSheetHandleProps } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport duration from 'dayjs/plugin/duration';\n\nimport type { AttachmentPickerErrorProps } from './components/AttachmentPickerError';\n\nimport { renderAttachmentPickerItem } from './components/AttachmentPickerItem';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../hooks/useViewport';\nimport { getPhotos, oniOS14GalleryLibrarySelectionChange } from '../../native';\nimport type { Asset } from '../../types/types';\n\ndayjs.extend(duration);\n\nconst styles = StyleSheet.create({\n container: {\n flexGrow: 1,\n },\n});\n\nconst fullScreenHeight = Dimensions.get('window').height;\n\nexport type AttachmentPickerProps = {\n /**\n * Custom UI component to render [draggable handle](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) of attachment picker.\n *\n * **Default** [AttachmentPickerBottomSheetHandle](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx)\n */\n AttachmentPickerBottomSheetHandle: React.FC<BottomSheetHandleProps>;\n /**\n * Custom UI component to render error component while opening attachment picker.\n *\n * **Default** [AttachmentPickerError](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerError.tsx)\n */\n AttachmentPickerError: React.ComponentType<AttachmentPickerErrorProps>;\n /**\n * Custom UI component to render error image for attachment picker\n *\n * **Default** [AttachmentPickerErrorImage](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx)\n */\n AttachmentPickerErrorImage: React.ComponentType;\n /**\n * Custom UI Component to render select more photos for selected gallery access in iOS.\n */\n AttachmentPickerIOSSelectMorePhotos: React.ComponentType;\n /**\n * Custom UI component to render overlay component, that shows up on top of [selected image](https://github.com/GetStream/stream-chat-react-native/blob/main/screenshots/docs/1.png) (with tick mark)\n *\n * **Default** [ImageOverlaySelectedComponent](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx)\n */\n ImageOverlaySelectedComponent: React.ComponentType;\n attachmentPickerBottomSheetHandleHeight?: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentPickerErrorButtonText?: string;\n attachmentPickerErrorText?: string;\n numberOfAttachmentImagesToLoadPerCall?: number;\n numberOfAttachmentPickerImageColumns?: number;\n translucentStatusBar?: boolean;\n};\n\nexport const AttachmentPicker = React.forwardRef(\n (props: AttachmentPickerProps, ref: React.ForwardedRef<BottomSheet>) => {\n const {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n AttachmentPickerIOSSelectMorePhotos,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { bottomSheetContentContainer },\n colors: { white },\n },\n } = useTheme();\n const {\n closePicker,\n maxNumberOfFiles,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setSelectedFiles,\n setSelectedImages,\n setSelectedPicker,\n topInset,\n } = useAttachmentPickerContext();\n const { vh } = useViewport();\n\n const screenHeight = vh(100);\n\n const [currentIndex, setCurrentIndex] = useState(-1);\n const endCursorRef = useRef<string>();\n const [photoError, setPhotoError] = useState(false);\n const [iOSLimited, setIosLimited] = useState(false);\n const hasNextPageRef = useRef(true);\n const [loadingPhotos, setLoadingPhotos] = useState(false);\n const [photos, setPhotos] = useState<Asset[]>([]);\n const attemptedToLoadPhotosOnOpenRef = useRef(false);\n\n const getMorePhotos = useCallback(async () => {\n if (\n hasNextPageRef.current &&\n !loadingPhotos &&\n currentIndex > -1 &&\n selectedPicker === 'images'\n ) {\n setPhotoError(false);\n setLoadingPhotos(true);\n const endCursor = endCursorRef.current;\n try {\n const results = await getPhotos({\n after: endCursor,\n first: numberOfAttachmentImagesToLoadPerCall ?? 60,\n });\n endCursorRef.current = results.endCursor;\n setPhotos((prevPhotos) =>\n endCursor ? [...prevPhotos, ...results.assets] : results.assets,\n );\n setIosLimited(results.iOSLimited);\n hasNextPageRef.current = !!results.hasNextPage;\n } catch (error) {\n setPhotoError(true);\n }\n setLoadingPhotos(false);\n }\n }, [currentIndex, selectedPicker, loadingPhotos]);\n\n // we need to use ref here to avoid running effect when getMorePhotos changes\n const getMorePhotosRef = useRef(getMorePhotos);\n getMorePhotosRef.current = getMorePhotos;\n\n useEffect(() => {\n if (selectedPicker !== 'images') return;\n // ios 14 library selection change event is fired when user reselects the images that are permitted to be readable by the app\n const { unsubscribe } = oniOS14GalleryLibrarySelectionChange(() => {\n // we reset the cursor and has next page to true to facilitate fetching of the first page of photos again\n hasNextPageRef.current = true;\n endCursorRef.current = undefined;\n // fetch the first page of photos again\n getMorePhotosRef.current();\n });\n return unsubscribe;\n }, [selectedPicker]);\n\n useEffect(() => {\n const backAction = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n closePicker();\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [selectedPicker, closePicker]);\n\n useEffect(() => {\n const onKeyboardOpenHandler = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n }\n closePicker();\n };\n const keyboardShowEvent = Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow';\n const keyboardSubscription = Keyboard.addListener(keyboardShowEvent, onKeyboardOpenHandler);\n\n return () => {\n if (keyboardSubscription?.remove) {\n keyboardSubscription.remove();\n return;\n }\n\n // To keep compatibility with older versions of React Native, where `remove()` is not available\n Keyboard.removeListener(keyboardShowEvent, onKeyboardOpenHandler);\n };\n }, [closePicker, selectedPicker]);\n\n useEffect(() => {\n if (currentIndex < 0) {\n setSelectedPicker(undefined);\n if (!loadingPhotos) {\n endCursorRef.current = undefined;\n hasNextPageRef.current = true;\n attemptedToLoadPhotosOnOpenRef.current = false;\n setPhotoError(false);\n }\n }\n }, [currentIndex, loadingPhotos]);\n\n useEffect(() => {\n if (\n !attemptedToLoadPhotosOnOpenRef.current &&\n selectedPicker === 'images' &&\n endCursorRef.current === undefined &&\n currentIndex > -1 &&\n !loadingPhotos\n ) {\n getMorePhotos();\n // we do this only once on open for avoiding to request permissions in rationale dialog again and again on Android\n attemptedToLoadPhotosOnOpenRef.current = true;\n }\n }, [currentIndex, selectedPicker, getMorePhotos, loadingPhotos]);\n\n const selectedPhotos = photos.map((asset) => ({\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads: selectedFiles.length + selectedImages.length,\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n selected:\n selectedImages.some((image) =>\n image.id ? image.id === asset.id : image.uri === asset.uri,\n ) ||\n selectedFiles.some((file) => (file.id ? file.id === asset.id : file.uri === asset.uri)),\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n }));\n\n const handleHeight = attachmentPickerBottomSheetHandleHeight || 20;\n\n /**\n * This is to handle issues with Android measurements coming back incorrect.\n * If the StatusBar height is perfectly 1/2 of the difference between the two\n * dimensions for screen and window, it is incorrect and we need to account for\n * this. If you use a translucent header bar more adjustments are needed.\n */\n const getAndroidBottomBarHeightAdjustment = (): number => {\n if (Platform.OS === 'android') {\n const statusBarHeight = StatusBar.currentHeight ?? 0;\n const bottomBarHeight = fullScreenHeight - screenHeight - statusBarHeight;\n if (bottomBarHeight === statusBarHeight) {\n return translucentStatusBar ? 0 : statusBarHeight;\n } else {\n if (translucentStatusBar) {\n if (bottomBarHeight > statusBarHeight) {\n return -bottomBarHeight + statusBarHeight;\n } else {\n return bottomBarHeight > 0 ? -statusBarHeight : 0;\n }\n } else {\n return bottomBarHeight > 0 ? 0 : statusBarHeight;\n }\n }\n }\n return 0;\n };\n\n const getInitialSnapPoint = (): number => {\n if (attachmentPickerBottomSheetHeight !== undefined) {\n return attachmentPickerBottomSheetHeight;\n }\n if (Platform.OS === 'android') {\n return (\n 308 +\n (fullScreenHeight - screenHeight + getAndroidBottomBarHeightAdjustment()) -\n handleHeight\n );\n } else {\n return 308 + (fullScreenHeight - screenHeight);\n }\n };\n\n const initialSnapPoint = getInitialSnapPoint();\n\n const finalSnapPoint =\n Platform.OS === 'android'\n ? fullScreenHeight - topInset - handleHeight\n : fullScreenHeight - topInset;\n\n /**\n * Snap points changing cause a rerender of the position,\n * this is an issue if you are calling close on the bottom sheet.\n */\n const snapPoints = useMemo(\n () => [initialSnapPoint, finalSnapPoint],\n [initialSnapPoint, finalSnapPoint],\n );\n\n return (\n <>\n <BottomSheet\n containerHeight={fullScreenHeight}\n enablePanDownToClose={true}\n handleComponent={\n /**\n * using `null` here instead of `style={{ opacity: photoError ? 0 : 1 }}`\n * as opacity is not an allowed style\n */\n photoError ? null : AttachmentPickerBottomSheetHandle\n }\n handleHeight={handleHeight}\n index={-1}\n onChange={setCurrentIndex}\n ref={ref}\n snapPoints={snapPoints}\n >\n {iOSLimited && <AttachmentPickerIOSSelectMorePhotos />}\n <BottomSheetFlatList\n contentContainerStyle={[\n styles.container,\n { backgroundColor: white },\n bottomSheetContentContainer,\n { opacity: photoError ? 0 : 1 },\n ]}\n data={selectedPhotos}\n keyExtractor={(item) => item.asset.uri}\n numColumns={numberOfAttachmentPickerImageColumns ?? 3}\n onEndReached={photoError ? undefined : getMorePhotos}\n renderItem={renderAttachmentPickerItem}\n />\n </BottomSheet>\n {selectedPicker === 'images' && photoError && (\n <AttachmentPickerError\n attachmentPickerBottomSheetHeight={initialSnapPoint}\n attachmentPickerErrorButtonText={attachmentPickerErrorButtonText}\n AttachmentPickerErrorImage={AttachmentPickerErrorImage}\n attachmentPickerErrorText={attachmentPickerErrorText}\n />\n )}\n </>\n );\n },\n);\n\nAttachmentPicker.displayName = 'AttachmentPicker';\n"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.AttachmentPickerIOSSelectMorePhotos = void 0;
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _reactNative = require("react-native");
8
+ var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
9
+ var _native = require("../../../native");
10
+ var _this = this,
11
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.tsx";
12
+ var AttachmentPickerIOSSelectMorePhotos = function AttachmentPickerIOSSelectMorePhotos() {
13
+ var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
14
+ t = _useTranslationContex.t;
15
+ return _react["default"].createElement(_reactNative.Button, {
16
+ onPress: _native.iOS14RefreshGallerySelection,
17
+ title: t('Select More Photos'),
18
+ __self: _this,
19
+ __source: {
20
+ fileName: _jsxFileName,
21
+ lineNumber: 9,
22
+ columnNumber: 10
23
+ }
24
+ });
25
+ };
26
+ exports.AttachmentPickerIOSSelectMorePhotos = AttachmentPickerIOSSelectMorePhotos;
27
+ //# sourceMappingURL=AttachmentPickerIOSSelectMorePhotos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_TranslationContext","_native","_this","_jsxFileName","AttachmentPickerIOSSelectMorePhotos","_useTranslationContex","useTranslationContext","t","createElement","Button","onPress","iOS14RefreshGallerySelection","title","__self","__source","fileName","lineNumber","columnNumber","exports"],"sources":["AttachmentPickerIOSSelectMorePhotos.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from 'react-native';\n\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { iOS14RefreshGallerySelection } from '../../../native';\n\nexport const AttachmentPickerIOSSelectMorePhotos = () => {\n const { t } = useTranslationContext();\n return <Button onPress={iOS14RefreshGallerySelection} title={t('Select More Photos')} />;\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA+D,IAAAI,KAAA;EAAAC,YAAA;AAExD,IAAMC,mCAAmC,GAAG,SAAtCA,mCAAmCA,CAAA,EAAS;EACvD,IAAAC,qBAAA,GAAc,IAAAC,yCAAqB,EAAC,CAAC;IAA7BC,CAAC,GAAAF,qBAAA,CAADE,CAAC;EACT,OAAOX,MAAA,YAAAY,aAAA,CAACT,YAAA,CAAAU,MAAM;IAACC,OAAO,EAAEC,oCAA6B;IAACC,KAAK,EAAEL,CAAC,CAAC,oBAAoB,CAAE;IAAAM,MAAA,EAAAX,KAAA;IAAAY,QAAA;MAAAC,QAAA,EAAAZ,YAAA;MAAAa,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC;AAC1F,CAAC;AAACC,OAAA,CAAAd,mCAAA,GAAAA,mCAAA"}
@@ -24,6 +24,7 @@ var _init = _interopRequireDefault(require("../../init"));
24
24
  var _native = require("../../native");
25
25
  var _QuickSqliteClient = require("../../store/QuickSqliteClient");
26
26
  var _DBSyncManager = require("../../utils/DBSyncManager");
27
+ var _StreamChatRN = require("../../utils/StreamChatRN");
27
28
  var _version = require("../../version.json");
28
29
  var _this = this,
29
30
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Chat/Chat.tsx";
@@ -41,6 +42,8 @@ var ChatWithContext = function ChatWithContext(props) {
41
42
  i18nInstance = props.i18nInstance,
42
43
  _props$ImageComponent = props.ImageComponent,
43
44
  ImageComponent = _props$ImageComponent === void 0 ? _reactNative.Image : _props$ImageComponent,
45
+ _props$resizableCDNHo = props.resizableCDNHosts,
46
+ resizableCDNHosts = _props$resizableCDNHo === void 0 ? ['.stream-io-cdn.com'] : _props$resizableCDNHo,
44
47
  style = props.style;
45
48
  var _useState = (0, _react.useState)(),
46
49
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -57,6 +60,9 @@ var ChatWithContext = function ChatWithContext(props) {
57
60
  var mutedUsers = (0, _useMutedUsers.useMutedUsers)(client);
58
61
  var debugRef = (0, _DebugContext.useDebugContext)();
59
62
  var isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;
63
+ _StreamChatRN.StreamChatRN.setConfig({
64
+ resizableCDNHosts: resizableCDNHosts
65
+ });
60
66
  (0, _react.useEffect)(function () {
61
67
  if (client) {
62
68
  client.setUserAgent(_native.SDK + "-" + _reactNative.Platform.OS + "-" + _version.version);
@@ -93,6 +99,7 @@ var ChatWithContext = function ChatWithContext(props) {
93
99
  ImageComponent: ImageComponent,
94
100
  isOnline: isOnline,
95
101
  mutedUsers: mutedUsers,
102
+ resizableCDNHosts: resizableCDNHosts,
96
103
  setActiveChannel: setActiveChannel
97
104
  });
98
105
  (0, _useSyncDatabase.useSyncDatabase)({
@@ -108,7 +115,7 @@ var ChatWithContext = function ChatWithContext(props) {
108
115
  __self: _this,
109
116
  __source: {
110
117
  fileName: _jsxFileName,
111
- lineNumber: 226,
118
+ lineNumber: 232,
112
119
  columnNumber: 5
113
120
  }
114
121
  }, _react["default"].createElement(_TranslationContext.TranslationProvider, {
@@ -118,7 +125,7 @@ var ChatWithContext = function ChatWithContext(props) {
118
125
  __self: _this,
119
126
  __source: {
120
127
  fileName: _jsxFileName,
121
- lineNumber: 227,
128
+ lineNumber: 233,
122
129
  columnNumber: 7
123
130
  }
124
131
  }, _react["default"].createElement(_ThemeContext.ThemeProvider, {
@@ -126,14 +133,14 @@ var ChatWithContext = function ChatWithContext(props) {
126
133
  __self: _this,
127
134
  __source: {
128
135
  fileName: _jsxFileName,
129
- lineNumber: 230,
136
+ lineNumber: 236,
130
137
  columnNumber: 9
131
138
  }
132
139
  }, _react["default"].createElement(_ChannelsStateContext.ChannelsStateProvider, {
133
140
  __self: _this,
134
141
  __source: {
135
142
  fileName: _jsxFileName,
136
- lineNumber: 231,
143
+ lineNumber: 237,
137
144
  columnNumber: 11
138
145
  }
139
146
  }, children))));
@@ -147,7 +154,7 @@ var Chat = function Chat(props) {
147
154
  __self: _this,
148
155
  __source: {
149
156
  fileName: _jsxFileName,
150
- lineNumber: 266,
157
+ lineNumber: 272,
151
158
  columnNumber: 10
152
159
  }
153
160
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useAppSettings","_useCreateChatContext","_useIsOnline2","_useMutedUsers","_useSyncDatabase","_ChannelsStateContext","_ChatContext","_DebugContext","_OverlayContext","_ThemeContext","_TranslationContext","_useStreami18n","_init","_interopRequireDefault","_native","_QuickSqliteClient","_DBSyncManager","_version","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","init","ChatWithContext","props","_client$user2","_client$user3","children","client","_props$closeConnectio","closeConnectionOnBackground","_props$enableOfflineS","enableOfflineSupport","i18nInstance","_props$ImageComponent","ImageComponent","Image","style","_useState","useState","_useState2","_slicedToArray2","channel","setChannel","translators","useStreami18n","_useIsOnline","useIsOnline","connectionRecovering","isOnline","_useState3","_useState4","initialisedDatabase","setInitialisedDatabase","mutedUsers","useMutedUsers","debugRef","useDebugContext","isDebugModeEnabled","__DEV__","current","useEffect","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","persistUserOnConnectionFailure","setEventType","setSendEventParams","action","data","user","setActiveChannel","newChannel","_client$user","id","QuickSqliteClient","initializeDatabase","DBSyncManager","appSettings","useAppSettings","chatContext","useCreateChatContext","useSyncDatabase","createElement","ChatProvider","value","__self","__source","fileName","lineNumber","columnNumber","TranslationProvider","_extends2","userLanguage","language","DEFAULT_USER_LANGUAGE","ThemeProvider","ChannelsStateProvider","Chat","_useOverlayContext","useOverlayContext","exports"],"sources":["Chat.tsx"],"sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Image, Platform } from 'react-native';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport { useAppSettings } from './hooks/useAppSettings';\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { useSyncDatabase } from './hooks/useSyncDatabase';\n\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useDebugContext } from '../../contexts/debugContext/DebugContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n DEFAULT_USER_LANGUAGE,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport { QuickSqliteClient } from '../../store/QuickSqliteClient';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport type { Streami18n } from '../../utils/Streami18n';\nimport { version } from '../../version.json';\n\ninit();\n\nexport type ChatProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Partial<Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'>> & {\n /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Enables offline storage and loading for chat data.\n */\n enableOfflineSupport?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n };\n\nconst ChatWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const {\n children,\n client,\n closeConnectionOnBackground = true,\n enableOfflineSupport = false,\n i18nInstance,\n ImageComponent = Image,\n style,\n } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n\n // Setup translators\n const translators = useStreami18n(i18nInstance);\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n const [initialisedDatabase, setInitialisedDatabase] = useState(false);\n\n /**\n * Setup muted user listener\n * TODO: reimplement\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n const debugRef = useDebugContext();\n const isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;\n\n useEffect(() => {\n if (client) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n client.persistUserOnConnectionFailure = enableOfflineSupport;\n }\n\n if (isDebugModeEnabled) {\n if (debugRef.current.setEventType) debugRef.current.setEventType('send');\n if (debugRef.current.setSendEventParams)\n debugRef.current.setSendEventParams({\n action: 'Client',\n data: client.user,\n });\n }\n }, [client, enableOfflineSupport]);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n useEffect(() => {\n if (client.user?.id && enableOfflineSupport) {\n setInitialisedDatabase(false);\n QuickSqliteClient.initializeDatabase();\n DBSyncManager.init(client as unknown as StreamChat);\n setInitialisedDatabase(true);\n }\n }, [client?.user?.id, enableOfflineSupport]);\n\n const appSettings = useAppSettings(client, isOnline, enableOfflineSupport, initialisedDatabase);\n\n const chatContext = useCreateChatContext({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n setActiveChannel,\n });\n\n useSyncDatabase({\n client,\n enableOfflineSupport,\n initialisedDatabase,\n });\n\n if (enableOfflineSupport && !initialisedDatabase) {\n return null;\n }\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider\n value={{ ...translators, userLanguage: client.user?.language || DEFAULT_USER_LANGUAGE }}\n >\n <ThemeProvider style={style}>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n </ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useAppSettings","_useCreateChatContext","_useIsOnline2","_useMutedUsers","_useSyncDatabase","_ChannelsStateContext","_ChatContext","_DebugContext","_OverlayContext","_ThemeContext","_TranslationContext","_useStreami18n","_init","_interopRequireDefault","_native","_QuickSqliteClient","_DBSyncManager","_StreamChatRN","_version","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","init","ChatWithContext","props","_client$user2","_client$user3","children","client","_props$closeConnectio","closeConnectionOnBackground","_props$enableOfflineS","enableOfflineSupport","i18nInstance","_props$ImageComponent","ImageComponent","Image","_props$resizableCDNHo","resizableCDNHosts","style","_useState","useState","_useState2","_slicedToArray2","channel","setChannel","translators","useStreami18n","_useIsOnline","useIsOnline","connectionRecovering","isOnline","_useState3","_useState4","initialisedDatabase","setInitialisedDatabase","mutedUsers","useMutedUsers","debugRef","useDebugContext","isDebugModeEnabled","__DEV__","current","StreamChatRN","setConfig","useEffect","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","persistUserOnConnectionFailure","setEventType","setSendEventParams","action","data","user","setActiveChannel","newChannel","_client$user","id","QuickSqliteClient","initializeDatabase","DBSyncManager","appSettings","useAppSettings","chatContext","useCreateChatContext","useSyncDatabase","createElement","ChatProvider","value","__self","__source","fileName","lineNumber","columnNumber","TranslationProvider","_extends2","userLanguage","language","DEFAULT_USER_LANGUAGE","ThemeProvider","ChannelsStateProvider","Chat","_useOverlayContext","useOverlayContext","exports"],"sources":["Chat.tsx"],"sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Image, Platform } from 'react-native';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport { useAppSettings } from './hooks/useAppSettings';\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { useSyncDatabase } from './hooks/useSyncDatabase';\n\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useDebugContext } from '../../contexts/debugContext/DebugContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n DEFAULT_USER_LANGUAGE,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport { QuickSqliteClient } from '../../store/QuickSqliteClient';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport { StreamChatRN } from '../../utils/StreamChatRN';\nimport type { Streami18n } from '../../utils/Streami18n';\nimport { version } from '../../version.json';\n\ninit();\n\nexport type ChatProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Partial<Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent' | 'resizableCDNHosts'>> & {\n /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Enables offline storage and loading for chat data.\n */\n enableOfflineSupport?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n };\n\nconst ChatWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const {\n children,\n client,\n closeConnectionOnBackground = true,\n enableOfflineSupport = false,\n i18nInstance,\n ImageComponent = Image,\n resizableCDNHosts = ['.stream-io-cdn.com'],\n style,\n } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n\n // Setup translators\n const translators = useStreami18n(i18nInstance);\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n const [initialisedDatabase, setInitialisedDatabase] = useState(false);\n\n /**\n * Setup muted user listener\n * TODO: reimplement\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n const debugRef = useDebugContext();\n const isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;\n\n // Set the `resizableCDNHosts` as per the prop.\n StreamChatRN.setConfig({ resizableCDNHosts });\n\n useEffect(() => {\n if (client) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n client.persistUserOnConnectionFailure = enableOfflineSupport;\n }\n\n if (isDebugModeEnabled) {\n if (debugRef.current.setEventType) debugRef.current.setEventType('send');\n if (debugRef.current.setSendEventParams)\n debugRef.current.setSendEventParams({\n action: 'Client',\n data: client.user,\n });\n }\n }, [client, enableOfflineSupport]);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n useEffect(() => {\n if (client.user?.id && enableOfflineSupport) {\n setInitialisedDatabase(false);\n QuickSqliteClient.initializeDatabase();\n DBSyncManager.init(client as unknown as StreamChat);\n setInitialisedDatabase(true);\n }\n }, [client?.user?.id, enableOfflineSupport]);\n\n const appSettings = useAppSettings(client, isOnline, enableOfflineSupport, initialisedDatabase);\n\n const chatContext = useCreateChatContext({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n resizableCDNHosts,\n setActiveChannel,\n });\n\n useSyncDatabase({\n client,\n enableOfflineSupport,\n initialisedDatabase,\n });\n\n if (enableOfflineSupport && !initialisedDatabase) {\n return null;\n }\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider\n value={{ ...translators, userLanguage: client.user?.language || DEFAULT_USER_LANGUAGE }}\n >\n <ThemeProvider style={style}>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n </ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"],"mappings":"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"}
@@ -12,6 +12,7 @@ var useCreateChatContext = function useCreateChatContext(_ref) {
12
12
  ImageComponent = _ref.ImageComponent,
13
13
  isOnline = _ref.isOnline,
14
14
  mutedUsers = _ref.mutedUsers,
15
+ resizableCDNHosts = _ref.resizableCDNHosts,
15
16
  setActiveChannel = _ref.setActiveChannel;
16
17
  var channelId = channel == null ? void 0 : channel.id;
17
18
  var clientValues = client ? "" + client.clientID + Object.keys(client.activeChannels).length + Object.keys(client.listeners).length + client.mutedChannels.length : 'Offline';
@@ -26,6 +27,7 @@ var useCreateChatContext = function useCreateChatContext(_ref) {
26
27
  ImageComponent: ImageComponent,
27
28
  isOnline: isOnline,
28
29
  mutedUsers: mutedUsers,
30
+ resizableCDNHosts: resizableCDNHosts,
29
31
  setActiveChannel: setActiveChannel
30
32
  };
31
33
  }, [channelId, clientValues, connectionRecovering, isOnline, mutedUsersLength]);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useCreateChatContext","_ref","appSettings","channel","client","connectionRecovering","enableOfflineSupport","ImageComponent","isOnline","mutedUsers","setActiveChannel","channelId","id","clientValues","clientID","Object","keys","activeChannels","length","listeners","mutedChannels","mutedUsersLength","chatContext","useMemo","exports"],"sources":["useCreateChatContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { ChatContextValue } from '../../../contexts/chatContext/ChatContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n setActiveChannel,\n}: ChatContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const clientValues = client\n ? `${client.clientID}${Object.keys(client.activeChannels).length}${\n Object.keys(client.listeners).length\n }${client.mutedChannels.length}`\n : 'Offline';\n const mutedUsersLength = mutedUsers.length;\n\n const chatContext: ChatContextValue<StreamChatGenerics> = useMemo(\n () => ({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n setActiveChannel,\n }),\n [channelId, clientValues, connectionRecovering, isOnline, mutedUsersLength],\n );\n\n return chatContext;\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAYW;EAAA,IAT1CC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,oBAAoB,GAAAJ,IAAA,CAApBI,oBAAoB;IACpBC,oBAAoB,GAAAL,IAAA,CAApBK,oBAAoB;IACpBC,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,gBAAgB,GAAAT,IAAA,CAAhBS,gBAAgB;EAEhB,IAAMC,SAAS,GAAGR,OAAO,oBAAPA,OAAO,CAAES,EAAE;EAC7B,IAAMC,YAAY,GAAGT,MAAM,QACpBA,MAAM,CAACU,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACZ,MAAM,CAACa,cAAc,CAAC,CAACC,MAAM,GAC5DH,MAAM,CAACC,IAAI,CAACZ,MAAM,CAACe,SAAS,CAAC,CAACD,MAAM,GACnCd,MAAM,CAACgB,aAAa,CAACF,MAAM,GAC9B,SAAS;EACb,IAAMG,gBAAgB,GAAGZ,UAAU,CAACS,MAAM;EAE1C,IAAMI,WAAiD,GAAG,IAAAC,cAAO,EAC/D;IAAA,OAAO;MACLrB,WAAW,EAAXA,WAAW;MACXC,OAAO,EAAPA,OAAO;MACPC,MAAM,EAANA,MAAM;MACNC,oBAAoB,EAApBA,oBAAoB;MACpBC,oBAAoB,EAApBA,oBAAoB;MACpBC,cAAc,EAAdA,cAAc;MACdC,QAAQ,EAARA,QAAQ;MACRC,UAAU,EAAVA,UAAU;MACVC,gBAAgB,EAAhBA;IACF,CAAC;EAAA,CAAC,EACF,CAACC,SAAS,EAAEE,YAAY,EAAER,oBAAoB,EAAEG,QAAQ,EAAEa,gBAAgB,CAC5E,CAAC;EAED,OAAOC,WAAW;AACpB,CAAC;AAACE,OAAA,CAAAxB,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"names":["_react","require","useCreateChatContext","_ref","appSettings","channel","client","connectionRecovering","enableOfflineSupport","ImageComponent","isOnline","mutedUsers","resizableCDNHosts","setActiveChannel","channelId","id","clientValues","clientID","Object","keys","activeChannels","length","listeners","mutedChannels","mutedUsersLength","chatContext","useMemo","exports"],"sources":["useCreateChatContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { ChatContextValue } from '../../../contexts/chatContext/ChatContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n resizableCDNHosts,\n setActiveChannel,\n}: ChatContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const clientValues = client\n ? `${client.clientID}${Object.keys(client.activeChannels).length}${\n Object.keys(client.listeners).length\n }${client.mutedChannels.length}`\n : 'Offline';\n const mutedUsersLength = mutedUsers.length;\n\n const chatContext: ChatContextValue<StreamChatGenerics> = useMemo(\n () => ({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n ImageComponent,\n isOnline,\n mutedUsers,\n resizableCDNHosts,\n setActiveChannel,\n }),\n [channelId, clientValues, connectionRecovering, isOnline, mutedUsersLength],\n );\n\n return chatContext;\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAaW;EAAA,IAV1CC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,oBAAoB,GAAAJ,IAAA,CAApBI,oBAAoB;IACpBC,oBAAoB,GAAAL,IAAA,CAApBK,oBAAoB;IACpBC,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,iBAAiB,GAAAT,IAAA,CAAjBS,iBAAiB;IACjBC,gBAAgB,GAAAV,IAAA,CAAhBU,gBAAgB;EAEhB,IAAMC,SAAS,GAAGT,OAAO,oBAAPA,OAAO,CAAEU,EAAE;EAC7B,IAAMC,YAAY,GAAGV,MAAM,QACpBA,MAAM,CAACW,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACb,MAAM,CAACc,cAAc,CAAC,CAACC,MAAM,GAC5DH,MAAM,CAACC,IAAI,CAACb,MAAM,CAACgB,SAAS,CAAC,CAACD,MAAM,GACnCf,MAAM,CAACiB,aAAa,CAACF,MAAM,GAC9B,SAAS;EACb,IAAMG,gBAAgB,GAAGb,UAAU,CAACU,MAAM;EAE1C,IAAMI,WAAiD,GAAG,IAAAC,cAAO,EAC/D;IAAA,OAAO;MACLtB,WAAW,EAAXA,WAAW;MACXC,OAAO,EAAPA,OAAO;MACPC,MAAM,EAANA,MAAM;MACNC,oBAAoB,EAApBA,oBAAoB;MACpBC,oBAAoB,EAApBA,oBAAoB;MACpBC,cAAc,EAAdA,cAAc;MACdC,QAAQ,EAARA,QAAQ;MACRC,UAAU,EAAVA,UAAU;MACVC,iBAAiB,EAAjBA,iBAAiB;MACjBC,gBAAgB,EAAhBA;IACF,CAAC;EAAA,CAAC,EACF,CAACC,SAAS,EAAEE,YAAY,EAAET,oBAAoB,EAAEG,QAAQ,EAAEc,gBAAgB,CAC5E,CAAC;EAED,OAAOC,WAAW;AACpB,CAAC;AAACE,OAAA,CAAAzB,oBAAA,GAAAA,oBAAA"}
@@ -23,7 +23,7 @@ var ChatProvider = function ChatProvider(_ref) {
23
23
  __self: _this,
24
24
  __source: {
25
25
  fileName: _jsxFileName,
26
- lineNumber: 80,
26
+ lineNumber: 84,
27
27
  columnNumber: 3
28
28
  }
29
29
  }, children);
@@ -44,7 +44,7 @@ var withChatContext = function withChatContext(Component) {
44
44
  __self: _this,
45
45
  __source: {
46
46
  fileName: _jsxFileName,
47
- lineNumber: 113,
47
+ lineNumber: 117,
48
48
  columnNumber: 12
49
49
  }
50
50
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_defaultBaseContextValue","_getDisplayName","_isTestEnvironment","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ChatContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","exports","ChatProvider","_ref","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","useChatContext","contextValue","useContext","isTestEnvironment","Error","withChatContext","Component","WithChatContextComponent","props","chatContext","_extends2","displayName","getDisplayName"],"sources":["ChatContext.tsx"],"sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\nimport type { ImageProps } from 'react-native';\n\nimport type { AppSettingsAPIResponse, Channel, Mute, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type ChatContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Object of application settings returned from Stream.\n * */\n appSettings: AppSettingsAPIResponse<StreamChatGenerics> | null;\n /**\n * The StreamChat client object\n *\n * ```\n * import { StreamChat } from 'stream-chat';\n * import { Chat } from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key);\n * await client.connectUser('user_id', 'userToken');\n *\n * <Chat client={client}>\n * </Chat>\n * ```\n *\n * @overrideType StreamChat\n * */\n client: StreamChat<StreamChatGenerics>;\n connectionRecovering: boolean;\n enableOfflineSupport: boolean;\n /**\n * Drop in replacement of all the underlying Image components within SDK. This is useful for the purpose of offline caching of images. Please check the Offline Support Guide for usage.\n */\n ImageComponent: React.ComponentType<ImageProps>;\n isOnline: boolean | null;\n mutedUsers: Mute<StreamChatGenerics>[];\n /**\n * @param newChannel Channel to set as active.\n *\n * @overrideType Function\n */\n setActiveChannel: (newChannel?: Channel<StreamChatGenerics>) => void;\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n * ```\n *\n * @overrideType Channel\n */\n channel?: Channel<StreamChatGenerics>;\n};\n\nexport const ChatContext = React.createContext(DEFAULT_BASE_CONTEXT_VALUE as ChatContextValue);\n\nexport const ChatProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: ChatContextValue<StreamChatGenerics>;\n}>) => (\n <ChatContext.Provider value={value as unknown as ChatContextValue}>\n {children}\n </ChatContext.Provider>\n);\n\nexport const useChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(ChatContext) as unknown as ChatContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useChatContext hook was called outside the ChatContext Provider. Make sure you have configured Chat component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#chat`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChatContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChatContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChatContextValue<StreamChatGenerics>>> => {\n const WithChatContextComponent = (props: Omit<P, keyof ChatContextValue<StreamChatGenerics>>) => {\n const chatContext = useChatContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...chatContext} />;\n };\n WithChatContextComponent.displayName = `WithChatContext${getDisplayName(Component)}`;\n return WithChatContextComponent;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_defaultBaseContextValue","_getDisplayName","_isTestEnvironment","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ChatContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","exports","ChatProvider","_ref","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","useChatContext","contextValue","useContext","isTestEnvironment","Error","withChatContext","Component","WithChatContextComponent","props","chatContext","_extends2","displayName","getDisplayName"],"sources":["ChatContext.tsx"],"sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\nimport type { ImageProps } from 'react-native';\n\nimport type { AppSettingsAPIResponse, Channel, Mute, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type ChatContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Object of application settings returned from Stream.\n * */\n appSettings: AppSettingsAPIResponse<StreamChatGenerics> | null;\n /**\n * The StreamChat client object\n *\n * ```\n * import { StreamChat } from 'stream-chat';\n * import { Chat } from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key);\n * await client.connectUser('user_id', 'userToken');\n *\n * <Chat client={client}>\n * </Chat>\n * ```\n *\n * @overrideType StreamChat\n * */\n client: StreamChat<StreamChatGenerics>;\n connectionRecovering: boolean;\n enableOfflineSupport: boolean;\n /**\n * Drop in replacement of all the underlying Image components within SDK. This is useful for the purpose of offline caching of images. Please check the Offline Support Guide for usage.\n */\n ImageComponent: React.ComponentType<ImageProps>;\n isOnline: boolean | null;\n mutedUsers: Mute<StreamChatGenerics>[];\n /**\n * @param newChannel Channel to set as active.\n *\n * @overrideType Function\n */\n setActiveChannel: (newChannel?: Channel<StreamChatGenerics>) => void;\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n * ```\n *\n * @overrideType Channel\n */\n channel?: Channel<StreamChatGenerics>;\n /**\n * This option allows you to specify a list of CDNs that offer image resizing.\n */\n resizableCDNHosts?: string[];\n};\n\nexport const ChatContext = React.createContext(DEFAULT_BASE_CONTEXT_VALUE as ChatContextValue);\n\nexport const ChatProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: ChatContextValue<StreamChatGenerics>;\n}>) => (\n <ChatContext.Provider value={value as unknown as ChatContextValue}>\n {children}\n </ChatContext.Provider>\n);\n\nexport const useChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(ChatContext) as unknown as ChatContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useChatContext hook was called outside the ChatContext Provider. Make sure you have configured Chat component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#chat`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChatContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChatContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChatContextValue<StreamChatGenerics>>> => {\n const WithChatContextComponent = (props: Omit<P, keyof ChatContextValue<StreamChatGenerics>>) => {\n const chatContext = useChatContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...chatContext} />;\n };\n WithChatContextComponent.displayName = `WithChatContext${getDisplayName(Component)}`;\n return WithChatContextComponent;\n};\n"],"mappings":"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"}
@@ -14,6 +14,7 @@ var _AttachmentPicker = require("../../components/AttachmentPicker/AttachmentPic
14
14
  var _AttachmentPickerBottomSheetHandle = require("../../components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle");
15
15
  var _AttachmentPickerError = require("../../components/AttachmentPicker/components/AttachmentPickerError");
16
16
  var _AttachmentPickerErrorImage = require("../../components/AttachmentPicker/components/AttachmentPickerErrorImage");
17
+ var _AttachmentPickerIOSSelectMorePhotos = require("../../components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos");
17
18
  var _CameraSelectorIcon = require("../../components/AttachmentPicker/components/CameraSelectorIcon");
18
19
  var _FileSelectorIcon = require("../../components/AttachmentPicker/components/FileSelectorIcon");
19
20
  var _ImageOverlaySelectedComponent = require("../../components/AttachmentPicker/components/ImageOverlaySelectedComponent");
@@ -45,6 +46,8 @@ var OverlayProvider = function OverlayProvider(props) {
45
46
  AttachmentPickerErrorImage = _props$AttachmentPick3 === void 0 ? _AttachmentPickerErrorImage.AttachmentPickerErrorImage : _props$AttachmentPick3,
46
47
  attachmentPickerErrorText = props.attachmentPickerErrorText,
47
48
  attachmentSelectionBarHeight = props.attachmentSelectionBarHeight,
49
+ _props$AttachmentPick4 = props.AttachmentPickerIOSSelectMorePhotos,
50
+ AttachmentPickerIOSSelectMorePhotos = _props$AttachmentPick4 === void 0 ? _AttachmentPickerIOSSelectMorePhotos.AttachmentPickerIOSSelectMorePhotos : _props$AttachmentPick4,
48
51
  bottomInset = props.bottomInset,
49
52
  _props$CameraSelector = props.CameraSelectorIcon,
50
53
  CameraSelectorIcon = _props$CameraSelector === void 0 ? _CameraSelectorIcon.CameraSelectorIcon : _props$CameraSelector,
@@ -106,6 +109,7 @@ var OverlayProvider = function OverlayProvider(props) {
106
109
  attachmentPickerErrorButtonText: attachmentPickerErrorButtonText,
107
110
  AttachmentPickerErrorImage: AttachmentPickerErrorImage,
108
111
  attachmentPickerErrorText: attachmentPickerErrorText,
112
+ AttachmentPickerIOSSelectMorePhotos: AttachmentPickerIOSSelectMorePhotos,
109
113
  attachmentSelectionBarHeight: attachmentSelectionBarHeight,
110
114
  ImageOverlaySelectedComponent: ImageOverlaySelectedComponent,
111
115
  numberOfAttachmentImagesToLoadPerCall: numberOfAttachmentImagesToLoadPerCall,
@@ -184,7 +188,7 @@ var OverlayProvider = function OverlayProvider(props) {
184
188
  __self: _this,
185
189
  __source: {
186
190
  fileName: _jsxFileName,
187
- lineNumber: 215,
191
+ lineNumber: 218,
188
192
  columnNumber: 5
189
193
  }
190
194
  }, _react["default"].createElement(_OverlayContext.OverlayContext.Provider, {
@@ -192,14 +196,14 @@ var OverlayProvider = function OverlayProvider(props) {
192
196
  __self: _this,
193
197
  __source: {
194
198
  fileName: _jsxFileName,
195
- lineNumber: 216,
199
+ lineNumber: 219,
196
200
  columnNumber: 7
197
201
  }
198
202
  }, _react["default"].createElement(_MessageOverlayContext.MessageOverlayProvider, {
199
203
  __self: _this,
200
204
  __source: {
201
205
  fileName: _jsxFileName,
202
- lineNumber: 217,
206
+ lineNumber: 220,
203
207
  columnNumber: 9
204
208
  }
205
209
  }, _react["default"].createElement(_AttachmentPickerContext.AttachmentPickerProvider, {
@@ -207,14 +211,14 @@ var OverlayProvider = function OverlayProvider(props) {
207
211
  __self: _this,
208
212
  __source: {
209
213
  fileName: _jsxFileName,
210
- lineNumber: 218,
214
+ lineNumber: 221,
211
215
  columnNumber: 11
212
216
  }
213
217
  }, _react["default"].createElement(_ImageGalleryContext.ImageGalleryProvider, {
214
218
  __self: _this,
215
219
  __source: {
216
220
  fileName: _jsxFileName,
217
- lineNumber: 219,
221
+ lineNumber: 222,
218
222
  columnNumber: 13
219
223
  }
220
224
  }, children, _react["default"].createElement(_ThemeContext.ThemeProvider, {
@@ -222,7 +226,7 @@ var OverlayProvider = function OverlayProvider(props) {
222
226
  __self: _this,
223
227
  __source: {
224
228
  fileName: _jsxFileName,
225
- lineNumber: 221,
229
+ lineNumber: 224,
226
230
  columnNumber: 15
227
231
  }
228
232
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -231,7 +235,7 @@ var OverlayProvider = function OverlayProvider(props) {
231
235
  __self: _this,
232
236
  __source: {
233
237
  fileName: _jsxFileName,
234
- lineNumber: 222,
238
+ lineNumber: 225,
235
239
  columnNumber: 17
236
240
  }
237
241
  }, _react["default"].createElement(_OverlayBackdrop.OverlayBackdrop, {
@@ -242,7 +246,7 @@ var OverlayProvider = function OverlayProvider(props) {
242
246
  __self: _this,
243
247
  __source: {
244
248
  fileName: _jsxFileName,
245
- lineNumber: 226,
249
+ lineNumber: 229,
246
250
  columnNumber: 19
247
251
  }
248
252
  })), overlay === 'message' && _react["default"].createElement(_MessageOverlay.MessageOverlay, {
@@ -256,7 +260,7 @@ var OverlayProvider = function OverlayProvider(props) {
256
260
  __self: _this,
257
261
  __source: {
258
262
  fileName: _jsxFileName,
259
- lineNumber: 229,
263
+ lineNumber: 232,
260
264
  columnNumber: 19
261
265
  }
262
266
  }), overlay === 'gallery' && _react["default"].createElement(_ImageGallery.ImageGallery, {
@@ -270,7 +274,7 @@ var OverlayProvider = function OverlayProvider(props) {
270
274
  __self: _this,
271
275
  __source: {
272
276
  fileName: _jsxFileName,
273
- lineNumber: 240,
277
+ lineNumber: 243,
274
278
  columnNumber: 19
275
279
  }
276
280
  }), _react["default"].createElement(_AttachmentPicker.AttachmentPicker, (0, _extends2["default"])({
@@ -279,7 +283,7 @@ var OverlayProvider = function OverlayProvider(props) {
279
283
  __self: _this,
280
284
  __source: {
281
285
  fileName: _jsxFileName,
282
- lineNumber: 250,
286
+ lineNumber: 253,
283
287
  columnNumber: 17
284
288
  }
285
289
  }))))))));