stream-chat-react-native-core 4.3.0-beta.5 → 4.3.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/lib/commonjs/components/Attachment/Giphy.js +26 -22
  2. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  3. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  4. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  5. package/lib/commonjs/components/Chat/Chat.js +8 -4
  6. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  7. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +80 -0
  8. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -0
  9. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +3 -1
  10. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  11. package/lib/commonjs/components/ImageGallery/ImageGallery.js +21 -20
  12. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  13. package/lib/commonjs/components/Message/Message.js.map +1 -1
  14. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +4 -4
  15. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  16. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +4 -4
  17. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  18. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.md +1 -1
  19. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  20. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  21. package/lib/commonjs/contexts/channelContext/ChannelContext.md +2 -2
  22. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  23. package/lib/commonjs/contexts/channelsContext/ChannelsContext.md +2 -2
  24. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  25. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  26. package/lib/commonjs/contexts/chatContext/ChatContext.md +2 -2
  27. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.md +2 -2
  28. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.md +1 -1
  29. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  30. package/lib/commonjs/contexts/messageContext/MessageContext.md +1 -1
  31. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  32. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.md +1 -1
  33. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  34. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  35. package/lib/commonjs/contexts/messagesContext/MessagesContext.md +1 -1
  36. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  37. package/lib/commonjs/contexts/overlayContext/OverlayContext.md +2 -2
  38. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -2
  39. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  40. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.md +2 -2
  41. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.md +1 -1
  42. package/lib/commonjs/contexts/typingContext/TypingContext.md +2 -2
  43. package/lib/commonjs/version.json +1 -1
  44. package/lib/module/components/Attachment/Giphy.js +26 -22
  45. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  46. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  47. package/lib/module/components/Channel/Channel.js.map +1 -1
  48. package/lib/module/components/Chat/Chat.js +8 -4
  49. package/lib/module/components/Chat/Chat.js.map +1 -1
  50. package/lib/module/components/Chat/hooks/useAppSettings.js +80 -0
  51. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -0
  52. package/lib/module/components/Chat/hooks/useCreateChatContext.js +3 -1
  53. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  54. package/lib/module/components/ImageGallery/ImageGallery.js +21 -20
  55. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  56. package/lib/module/components/Message/Message.js.map +1 -1
  57. package/lib/module/components/Message/MessageSimple/MessageContent.js +4 -4
  58. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  59. package/lib/module/components/Message/MessageSimple/MessageSimple.js +4 -4
  60. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  61. package/lib/module/components/Message/MessageSimple/utils/renderText.md +1 -1
  62. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  63. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  64. package/lib/module/contexts/channelContext/ChannelContext.md +2 -2
  65. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  66. package/lib/module/contexts/channelsContext/ChannelsContext.md +2 -2
  67. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  68. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  69. package/lib/module/contexts/chatContext/ChatContext.md +2 -2
  70. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.md +2 -2
  71. package/lib/module/contexts/keyboardContext/KeyboardContext.md +1 -1
  72. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  73. package/lib/module/contexts/messageContext/MessageContext.md +1 -1
  74. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  75. package/lib/module/contexts/messageInputContext/MessageInputContext.md +1 -1
  76. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  77. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  78. package/lib/module/contexts/messagesContext/MessagesContext.md +1 -1
  79. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  80. package/lib/module/contexts/overlayContext/OverlayContext.md +2 -2
  81. package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -2
  82. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  83. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.md +2 -2
  84. package/lib/module/contexts/suggestionsContext/SuggestionsContext.md +1 -1
  85. package/lib/module/contexts/typingContext/TypingContext.md +2 -2
  86. package/lib/module/version.json +1 -1
  87. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts +4 -4
  88. package/lib/typescript/components/Channel/Channel.d.ts +2 -2
  89. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  90. package/lib/typescript/components/Chat/hooks/__tests__/useAppSettings.test.d.ts +1 -0
  91. package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts +3 -0
  92. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  93. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +1 -7
  94. package/lib/typescript/components/Message/Message.d.ts +2 -2
  95. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +3 -3
  96. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +2 -2
  97. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +6 -6
  98. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +5 -1
  99. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +2 -2
  100. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +6 -6
  101. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +3 -3
  102. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +20 -20
  103. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +1 -1
  104. package/package.json +1 -1
  105. package/src/components/Attachment/Giphy.tsx +4 -0
  106. package/src/components/Attachment/__tests__/Attachment.test.js +0 -61
  107. package/src/components/Attachment/__tests__/Giphy.test.js +290 -0
  108. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -4
  109. package/src/components/Channel/Channel.tsx +2 -2
  110. package/src/components/Channel/__tests__/isAttachmentEqualHandler.test.js +1 -1
  111. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +1 -0
  112. package/src/components/Chat/Chat.tsx +5 -1
  113. package/src/components/Chat/hooks/__tests__/useAppSettings.test.tsx +34 -0
  114. package/src/components/Chat/hooks/useAppSettings.ts +39 -0
  115. package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
  116. package/src/components/ImageGallery/ImageGallery.tsx +9 -8
  117. package/src/components/Message/Message.tsx +2 -2
  118. package/src/components/Message/MessageSimple/MessageContent.tsx +16 -17
  119. package/src/components/Message/MessageSimple/MessageSimple.tsx +11 -12
  120. package/src/components/Message/MessageSimple/utils/renderText.md +1 -1
  121. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +3 -3
  122. package/src/contexts/channelContext/ChannelContext.md +2 -2
  123. package/src/contexts/channelContext/ChannelContext.tsx +2 -2
  124. package/src/contexts/channelsContext/ChannelsContext.md +2 -2
  125. package/src/contexts/channelsContext/ChannelsContext.tsx +6 -6
  126. package/src/contexts/chatContext/ChatContext.md +2 -2
  127. package/src/contexts/chatContext/ChatContext.tsx +5 -1
  128. package/src/contexts/imageGalleryContext/ImageGalleryContext.md +2 -2
  129. package/src/contexts/keyboardContext/KeyboardContext.md +1 -1
  130. package/src/contexts/messageContext/MessageContext.md +1 -1
  131. package/src/contexts/messageContext/MessageContext.tsx +2 -2
  132. package/src/contexts/messageInputContext/MessageInputContext.md +1 -1
  133. package/src/contexts/messageInputContext/MessageInputContext.tsx +6 -6
  134. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +3 -3
  135. package/src/contexts/messagesContext/MessagesContext.md +1 -1
  136. package/src/contexts/messagesContext/MessagesContext.tsx +20 -20
  137. package/src/contexts/overlayContext/OverlayContext.md +2 -2
  138. package/src/contexts/overlayContext/OverlayContext.tsx +1 -1
  139. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -1
  140. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.md +2 -2
  141. package/src/contexts/suggestionsContext/SuggestionsContext.md +1 -1
  142. package/src/contexts/typingContext/TypingContext.md +2 -2
  143. package/src/version.json +1 -1
@@ -17,6 +17,8 @@ var _reactNative = require("react-native");
17
17
 
18
18
  var _dayjs = _interopRequireDefault(require("dayjs"));
19
19
 
20
+ var _useAppSettings = require("./hooks/useAppSettings");
21
+
20
22
  var _useCreateChatContext = require("./hooks/useCreateChatContext");
21
23
 
22
24
  var _useIsOnline2 = require("./hooks/useIsOnline");
@@ -94,7 +96,9 @@ var ChatWithContext = function ChatWithContext(props) {
94
96
  return setChannel(newChannel);
95
97
  };
96
98
 
99
+ var appSettings = (0, _useAppSettings.useAppSettings)(client, isOnline);
97
100
  var chatContext = (0, _useCreateChatContext.useCreateChatContext)({
101
+ appSettings: appSettings,
98
102
  channel: channel,
99
103
  client: client,
100
104
  connectionRecovering: connectionRecovering,
@@ -108,7 +112,7 @@ var ChatWithContext = function ChatWithContext(props) {
108
112
  __self: _this,
109
113
  __source: {
110
114
  fileName: _jsxFileName,
111
- lineNumber: 176,
115
+ lineNumber: 180,
112
116
  columnNumber: 5
113
117
  }
114
118
  }, _react["default"].createElement(_TranslationContext.TranslationProvider, {
@@ -116,7 +120,7 @@ var ChatWithContext = function ChatWithContext(props) {
116
120
  __self: _this,
117
121
  __source: {
118
122
  fileName: _jsxFileName,
119
- lineNumber: 177,
123
+ lineNumber: 181,
120
124
  columnNumber: 7
121
125
  }
122
126
  }, _react["default"].createElement(_ThemeContext.ThemeProvider, {
@@ -124,7 +128,7 @@ var ChatWithContext = function ChatWithContext(props) {
124
128
  __self: _this,
125
129
  __source: {
126
130
  fileName: _jsxFileName,
127
- lineNumber: 178,
131
+ lineNumber: 182,
128
132
  columnNumber: 9
129
133
  }
130
134
  }, children)));
@@ -140,7 +144,7 @@ var Chat = function Chat(props) {
140
144
  __self: _this,
141
145
  __source: {
142
146
  fileName: _jsxFileName,
143
- lineNumber: 212,
147
+ lineNumber: 216,
144
148
  columnNumber: 10
145
149
  }
146
150
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["Chat.tsx"],"names":["ChatWithContext","props","children","client","closeConnectionOnBackground","i18nInstance","style","channel","setChannel","t","key","tDateTimeParser","input","translators","setTranslators","loadingTranslators","connectionRecovering","isOnline","mutedUsers","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","setActiveChannel","newChannel","chatContext","Chat"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAIA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AAIA;;AACA;;AAEA;;AAGA;;;;;;;;;AAEA;;AA+FA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAGtBC,KAHsB,EAInB;AACH,MAAQC,QAAR,GAAsFD,KAAtF,CAAQC,QAAR;AAAA,MAAkBC,MAAlB,GAAsFF,KAAtF,CAAkBE,MAAlB;AAAA,8BAAsFF,KAAtF,CAA0BG,2BAA1B;AAAA,MAA0BA,2BAA1B,sCAAwD,IAAxD;AAAA,MAA8DC,YAA9D,GAAsFJ,KAAtF,CAA8DI,YAA9D;AAAA,MAA4EC,KAA5E,GAAsFL,KAAtF,CAA4EK,KAA5E;;AAEA,kBAA8B,sBAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAsC,qBAAkC;AACtEC,IAAAA,CAAC,EAAE,WAACC,GAAD;AAAA,aAAiBA,GAAjB;AAAA,KADmE;AAEtEC,IAAAA,eAAe,EAAE,yBAACC,KAAD;AAAA,aAAoC,uBAAMA,KAAN,CAApC;AAAA;AAFqD,GAAlC,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAQA,MAAMC,kBAAkB,GAAG,kCAAc;AAAEV,IAAAA,YAAY,EAAZA,YAAF;AAAgBS,IAAAA,cAAc,EAAdA;AAAhB,GAAd,CAA3B;;AAKA,qBAA2C,+BACzCX,MADyC,EAEzCC,2BAFyC,CAA3C;AAAA,MAAQY,oBAAR,gBAAQA,oBAAR;AAAA,MAA8BC,QAA9B,gBAA8BA,QAA9B;;AAQA,MAAMC,UAAU,GAAG,kCAAkCf,MAAlC,CAAnB;AAEA,wBAAU,YAAM;AACd,QAAIA,MAAM,CAACgB,YAAX,EAAyB;AACvBhB,MAAAA,MAAM,CAACgB,YAAP,CAAuBC,WAAvB,SAA8BC,sBAASC,EAAvC,SAA6CC,gBAA7C;AAEApB,MAAAA,MAAM,CAACqB,uBAAP,GAAiC,KAAjC;AACD;AACF,GAND,EAMG,EANH;;AAQA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD;AAAA,WAA8ClB,UAAU,CAACkB,UAAD,CAAxD;AAAA,GAAzB;;AAEA,MAAMC,WAAW,GAAG,gDAAqB;AACvCpB,IAAAA,OAAO,EAAPA,OADuC;AAEvCJ,IAAAA,MAAM,EAANA,MAFuC;AAGvCa,IAAAA,oBAAoB,EAApBA,oBAHuC;AAIvCC,IAAAA,QAAQ,EAARA,QAJuC;AAKvCC,IAAAA,UAAU,EAAVA,UALuC;AAMvCO,IAAAA,gBAAgB,EAAhBA;AANuC,GAArB,CAApB;AASA,MAAIV,kBAAJ,EAAwB,OAAO,IAAP;AAExB,SACE,gCAAC,yBAAD;AAAkC,IAAA,KAAK,EAAEY,WAAzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,uCAAD;AAAqB,IAAA,KAAK,EAAEd,WAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,2BAAD;AAAe,IAAA,KAAK,EAAEP,KAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA8BJ,QAA9B,CADF,CADF,CADF;AAOD,CA3DD;;AAkFO,IAAM0B,IAAI,GAAG,SAAPA,IAAO,CAGlB3B,KAHkB,EAIf;AACH,2BAAkB,wCAAlB;AAAA,MAAQK,KAAR,sBAAQA,KAAR;;AAEA,SAAO,gCAAC,eAAD;AAAuBA,IAAAA,KAAK,EAALA;AAAvB,KAAoCL,KAApC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CARM","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\n\nimport Dayjs from 'dayjs';\n\nimport type { Channel } from 'stream-chat';\n\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n TranslationContextValue,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\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 /**\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 * 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/master/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 { children, client, closeConnectionOnBackground = true, i18nInstance, style } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n const [translators, setTranslators] = useState<TranslationContextValue>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n\n /**\n * Setup translators\n */\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n /**\n * Setup muted user listener\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n useEffect(() => {\n if (client.setUserAgent) {\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 }\n }, []);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n const chatContext = useCreateChatContext({\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n });\n\n if (loadingTranslators) return null;\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider value={translators}>\n <ThemeProvider style={style}>{children}</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"]}
1
+ {"version":3,"sources":["Chat.tsx"],"names":["ChatWithContext","props","children","client","closeConnectionOnBackground","i18nInstance","style","channel","setChannel","t","key","tDateTimeParser","input","translators","setTranslators","loadingTranslators","connectionRecovering","isOnline","mutedUsers","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","setActiveChannel","newChannel","appSettings","chatContext","Chat"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\n\nimport Dayjs from 'dayjs';\n\nimport type { Channel } 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 { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n TranslationContextValue,\n TranslationProvider,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\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 /**\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 * 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/master/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 { children, client, closeConnectionOnBackground = true, i18nInstance, style } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n const [translators, setTranslators] = useState<TranslationContextValue>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n\n /**\n * Setup translators\n */\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n /**\n * Setup muted user listener\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n useEffect(() => {\n if (client.setUserAgent) {\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 }\n }, []);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n const appSettings = useAppSettings(client, isOnline);\n\n const chatContext = useCreateChatContext({\n appSettings,\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n });\n\n if (loadingTranslators) return null;\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider value={translators}>\n <ThemeProvider style={style}>{children}</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"]}
@@ -0,0 +1,80 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAppSettings = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = require("react");
15
+
16
+ var useAppSettings = function useAppSettings(client, isOnline) {
17
+ var _useState = (0, _react.useState)(null),
18
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
19
+ appSettings = _useState2[0],
20
+ setAppSettings = _useState2[1];
21
+
22
+ var isMounted = (0, _react.useRef)(true);
23
+ (0, _react.useEffect)(function () {
24
+ function getAppSettings() {
25
+ return _getAppSettings.apply(this, arguments);
26
+ }
27
+
28
+ function _getAppSettings() {
29
+ _getAppSettings = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
30
+ var _appSettings;
31
+
32
+ return _regenerator["default"].wrap(function _callee$(_context) {
33
+ while (1) {
34
+ switch (_context.prev = _context.next) {
35
+ case 0:
36
+ _context.prev = 0;
37
+ _context.next = 3;
38
+ return client.getAppSettings();
39
+
40
+ case 3:
41
+ _appSettings = _context.sent;
42
+
43
+ if (isMounted.current) {
44
+ setAppSettings(_appSettings);
45
+ }
46
+
47
+ _context.next = 10;
48
+ break;
49
+
50
+ case 7:
51
+ _context.prev = 7;
52
+ _context.t0 = _context["catch"](0);
53
+
54
+ if (_context.t0 instanceof Error) {
55
+ console.error("An error occurred while getting app settings: " + _context.t0);
56
+ }
57
+
58
+ case 10:
59
+ case "end":
60
+ return _context.stop();
61
+ }
62
+ }
63
+ }, _callee, null, [[0, 7]]);
64
+ }));
65
+ return _getAppSettings.apply(this, arguments);
66
+ }
67
+
68
+ if (isOnline) {
69
+ getAppSettings();
70
+ }
71
+
72
+ return function () {
73
+ isMounted.current = false;
74
+ };
75
+ }, [client, isOnline]);
76
+ return appSettings;
77
+ };
78
+
79
+ exports.useAppSettings = useAppSettings;
80
+ //# sourceMappingURL=useAppSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useAppSettings.ts"],"names":["useAppSettings","client","isOnline","appSettings","setAppSettings","isMounted","getAppSettings","current","Error","console","error"],"mappings":";;;;;;;;;;;;;AAAA;;AAKO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAG5BC,MAH4B,EAI5BC,QAJ4B,EAKM;AAClC,kBAAsC,qBAAwC,IAAxC,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,MAAMC,SAAS,GAAG,mBAAO,IAAP,CAAlB;AAEA,wBAAU,YAAM;AAAA,aACCC,cADD;AAAA;AAAA;;AAAA;AAAA,wFACd;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAE8BL,MAAM,CAACK,cAAP,EAF9B;;AAAA;AAEUH,gBAAAA,YAFV;;AAGI,oBAAIE,SAAS,CAACE,OAAd,EAAuB;AACrBH,kBAAAA,cAAc,CAACD,YAAD,CAAd;AACD;;AALL;AAAA;;AAAA;AAAA;AAAA;;AAOI,oBAAI,uBAAiBK,KAArB,EAA4B;AAC1BC,kBAAAA,OAAO,CAACC,KAAR;AACD;;AATL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OADc;AAAA;AAAA;;AAcd,QAAIR,QAAJ,EAAc;AACZI,MAAAA,cAAc;AACf;;AAED,WAAO,YAAM;AACXD,MAAAA,SAAS,CAACE,OAAV,GAAoB,KAApB;AACD,KAFD;AAGD,GArBD,EAqBG,CAACN,MAAD,EAASC,QAAT,CArBH;AAuBA,SAAOC,WAAP;AACD,CAjCM","sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { AppSettingsAPIResponse, StreamChat } from 'stream-chat';\nimport type { DefaultStreamChatGenerics } from 'stream-chat-react-native';\n\nexport const useAppSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n isOnline: boolean,\n): AppSettingsAPIResponse | null => {\n const [appSettings, setAppSettings] = useState<AppSettingsAPIResponse | null>(null);\n const isMounted = useRef(true);\n\n useEffect(() => {\n async function getAppSettings() {\n try {\n const appSettings = await client.getAppSettings();\n if (isMounted.current) {\n setAppSettings(appSettings);\n }\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error(`An error occurred while getting app settings: ${error}`);\n }\n }\n }\n\n if (isOnline) {\n getAppSettings();\n }\n\n return () => {\n isMounted.current = false;\n };\n }, [client, isOnline]);\n\n return appSettings;\n};\n"]}
@@ -6,7 +6,8 @@ exports.useCreateChatContext = void 0;
6
6
  var _react = require("react");
7
7
 
8
8
  var useCreateChatContext = function useCreateChatContext(_ref) {
9
- var channel = _ref.channel,
9
+ var appSettings = _ref.appSettings,
10
+ channel = _ref.channel,
10
11
  client = _ref.client,
11
12
  connectionRecovering = _ref.connectionRecovering,
12
13
  isOnline = _ref.isOnline,
@@ -17,6 +18,7 @@ var useCreateChatContext = function useCreateChatContext(_ref) {
17
18
  var mutedUsersLength = mutedUsers.length;
18
19
  var chatContext = (0, _react.useMemo)(function () {
19
20
  return {
21
+ appSettings: appSettings,
20
22
  channel: channel,
21
23
  client: client,
22
24
  connectionRecovering: connectionRecovering,
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreateChatContext.ts"],"names":["useCreateChatContext","channel","client","connectionRecovering","isOnline","mutedUsers","setActiveChannel","channelId","id","clientValues","clientID","Object","keys","activeChannels","length","listeners","mutedChannels","mutedUsersLength","chatContext"],"mappings":";;;;;AAAA;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,OASQ;AAAA,MAN1CC,OAM0C,QAN1CA,OAM0C;AAAA,MAL1CC,MAK0C,QAL1CA,MAK0C;AAAA,MAJ1CC,oBAI0C,QAJ1CA,oBAI0C;AAAA,MAH1CC,QAG0C,QAH1CA,QAG0C;AAAA,MAF1CC,UAE0C,QAF1CA,UAE0C;AAAA,MAD1CC,gBAC0C,QAD1CA,gBAC0C;AAC1C,MAAMC,SAAS,GAAGN,OAAH,oBAAGA,OAAO,CAAEO,EAA3B;AACA,MAAMC,YAAY,QAAMP,MAAM,CAACQ,QAAb,GAAwBC,MAAM,CAACC,IAAP,CAAYV,MAAM,CAACW,cAAnB,EAAmCC,MAA3D,GAChBH,MAAM,CAACC,IAAP,CAAYV,MAAM,CAACa,SAAnB,EAA8BD,MADd,GAEfZ,MAAM,CAACc,aAAP,CAAqBF,MAFxB;AAGA,MAAMG,gBAAgB,GAAGZ,UAAU,CAACS,MAApC;AAEA,MAAMI,WAAiD,GAAG,oBACxD;AAAA,WAAO;AACLjB,MAAAA,OAAO,EAAPA,OADK;AAELC,MAAAA,MAAM,EAANA,MAFK;AAGLC,MAAAA,oBAAoB,EAApBA,oBAHK;AAILC,MAAAA,QAAQ,EAARA,QAJK;AAKLC,MAAAA,UAAU,EAAVA,UALK;AAMLC,MAAAA,gBAAgB,EAAhBA;AANK,KAAP;AAAA,GADwD,EASxD,CAACC,SAAD,EAAYE,YAAZ,EAA0BN,oBAA1B,EAAgDC,QAAhD,EAA0Da,gBAA1D,CATwD,CAA1D;AAYA,SAAOC,WAAP;AACD,CA7BM","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 channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n}: ChatContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const clientValues = `${client.clientID}${Object.keys(client.activeChannels).length}${\n Object.keys(client.listeners).length\n }${client.mutedChannels.length}`;\n const mutedUsersLength = mutedUsers.length;\n\n const chatContext: ChatContextValue<StreamChatGenerics> = useMemo(\n () => ({\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n }),\n [channelId, clientValues, connectionRecovering, isOnline, mutedUsersLength],\n );\n\n return chatContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreateChatContext.ts"],"names":["useCreateChatContext","appSettings","channel","client","connectionRecovering","isOnline","mutedUsers","setActiveChannel","channelId","id","clientValues","clientID","Object","keys","activeChannels","length","listeners","mutedChannels","mutedUsersLength","chatContext"],"mappings":";;;;;AAAA;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,OAUQ;AAAA,MAP1CC,WAO0C,QAP1CA,WAO0C;AAAA,MAN1CC,OAM0C,QAN1CA,OAM0C;AAAA,MAL1CC,MAK0C,QAL1CA,MAK0C;AAAA,MAJ1CC,oBAI0C,QAJ1CA,oBAI0C;AAAA,MAH1CC,QAG0C,QAH1CA,QAG0C;AAAA,MAF1CC,UAE0C,QAF1CA,UAE0C;AAAA,MAD1CC,gBAC0C,QAD1CA,gBAC0C;AAC1C,MAAMC,SAAS,GAAGN,OAAH,oBAAGA,OAAO,CAAEO,EAA3B;AACA,MAAMC,YAAY,QAAMP,MAAM,CAACQ,QAAb,GAAwBC,MAAM,CAACC,IAAP,CAAYV,MAAM,CAACW,cAAnB,EAAmCC,MAA3D,GAChBH,MAAM,CAACC,IAAP,CAAYV,MAAM,CAACa,SAAnB,EAA8BD,MADd,GAEfZ,MAAM,CAACc,aAAP,CAAqBF,MAFxB;AAGA,MAAMG,gBAAgB,GAAGZ,UAAU,CAACS,MAApC;AAEA,MAAMI,WAAiD,GAAG,oBACxD;AAAA,WAAO;AACLlB,MAAAA,WAAW,EAAXA,WADK;AAELC,MAAAA,OAAO,EAAPA,OAFK;AAGLC,MAAAA,MAAM,EAANA,MAHK;AAILC,MAAAA,oBAAoB,EAApBA,oBAJK;AAKLC,MAAAA,QAAQ,EAARA,QALK;AAMLC,MAAAA,UAAU,EAAVA,UANK;AAOLC,MAAAA,gBAAgB,EAAhBA;AAPK,KAAP;AAAA,GADwD,EAUxD,CAACC,SAAD,EAAYE,YAAZ,EAA0BN,oBAA1B,EAAgDC,QAAhD,EAA0Da,gBAA1D,CAVwD,CAA1D;AAaA,SAAOC,WAAP;AACD,CA/BM","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 isOnline,\n mutedUsers,\n setActiveChannel,\n}: ChatContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const clientValues = `${client.clientID}${Object.keys(client.activeChannels).length}${\n Object.keys(client.listeners).length\n }${client.mutedChannels.length}`;\n const mutedUsersLength = mutedUsers.length;\n\n const chatContext: ChatContextValue<StreamChatGenerics> = useMemo(\n () => ({\n appSettings,\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n }),\n [channelId, clientValues, connectionRecovering, isOnline, mutedUsersLength],\n );\n\n return chatContext;\n};\n"]}
@@ -84,7 +84,8 @@ exports.IsSwiping = IsSwiping;
84
84
  var ImageGallery = function ImageGallery(props) {
85
85
  var _StatusBar$currentHei, _photos$selectedIndex;
86
86
 
87
- var giphyVersion = props.giphyVersion,
87
+ var _props$giphyVersion = props.giphyVersion,
88
+ giphyVersion = _props$giphyVersion === void 0 ? 'fixed_height' : _props$giphyVersion,
88
89
  imageGalleryCustomComponents = props.imageGalleryCustomComponents,
89
90
  imageGalleryGridHandleHeight = props.imageGalleryGridHandleHeight,
90
91
  imageGalleryGridSnapPoints = props.imageGalleryGridSnapPoints,
@@ -585,7 +586,7 @@ var ImageGallery = function ImageGallery(props) {
585
586
  __self: _this,
586
587
  __source: {
587
588
  fileName: _jsxFileName,
588
- lineNumber: 1050,
589
+ lineNumber: 1051,
589
590
  columnNumber: 5
590
591
  }
591
592
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -593,7 +594,7 @@ var ImageGallery = function ImageGallery(props) {
593
594
  __self: _this,
594
595
  __source: {
595
596
  fileName: _jsxFileName,
596
- lineNumber: 1051,
597
+ lineNumber: 1052,
597
598
  columnNumber: 7
598
599
  }
599
600
  }), _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
@@ -605,7 +606,7 @@ var ImageGallery = function ImageGallery(props) {
605
606
  __self: _this,
606
607
  __source: {
607
608
  fileName: _jsxFileName,
608
- lineNumber: 1052,
609
+ lineNumber: 1053,
609
610
  columnNumber: 7
610
611
  }
611
612
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -613,7 +614,7 @@ var ImageGallery = function ImageGallery(props) {
613
614
  __self: _this,
614
615
  __source: {
615
616
  fileName: _jsxFileName,
616
- lineNumber: 1059,
617
+ lineNumber: 1060,
617
618
  columnNumber: 9
618
619
  }
619
620
  }, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
@@ -627,7 +628,7 @@ var ImageGallery = function ImageGallery(props) {
627
628
  __self: _this,
628
629
  __source: {
629
630
  fileName: _jsxFileName,
630
- lineNumber: 1060,
631
+ lineNumber: 1061,
631
632
  columnNumber: 11
632
633
  }
633
634
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -635,7 +636,7 @@ var ImageGallery = function ImageGallery(props) {
635
636
  __self: _this,
636
637
  __source: {
637
638
  fileName: _jsxFileName,
638
- lineNumber: 1069,
639
+ lineNumber: 1070,
639
640
  columnNumber: 13
640
641
  }
641
642
  }, _react["default"].createElement(_reactNativeGestureHandler.PinchGestureHandler, {
@@ -645,7 +646,7 @@ var ImageGallery = function ImageGallery(props) {
645
646
  __self: _this,
646
647
  __source: {
647
648
  fileName: _jsxFileName,
648
- lineNumber: 1070,
649
+ lineNumber: 1071,
649
650
  columnNumber: 15
650
651
  }
651
652
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -653,7 +654,7 @@ var ImageGallery = function ImageGallery(props) {
653
654
  __self: _this,
654
655
  __source: {
655
656
  fileName: _jsxFileName,
656
- lineNumber: 1075,
657
+ lineNumber: 1076,
657
658
  columnNumber: 17
658
659
  }
659
660
  }, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
@@ -666,7 +667,7 @@ var ImageGallery = function ImageGallery(props) {
666
667
  __self: _this,
667
668
  __source: {
668
669
  fileName: _jsxFileName,
669
- lineNumber: 1076,
670
+ lineNumber: 1077,
670
671
  columnNumber: 19
671
672
  }
672
673
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -674,7 +675,7 @@ var ImageGallery = function ImageGallery(props) {
674
675
  __self: _this,
675
676
  __source: {
676
677
  fileName: _jsxFileName,
677
- lineNumber: 1084,
678
+ lineNumber: 1085,
678
679
  columnNumber: 21
679
680
  }
680
681
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -688,7 +689,7 @@ var ImageGallery = function ImageGallery(props) {
688
689
  __self: _this,
689
690
  __source: {
690
691
  fileName: _jsxFileName,
691
- lineNumber: 1085,
692
+ lineNumber: 1086,
692
693
  columnNumber: 23
693
694
  }
694
695
  }, photos.map(function (photo, i) {
@@ -712,7 +713,7 @@ var ImageGallery = function ImageGallery(props) {
712
713
  __self: _this,
713
714
  __source: {
714
715
  fileName: _jsxFileName,
715
- lineNumber: 1101,
716
+ lineNumber: 1102,
716
717
  columnNumber: 27
717
718
  }
718
719
  });
@@ -724,7 +725,7 @@ var ImageGallery = function ImageGallery(props) {
724
725
  __self: _this,
725
726
  __source: {
726
727
  fileName: _jsxFileName,
727
- lineNumber: 1132,
728
+ lineNumber: 1133,
728
729
  columnNumber: 7
729
730
  }
730
731
  })), _react["default"].createElement(_ImageGalleryFooter.ImageGalleryFooter, (0, _extends2["default"])({
@@ -738,7 +739,7 @@ var ImageGallery = function ImageGallery(props) {
738
739
  __self: _this,
739
740
  __source: {
740
741
  fileName: _jsxFileName,
741
- lineNumber: 1138,
742
+ lineNumber: 1139,
742
743
  columnNumber: 7
743
744
  }
744
745
  })), _react["default"].createElement(_ImageGalleryOverlay.ImageGalleryOverlay, {
@@ -748,14 +749,14 @@ var ImageGallery = function ImageGallery(props) {
748
749
  __self: _this,
749
750
  __source: {
750
751
  fileName: _jsxFileName,
751
- lineNumber: 1147,
752
+ lineNumber: 1148,
752
753
  columnNumber: 7
753
754
  }
754
755
  }), _react["default"].createElement(_bottomSheet.BottomSheetModalProvider, {
755
756
  __self: _this,
756
757
  __source: {
757
758
  fileName: _jsxFileName,
758
- lineNumber: 1152,
759
+ lineNumber: 1153,
759
760
  columnNumber: 7
760
761
  }
761
762
  }, _react["default"].createElement(_bottomSheet.BottomSheetModal, {
@@ -768,7 +769,7 @@ var ImageGallery = function ImageGallery(props) {
768
769
  __self: _this,
769
770
  __source: {
770
771
  fileName: _jsxFileName,
771
- lineNumber: 1157,
772
+ lineNumber: 1158,
772
773
  columnNumber: 13
773
774
  }
774
775
  }));
@@ -783,7 +784,7 @@ var ImageGallery = function ImageGallery(props) {
783
784
  __self: _this,
784
785
  __source: {
785
786
  fileName: _jsxFileName,
786
- lineNumber: 1153,
787
+ lineNumber: 1154,
787
788
  columnNumber: 9
788
789
  }
789
790
  }, _react["default"].createElement(_ImageGrid.ImageGrid, (0, _extends2["default"])({
@@ -795,7 +796,7 @@ var ImageGallery = function ImageGallery(props) {
795
796
  __self: _this,
796
797
  __source: {
797
798
  fileName: _jsxFileName,
798
- lineNumber: 1168,
799
+ lineNumber: 1169,
799
800
  columnNumber: 11
800
801
  }
801
802
  })))));