stream-chat-react-native-core 5.15.1-beta.1 → 5.15.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 (685) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  2. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/ImageReloadIndicator.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  25. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
  26. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  27. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  28. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  29. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  30. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  31. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  32. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  37. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  38. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  39. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  40. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  41. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  42. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  43. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  44. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  45. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  46. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  47. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  49. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  68. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  69. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  70. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  77. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  78. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  80. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  81. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  82. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  83. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  84. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  85. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  86. package/lib/commonjs/components/ImageBackground.js.map +1 -1
  87. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  88. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  89. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  90. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  91. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  92. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  93. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  94. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  96. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  97. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  98. package/lib/commonjs/components/Indicators/LoadingDot.js.map +1 -1
  99. package/lib/commonjs/components/Indicators/LoadingDots.js.map +1 -1
  100. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  101. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  102. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  103. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  104. package/lib/commonjs/components/Message/Message.js.map +1 -1
  105. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  106. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  107. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  108. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  109. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  110. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  111. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  112. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  119. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  120. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  121. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  122. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  123. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  124. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  125. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  126. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  127. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  128. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  129. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  130. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  131. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  132. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  133. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  134. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  135. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  136. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  137. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  138. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  139. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  140. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  141. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  142. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  143. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  144. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  145. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  146. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
  147. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  148. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  149. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  150. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  151. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  152. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  153. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  154. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  155. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  156. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  157. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  158. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  159. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  160. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  161. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  162. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  163. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  164. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  165. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  166. package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
  167. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  168. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  169. package/lib/commonjs/components/docs/data.js.map +1 -1
  170. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  171. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  172. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  173. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  174. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  175. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  176. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  177. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
  178. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  179. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  180. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  181. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  182. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  183. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  184. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  185. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  186. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  187. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  188. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  189. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  190. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  191. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  192. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  193. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  194. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  195. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  196. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  197. package/lib/commonjs/emoji-data/compile.js.map +1 -1
  198. package/lib/commonjs/emoji-data/index.js.map +1 -1
  199. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  200. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -1
  201. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
  202. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  203. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  204. package/lib/commonjs/icons/ArrowRight.js.map +1 -1
  205. package/lib/commonjs/icons/AtMentions.js.map +1 -1
  206. package/lib/commonjs/icons/Attach.js.map +1 -1
  207. package/lib/commonjs/icons/Audio.js.map +1 -1
  208. package/lib/commonjs/icons/CSV.js.map +1 -1
  209. package/lib/commonjs/icons/Camera.js.map +1 -1
  210. package/lib/commonjs/icons/Check.js.map +1 -1
  211. package/lib/commonjs/icons/CheckAll.js.map +1 -1
  212. package/lib/commonjs/icons/CheckSend.js.map +1 -1
  213. package/lib/commonjs/icons/CircleClose.js.map +1 -1
  214. package/lib/commonjs/icons/CirclePlus.js.map +1 -1
  215. package/lib/commonjs/icons/CircleRight.js.map +1 -1
  216. package/lib/commonjs/icons/Close.js.map +1 -1
  217. package/lib/commonjs/icons/Copy.js.map +1 -1
  218. package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
  219. package/lib/commonjs/icons/DOC.js.map +1 -1
  220. package/lib/commonjs/icons/DOCX.js.map +1 -1
  221. package/lib/commonjs/icons/Delete.js.map +1 -1
  222. package/lib/commonjs/icons/Down.js.map +1 -1
  223. package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
  224. package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
  225. package/lib/commonjs/icons/Edit.js.map +1 -1
  226. package/lib/commonjs/icons/Error.js.map +1 -1
  227. package/lib/commonjs/icons/Eye.js.map +1 -1
  228. package/lib/commonjs/icons/Flag.js.map +1 -1
  229. package/lib/commonjs/icons/Folder.js.map +1 -1
  230. package/lib/commonjs/icons/GenericFile.js.map +1 -1
  231. package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
  232. package/lib/commonjs/icons/Grid.js.map +1 -1
  233. package/lib/commonjs/icons/Group.js.map +1 -1
  234. package/lib/commonjs/icons/HTML.js.map +1 -1
  235. package/lib/commonjs/icons/Imgur.js.map +1 -1
  236. package/lib/commonjs/icons/LOLReaction.js.map +1 -1
  237. package/lib/commonjs/icons/Lightning.js.map +1 -1
  238. package/lib/commonjs/icons/Link.js.map +1 -1
  239. package/lib/commonjs/icons/Loading.js.map +1 -1
  240. package/lib/commonjs/icons/Logo.js.map +1 -1
  241. package/lib/commonjs/icons/LoveReaction.js.map +1 -1
  242. package/lib/commonjs/icons/MD.js.map +1 -1
  243. package/lib/commonjs/icons/MailOpen.js.map +1 -1
  244. package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
  245. package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
  246. package/lib/commonjs/icons/MessageFlag.js.map +1 -1
  247. package/lib/commonjs/icons/MessageIcon.js.map +1 -1
  248. package/lib/commonjs/icons/Mute.js.map +1 -1
  249. package/lib/commonjs/icons/Notification.js.map +1 -1
  250. package/lib/commonjs/icons/ODT.js.map +1 -1
  251. package/lib/commonjs/icons/PDF.js.map +1 -1
  252. package/lib/commonjs/icons/PPT.js.map +1 -1
  253. package/lib/commonjs/icons/PPTX.js.map +1 -1
  254. package/lib/commonjs/icons/Pause.js.map +1 -1
  255. package/lib/commonjs/icons/Picture.js.map +1 -1
  256. package/lib/commonjs/icons/Pin.js.map +1 -1
  257. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  258. package/lib/commonjs/icons/Play.js.map +1 -1
  259. package/lib/commonjs/icons/RAR.js.map +1 -1
  260. package/lib/commonjs/icons/RTF.js.map +1 -1
  261. package/lib/commonjs/icons/Recorder.js.map +1 -1
  262. package/lib/commonjs/icons/Refresh.js.map +1 -1
  263. package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
  264. package/lib/commonjs/icons/Search.js.map +1 -1
  265. package/lib/commonjs/icons/SendRight.js.map +1 -1
  266. package/lib/commonjs/icons/SendUp.js.map +1 -1
  267. package/lib/commonjs/icons/Share.js.map +1 -1
  268. package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
  269. package/lib/commonjs/icons/Smile.js.map +1 -1
  270. package/lib/commonjs/icons/Sound.js.map +1 -1
  271. package/lib/commonjs/icons/TAR.js.map +1 -1
  272. package/lib/commonjs/icons/TXT.js.map +1 -1
  273. package/lib/commonjs/icons/ThreadReply.js.map +1 -1
  274. package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
  275. package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
  276. package/lib/commonjs/icons/Time.js.map +1 -1
  277. package/lib/commonjs/icons/Unknown.js.map +1 -1
  278. package/lib/commonjs/icons/Unpin.js.map +1 -1
  279. package/lib/commonjs/icons/User.js.map +1 -1
  280. package/lib/commonjs/icons/UserAdd.js.map +1 -1
  281. package/lib/commonjs/icons/UserAdmin.js.map +1 -1
  282. package/lib/commonjs/icons/UserDelete.js.map +1 -1
  283. package/lib/commonjs/icons/UserMinus.js.map +1 -1
  284. package/lib/commonjs/icons/Video.js.map +1 -1
  285. package/lib/commonjs/icons/Warning.js.map +1 -1
  286. package/lib/commonjs/icons/WutReaction.js.map +1 -1
  287. package/lib/commonjs/icons/XLS.js.map +1 -1
  288. package/lib/commonjs/icons/XLSX.js.map +1 -1
  289. package/lib/commonjs/icons/ZIP.js.map +1 -1
  290. package/lib/commonjs/icons/utils/base.js.map +1 -1
  291. package/lib/commonjs/init.js.map +1 -1
  292. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  293. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
  294. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
  295. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  296. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
  297. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  298. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  299. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  300. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  301. package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
  302. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  303. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  304. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  305. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  306. package/lib/commonjs/native.js.map +1 -1
  307. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
  308. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  309. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
  310. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  311. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  312. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  313. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  314. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
  315. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  316. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  317. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  318. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
  319. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  320. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  321. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  322. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  323. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  324. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  325. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  326. package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
  327. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  328. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  329. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  330. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  331. package/lib/commonjs/types/types.js.map +1 -1
  332. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  333. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  334. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  335. package/lib/commonjs/utils/date.js.map +1 -1
  336. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  337. package/lib/commonjs/utils/patchMessageTextCommand.js.map +1 -1
  338. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
  339. package/lib/commonjs/utils/utils.js.map +1 -1
  340. package/lib/commonjs/version.json +1 -1
  341. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  342. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  343. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  344. package/lib/module/components/Attachment/Card.js.map +1 -1
  345. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  346. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  347. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  348. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  349. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  350. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  351. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  352. package/lib/module/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  353. package/lib/module/components/Attachment/ImageReloadIndicator.js.map +1 -1
  354. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  355. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  356. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  357. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  358. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  359. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  360. package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
  361. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  362. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  363. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  364. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  365. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
  366. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  367. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  368. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  369. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  370. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  371. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  372. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  373. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  374. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  375. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  376. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  377. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  378. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  379. package/lib/module/components/Channel/Channel.js.map +1 -1
  380. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  381. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  382. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  383. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  384. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  385. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  386. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  387. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  388. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  389. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  390. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  391. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  392. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  393. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  394. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  395. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  396. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  397. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  398. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  399. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  400. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  401. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  402. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  403. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  404. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  405. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  406. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  407. package/lib/module/components/ChannelList/utils.js.map +1 -1
  408. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  409. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  410. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  411. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  412. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  413. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  414. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  415. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  416. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  417. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  418. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  419. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  420. package/lib/module/components/Chat/Chat.js.map +1 -1
  421. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  422. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  423. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  424. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  425. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  426. package/lib/module/components/ImageBackground.js.map +1 -1
  427. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  428. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  429. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  430. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  431. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  432. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  433. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  434. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  435. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  436. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  437. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  438. package/lib/module/components/Indicators/LoadingDot.js.map +1 -1
  439. package/lib/module/components/Indicators/LoadingDots.js.map +1 -1
  440. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  441. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  442. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  443. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  444. package/lib/module/components/Message/Message.js.map +1 -1
  445. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  446. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  447. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  448. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  449. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  450. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  451. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  452. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  453. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  454. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  455. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  456. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  457. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  458. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  459. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  460. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  461. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  462. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  463. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  464. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  465. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  466. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  467. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  468. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  469. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  470. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  471. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  472. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  473. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  474. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  475. package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  476. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  477. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  478. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  479. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  480. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  481. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  482. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  483. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  484. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  485. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  486. package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
  487. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  488. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  489. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  490. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  491. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  492. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  493. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  494. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  495. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  496. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  497. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  498. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  499. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  500. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  501. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  502. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  503. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  504. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  505. package/lib/module/components/Reply/Reply.js.map +1 -1
  506. package/lib/module/components/Spinner/Spinner.js.map +1 -1
  507. package/lib/module/components/Thread/Thread.js.map +1 -1
  508. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  509. package/lib/module/components/docs/data.js.map +1 -1
  510. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  511. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  512. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  513. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  514. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  515. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  516. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  517. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
  518. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  519. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  520. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  521. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  522. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  523. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  524. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  525. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  526. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  527. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  528. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  529. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  530. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  531. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  532. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  533. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  534. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  535. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  536. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  537. package/lib/module/emoji-data/compile.js.map +1 -1
  538. package/lib/module/emoji-data/index.js.map +1 -1
  539. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  540. package/lib/module/hooks/useIsMountedRef.js.map +1 -1
  541. package/lib/module/hooks/useLoadingImage.js.map +1 -1
  542. package/lib/module/hooks/useStreami18n.js.map +1 -1
  543. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  544. package/lib/module/icons/ArrowRight.js.map +1 -1
  545. package/lib/module/icons/AtMentions.js.map +1 -1
  546. package/lib/module/icons/Attach.js.map +1 -1
  547. package/lib/module/icons/Audio.js.map +1 -1
  548. package/lib/module/icons/CSV.js.map +1 -1
  549. package/lib/module/icons/Camera.js.map +1 -1
  550. package/lib/module/icons/Check.js.map +1 -1
  551. package/lib/module/icons/CheckAll.js.map +1 -1
  552. package/lib/module/icons/CheckSend.js.map +1 -1
  553. package/lib/module/icons/CircleClose.js.map +1 -1
  554. package/lib/module/icons/CirclePlus.js.map +1 -1
  555. package/lib/module/icons/CircleRight.js.map +1 -1
  556. package/lib/module/icons/Close.js.map +1 -1
  557. package/lib/module/icons/Copy.js.map +1 -1
  558. package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
  559. package/lib/module/icons/DOC.js.map +1 -1
  560. package/lib/module/icons/DOCX.js.map +1 -1
  561. package/lib/module/icons/Delete.js.map +1 -1
  562. package/lib/module/icons/Down.js.map +1 -1
  563. package/lib/module/icons/DownloadArrow.js.map +1 -1
  564. package/lib/module/icons/DownloadCloud.js.map +1 -1
  565. package/lib/module/icons/Edit.js.map +1 -1
  566. package/lib/module/icons/Error.js.map +1 -1
  567. package/lib/module/icons/Eye.js.map +1 -1
  568. package/lib/module/icons/Flag.js.map +1 -1
  569. package/lib/module/icons/Folder.js.map +1 -1
  570. package/lib/module/icons/GenericFile.js.map +1 -1
  571. package/lib/module/icons/GiphyIcon.js.map +1 -1
  572. package/lib/module/icons/Grid.js.map +1 -1
  573. package/lib/module/icons/Group.js.map +1 -1
  574. package/lib/module/icons/HTML.js.map +1 -1
  575. package/lib/module/icons/Imgur.js.map +1 -1
  576. package/lib/module/icons/LOLReaction.js.map +1 -1
  577. package/lib/module/icons/Lightning.js.map +1 -1
  578. package/lib/module/icons/Link.js.map +1 -1
  579. package/lib/module/icons/Loading.js.map +1 -1
  580. package/lib/module/icons/Logo.js.map +1 -1
  581. package/lib/module/icons/LoveReaction.js.map +1 -1
  582. package/lib/module/icons/MD.js.map +1 -1
  583. package/lib/module/icons/MailOpen.js.map +1 -1
  584. package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
  585. package/lib/module/icons/MenuPointVertical.js.map +1 -1
  586. package/lib/module/icons/MessageFlag.js.map +1 -1
  587. package/lib/module/icons/MessageIcon.js.map +1 -1
  588. package/lib/module/icons/Mute.js.map +1 -1
  589. package/lib/module/icons/Notification.js.map +1 -1
  590. package/lib/module/icons/ODT.js.map +1 -1
  591. package/lib/module/icons/PDF.js.map +1 -1
  592. package/lib/module/icons/PPT.js.map +1 -1
  593. package/lib/module/icons/PPTX.js.map +1 -1
  594. package/lib/module/icons/Pause.js.map +1 -1
  595. package/lib/module/icons/Picture.js.map +1 -1
  596. package/lib/module/icons/Pin.js.map +1 -1
  597. package/lib/module/icons/PinHeader.js.map +1 -1
  598. package/lib/module/icons/Play.js.map +1 -1
  599. package/lib/module/icons/RAR.js.map +1 -1
  600. package/lib/module/icons/RTF.js.map +1 -1
  601. package/lib/module/icons/Recorder.js.map +1 -1
  602. package/lib/module/icons/Refresh.js.map +1 -1
  603. package/lib/module/icons/SEVEN_Z.js.map +1 -1
  604. package/lib/module/icons/Search.js.map +1 -1
  605. package/lib/module/icons/SendRight.js.map +1 -1
  606. package/lib/module/icons/SendUp.js.map +1 -1
  607. package/lib/module/icons/Share.js.map +1 -1
  608. package/lib/module/icons/ShareRightArrow.js.map +1 -1
  609. package/lib/module/icons/Smile.js.map +1 -1
  610. package/lib/module/icons/Sound.js.map +1 -1
  611. package/lib/module/icons/TAR.js.map +1 -1
  612. package/lib/module/icons/TXT.js.map +1 -1
  613. package/lib/module/icons/ThreadReply.js.map +1 -1
  614. package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
  615. package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
  616. package/lib/module/icons/Time.js.map +1 -1
  617. package/lib/module/icons/Unknown.js.map +1 -1
  618. package/lib/module/icons/Unpin.js.map +1 -1
  619. package/lib/module/icons/User.js.map +1 -1
  620. package/lib/module/icons/UserAdd.js.map +1 -1
  621. package/lib/module/icons/UserAdmin.js.map +1 -1
  622. package/lib/module/icons/UserDelete.js.map +1 -1
  623. package/lib/module/icons/UserMinus.js.map +1 -1
  624. package/lib/module/icons/Video.js.map +1 -1
  625. package/lib/module/icons/Warning.js.map +1 -1
  626. package/lib/module/icons/WutReaction.js.map +1 -1
  627. package/lib/module/icons/XLS.js.map +1 -1
  628. package/lib/module/icons/XLSX.js.map +1 -1
  629. package/lib/module/icons/ZIP.js.map +1 -1
  630. package/lib/module/icons/utils/base.js.map +1 -1
  631. package/lib/module/init.js.map +1 -1
  632. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  633. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
  634. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
  635. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  636. package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
  637. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  638. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  639. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  640. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  641. package/lib/module/mock-builders/generator/member.js.map +1 -1
  642. package/lib/module/mock-builders/generator/message.js.map +1 -1
  643. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  644. package/lib/module/mock-builders/generator/user.js.map +1 -1
  645. package/lib/module/mock-builders/mock.js.map +1 -1
  646. package/lib/module/native.js.map +1 -1
  647. package/lib/module/store/QuickSqliteClient.js.map +1 -1
  648. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  649. package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
  650. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  651. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  652. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  653. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  654. package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
  655. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  656. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  657. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  658. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
  659. package/lib/module/store/apis/updateMessage.js.map +1 -1
  660. package/lib/module/store/apis/updateReaction.js.map +1 -1
  661. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  662. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  663. package/lib/module/store/apis/upsertReads.js.map +1 -1
  664. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  665. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  666. package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
  667. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  668. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  669. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  670. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  671. package/lib/module/types/types.js.map +1 -1
  672. package/lib/module/utils/DBSyncManager.js.map +1 -1
  673. package/lib/module/utils/Streami18n.js.map +1 -1
  674. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  675. package/lib/module/utils/date.js.map +1 -1
  676. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  677. package/lib/module/utils/patchMessageTextCommand.js.map +1 -1
  678. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
  679. package/lib/module/utils/utils.js.map +1 -1
  680. package/lib/module/version.json +1 -1
  681. package/lib/typescript/types/types.d.ts +1 -2
  682. package/package.json +1 -1
  683. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +1 -3
  684. package/src/types/types.ts +1 -2
  685. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_OverlayContext","_ThemeContext","_TranslationContext","_icons","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","date","fontSize","fontWeight","marginTop","opacity","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","width","userName","ImageGalleryHeader","props","_photo$user","centerElement","CloseIcon","leftElement","photo","rightElement","visible","_useState","useState","_useState2","_slicedToArray2","setHeight","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","white","_useTheme$theme$image","imageGallery","header","container","dateText","usernameText","_useTranslationContex","useTranslationContext","t","tDateTimeParser","_useOverlayContext","useOverlayContext","setOverlay","translucentStatusBar","parsedDate","created_at","getDateObject","isDayOrMoment","calendar","fromNow","headerStyle","useAnimatedStyle","value","transform","translateY","interpolate","Extrapolate","CLAMP","androidTranslucentHeaderStyle","paddingTop","Platform","OS","StatusBar","currentHeight","undefined","hideOverlay","createElement","View","onLayout","event","nativeEvent","layout","pointerEvents","__self","__source","fileName","lineNumber","columnNumber","style","backgroundColor","TouchableOpacity","accessibilityLabel","onPress","Close","Text","color","user","name","exports","displayName"],"sources":["ImageGalleryHeader.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Platform,\n SafeAreaView,\n StatusBar,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { useOverlayContext } from '../../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserOutput,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../../icons';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n date: {\n fontSize: 12,\n fontWeight: '500',\n marginTop: 4,\n opacity: 0.5,\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n marginRight: 8,\n width: 24, // Width of icon currently on left\n },\n userName: {\n fontSize: 16,\n fontWeight: '700',\n },\n});\n\nexport type ImageGalleryHeaderCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n hideOverlay,\n photo,\n}: {\n hideOverlay: () => void;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryHeaderCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryHeaderCustomComponent<StreamChatGenerics>;\n CloseIcon?: React.ReactElement;\n leftElement?: ImageGalleryHeaderCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryHeaderCustomComponent<StreamChatGenerics>;\n};\n\ntype Props<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n ImageGalleryHeaderCustomComponentProps<StreamChatGenerics> & {\n opacity: Animated.SharedValue<number>;\n visible: Animated.SharedValue<number>;\n photo?: Photo<StreamChatGenerics>;\n };\n\nexport const ImageGalleryHeader = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: Props<StreamChatGenerics>,\n) => {\n const { centerElement, CloseIcon, leftElement, opacity, photo, rightElement, visible } = props;\n const [height, setHeight] = useState(200);\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n header: {\n centerContainer,\n container,\n dateText,\n innerContainer,\n leftContainer,\n rightContainer,\n usernameText,\n },\n },\n },\n } = useTheme();\n const { t, tDateTimeParser } = useTranslationContext();\n const { setOverlay, translucentStatusBar } = useOverlayContext();\n\n const parsedDate = photo ? tDateTimeParser(photo?.created_at) : null;\n\n /**\n * .calendar and .fromNow can be initialized after the first render,\n * and attempting to access them at that time will cause an error\n * to be thrown.\n *\n * This falls back to null if neither exist.\n */\n const getDateObject = (date: TDateTimeParserOutput | null) => {\n if (date === null || !isDayOrMoment(date)) {\n return null;\n }\n\n if (date.calendar) {\n return date.calendar();\n }\n\n if (date.fromNow) {\n return date.fromNow();\n }\n\n return null;\n };\n\n const date = getDateObject(parsedDate);\n\n const headerStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [-height, 0], Extrapolate.CLAMP),\n },\n ],\n }));\n\n const androidTranslucentHeaderStyle = {\n paddingTop:\n Platform.OS === 'android' && translucentStatusBar ? StatusBar.currentHeight : undefined,\n };\n\n const hideOverlay = () => {\n setOverlay('none');\n };\n\n return (\n <View\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n >\n <ReanimatedSafeAreaView\n style={[{ backgroundColor: white }, androidTranslucentHeaderStyle, container, headerStyle]}\n >\n <View style={[styles.innerContainer, innerContainer]}>\n {leftElement ? (\n leftElement({ hideOverlay, photo })\n ) : (\n <TouchableOpacity accessibilityLabel='Hide Overlay' onPress={hideOverlay}>\n <View style={[styles.leftContainer, leftContainer]}>\n {CloseIcon ? CloseIcon : <Close />}\n </View>\n </TouchableOpacity>\n )}\n {centerElement ? (\n centerElement({ hideOverlay, photo })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.userName, { color: black }, usernameText]}>\n {photo?.user?.name || t('Unknown User')}\n </Text>\n {date && <Text style={[styles.date, { color: black }, dateText]}>{date}</Text>}\n </View>\n )}\n {rightElement ? (\n rightElement({ hideOverlay, photo })\n ) : (\n <View style={[styles.rightContainer, rightContainer]} />\n )}\n </View>\n </ReanimatedSafeAreaView>\n </View>\n );\n};\n\nImageGalleryHeader.displayName = 'ImageGalleryHeader{imageGallery{header}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_OverlayContext","_ThemeContext","_TranslationContext","_icons","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","date","fontSize","fontWeight","marginTop","opacity","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","width","userName","ImageGalleryHeader","props","_photo$user","centerElement","CloseIcon","leftElement","photo","rightElement","visible","_useState","useState","_useState2","_slicedToArray2","setHeight","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","white","_useTheme$theme$image","imageGallery","header","container","dateText","usernameText","_useTranslationContex","useTranslationContext","t","tDateTimeParser","_useOverlayContext","useOverlayContext","setOverlay","translucentStatusBar","parsedDate","created_at","getDateObject","isDayOrMoment","calendar","fromNow","headerStyle","useAnimatedStyle","value","transform","translateY","interpolate","Extrapolate","CLAMP","androidTranslucentHeaderStyle","paddingTop","Platform","OS","StatusBar","currentHeight","undefined","hideOverlay","createElement","View","onLayout","event","nativeEvent","layout","pointerEvents","__self","__source","fileName","lineNumber","columnNumber","style","backgroundColor","TouchableOpacity","accessibilityLabel","onPress","Close","Text","color","user","name","exports","displayName"],"sources":["ImageGalleryHeader.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Platform,\n SafeAreaView,\n StatusBar,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { useOverlayContext } from '../../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserOutput,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../../icons';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n date: {\n fontSize: 12,\n fontWeight: '500',\n marginTop: 4,\n opacity: 0.5,\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n marginRight: 8,\n width: 24, // Width of icon currently on left\n },\n userName: {\n fontSize: 16,\n fontWeight: '700',\n },\n});\n\nexport type ImageGalleryHeaderCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n hideOverlay,\n photo,\n}: {\n hideOverlay: () => void;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryHeaderCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryHeaderCustomComponent<StreamChatGenerics>;\n CloseIcon?: React.ReactElement;\n leftElement?: ImageGalleryHeaderCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryHeaderCustomComponent<StreamChatGenerics>;\n};\n\ntype Props<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n ImageGalleryHeaderCustomComponentProps<StreamChatGenerics> & {\n opacity: Animated.SharedValue<number>;\n visible: Animated.SharedValue<number>;\n photo?: Photo<StreamChatGenerics>;\n };\n\nexport const ImageGalleryHeader = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: Props<StreamChatGenerics>,\n) => {\n const { centerElement, CloseIcon, leftElement, opacity, photo, rightElement, visible } = props;\n const [height, setHeight] = useState(200);\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n header: {\n centerContainer,\n container,\n dateText,\n innerContainer,\n leftContainer,\n rightContainer,\n usernameText,\n },\n },\n },\n } = useTheme();\n const { t, tDateTimeParser } = useTranslationContext();\n const { setOverlay, translucentStatusBar } = useOverlayContext();\n\n const parsedDate = photo ? tDateTimeParser(photo?.created_at) : null;\n\n /**\n * .calendar and .fromNow can be initialized after the first render,\n * and attempting to access them at that time will cause an error\n * to be thrown.\n *\n * This falls back to null if neither exist.\n */\n const getDateObject = (date: TDateTimeParserOutput | null) => {\n if (date === null || !isDayOrMoment(date)) {\n return null;\n }\n\n if (date.calendar) {\n return date.calendar();\n }\n\n if (date.fromNow) {\n return date.fromNow();\n }\n\n return null;\n };\n\n const date = getDateObject(parsedDate);\n\n const headerStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [-height, 0], Extrapolate.CLAMP),\n },\n ],\n }));\n\n const androidTranslucentHeaderStyle = {\n paddingTop:\n Platform.OS === 'android' && translucentStatusBar ? StatusBar.currentHeight : undefined,\n };\n\n const hideOverlay = () => {\n setOverlay('none');\n };\n\n return (\n <View\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n >\n <ReanimatedSafeAreaView\n style={[{ backgroundColor: white }, androidTranslucentHeaderStyle, container, headerStyle]}\n >\n <View style={[styles.innerContainer, innerContainer]}>\n {leftElement ? (\n leftElement({ hideOverlay, photo })\n ) : (\n <TouchableOpacity accessibilityLabel='Hide Overlay' onPress={hideOverlay}>\n <View style={[styles.leftContainer, leftContainer]}>\n {CloseIcon ? CloseIcon : <Close />}\n </View>\n </TouchableOpacity>\n )}\n {centerElement ? (\n centerElement({ hideOverlay, photo })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.userName, { color: black }, usernameText]}>\n {photo?.user?.name || t('Unknown User')}\n </Text>\n {date && <Text style={[styles.date, { color: black }, dateText]}>{date}</Text>}\n </View>\n )}\n {rightElement ? (\n rightElement({ hideOverlay, photo })\n ) : (\n <View style={[styles.rightContainer, rightContainer]} />\n )}\n </View>\n </ReanimatedSafeAreaView>\n </View>\n );\n};\n\nImageGalleryHeader.displayName = 'ImageGalleryHeader{imageGallery{header}}';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ImageGalleryOverlay","props","animatedBottomSheetIndex","closeGridView","currentBottomSheetIndex","_useTheme","useTheme","_useTheme$theme","theme","overlayColor","colors","overlay","imageGallery","grid","_useState","useState","_useState2","_slicedToArray2","visible","setVisible","_useState3","_useState4","fadedIn","setFadedIn","opacity","useSharedValue","useEffect","value","withTiming","duration","easing","Easing","out","ease","runOnJS","showOverlayStyle","useAnimatedStyle","tapEvent","event","nativeEvent","state","State","END","createElement","TapGestureHandler","maxDeltaX","maxDeltaY","onHandlerStateChange","testID","__self","__source","fileName","lineNumber","columnNumber","View","style","StyleSheet","absoluteFillObject","backgroundColor","exports","displayName"],"sources":["ImageGalleryOverlay.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport {\n State,\n TapGestureHandler,\n TapGestureHandlerStateChangeEvent,\n} from 'react-native-gesture-handler';\nimport Animated, {\n Easing,\n runOnJS,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\ntype Props = {\n animatedBottomSheetIndex: Animated.SharedValue<number>;\n closeGridView: () => void;\n currentBottomSheetIndex: number;\n};\n\nexport const ImageGalleryOverlay: React.FC<Props> = (props) => {\n const { animatedBottomSheetIndex, closeGridView, currentBottomSheetIndex } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n imageGallery: {\n grid: { overlay },\n },\n },\n } = useTheme();\n\n const [visible, setVisible] = useState(false);\n const [fadedIn, setFadedIn] = useState(false);\n\n const opacity = useSharedValue(0);\n\n useEffect(() => {\n if (currentBottomSheetIndex > 0) {\n setVisible(true);\n opacity.value = withTiming(\n 1,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => runOnJS(setFadedIn)(true),\n );\n } else {\n setVisible(false);\n opacity.value = 0;\n setFadedIn(false);\n }\n }, [currentBottomSheetIndex]);\n\n const showOverlayStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: fadedIn ? animatedBottomSheetIndex.value : opacity.value,\n }),\n [fadedIn],\n );\n\n const tapEvent = (event: TapGestureHandlerStateChangeEvent) => {\n if (event.nativeEvent.state === State.END) {\n closeGridView();\n }\n };\n\n if (!visible) {\n return null;\n }\n\n return (\n <TapGestureHandler\n maxDeltaX={16}\n maxDeltaY={16}\n onHandlerStateChange={tapEvent}\n testID='image-gallery-overlay'\n >\n <Animated.View\n style={[\n StyleSheet.absoluteFillObject,\n { backgroundColor: overlayColor },\n overlay,\n showOverlayStyle,\n ]}\n />\n </TapGestureHandler>\n );\n};\n\nImageGalleryOverlay.displayName = 'ImageGrid{imageGallery{grid{overlay}}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ImageGalleryOverlay","props","animatedBottomSheetIndex","closeGridView","currentBottomSheetIndex","_useTheme","useTheme","_useTheme$theme","theme","overlayColor","colors","overlay","imageGallery","grid","_useState","useState","_useState2","_slicedToArray2","visible","setVisible","_useState3","_useState4","fadedIn","setFadedIn","opacity","useSharedValue","useEffect","value","withTiming","duration","easing","Easing","out","ease","runOnJS","showOverlayStyle","useAnimatedStyle","tapEvent","event","nativeEvent","state","State","END","createElement","TapGestureHandler","maxDeltaX","maxDeltaY","onHandlerStateChange","testID","__self","__source","fileName","lineNumber","columnNumber","View","style","StyleSheet","absoluteFillObject","backgroundColor","exports","displayName"],"sources":["ImageGalleryOverlay.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport {\n State,\n TapGestureHandler,\n TapGestureHandlerStateChangeEvent,\n} from 'react-native-gesture-handler';\nimport Animated, {\n Easing,\n runOnJS,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\ntype Props = {\n animatedBottomSheetIndex: Animated.SharedValue<number>;\n closeGridView: () => void;\n currentBottomSheetIndex: number;\n};\n\nexport const ImageGalleryOverlay: React.FC<Props> = (props) => {\n const { animatedBottomSheetIndex, closeGridView, currentBottomSheetIndex } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n imageGallery: {\n grid: { overlay },\n },\n },\n } = useTheme();\n\n const [visible, setVisible] = useState(false);\n const [fadedIn, setFadedIn] = useState(false);\n\n const opacity = useSharedValue(0);\n\n useEffect(() => {\n if (currentBottomSheetIndex > 0) {\n setVisible(true);\n opacity.value = withTiming(\n 1,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => runOnJS(setFadedIn)(true),\n );\n } else {\n setVisible(false);\n opacity.value = 0;\n setFadedIn(false);\n }\n }, [currentBottomSheetIndex]);\n\n const showOverlayStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: fadedIn ? animatedBottomSheetIndex.value : opacity.value,\n }),\n [fadedIn],\n );\n\n const tapEvent = (event: TapGestureHandlerStateChangeEvent) => {\n if (event.nativeEvent.state === State.END) {\n closeGridView();\n }\n };\n\n if (!visible) {\n return null;\n }\n\n return (\n <TapGestureHandler\n maxDeltaX={16}\n maxDeltaY={16}\n onHandlerStateChange={tapEvent}\n testID='image-gallery-overlay'\n >\n <Animated.View\n style={[\n StyleSheet.absoluteFillObject,\n { backgroundColor: overlayColor },\n overlay,\n showOverlayStyle,\n ]}\n />\n </TapGestureHandler>\n );\n};\n\nImageGalleryOverlay.displayName = 'ImageGrid{imageGallery{grid{overlay}}}';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_dayjs","_ThemeContext","_icons","_ProgressControl","_this","_jsxFileName","styles","StyleSheet","create","durationTextStyle","fontWeight","roundedView","alignItems","borderRadius","display","elevation","height","justifyContent","width","videoContainer","backgroundColor","flexDirection","padding","ImageGalleryVideoControl","React","memo","props","duration","onPlayPause","paused","progress","videoDuration","dayjs","format","progressValueInSeconds","progressDuration","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","black","static_black","static_white","_useTheme$theme$image","imageGallery","videoControl","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","accessibilityLabel","onPress","Play","pathFill","Pause","Text","color","ProgressControl","filledColor","testID","prevProps","nextProps","exports","displayName"],"sources":["ImageGalleryVideoControl.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport dayjs from 'dayjs';\n\nimport type { ImageGalleryFooterVideoControlProps } from './ImageGalleryFooter';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { Pause, Play } from '../../../icons';\nimport { ProgressControl } from '../../ProgressControl/ProgressControl';\n\nconst styles = StyleSheet.create({\n durationTextStyle: {\n fontWeight: 'bold',\n },\n roundedView: {\n alignItems: 'center',\n borderRadius: 50,\n display: 'flex',\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n videoContainer: {\n alignItems: 'center',\n backgroundColor: 'rgba(52, 52, 52, 0.1)',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n});\n\nexport const ImageGalleryVideoControl: React.FC<ImageGalleryFooterVideoControlProps> = React.memo(\n (props) => {\n const { duration, onPlayPause, paused, progress } = props;\n\n const videoDuration = duration\n ? duration / 3600 >= 1\n ? dayjs.duration(duration, 'second').format('HH:mm:ss')\n : dayjs.duration(duration, 'second').format('mm:ss')\n : null;\n\n const progressValueInSeconds = progress * duration;\n\n const progressDuration = progressValueInSeconds\n ? progressValueInSeconds / 3600 >= 1\n ? dayjs.duration(progressValueInSeconds, 'second').format('HH:mm:ss')\n : dayjs.duration(progressValueInSeconds, 'second').format('mm:ss')\n : null;\n\n const {\n theme: {\n colors: { accent_blue, black, static_black, static_white },\n imageGallery: {\n videoControl: { durationTextStyle, roundedView, videoContainer },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.videoContainer, videoContainer]}>\n <TouchableOpacity\n accessibilityLabel='Play Pause Button'\n onPress={() => {\n onPlayPause();\n }}\n >\n <View style={[styles.roundedView, roundedView, { backgroundColor: static_white }]}>\n {paused ? (\n <Play accessibilityLabel='Play Icon' height={24} pathFill={static_black} width={24} />\n ) : (\n <Pause\n accessibilityLabel='Pause Icon'\n height={24}\n pathFill={static_black}\n width={24}\n />\n )}\n </View>\n </TouchableOpacity>\n <Text\n accessibilityLabel='Progress Duration'\n style={[styles.durationTextStyle, durationTextStyle, { color: black }]}\n >\n {progressDuration ? progressDuration : '00:00'}\n </Text>\n <ProgressControl\n duration={duration}\n filledColor={accent_blue}\n onPlayPause={onPlayPause}\n progress={progress}\n testID={'progress-control'}\n width={180}\n />\n <Text\n accessibilityLabel='Video Duration'\n style={[styles.durationTextStyle, durationTextStyle, { color: black }]}\n >\n {videoDuration ? videoDuration : '00:00'}\n </Text>\n </View>\n );\n },\n (prevProps, nextProps) => {\n if (\n prevProps.duration === nextProps.duration &&\n prevProps.paused === nextProps.paused &&\n prevProps.progress === nextProps.progress\n ) {\n return true;\n } else {\n return false;\n }\n },\n);\n\nImageGalleryVideoControl.displayName = 'ImageGalleryVideoControl{imageGallery{videoControl}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_dayjs","_ThemeContext","_icons","_ProgressControl","_this","_jsxFileName","styles","StyleSheet","create","durationTextStyle","fontWeight","roundedView","alignItems","borderRadius","display","elevation","height","justifyContent","width","videoContainer","backgroundColor","flexDirection","padding","ImageGalleryVideoControl","React","memo","props","duration","onPlayPause","paused","progress","videoDuration","dayjs","format","progressValueInSeconds","progressDuration","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","black","static_black","static_white","_useTheme$theme$image","imageGallery","videoControl","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","accessibilityLabel","onPress","Play","pathFill","Pause","Text","color","ProgressControl","filledColor","testID","prevProps","nextProps","exports","displayName"],"sources":["ImageGalleryVideoControl.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport dayjs from 'dayjs';\n\nimport type { ImageGalleryFooterVideoControlProps } from './ImageGalleryFooter';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { Pause, Play } from '../../../icons';\nimport { ProgressControl } from '../../ProgressControl/ProgressControl';\n\nconst styles = StyleSheet.create({\n durationTextStyle: {\n fontWeight: 'bold',\n },\n roundedView: {\n alignItems: 'center',\n borderRadius: 50,\n display: 'flex',\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n videoContainer: {\n alignItems: 'center',\n backgroundColor: 'rgba(52, 52, 52, 0.1)',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n});\n\nexport const ImageGalleryVideoControl: React.FC<ImageGalleryFooterVideoControlProps> = React.memo(\n (props) => {\n const { duration, onPlayPause, paused, progress } = props;\n\n const videoDuration = duration\n ? duration / 3600 >= 1\n ? dayjs.duration(duration, 'second').format('HH:mm:ss')\n : dayjs.duration(duration, 'second').format('mm:ss')\n : null;\n\n const progressValueInSeconds = progress * duration;\n\n const progressDuration = progressValueInSeconds\n ? progressValueInSeconds / 3600 >= 1\n ? dayjs.duration(progressValueInSeconds, 'second').format('HH:mm:ss')\n : dayjs.duration(progressValueInSeconds, 'second').format('mm:ss')\n : null;\n\n const {\n theme: {\n colors: { accent_blue, black, static_black, static_white },\n imageGallery: {\n videoControl: { durationTextStyle, roundedView, videoContainer },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.videoContainer, videoContainer]}>\n <TouchableOpacity\n accessibilityLabel='Play Pause Button'\n onPress={() => {\n onPlayPause();\n }}\n >\n <View style={[styles.roundedView, roundedView, { backgroundColor: static_white }]}>\n {paused ? (\n <Play accessibilityLabel='Play Icon' height={24} pathFill={static_black} width={24} />\n ) : (\n <Pause\n accessibilityLabel='Pause Icon'\n height={24}\n pathFill={static_black}\n width={24}\n />\n )}\n </View>\n </TouchableOpacity>\n <Text\n accessibilityLabel='Progress Duration'\n style={[styles.durationTextStyle, durationTextStyle, { color: black }]}\n >\n {progressDuration ? progressDuration : '00:00'}\n </Text>\n <ProgressControl\n duration={duration}\n filledColor={accent_blue}\n onPlayPause={onPlayPause}\n progress={progress}\n testID={'progress-control'}\n width={180}\n />\n <Text\n accessibilityLabel='Video Duration'\n style={[styles.durationTextStyle, durationTextStyle, { color: black }]}\n >\n {videoDuration ? videoDuration : '00:00'}\n </Text>\n </View>\n );\n },\n (prevProps, nextProps) => {\n if (\n prevProps.duration === nextProps.duration &&\n prevProps.paused === nextProps.paused &&\n prevProps.progress === nextProps.progress\n ) {\n return true;\n } else {\n return false;\n }\n },\n);\n\nImageGalleryVideoControl.displayName = 'ImageGalleryVideoControl{imageGallery{videoControl}}';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_VideoThumbnail","_ThemeContext","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","avatarImage","borderRadius","height","width","avatarImageWrapper","borderWidth","margin","contentContainer","flexGrow","image","GridImage","_ref","item","_useTheme","useTheme","gridImage","theme","imageGallery","grid","imageComponent","restItem","_objectWithoutProperties2","numberOfImageGalleryGridColumns","selectAndClose","type","uri","size","vw","createElement","TouchableOpacity","accessibilityLabel","onPress","__self","__source","fileName","lineNumber","columnNumber","View","style","VideoThumbnail","Image","source","renderItem","_ref2","ImageGrid","props","avatarComponent","closeGridView","photos","setSelectedMessage","_useTheme2","_useTheme2$theme","white","colors","_useTheme2$theme$imag","container","imageGridItems","map","photo","_extends2","messageId","url","BottomSheetFlatList","contentContainerStyle","backgroundColor","data","keyExtractor","index","numColumns","exports","displayName"],"sources":["ImageGrid.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport { BottomSheetFlatList, TouchableOpacity } from '@gorhom/bottom-sheet';\n\nimport { VideoThumbnail } from '../../../components/Attachment/VideoThumbnail';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\nimport type { Photo } from '../ImageGallery';\n\nconst styles = StyleSheet.create({\n avatarImage: {\n borderRadius: 22,\n height: 22,\n width: 22,\n },\n avatarImageWrapper: {\n borderRadius: 24,\n borderWidth: 1,\n height: 24,\n margin: 8,\n width: 24,\n },\n contentContainer: {\n flexGrow: 1,\n },\n image: {\n margin: 1,\n },\n});\n\nexport type ImageGalleryGridImageComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n item,\n}: {\n item: Photo<StreamChatGenerics> & {\n selectAndClose: () => void;\n numberOfImageGalleryGridColumns?: number;\n };\n}) => React.ReactElement | null;\n\nexport type ImageGalleryGridImageComponents<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n avatarComponent?: ImageGalleryGridImageComponent<StreamChatGenerics>;\n imageComponent?: ImageGalleryGridImageComponent<StreamChatGenerics>;\n};\n\nexport type GridImageItem<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Photo<StreamChatGenerics> &\n ImageGalleryGridImageComponents<StreamChatGenerics> & {\n selectAndClose: () => void;\n numberOfImageGalleryGridColumns?: number;\n };\n\nconst GridImage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: GridImageItem<StreamChatGenerics>;\n}) => {\n const {\n theme: {\n imageGallery: {\n grid: { gridImage },\n },\n },\n } = useTheme();\n const { imageComponent, ...restItem } = item;\n\n const { numberOfImageGalleryGridColumns, selectAndClose, type, uri } = restItem;\n\n const size = vw(100) / (numberOfImageGalleryGridColumns || 3) - 2;\n\n if (imageComponent) {\n return imageComponent({ item: restItem });\n }\n\n return (\n <TouchableOpacity accessibilityLabel='Grid Image' onPress={selectAndClose}>\n {type === 'video' ? (\n <View style={[styles.image, { height: size, width: size }, gridImage]}>\n <VideoThumbnail />\n </View>\n ) : (\n <Image source={{ uri }} style={[styles.image, { height: size, width: size }]} />\n )}\n </TouchableOpacity>\n );\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: GridImageItem<StreamChatGenerics>;\n}) => <GridImage item={item} />;\n\nexport type ImageGridType<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryGridImageComponents<StreamChatGenerics> & {\n closeGridView: () => void;\n photos: Photo<StreamChatGenerics>[];\n setSelectedMessage: React.Dispatch<\n React.SetStateAction<\n | {\n messageId?: string | undefined;\n url?: string | undefined;\n }\n | undefined\n >\n >;\n numberOfImageGalleryGridColumns?: number;\n};\n\nexport const ImageGrid = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGridType<StreamChatGenerics>,\n) => {\n const {\n avatarComponent,\n closeGridView,\n imageComponent,\n numberOfImageGalleryGridColumns,\n photos,\n setSelectedMessage,\n } = props;\n\n const {\n theme: {\n colors: { white },\n imageGallery: {\n grid: { container, contentContainer },\n },\n },\n } = useTheme();\n\n const imageGridItems = photos.map((photo) => ({\n ...photo,\n avatarComponent,\n imageComponent,\n numberOfImageGalleryGridColumns,\n selectAndClose: () => {\n setSelectedMessage({ messageId: photo.messageId, url: photo.uri });\n closeGridView();\n },\n }));\n\n return (\n <BottomSheetFlatList<GridImageItem<StreamChatGenerics>>\n accessibilityLabel='Image Grid'\n contentContainerStyle={[\n styles.contentContainer,\n { backgroundColor: white },\n contentContainer,\n ]}\n data={imageGridItems as GridImageItem<StreamChatGenerics>[]}\n keyExtractor={(item, index) => `${item.uri}-${index}`}\n numColumns={numberOfImageGalleryGridColumns || 3}\n renderItem={renderItem}\n style={container}\n />\n );\n};\n\nImageGrid.displayName = 'ImageGrid{imageGallery{grid}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_VideoThumbnail","_ThemeContext","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","avatarImage","borderRadius","height","width","avatarImageWrapper","borderWidth","margin","contentContainer","flexGrow","image","GridImage","_ref","item","_useTheme","useTheme","gridImage","theme","imageGallery","grid","imageComponent","restItem","_objectWithoutProperties2","numberOfImageGalleryGridColumns","selectAndClose","type","uri","size","vw","createElement","TouchableOpacity","accessibilityLabel","onPress","__self","__source","fileName","lineNumber","columnNumber","View","style","VideoThumbnail","Image","source","renderItem","_ref2","ImageGrid","props","avatarComponent","closeGridView","photos","setSelectedMessage","_useTheme2","_useTheme2$theme","white","colors","_useTheme2$theme$imag","container","imageGridItems","map","photo","_extends2","messageId","url","BottomSheetFlatList","contentContainerStyle","backgroundColor","data","keyExtractor","index","numColumns","exports","displayName"],"sources":["ImageGrid.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport { BottomSheetFlatList, TouchableOpacity } from '@gorhom/bottom-sheet';\n\nimport { VideoThumbnail } from '../../../components/Attachment/VideoThumbnail';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\nimport type { Photo } from '../ImageGallery';\n\nconst styles = StyleSheet.create({\n avatarImage: {\n borderRadius: 22,\n height: 22,\n width: 22,\n },\n avatarImageWrapper: {\n borderRadius: 24,\n borderWidth: 1,\n height: 24,\n margin: 8,\n width: 24,\n },\n contentContainer: {\n flexGrow: 1,\n },\n image: {\n margin: 1,\n },\n});\n\nexport type ImageGalleryGridImageComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n item,\n}: {\n item: Photo<StreamChatGenerics> & {\n selectAndClose: () => void;\n numberOfImageGalleryGridColumns?: number;\n };\n}) => React.ReactElement | null;\n\nexport type ImageGalleryGridImageComponents<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n avatarComponent?: ImageGalleryGridImageComponent<StreamChatGenerics>;\n imageComponent?: ImageGalleryGridImageComponent<StreamChatGenerics>;\n};\n\nexport type GridImageItem<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Photo<StreamChatGenerics> &\n ImageGalleryGridImageComponents<StreamChatGenerics> & {\n selectAndClose: () => void;\n numberOfImageGalleryGridColumns?: number;\n };\n\nconst GridImage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: GridImageItem<StreamChatGenerics>;\n}) => {\n const {\n theme: {\n imageGallery: {\n grid: { gridImage },\n },\n },\n } = useTheme();\n const { imageComponent, ...restItem } = item;\n\n const { numberOfImageGalleryGridColumns, selectAndClose, type, uri } = restItem;\n\n const size = vw(100) / (numberOfImageGalleryGridColumns || 3) - 2;\n\n if (imageComponent) {\n return imageComponent({ item: restItem });\n }\n\n return (\n <TouchableOpacity accessibilityLabel='Grid Image' onPress={selectAndClose}>\n {type === 'video' ? (\n <View style={[styles.image, { height: size, width: size }, gridImage]}>\n <VideoThumbnail />\n </View>\n ) : (\n <Image source={{ uri }} style={[styles.image, { height: size, width: size }]} />\n )}\n </TouchableOpacity>\n );\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: GridImageItem<StreamChatGenerics>;\n}) => <GridImage item={item} />;\n\nexport type ImageGridType<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryGridImageComponents<StreamChatGenerics> & {\n closeGridView: () => void;\n photos: Photo<StreamChatGenerics>[];\n setSelectedMessage: React.Dispatch<\n React.SetStateAction<\n | {\n messageId?: string | undefined;\n url?: string | undefined;\n }\n | undefined\n >\n >;\n numberOfImageGalleryGridColumns?: number;\n};\n\nexport const ImageGrid = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGridType<StreamChatGenerics>,\n) => {\n const {\n avatarComponent,\n closeGridView,\n imageComponent,\n numberOfImageGalleryGridColumns,\n photos,\n setSelectedMessage,\n } = props;\n\n const {\n theme: {\n colors: { white },\n imageGallery: {\n grid: { container, contentContainer },\n },\n },\n } = useTheme();\n\n const imageGridItems = photos.map((photo) => ({\n ...photo,\n avatarComponent,\n imageComponent,\n numberOfImageGalleryGridColumns,\n selectAndClose: () => {\n setSelectedMessage({ messageId: photo.messageId, url: photo.uri });\n closeGridView();\n },\n }));\n\n return (\n <BottomSheetFlatList<GridImageItem<StreamChatGenerics>>\n accessibilityLabel='Image Grid'\n contentContainerStyle={[\n styles.contentContainer,\n { backgroundColor: white },\n contentContainer,\n ]}\n data={imageGridItems as GridImageItem<StreamChatGenerics>[]}\n keyExtractor={(item, index) => `${item.uri}-${index}`}\n numColumns={numberOfImageGalleryGridColumns || 3}\n renderItem={renderItem}\n style={container}\n />\n );\n};\n\nImageGrid.displayName = 'ImageGrid{imageGallery{grid}}';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_ThemeContext","_TranslationContext","_icons","_this","_jsxFileName","styles","StyleSheet","create","closeButton","marginRight","handle","alignItems","borderTopLeftRadius","borderTopRightRadius","flexDirection","height","justifyContent","leftContainer","marginLeft","width","text","flex","fontSize","fontWeight","textAlign","ImageGridHandle","props","centerComponent","closeGridView","leftComponent","rightComponent","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","white","_useTheme$theme$image","imageGallery","grid","handleText","_useTranslationContex","useTranslationContext","t","createElement","View","accessibilityLabel","style","backgroundColor","__self","__source","fileName","lineNumber","columnNumber","Text","color","TouchableOpacity","onPress","Close","exports","displayName"],"sources":["ImageGridHandle.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../../icons';\n\nconst styles = StyleSheet.create({\n closeButton: {\n marginRight: 16,\n },\n handle: {\n alignItems: 'center',\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n flexDirection: 'row',\n height: 40,\n justifyContent: 'center',\n },\n leftContainer: {\n marginLeft: 16,\n width: 24, // Close icon width on right\n },\n text: {\n flex: 1,\n fontSize: 16,\n fontWeight: '600',\n textAlign: 'center',\n },\n});\n\nexport type ImageGalleryGridHandleCustomComponent = ({\n closeGridView,\n}: {\n closeGridView: () => void;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryGridHandleCustomComponentProps = {\n centerComponent?: ImageGalleryGridHandleCustomComponent;\n leftComponent?: ImageGalleryGridHandleCustomComponent;\n rightComponent?: ImageGalleryGridHandleCustomComponent;\n};\n\ntype Props = ImageGalleryGridHandleCustomComponentProps & {\n closeGridView: () => void;\n};\n\nexport const ImageGridHandle: React.FC<Props> = (props) => {\n const { centerComponent, closeGridView, leftComponent, rightComponent } = props;\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n grid: { handle, handleText },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n return (\n <View\n accessibilityLabel='Image Grid Handle'\n style={[styles.handle, { backgroundColor: white }, handle]}\n >\n {leftComponent ? leftComponent({ closeGridView }) : <View style={styles.leftContainer} />}\n {centerComponent ? (\n centerComponent({ closeGridView })\n ) : (\n <Text style={[styles.text, { color: black }, handleText]}>{t('Photos and Videos')}</Text>\n )}\n {rightComponent ? (\n rightComponent({ closeGridView })\n ) : (\n <TouchableOpacity onPress={closeGridView}>\n <Close style={styles.closeButton} />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImageGridHandle.displayName = 'ImageGridHandle{imageGallery{grid{handle}}}';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAAuC,IAAAM,KAAA;EAAAC,YAAA;AAEvC,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,WAAW,EAAE;IACXC,WAAW,EAAE;EACf,CAAC;EACDC,MAAM,EAAE;IACNC,UAAU,EAAE,QAAQ;IACpBC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBC,aAAa,EAAE,KAAK;IACpBC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE;EAClB,CAAC;EACDC,aAAa,EAAE;IACbC,UAAU,EAAE,EAAE;IACdC,KAAK,EAAE;EACT,CAAC;EACDC,IAAI,EAAE;IACJC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAkBK,IAAMC,eAAgC,GAAG,SAAnCA,eAAgCA,CAAIC,KAAK,EAAK;EACzD,IAAQC,eAAe,GAAmDD,KAAK,CAAvEC,eAAe;IAAEC,aAAa,GAAoCF,KAAK,CAAtDE,aAAa;IAAEC,aAAa,GAAqBH,KAAK,CAAvCG,aAAa;IAAEC,cAAc,GAAKJ,KAAK,CAAxBI,cAAc;EACrE,IAAAC,SAAA,GAOI,IAAAC,sBAAQ,GAAE;IAAAC,eAAA,GAAAF,SAAA,CANZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEC,KAAK,GAAAH,qBAAA,CAALG,KAAK;IAAAC,qBAAA,GAAAN,eAAA,CACtBO,YAAY,CACVC,IAAI;IAAI/B,MAAM,GAAA6B,qBAAA,CAAN7B,MAAM;IAAEgC,UAAU,GAAAH,qBAAA,CAAVG,UAAU;EAIhC,IAAAC,qBAAA,GAAc,IAAAC,yCAAqB,GAAE;IAA7BC,CAAC,GAAAF,qBAAA,CAADE,CAAC;EAET,OACElD,MAAA,YAAAmD,aAAA,CAAChD,YAAA,CAAAiD,IAAI;IACHC,kBAAkB,EAAC,mBAAmB;IACtCC,KAAK,EAAE,CAAC5C,MAAM,CAACK,MAAM,EAAE;MAAEwC,eAAe,EAAEZ;IAAM,CAAC,EAAE5B,MAAM,CAAE;IAAAyC,MAAA,EAAAhD,KAAA;IAAAiD,QAAA;MAAAC,QAAA,EAAAjD,YAAA;MAAAkD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE1D1B,aAAa,GAAGA,aAAa,CAAC;IAAED,aAAa,EAAbA;EAAc,CAAC,CAAC,GAAGjC,MAAA,YAAAmD,aAAA,CAAChD,YAAA,CAAAiD,IAAI;IAACE,KAAK,EAAE5C,MAAM,CAACY,aAAc;IAAAkC,MAAA,EAAAhD,KAAA;IAAAiD,QAAA;MAAAC,QAAA,EAAAjD,YAAA;MAAAkD,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,EACxF5B,eAAe,GACdA,eAAe,CAAC;IAAEC,aAAa,EAAbA;EAAc,CAAC,CAAC,GAElCjC,MAAA,YAAAmD,aAAA,CAAChD,YAAA,CAAA0D,IAAI;IAACP,KAAK,EAAE,CAAC5C,MAAM,CAACe,IAAI,EAAE;MAAEqC,KAAK,EAAEpB;IAAM,CAAC,EAAEK,UAAU,CAAE;IAAAS,MAAA,EAAAhD,KAAA;IAAAiD,QAAA;MAAAC,QAAA,EAAAjD,YAAA;MAAAkD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAEV,CAAC,CAAC,mBAAmB,CAAC,CAClF,EACAf,cAAc,GACbA,cAAc,CAAC;IAAEF,aAAa,EAAbA;EAAc,CAAC,CAAC,GAEjCjC,MAAA,YAAAmD,aAAA,CAAC/C,YAAA,CAAA2D,gBAAgB;IAACC,OAAO,EAAE/B,aAAc;IAAAuB,MAAA,EAAAhD,KAAA;IAAAiD,QAAA;MAAAC,QAAA,EAAAjD,YAAA;MAAAkD,UAAA;MAAAC,YAAA;IAAA;EAAA,GACvC5D,MAAA,YAAAmD,aAAA,CAAC5C,MAAA,CAAA0D,KAAK;IAACX,KAAK,EAAE5C,MAAM,CAACG,WAAY;IAAA2C,MAAA,EAAAhD,KAAA;IAAAiD,QAAA;MAAAC,QAAA,EAAAjD,YAAA;MAAAkD,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,CAEvC,CACI;AAEX,CAAC;AAACM,OAAA,CAAApC,eAAA,GAAAA,eAAA;AAEFA,eAAe,CAACqC,WAAW,GAAG,6CAA6C"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_ThemeContext","_TranslationContext","_icons","_this","_jsxFileName","styles","StyleSheet","create","closeButton","marginRight","handle","alignItems","borderTopLeftRadius","borderTopRightRadius","flexDirection","height","justifyContent","leftContainer","marginLeft","width","text","flex","fontSize","fontWeight","textAlign","ImageGridHandle","props","centerComponent","closeGridView","leftComponent","rightComponent","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","white","_useTheme$theme$image","imageGallery","grid","handleText","_useTranslationContex","useTranslationContext","t","createElement","View","accessibilityLabel","style","backgroundColor","__self","__source","fileName","lineNumber","columnNumber","Text","color","TouchableOpacity","onPress","Close","exports","displayName"],"sources":["ImageGridHandle.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../../icons';\n\nconst styles = StyleSheet.create({\n closeButton: {\n marginRight: 16,\n },\n handle: {\n alignItems: 'center',\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n flexDirection: 'row',\n height: 40,\n justifyContent: 'center',\n },\n leftContainer: {\n marginLeft: 16,\n width: 24, // Close icon width on right\n },\n text: {\n flex: 1,\n fontSize: 16,\n fontWeight: '600',\n textAlign: 'center',\n },\n});\n\nexport type ImageGalleryGridHandleCustomComponent = ({\n closeGridView,\n}: {\n closeGridView: () => void;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryGridHandleCustomComponentProps = {\n centerComponent?: ImageGalleryGridHandleCustomComponent;\n leftComponent?: ImageGalleryGridHandleCustomComponent;\n rightComponent?: ImageGalleryGridHandleCustomComponent;\n};\n\ntype Props = ImageGalleryGridHandleCustomComponentProps & {\n closeGridView: () => void;\n};\n\nexport const ImageGridHandle: React.FC<Props> = (props) => {\n const { centerComponent, closeGridView, leftComponent, rightComponent } = props;\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n grid: { handle, handleText },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n return (\n <View\n accessibilityLabel='Image Grid Handle'\n style={[styles.handle, { backgroundColor: white }, handle]}\n >\n {leftComponent ? leftComponent({ closeGridView }) : <View style={styles.leftContainer} />}\n {centerComponent ? (\n centerComponent({ closeGridView })\n ) : (\n <Text style={[styles.text, { color: black }, handleText]}>{t('Photos and Videos')}</Text>\n )}\n {rightComponent ? (\n rightComponent({ closeGridView })\n ) : (\n <TouchableOpacity onPress={closeGridView}>\n <Close style={styles.closeButton} />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImageGridHandle.displayName = 'ImageGridHandle{imageGallery{grid{handle}}}';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_OverlayContext","_native","HasPinched","exports","IsSwiping","MARGIN","useImageGalleryGestures","_ref","currentImageHeight","halfScreenHeight","halfScreenWidth","headerFooterVisible","offsetScale","overlayOpacity","photoLength","scale","screenHeight","screenWidth","selectedIndex","setSelectedIndex","translateX","translateY","translationX","_useOverlayContext","useOverlayContext","setOverlay","isAndroid","Platform","OS","hasHitBottomScale","useSharedValue","hasHitTopScale","originX","originY","oldFocalX","oldFocalY","focalX","focalY","index","value","offsetX","offsetY","focalOffsetX","focalOffsetY","adjustedFocalX","adjustedFocalY","tapX","tapY","numberOfPinchFingers","isSwiping","isPinch","hasPinched","resetTouchValues","UNDETERMINED","resetMovementValues","onPan","useAnimatedGestureHandler","onActive","evt","numberOfPointers","TRUE","FALSE","translationY","maxXYRatio","Math","abs","localEvtScale","onFinish","finalXPosition","velocityX","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","clamp","deceleration","velocity","onStart","onPinch","triggerHaptic","onSingleTap","onDoubleTap","absoluteX","absoluteY","translateYTopBottom","lowerBound","upperBound","min","max"],"sources":["useImageGalleryGestures.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport type {\n PanGestureHandlerGestureEvent,\n PinchGestureHandlerGestureEvent,\n TapGestureHandlerGestureEvent,\n} from 'react-native-gesture-handler';\nimport {\n cancelAnimation,\n Easing,\n runOnJS,\n SharedValue,\n useAnimatedGestureHandler,\n useSharedValue,\n withDecay,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { useOverlayContext } from '../../../contexts/overlayContext/OverlayContext';\nimport { triggerHaptic } from '../../../native';\n\nexport enum HasPinched {\n FALSE = 0,\n TRUE,\n}\n\nexport enum IsSwiping {\n UNDETERMINED = 0,\n TRUE,\n FALSE,\n}\n\nconst MARGIN = 32;\n\nexport const useImageGalleryGestures = ({\n currentImageHeight,\n halfScreenHeight,\n halfScreenWidth,\n headerFooterVisible,\n offsetScale,\n overlayOpacity,\n photoLength,\n scale,\n screenHeight,\n screenWidth,\n selectedIndex,\n setSelectedIndex,\n translateX,\n translateY,\n translationX,\n}: {\n currentImageHeight: number;\n halfScreenHeight: number;\n halfScreenWidth: number;\n headerFooterVisible: SharedValue<number>;\n offsetScale: SharedValue<number>;\n overlayOpacity: SharedValue<number>;\n photoLength: number;\n scale: SharedValue<number>;\n screenHeight: number;\n screenWidth: number;\n selectedIndex: number;\n setSelectedIndex: React.Dispatch<React.SetStateAction<number>>;\n translateX: SharedValue<number>;\n translateY: SharedValue<number>;\n translationX: SharedValue<number>;\n}) => {\n const { setOverlay } = useOverlayContext();\n const isAndroid = Platform.OS === 'android';\n\n /**\n * Values to track scale for haptic feedback firing\n */\n const hasHitBottomScale = useSharedValue(1);\n const hasHitTopScale = useSharedValue(0);\n\n /**\n * Shared values for touch tracking\n */\n const originX = useSharedValue(0);\n const originY = useSharedValue(0);\n const oldFocalX = useSharedValue(0);\n const oldFocalY = useSharedValue(0);\n const focalX = useSharedValue(0);\n const focalY = useSharedValue(0);\n const index = useSharedValue(0);\n\n /**\n * if a specific image index > 0 has been passed in\n * while creating the hook, set the value of the index\n * reference to its value.\n *\n * This makes it possible to seelct an image in the list,\n * and scroll/pan as normal. Prior to this,\n * it was always assumed that one started at index 0 in the\n * gallery.\n * */\n if (index.value !== selectedIndex) {\n index.value = selectedIndex;\n }\n\n /**\n * Shared values for movement\n */\n const offsetX = useSharedValue(0);\n const offsetY = useSharedValue(0);\n\n /**\n * Shared values for touch tracking\n */\n const focalOffsetX = useSharedValue(0);\n const focalOffsetY = useSharedValue(0);\n const adjustedFocalX = useSharedValue(0);\n const adjustedFocalY = useSharedValue(0);\n const tapX = useSharedValue(0);\n const tapY = useSharedValue(0);\n\n /**\n * Shared values for gesture tracking\n */\n const numberOfPinchFingers = useSharedValue(0);\n const isSwiping = useSharedValue(0);\n const isPinch = useSharedValue(false);\n const hasPinched = useSharedValue(0);\n\n /**\n * Reset gesture values for use on touch release\n */\n const resetTouchValues = () => {\n 'worklet';\n focalX.value = 0;\n focalY.value = 0;\n oldFocalX.value = 0;\n oldFocalY.value = 0;\n originX.value = 0;\n originY.value = 0;\n focalOffsetX.value = 0;\n focalOffsetY.value = 0;\n numberOfPinchFingers.value = 0;\n isPinch.value = false;\n isSwiping.value = IsSwiping.UNDETERMINED;\n };\n\n /**\n * Reset movement values for use on selected photo change\n */\n const resetMovementValues = () => {\n 'worklet';\n translateX.value = 0;\n translateY.value = 0;\n scale.value = 1;\n offsetScale.value = 1;\n };\n\n /**\n * We use simultaneousHandlers to allow pan and pinch gesture handlers\n * depending on the gesture. The touch is fully handled by the pinch\n * gesture handler once it has began so all interactions by the pan\n * handler are blocked if isPinch.value is true\n */\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>(\n {\n onActive: (evt) => {\n if (evt.numberOfPointers === 1 && !isPinch.value) {\n /**\n * If Android where a second finger cannot be added back and\n * removing one finger returns to Pan Handler then adjust origin\n * on finger remove and set swiping false\n */\n if (isAndroid && hasPinched.value === HasPinched.TRUE) {\n hasPinched.value = HasPinched.FALSE;\n isSwiping.value = IsSwiping.FALSE;\n offsetX.value = translateX.value + evt.translationX;\n offsetY.value = translateY.value - evt.translationY;\n }\n\n /**\n * isSwiping is used to prevent Y movement if a clear swipe to next\n * or previous is begun when at the edge of a photo. The value is\n * either 0, 1, or 2, via the IsSwiping enum designating undetermined,\n * true, or false and is reset on releasing the touch\n */\n if (isSwiping.value === IsSwiping.UNDETERMINED) {\n const maxXYRatio = isAndroid ? 1 : 0.25;\n if (\n Math.abs(evt.translationX / evt.translationY) > maxXYRatio &&\n (Math.abs(-halfScreenWidth * (scale.value - 1) - offsetX.value) < 3 ||\n Math.abs(halfScreenWidth * (scale.value - 1) - offsetX.value) < 3)\n ) {\n isSwiping.value = IsSwiping.TRUE;\n }\n if (Math.abs(evt.translationY) > 25) {\n isSwiping.value = IsSwiping.FALSE;\n }\n }\n\n /**\n * localEvtScale is used for swipe away\n */\n const localEvtScale = scale.value / offsetScale.value;\n\n /**\n * If not swiping translate the image in X and Y to the event\n * translation plus offset. If swiping only translate X, if\n * swiping down when at top of screen or centered balance scale\n * using offset to a degree (this needs improvement the calculation\n * is incorrect but likely needs origin use to be 100%)\n */\n translateX.value =\n scale.value !== offsetScale.value\n ? offsetX.value * localEvtScale - evt.translationX\n : offsetX.value - evt.translationX;\n translateY.value =\n isSwiping.value !== IsSwiping.TRUE\n ? scale.value !== offsetScale.value\n ? offsetY.value * localEvtScale + evt.translationY\n : offsetY.value + evt.translationY\n : translateY.value;\n\n /**\n * If swiping down start scaling down the image for swipe\n * away effect\n */\n scale.value =\n currentImageHeight * offsetScale.value < screenHeight && translateY.value > 0\n ? offsetScale.value * (1 - (1 / 3) * (translateY.value / screenHeight))\n : currentImageHeight * offsetScale.value > screenHeight &&\n translateY.value > (currentImageHeight / 2) * offsetScale.value - halfScreenHeight\n ? offsetScale.value *\n (1 -\n (1 / 3) *\n ((translateY.value -\n ((currentImageHeight / 2) * offsetScale.value - halfScreenHeight)) /\n screenHeight))\n : scale.value;\n\n overlayOpacity.value = localEvtScale;\n }\n },\n onFinish: (evt) => {\n if (!isPinch.value && evt.numberOfPointers < 2) {\n /**\n * To determine if the fling should page to the next image we\n * calculate a final position based on the current position and\n * event velocity\n */\n const finalXPosition = evt.translationX - evt.velocityX * 0.3;\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n /**\n * If there is a next photo, the image is lined up to the right\n * edge, the swipe is to the left, and the final position is more\n * than half the screen width, move to the next image\n */\n if (\n index.value < photoLength - 1 &&\n Math.abs(halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value < 0 &&\n finalXPosition < -halfScreenWidth &&\n isSwiping.value === IsSwiping.TRUE\n ) {\n cancelAnimation(translationX);\n translationX.value = withTiming(\n -(screenWidth + MARGIN) * (index.value + 1),\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n resetMovementValues();\n index.value = index.value + 1;\n runOnJS(setSelectedIndex)(index.value);\n },\n );\n\n /**\n * If there is a previous photo, the image is lined up to the left\n * edge, the swipe is to the right, and the final position is more\n * than half the screen width, move to the previous image\n */\n } else if (\n index.value > 0 &&\n Math.abs(-halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value > 0 &&\n finalXPosition > halfScreenWidth &&\n isSwiping.value === IsSwiping.TRUE\n ) {\n cancelAnimation(translationX);\n translationX.value = withTiming(\n -(screenWidth + MARGIN) * (index.value - 1),\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n resetMovementValues();\n index.value = index.value - 1;\n runOnJS(setSelectedIndex)(index.value);\n },\n );\n }\n\n /**\n * When the pan is finished if the scale is less than 1 return the\n * photo to center, if the photo is inside the edges of the screen\n * return the photo to line up with the edges, otherwise use decay\n * with a clamping at the edges to give the effect the image is\n * sliding along using velocity and friction\n */\n translateX.value =\n scale.value < 1\n ? withTiming(0)\n : translateX.value > halfScreenWidth * (scale.value - 1)\n ? withTiming(halfScreenWidth * (scale.value - 1), {\n duration: 200,\n })\n : translateX.value < -halfScreenWidth * (scale.value - 1)\n ? withTiming(-halfScreenWidth * (scale.value - 1), {\n duration: 200,\n })\n : withDecay({\n clamp: [\n -halfScreenWidth * (scale.value - 1),\n halfScreenWidth * (scale.value - 1),\n ],\n deceleration: 0.99,\n velocity: -evt.velocityX,\n });\n\n /**\n * When the pan is finished if the height is less than the screen\n * height return the photo to center, if the photo is inside the\n * edges of the screen return the photo to line up with the edges,\n * otherwise use decay with a clamping at the edges to give the effect\n * the image is sliding along using velocity and friction\n */\n translateY.value =\n currentImageHeight * scale.value < screenHeight\n ? withTiming(0)\n : translateY.value > (currentImageHeight / 2) * scale.value - halfScreenHeight\n ? withTiming((currentImageHeight / 2) * scale.value - halfScreenHeight)\n : translateY.value < (-currentImageHeight / 2) * scale.value + halfScreenHeight\n ? withTiming((-currentImageHeight / 2) * scale.value + halfScreenHeight)\n : withDecay({\n clamp: [\n (-currentImageHeight / 2) * scale.value + halfScreenHeight,\n (currentImageHeight / 2) * scale.value - halfScreenHeight,\n ],\n deceleration: 0.99,\n velocity: evt.velocityY,\n });\n\n resetTouchValues();\n\n /**\n * If the scale has been reduced below one, i.e. zoomed out, translate\n * the zoom back to one\n */\n scale.value =\n scale.value !== offsetScale.value ? withTiming(offsetScale.value) : offsetScale.value;\n\n /**\n * If the photo is centered or at the top of the screen if scaled larger\n * than the screen, and not paging left or right, and the final Y position\n * is greater than half the screen using swipe velocity and position, close\n * the overlay\n */\n if (\n finalYPosition > halfScreenHeight &&\n offsetY.value + 8 >= (currentImageHeight / 2) * scale.value - halfScreenHeight &&\n isSwiping.value !== IsSwiping.TRUE &&\n translateY.value !== 0 &&\n !(\n Math.abs(halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value < 0 &&\n finalXPosition < -halfScreenWidth\n ) &&\n !(\n Math.abs(-halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value > 0 &&\n finalXPosition > halfScreenWidth\n )\n ) {\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n scale.value = withTiming(0.6, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(halfScreenHeight + (currentImageHeight / 2) * scale.value, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateX.value = withDecay({\n velocity: -evt.velocityX,\n });\n }\n }\n },\n onStart: () => {\n if (!isPinch.value) {\n /**\n * Cancel any previous motion animation on translations when a touch\n * begins to interrupt the animation and take over the position handling\n */\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n offsetX.value = translateX.value;\n offsetY.value = translateY.value;\n }\n\n /**\n * Reset hasPinched for Android single finger offset\n */\n hasPinched.value = HasPinched.FALSE;\n },\n },\n [currentImageHeight, photoLength],\n );\n\n /**\n * On pinch is run when two or more fingers touch the screen, it then takes over\n * all touch handling even if the number of fingers is reduced to one until the\n * touch is complete\n */\n const onPinch = useAnimatedGestureHandler<PinchGestureHandlerGestureEvent>(\n {\n onActive: (evt) => {\n /**\n * Android starts with a zero event with 1 touch instead of two\n * we therefore must wait to capture starting info until the double\n * touch begins\n */\n if (!isPinch.value && isAndroid) {\n /**\n * Set hasPinched to true so when removing one finger the pan active\n * state adjusts the offset\n */\n hasPinched.value = HasPinched.TRUE;\n\n /**\n * Cancel any previous motion animation on translations when a touch\n * begins to interrupt the animation and take over the position handling\n */\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n\n /**\n * Reset isSwiping as now the pan gesture handler is no longer running\n */\n isSwiping.value = IsSwiping.UNDETERMINED;\n\n /**\n * Set initial values for pinch gesture interaction handler\n */\n numberOfPinchFingers.value = evt.numberOfPointers;\n offsetX.value = translateX.value;\n offsetY.value = translateY.value;\n adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);\n adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);\n originX.value = adjustedFocalX.value;\n originY.value = adjustedFocalY.value;\n offsetScale.value = scale.value;\n }\n\n /**\n * Set pinch to true to stop all pan gesture interactions, we do this\n * again here for Android outside the check that creates type\n */\n isPinch.value = true;\n\n /**\n * The scale is clamped to a minimum of 1 and maximum of 8 for aesthetics.\n * We use the clamped value to determine a local event scale so the focal\n * point does not become out of sync with the actual photo scaling, e.g.\n * evt.scale is 20 but scale is 8, using evt.scale for offset will put the\n * photo and calculations out of sync\n */\n scale.value = clamp(offsetScale.value * evt.scale, 1, 8);\n const localEvtScale = scale.value / offsetScale.value;\n\n /**\n * When we hit the top or bottom of the scale clamping we run a haptic\n * trigger, we track if it has been run to not spam the trigger\n */\n if (scale.value !== 8 && scale.value !== 1) {\n hasHitTopScale.value = 0;\n hasHitBottomScale.value = 0;\n } else if (scale.value === 8 && hasHitTopScale.value === 0) {\n hasHitTopScale.value = 1;\n runOnJS(triggerHaptic)('impactLight');\n } else if (scale.value === 1 && hasHitBottomScale.value === 0) {\n hasHitBottomScale.value = 1;\n runOnJS(triggerHaptic)('impactLight');\n }\n\n /**\n * We calculate the adjusted focal point on the photo using the events\n * focal position on the screen, screen size, and current photo offset\n */\n adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);\n adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);\n\n /**\n * If the number of fingers on the screen changes, the position of the\n * focal point will change and this needs to be accounted for, e.g. if\n * two fingers are on the screen the focal is between them, but if one is\n * then removed the focal is now at the remaining fingers touch position.\n * If this happens without accounting for the change the image will jump\n * around, we keep track of the previous two finger focal to adjust for this\n * change in a reduction from two fingers to one, then if another finger\n * is added again we adjust the origin to account for the difference between\n * the original two finger touch and the new two finger touch position.\n */\n if (numberOfPinchFingers.value !== evt.numberOfPointers) {\n numberOfPinchFingers.value = evt.numberOfPointers;\n if (evt.numberOfPointers === 1) {\n focalOffsetX.value = oldFocalX.value - adjustedFocalX.value;\n focalOffsetY.value = oldFocalY.value - adjustedFocalY.value;\n } else if (numberOfPinchFingers.value > 1) {\n originX.value =\n originX.value -\n (oldFocalX.value / localEvtScale - adjustedFocalX.value / localEvtScale);\n originY.value =\n originY.value -\n (oldFocalY.value / localEvtScale - adjustedFocalY.value / localEvtScale);\n }\n }\n\n /**\n * If pinch handler has been activated via two fingers then the fingers\n * reduced to one we keep track of the old focal using the focal offset\n * from when the number of fingers was two. We then translate the photo\n * taking into account the offset, focal, focal offset, origin, and scale.\n */\n if (numberOfPinchFingers.value === 1) {\n oldFocalX.value = adjustedFocalX.value + focalOffsetX.value;\n oldFocalY.value = adjustedFocalY.value + focalOffsetY.value;\n translateX.value = offsetX.value - oldFocalX.value + localEvtScale * originX.value;\n translateY.value = offsetY.value + oldFocalY.value - localEvtScale * originY.value;\n\n /**\n * If the number of fingers in the gesture is greater than one the\n * adjusted focal point is saved as the old focal and the photo is\n * translated taking into account the offset, focal, origin, and scale.\n */\n } else if (numberOfPinchFingers.value > 1) {\n oldFocalX.value = adjustedFocalX.value;\n oldFocalY.value = adjustedFocalY.value;\n translateX.value = offsetX.value - adjustedFocalX.value + localEvtScale * originX.value;\n translateY.value = offsetY.value + adjustedFocalY.value - localEvtScale * originY.value;\n }\n },\n onFinish: () => {\n if (isPinch.value) {\n /**\n * When the pinch is finished if the scale is less than 1 return the\n * photo to center, if the photo is inside the edges of the screen\n * return the photo to line up with the edges, otherwise leave the\n * photo in its current position\n */\n translateX.value =\n scale.value < 1\n ? withTiming(0)\n : translateX.value > halfScreenWidth * (scale.value - 1)\n ? withTiming(halfScreenWidth * (scale.value - 1))\n : translateX.value < -halfScreenWidth * (scale.value - 1)\n ? withTiming(-halfScreenWidth * (scale.value - 1))\n : translateX.value;\n\n /**\n * When the pinch is finished if the height is less than the screen\n * height return the photo to center, if the photo is inside the\n * edges of the screen return the photo to line up with the edges,\n * otherwise leave the photo in its current position\n */\n translateY.value =\n currentImageHeight * scale.value < screenHeight\n ? withTiming(0)\n : translateY.value > (currentImageHeight / 2) * scale.value - screenHeight / 2\n ? withTiming((currentImageHeight / 2) * scale.value - screenHeight / 2)\n : translateY.value < (-currentImageHeight / 2) * scale.value + screenHeight / 2\n ? withTiming((-currentImageHeight / 2) * scale.value + screenHeight / 2)\n : translateY.value;\n\n /**\n * If the scale has been reduced below one, i.e. zoomed out, translate\n * the zoom back to one\n */\n offsetScale.value = scale.value < 1 ? 1 : scale.value;\n scale.value = scale.value < 1 ? withTiming(1) : scale.value;\n resetTouchValues();\n }\n },\n onStart: (evt) => {\n /**\n * Android starts with a zero event with 1 touch instead of two\n * we therefore must wait to capture starting info until the double\n * touch begins\n */\n if (!isAndroid) {\n /**\n * Cancel any previous motion animation on translations when a touch\n * begins to interrupt the animation and take over the position handling\n */\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n\n /**\n * Set pinch to true to stop all pan gesture interactions\n */\n isPinch.value = true;\n\n /**\n * Reset isSwiping as now the pan gesture handler is no longer running\n */\n isSwiping.value = IsSwiping.UNDETERMINED;\n\n /**\n * Set initial values for pinch gesture interaction handler\n */\n numberOfPinchFingers.value = evt.numberOfPointers;\n offsetX.value = translateX.value;\n offsetY.value = translateY.value;\n adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);\n adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);\n originX.value = adjustedFocalX.value;\n originY.value = adjustedFocalY.value;\n offsetScale.value = scale.value;\n }\n\n /**\n * Reset hasPinched for Android single finger offset\n */\n hasPinched.value = HasPinched.FALSE;\n },\n },\n [currentImageHeight],\n );\n\n /**\n * Single tap handler for header hiding and showing\n */\n const onSingleTap = useAnimatedGestureHandler<TapGestureHandlerGestureEvent>({\n onActive: () => {\n cancelAnimation(headerFooterVisible);\n headerFooterVisible.value = headerFooterVisible.value > 0 ? withTiming(0) : withTiming(1);\n },\n });\n\n /**\n * Double tap handler to zoom back out and hide header and footer\n */\n const onDoubleTap = useAnimatedGestureHandler<TapGestureHandlerGestureEvent>({\n onActive: (evt) => {\n if (Math.abs(tapX.value - evt.absoluteX) < 64 && Math.abs(tapY.value - evt.absoluteY) < 64) {\n if (offsetScale.value === 1 && offsetX.value === 0 && offsetY.value === 0) {\n offsetScale.value = 2;\n scale.value = withTiming(2, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateX.value = withTiming(evt.absoluteX - halfScreenWidth, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n if (currentImageHeight * 2 > screenHeight) {\n const translateYTopBottom =\n evt.absoluteY > halfScreenHeight\n ? -(currentImageHeight * 2 - screenHeight) / 2\n : (currentImageHeight * 2 - screenHeight) / 2;\n translateY.value = withTiming(translateYTopBottom, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n }\n } else {\n offsetScale.value = 1;\n scale.value = withTiming(1, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n offsetX.value = 0;\n offsetY.value = 0;\n translateX.value = withTiming(0, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateY.value = withTiming(0, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n if (headerFooterVisible.value !== 0) {\n cancelAnimation(headerFooterVisible);\n headerFooterVisible.value = withTiming(0);\n }\n }\n }\n },\n onStart: (evt) => {\n tapX.value = evt.absoluteX;\n tapY.value = evt.absoluteY;\n },\n });\n\n return {\n onDoubleTap,\n onPan,\n onPinch,\n onSingleTap,\n };\n};\n\n/**\n * Clamping worklet to clamp the scaling\n */\nexport const clamp = (value: number, lowerBound: number, upperBound: number) => {\n 'worklet';\n return Math.min(Math.max(lowerBound, value), upperBound);\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_OverlayContext","_native","HasPinched","exports","IsSwiping","MARGIN","useImageGalleryGestures","_ref","currentImageHeight","halfScreenHeight","halfScreenWidth","headerFooterVisible","offsetScale","overlayOpacity","photoLength","scale","screenHeight","screenWidth","selectedIndex","setSelectedIndex","translateX","translateY","translationX","_useOverlayContext","useOverlayContext","setOverlay","isAndroid","Platform","OS","hasHitBottomScale","useSharedValue","hasHitTopScale","originX","originY","oldFocalX","oldFocalY","focalX","focalY","index","value","offsetX","offsetY","focalOffsetX","focalOffsetY","adjustedFocalX","adjustedFocalY","tapX","tapY","numberOfPinchFingers","isSwiping","isPinch","hasPinched","resetTouchValues","UNDETERMINED","resetMovementValues","onPan","useAnimatedGestureHandler","onActive","evt","numberOfPointers","TRUE","FALSE","translationY","maxXYRatio","Math","abs","localEvtScale","onFinish","finalXPosition","velocityX","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","clamp","deceleration","velocity","onStart","onPinch","triggerHaptic","onSingleTap","onDoubleTap","absoluteX","absoluteY","translateYTopBottom","lowerBound","upperBound","min","max"],"sources":["useImageGalleryGestures.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport type {\n PanGestureHandlerGestureEvent,\n PinchGestureHandlerGestureEvent,\n TapGestureHandlerGestureEvent,\n} from 'react-native-gesture-handler';\nimport {\n cancelAnimation,\n Easing,\n runOnJS,\n SharedValue,\n useAnimatedGestureHandler,\n useSharedValue,\n withDecay,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { useOverlayContext } from '../../../contexts/overlayContext/OverlayContext';\nimport { triggerHaptic } from '../../../native';\n\nexport enum HasPinched {\n FALSE = 0,\n TRUE,\n}\n\nexport enum IsSwiping {\n UNDETERMINED = 0,\n TRUE,\n FALSE,\n}\n\nconst MARGIN = 32;\n\nexport const useImageGalleryGestures = ({\n currentImageHeight,\n halfScreenHeight,\n halfScreenWidth,\n headerFooterVisible,\n offsetScale,\n overlayOpacity,\n photoLength,\n scale,\n screenHeight,\n screenWidth,\n selectedIndex,\n setSelectedIndex,\n translateX,\n translateY,\n translationX,\n}: {\n currentImageHeight: number;\n halfScreenHeight: number;\n halfScreenWidth: number;\n headerFooterVisible: SharedValue<number>;\n offsetScale: SharedValue<number>;\n overlayOpacity: SharedValue<number>;\n photoLength: number;\n scale: SharedValue<number>;\n screenHeight: number;\n screenWidth: number;\n selectedIndex: number;\n setSelectedIndex: React.Dispatch<React.SetStateAction<number>>;\n translateX: SharedValue<number>;\n translateY: SharedValue<number>;\n translationX: SharedValue<number>;\n}) => {\n const { setOverlay } = useOverlayContext();\n const isAndroid = Platform.OS === 'android';\n\n /**\n * Values to track scale for haptic feedback firing\n */\n const hasHitBottomScale = useSharedValue(1);\n const hasHitTopScale = useSharedValue(0);\n\n /**\n * Shared values for touch tracking\n */\n const originX = useSharedValue(0);\n const originY = useSharedValue(0);\n const oldFocalX = useSharedValue(0);\n const oldFocalY = useSharedValue(0);\n const focalX = useSharedValue(0);\n const focalY = useSharedValue(0);\n const index = useSharedValue(0);\n\n /**\n * if a specific image index > 0 has been passed in\n * while creating the hook, set the value of the index\n * reference to its value.\n *\n * This makes it possible to seelct an image in the list,\n * and scroll/pan as normal. Prior to this,\n * it was always assumed that one started at index 0 in the\n * gallery.\n * */\n if (index.value !== selectedIndex) {\n index.value = selectedIndex;\n }\n\n /**\n * Shared values for movement\n */\n const offsetX = useSharedValue(0);\n const offsetY = useSharedValue(0);\n\n /**\n * Shared values for touch tracking\n */\n const focalOffsetX = useSharedValue(0);\n const focalOffsetY = useSharedValue(0);\n const adjustedFocalX = useSharedValue(0);\n const adjustedFocalY = useSharedValue(0);\n const tapX = useSharedValue(0);\n const tapY = useSharedValue(0);\n\n /**\n * Shared values for gesture tracking\n */\n const numberOfPinchFingers = useSharedValue(0);\n const isSwiping = useSharedValue(0);\n const isPinch = useSharedValue(false);\n const hasPinched = useSharedValue(0);\n\n /**\n * Reset gesture values for use on touch release\n */\n const resetTouchValues = () => {\n 'worklet';\n focalX.value = 0;\n focalY.value = 0;\n oldFocalX.value = 0;\n oldFocalY.value = 0;\n originX.value = 0;\n originY.value = 0;\n focalOffsetX.value = 0;\n focalOffsetY.value = 0;\n numberOfPinchFingers.value = 0;\n isPinch.value = false;\n isSwiping.value = IsSwiping.UNDETERMINED;\n };\n\n /**\n * Reset movement values for use on selected photo change\n */\n const resetMovementValues = () => {\n 'worklet';\n translateX.value = 0;\n translateY.value = 0;\n scale.value = 1;\n offsetScale.value = 1;\n };\n\n /**\n * We use simultaneousHandlers to allow pan and pinch gesture handlers\n * depending on the gesture. The touch is fully handled by the pinch\n * gesture handler once it has began so all interactions by the pan\n * handler are blocked if isPinch.value is true\n */\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>(\n {\n onActive: (evt) => {\n if (evt.numberOfPointers === 1 && !isPinch.value) {\n /**\n * If Android where a second finger cannot be added back and\n * removing one finger returns to Pan Handler then adjust origin\n * on finger remove and set swiping false\n */\n if (isAndroid && hasPinched.value === HasPinched.TRUE) {\n hasPinched.value = HasPinched.FALSE;\n isSwiping.value = IsSwiping.FALSE;\n offsetX.value = translateX.value + evt.translationX;\n offsetY.value = translateY.value - evt.translationY;\n }\n\n /**\n * isSwiping is used to prevent Y movement if a clear swipe to next\n * or previous is begun when at the edge of a photo. The value is\n * either 0, 1, or 2, via the IsSwiping enum designating undetermined,\n * true, or false and is reset on releasing the touch\n */\n if (isSwiping.value === IsSwiping.UNDETERMINED) {\n const maxXYRatio = isAndroid ? 1 : 0.25;\n if (\n Math.abs(evt.translationX / evt.translationY) > maxXYRatio &&\n (Math.abs(-halfScreenWidth * (scale.value - 1) - offsetX.value) < 3 ||\n Math.abs(halfScreenWidth * (scale.value - 1) - offsetX.value) < 3)\n ) {\n isSwiping.value = IsSwiping.TRUE;\n }\n if (Math.abs(evt.translationY) > 25) {\n isSwiping.value = IsSwiping.FALSE;\n }\n }\n\n /**\n * localEvtScale is used for swipe away\n */\n const localEvtScale = scale.value / offsetScale.value;\n\n /**\n * If not swiping translate the image in X and Y to the event\n * translation plus offset. If swiping only translate X, if\n * swiping down when at top of screen or centered balance scale\n * using offset to a degree (this needs improvement the calculation\n * is incorrect but likely needs origin use to be 100%)\n */\n translateX.value =\n scale.value !== offsetScale.value\n ? offsetX.value * localEvtScale - evt.translationX\n : offsetX.value - evt.translationX;\n translateY.value =\n isSwiping.value !== IsSwiping.TRUE\n ? scale.value !== offsetScale.value\n ? offsetY.value * localEvtScale + evt.translationY\n : offsetY.value + evt.translationY\n : translateY.value;\n\n /**\n * If swiping down start scaling down the image for swipe\n * away effect\n */\n scale.value =\n currentImageHeight * offsetScale.value < screenHeight && translateY.value > 0\n ? offsetScale.value * (1 - (1 / 3) * (translateY.value / screenHeight))\n : currentImageHeight * offsetScale.value > screenHeight &&\n translateY.value > (currentImageHeight / 2) * offsetScale.value - halfScreenHeight\n ? offsetScale.value *\n (1 -\n (1 / 3) *\n ((translateY.value -\n ((currentImageHeight / 2) * offsetScale.value - halfScreenHeight)) /\n screenHeight))\n : scale.value;\n\n overlayOpacity.value = localEvtScale;\n }\n },\n onFinish: (evt) => {\n if (!isPinch.value && evt.numberOfPointers < 2) {\n /**\n * To determine if the fling should page to the next image we\n * calculate a final position based on the current position and\n * event velocity\n */\n const finalXPosition = evt.translationX - evt.velocityX * 0.3;\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n /**\n * If there is a next photo, the image is lined up to the right\n * edge, the swipe is to the left, and the final position is more\n * than half the screen width, move to the next image\n */\n if (\n index.value < photoLength - 1 &&\n Math.abs(halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value < 0 &&\n finalXPosition < -halfScreenWidth &&\n isSwiping.value === IsSwiping.TRUE\n ) {\n cancelAnimation(translationX);\n translationX.value = withTiming(\n -(screenWidth + MARGIN) * (index.value + 1),\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n resetMovementValues();\n index.value = index.value + 1;\n runOnJS(setSelectedIndex)(index.value);\n },\n );\n\n /**\n * If there is a previous photo, the image is lined up to the left\n * edge, the swipe is to the right, and the final position is more\n * than half the screen width, move to the previous image\n */\n } else if (\n index.value > 0 &&\n Math.abs(-halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value > 0 &&\n finalXPosition > halfScreenWidth &&\n isSwiping.value === IsSwiping.TRUE\n ) {\n cancelAnimation(translationX);\n translationX.value = withTiming(\n -(screenWidth + MARGIN) * (index.value - 1),\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n resetMovementValues();\n index.value = index.value - 1;\n runOnJS(setSelectedIndex)(index.value);\n },\n );\n }\n\n /**\n * When the pan is finished if the scale is less than 1 return the\n * photo to center, if the photo is inside the edges of the screen\n * return the photo to line up with the edges, otherwise use decay\n * with a clamping at the edges to give the effect the image is\n * sliding along using velocity and friction\n */\n translateX.value =\n scale.value < 1\n ? withTiming(0)\n : translateX.value > halfScreenWidth * (scale.value - 1)\n ? withTiming(halfScreenWidth * (scale.value - 1), {\n duration: 200,\n })\n : translateX.value < -halfScreenWidth * (scale.value - 1)\n ? withTiming(-halfScreenWidth * (scale.value - 1), {\n duration: 200,\n })\n : withDecay({\n clamp: [\n -halfScreenWidth * (scale.value - 1),\n halfScreenWidth * (scale.value - 1),\n ],\n deceleration: 0.99,\n velocity: -evt.velocityX,\n });\n\n /**\n * When the pan is finished if the height is less than the screen\n * height return the photo to center, if the photo is inside the\n * edges of the screen return the photo to line up with the edges,\n * otherwise use decay with a clamping at the edges to give the effect\n * the image is sliding along using velocity and friction\n */\n translateY.value =\n currentImageHeight * scale.value < screenHeight\n ? withTiming(0)\n : translateY.value > (currentImageHeight / 2) * scale.value - halfScreenHeight\n ? withTiming((currentImageHeight / 2) * scale.value - halfScreenHeight)\n : translateY.value < (-currentImageHeight / 2) * scale.value + halfScreenHeight\n ? withTiming((-currentImageHeight / 2) * scale.value + halfScreenHeight)\n : withDecay({\n clamp: [\n (-currentImageHeight / 2) * scale.value + halfScreenHeight,\n (currentImageHeight / 2) * scale.value - halfScreenHeight,\n ],\n deceleration: 0.99,\n velocity: evt.velocityY,\n });\n\n resetTouchValues();\n\n /**\n * If the scale has been reduced below one, i.e. zoomed out, translate\n * the zoom back to one\n */\n scale.value =\n scale.value !== offsetScale.value ? withTiming(offsetScale.value) : offsetScale.value;\n\n /**\n * If the photo is centered or at the top of the screen if scaled larger\n * than the screen, and not paging left or right, and the final Y position\n * is greater than half the screen using swipe velocity and position, close\n * the overlay\n */\n if (\n finalYPosition > halfScreenHeight &&\n offsetY.value + 8 >= (currentImageHeight / 2) * scale.value - halfScreenHeight &&\n isSwiping.value !== IsSwiping.TRUE &&\n translateY.value !== 0 &&\n !(\n Math.abs(halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value < 0 &&\n finalXPosition < -halfScreenWidth\n ) &&\n !(\n Math.abs(-halfScreenWidth * (scale.value - 1) + offsetX.value) < 3 &&\n translateX.value > 0 &&\n finalXPosition > halfScreenWidth\n )\n ) {\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n scale.value = withTiming(0.6, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(halfScreenHeight + (currentImageHeight / 2) * scale.value, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateX.value = withDecay({\n velocity: -evt.velocityX,\n });\n }\n }\n },\n onStart: () => {\n if (!isPinch.value) {\n /**\n * Cancel any previous motion animation on translations when a touch\n * begins to interrupt the animation and take over the position handling\n */\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n offsetX.value = translateX.value;\n offsetY.value = translateY.value;\n }\n\n /**\n * Reset hasPinched for Android single finger offset\n */\n hasPinched.value = HasPinched.FALSE;\n },\n },\n [currentImageHeight, photoLength],\n );\n\n /**\n * On pinch is run when two or more fingers touch the screen, it then takes over\n * all touch handling even if the number of fingers is reduced to one until the\n * touch is complete\n */\n const onPinch = useAnimatedGestureHandler<PinchGestureHandlerGestureEvent>(\n {\n onActive: (evt) => {\n /**\n * Android starts with a zero event with 1 touch instead of two\n * we therefore must wait to capture starting info until the double\n * touch begins\n */\n if (!isPinch.value && isAndroid) {\n /**\n * Set hasPinched to true so when removing one finger the pan active\n * state adjusts the offset\n */\n hasPinched.value = HasPinched.TRUE;\n\n /**\n * Cancel any previous motion animation on translations when a touch\n * begins to interrupt the animation and take over the position handling\n */\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n\n /**\n * Reset isSwiping as now the pan gesture handler is no longer running\n */\n isSwiping.value = IsSwiping.UNDETERMINED;\n\n /**\n * Set initial values for pinch gesture interaction handler\n */\n numberOfPinchFingers.value = evt.numberOfPointers;\n offsetX.value = translateX.value;\n offsetY.value = translateY.value;\n adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);\n adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);\n originX.value = adjustedFocalX.value;\n originY.value = adjustedFocalY.value;\n offsetScale.value = scale.value;\n }\n\n /**\n * Set pinch to true to stop all pan gesture interactions, we do this\n * again here for Android outside the check that creates type\n */\n isPinch.value = true;\n\n /**\n * The scale is clamped to a minimum of 1 and maximum of 8 for aesthetics.\n * We use the clamped value to determine a local event scale so the focal\n * point does not become out of sync with the actual photo scaling, e.g.\n * evt.scale is 20 but scale is 8, using evt.scale for offset will put the\n * photo and calculations out of sync\n */\n scale.value = clamp(offsetScale.value * evt.scale, 1, 8);\n const localEvtScale = scale.value / offsetScale.value;\n\n /**\n * When we hit the top or bottom of the scale clamping we run a haptic\n * trigger, we track if it has been run to not spam the trigger\n */\n if (scale.value !== 8 && scale.value !== 1) {\n hasHitTopScale.value = 0;\n hasHitBottomScale.value = 0;\n } else if (scale.value === 8 && hasHitTopScale.value === 0) {\n hasHitTopScale.value = 1;\n runOnJS(triggerHaptic)('impactLight');\n } else if (scale.value === 1 && hasHitBottomScale.value === 0) {\n hasHitBottomScale.value = 1;\n runOnJS(triggerHaptic)('impactLight');\n }\n\n /**\n * We calculate the adjusted focal point on the photo using the events\n * focal position on the screen, screen size, and current photo offset\n */\n adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);\n adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);\n\n /**\n * If the number of fingers on the screen changes, the position of the\n * focal point will change and this needs to be accounted for, e.g. if\n * two fingers are on the screen the focal is between them, but if one is\n * then removed the focal is now at the remaining fingers touch position.\n * If this happens without accounting for the change the image will jump\n * around, we keep track of the previous two finger focal to adjust for this\n * change in a reduction from two fingers to one, then if another finger\n * is added again we adjust the origin to account for the difference between\n * the original two finger touch and the new two finger touch position.\n */\n if (numberOfPinchFingers.value !== evt.numberOfPointers) {\n numberOfPinchFingers.value = evt.numberOfPointers;\n if (evt.numberOfPointers === 1) {\n focalOffsetX.value = oldFocalX.value - adjustedFocalX.value;\n focalOffsetY.value = oldFocalY.value - adjustedFocalY.value;\n } else if (numberOfPinchFingers.value > 1) {\n originX.value =\n originX.value -\n (oldFocalX.value / localEvtScale - adjustedFocalX.value / localEvtScale);\n originY.value =\n originY.value -\n (oldFocalY.value / localEvtScale - adjustedFocalY.value / localEvtScale);\n }\n }\n\n /**\n * If pinch handler has been activated via two fingers then the fingers\n * reduced to one we keep track of the old focal using the focal offset\n * from when the number of fingers was two. We then translate the photo\n * taking into account the offset, focal, focal offset, origin, and scale.\n */\n if (numberOfPinchFingers.value === 1) {\n oldFocalX.value = adjustedFocalX.value + focalOffsetX.value;\n oldFocalY.value = adjustedFocalY.value + focalOffsetY.value;\n translateX.value = offsetX.value - oldFocalX.value + localEvtScale * originX.value;\n translateY.value = offsetY.value + oldFocalY.value - localEvtScale * originY.value;\n\n /**\n * If the number of fingers in the gesture is greater than one the\n * adjusted focal point is saved as the old focal and the photo is\n * translated taking into account the offset, focal, origin, and scale.\n */\n } else if (numberOfPinchFingers.value > 1) {\n oldFocalX.value = adjustedFocalX.value;\n oldFocalY.value = adjustedFocalY.value;\n translateX.value = offsetX.value - adjustedFocalX.value + localEvtScale * originX.value;\n translateY.value = offsetY.value + adjustedFocalY.value - localEvtScale * originY.value;\n }\n },\n onFinish: () => {\n if (isPinch.value) {\n /**\n * When the pinch is finished if the scale is less than 1 return the\n * photo to center, if the photo is inside the edges of the screen\n * return the photo to line up with the edges, otherwise leave the\n * photo in its current position\n */\n translateX.value =\n scale.value < 1\n ? withTiming(0)\n : translateX.value > halfScreenWidth * (scale.value - 1)\n ? withTiming(halfScreenWidth * (scale.value - 1))\n : translateX.value < -halfScreenWidth * (scale.value - 1)\n ? withTiming(-halfScreenWidth * (scale.value - 1))\n : translateX.value;\n\n /**\n * When the pinch is finished if the height is less than the screen\n * height return the photo to center, if the photo is inside the\n * edges of the screen return the photo to line up with the edges,\n * otherwise leave the photo in its current position\n */\n translateY.value =\n currentImageHeight * scale.value < screenHeight\n ? withTiming(0)\n : translateY.value > (currentImageHeight / 2) * scale.value - screenHeight / 2\n ? withTiming((currentImageHeight / 2) * scale.value - screenHeight / 2)\n : translateY.value < (-currentImageHeight / 2) * scale.value + screenHeight / 2\n ? withTiming((-currentImageHeight / 2) * scale.value + screenHeight / 2)\n : translateY.value;\n\n /**\n * If the scale has been reduced below one, i.e. zoomed out, translate\n * the zoom back to one\n */\n offsetScale.value = scale.value < 1 ? 1 : scale.value;\n scale.value = scale.value < 1 ? withTiming(1) : scale.value;\n resetTouchValues();\n }\n },\n onStart: (evt) => {\n /**\n * Android starts with a zero event with 1 touch instead of two\n * we therefore must wait to capture starting info until the double\n * touch begins\n */\n if (!isAndroid) {\n /**\n * Cancel any previous motion animation on translations when a touch\n * begins to interrupt the animation and take over the position handling\n */\n cancelAnimation(translateX);\n cancelAnimation(translateY);\n cancelAnimation(scale);\n\n /**\n * Set pinch to true to stop all pan gesture interactions\n */\n isPinch.value = true;\n\n /**\n * Reset isSwiping as now the pan gesture handler is no longer running\n */\n isSwiping.value = IsSwiping.UNDETERMINED;\n\n /**\n * Set initial values for pinch gesture interaction handler\n */\n numberOfPinchFingers.value = evt.numberOfPointers;\n offsetX.value = translateX.value;\n offsetY.value = translateY.value;\n adjustedFocalX.value = evt.focalX - (halfScreenWidth - offsetX.value);\n adjustedFocalY.value = evt.focalY - (halfScreenHeight + offsetY.value);\n originX.value = adjustedFocalX.value;\n originY.value = adjustedFocalY.value;\n offsetScale.value = scale.value;\n }\n\n /**\n * Reset hasPinched for Android single finger offset\n */\n hasPinched.value = HasPinched.FALSE;\n },\n },\n [currentImageHeight],\n );\n\n /**\n * Single tap handler for header hiding and showing\n */\n const onSingleTap = useAnimatedGestureHandler<TapGestureHandlerGestureEvent>({\n onActive: () => {\n cancelAnimation(headerFooterVisible);\n headerFooterVisible.value = headerFooterVisible.value > 0 ? withTiming(0) : withTiming(1);\n },\n });\n\n /**\n * Double tap handler to zoom back out and hide header and footer\n */\n const onDoubleTap = useAnimatedGestureHandler<TapGestureHandlerGestureEvent>({\n onActive: (evt) => {\n if (Math.abs(tapX.value - evt.absoluteX) < 64 && Math.abs(tapY.value - evt.absoluteY) < 64) {\n if (offsetScale.value === 1 && offsetX.value === 0 && offsetY.value === 0) {\n offsetScale.value = 2;\n scale.value = withTiming(2, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateX.value = withTiming(evt.absoluteX - halfScreenWidth, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n if (currentImageHeight * 2 > screenHeight) {\n const translateYTopBottom =\n evt.absoluteY > halfScreenHeight\n ? -(currentImageHeight * 2 - screenHeight) / 2\n : (currentImageHeight * 2 - screenHeight) / 2;\n translateY.value = withTiming(translateYTopBottom, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n }\n } else {\n offsetScale.value = 1;\n scale.value = withTiming(1, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n offsetX.value = 0;\n offsetY.value = 0;\n translateX.value = withTiming(0, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n translateY.value = withTiming(0, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n if (headerFooterVisible.value !== 0) {\n cancelAnimation(headerFooterVisible);\n headerFooterVisible.value = withTiming(0);\n }\n }\n }\n },\n onStart: (evt) => {\n tapX.value = evt.absoluteX;\n tapY.value = evt.absoluteY;\n },\n });\n\n return {\n onDoubleTap,\n onPan,\n onPinch,\n onSingleTap,\n };\n};\n\n/**\n * Clamping worklet to clamp the scaling\n */\nexport const clamp = (value: number, lowerBound: number, upperBound: number) => {\n 'worklet';\n return Math.min(Math.max(lowerBound, value), upperBound);\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_MessageIcon","_utils","_this","_jsxFileName","width","vw","styles","StyleSheet","create","channelContainer","alignItems","flex","justifyContent","channelDetails","fontSize","textAlign","channelTitle","paddingBottom","paddingTop","EmptyStateIndicator","_ref","listType","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","grey_gainsboro","_useTheme$theme$empty","emptyStateIndicator","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","MessageIcon","height","pathFill","Text","color","testID","exports"],"sources":["EmptyStateIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { MessageIcon } from '../../icons/MessageIcon';\nimport { vw } from '../../utils/utils';\n\nconst width = vw(33);\n\nconst styles = StyleSheet.create({\n channelContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n channelDetails: {\n fontSize: 14,\n textAlign: 'center',\n width: vw(66),\n },\n channelTitle: {\n fontSize: 16,\n paddingBottom: 8,\n paddingTop: 16,\n },\n});\n\nexport type EmptyStateProps = {\n listType?: 'channel' | 'message' | 'default';\n};\n\nexport const EmptyStateIndicator: React.FC<EmptyStateProps> = ({ listType }) => {\n const {\n theme: {\n colors: { black, grey, grey_gainsboro },\n emptyStateIndicator: { channelContainer, channelDetails, channelTitle },\n },\n } = useTheme();\n\n switch (listType) {\n case 'channel':\n return (\n <View style={[styles.channelContainer, channelContainer]}>\n <MessageIcon height={width} pathFill={grey_gainsboro} width={width} />\n <Text\n style={[styles.channelTitle, { color: black }, channelTitle]}\n testID='empty-channel-state-title'\n >\n {\"Let's start chatting!\"}\n </Text>\n <Text\n style={[styles.channelDetails, { color: grey }, channelDetails]}\n testID='empty-channel-state-details'\n >\n {'How about sending your first message to a friend?'}\n </Text>\n </View>\n );\n case 'message':\n return null;\n default:\n return <Text style={{ color: black }}>No items exist</Text>;\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_MessageIcon","_utils","_this","_jsxFileName","width","vw","styles","StyleSheet","create","channelContainer","alignItems","flex","justifyContent","channelDetails","fontSize","textAlign","channelTitle","paddingBottom","paddingTop","EmptyStateIndicator","_ref","listType","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","grey_gainsboro","_useTheme$theme$empty","emptyStateIndicator","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","MessageIcon","height","pathFill","Text","color","testID","exports"],"sources":["EmptyStateIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { MessageIcon } from '../../icons/MessageIcon';\nimport { vw } from '../../utils/utils';\n\nconst width = vw(33);\n\nconst styles = StyleSheet.create({\n channelContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n channelDetails: {\n fontSize: 14,\n textAlign: 'center',\n width: vw(66),\n },\n channelTitle: {\n fontSize: 16,\n paddingBottom: 8,\n paddingTop: 16,\n },\n});\n\nexport type EmptyStateProps = {\n listType?: 'channel' | 'message' | 'default';\n};\n\nexport const EmptyStateIndicator: React.FC<EmptyStateProps> = ({ listType }) => {\n const {\n theme: {\n colors: { black, grey, grey_gainsboro },\n emptyStateIndicator: { channelContainer, channelDetails, channelTitle },\n },\n } = useTheme();\n\n switch (listType) {\n case 'channel':\n return (\n <View style={[styles.channelContainer, channelContainer]}>\n <MessageIcon height={width} pathFill={grey_gainsboro} width={width} />\n <Text\n style={[styles.channelTitle, { color: black }, channelTitle]}\n testID='empty-channel-state-title'\n >\n {\"Let's start chatting!\"}\n </Text>\n <Text\n style={[styles.channelDetails, { color: grey }, channelDetails]}\n testID='empty-channel-state-details'\n >\n {'How about sending your first message to a friend?'}\n </Text>\n </View>\n );\n case 'message':\n return null;\n default:\n return <Text style={{ color: black }}>No items exist</Text>;\n }\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","LoadingDot","props","_props$diameter","diameter","_props$duration","duration","_props$offset","offset","style","halfDuration","startingOffset","_useTheme","useTheme","_useTheme$theme","theme","black","colors","loadingDot","loadingDots","opacity","useSharedValue","useEffect","value","withSequence","withTiming","easing","Easing","linear","withRepeat","dotStyle","useAnimatedStyle","createElement","View","backgroundColor","borderRadius","height","width","__self","__source","fileName","lineNumber","columnNumber","exports"],"sources":["LoadingDot.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\ntype Props = {\n diameter?: number;\n duration?: number;\n offset?: number;\n style?: StyleProp<ViewStyle>;\n};\n\nexport const LoadingDot: React.FC<Props> = (props) => {\n const { diameter = 4, duration = 1500, offset = 0, style } = props;\n const halfDuration = duration / 2;\n const startingOffset = halfDuration - offset;\n\n const {\n theme: {\n colors: { black },\n loadingDots: { loadingDot },\n },\n } = useTheme();\n const opacity = useSharedValue(startingOffset / halfDuration);\n\n useEffect(() => {\n opacity.value = withSequence(\n withTiming(0, { duration: startingOffset, easing: Easing.linear }),\n withRepeat(\n withSequence(\n withTiming(1, { duration: halfDuration, easing: Easing.linear }),\n withTiming(0, { duration: halfDuration, easing: Easing.linear }),\n ),\n -1,\n ),\n );\n }, []);\n\n const dotStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n }),\n [],\n );\n\n return (\n <Animated.View\n style={[\n {\n backgroundColor: black,\n borderRadius: diameter / 2,\n height: diameter,\n width: diameter,\n },\n style,\n loadingDot,\n dotStyle,\n ]}\n />\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","LoadingDot","props","_props$diameter","diameter","_props$duration","duration","_props$offset","offset","style","halfDuration","startingOffset","_useTheme","useTheme","_useTheme$theme","theme","black","colors","loadingDot","loadingDots","opacity","useSharedValue","useEffect","value","withSequence","withTiming","easing","Easing","linear","withRepeat","dotStyle","useAnimatedStyle","createElement","View","backgroundColor","borderRadius","height","width","__self","__source","fileName","lineNumber","columnNumber","exports"],"sources":["LoadingDot.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\ntype Props = {\n diameter?: number;\n duration?: number;\n offset?: number;\n style?: StyleProp<ViewStyle>;\n};\n\nexport const LoadingDot: React.FC<Props> = (props) => {\n const { diameter = 4, duration = 1500, offset = 0, style } = props;\n const halfDuration = duration / 2;\n const startingOffset = halfDuration - offset;\n\n const {\n theme: {\n colors: { black },\n loadingDots: { loadingDot },\n },\n } = useTheme();\n const opacity = useSharedValue(startingOffset / halfDuration);\n\n useEffect(() => {\n opacity.value = withSequence(\n withTiming(0, { duration: startingOffset, easing: Easing.linear }),\n withRepeat(\n withSequence(\n withTiming(1, { duration: halfDuration, easing: Easing.linear }),\n withTiming(0, { duration: halfDuration, easing: Easing.linear }),\n ),\n -1,\n ),\n );\n }, []);\n\n const dotStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n }),\n [],\n );\n\n return (\n <Animated.View\n style={[\n {\n backgroundColor: black,\n borderRadius: diameter / 2,\n height: diameter,\n width: diameter,\n },\n style,\n loadingDot,\n dotStyle,\n ]}\n />\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAF,uBAAA,CAAAC,OAAA;AASA,IAAAE,aAAA,GAAAF,OAAA;AAAoE,IAAAG,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAP,wBAAAW,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAS7D,IAAMW,UAA2B,GAAG,SAA9BA,UAA2BA,CAAIC,KAAK,EAAK;EACpD,IAAAC,eAAA,GAA6DD,KAAK,CAA1DE,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;IAAAE,eAAA,GAAyCH,KAAK,CAA5CI,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;IAAAE,aAAA,GAAwBL,KAAK,CAA3BM,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAG,CAAC,GAAAA,aAAA;IAAEE,KAAK,GAAKP,KAAK,CAAfO,KAAK;EACxD,IAAMC,YAAY,GAAGJ,QAAQ,GAAG,CAAC;EACjC,IAAMK,cAAc,GAAGD,YAAY,GAAGF,MAAM;EAE5C,IAAAI,SAAA,GAKI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CAJZG,KAAK;IACOC,KAAK,GAAAF,eAAA,CAAfG,MAAM,CAAID,KAAK;IACAE,UAAU,GAAAJ,eAAA,CAAzBK,WAAW,CAAID,UAAU;EAG7B,IAAME,OAAO,GAAG,IAAAC,qCAAc,EAACV,cAAc,GAAGD,YAAY,CAAC;EAE7D,IAAAY,gBAAS,EAAC,YAAM;IACdF,OAAO,CAACG,KAAK,GAAG,IAAAC,mCAAY,EAC1B,IAAAC,iCAAU,EAAC,CAAC,EAAE;MAAEnB,QAAQ,EAAEK,cAAc;MAAEe,MAAM,EAAEC,6BAAM,CAACC;IAAO,CAAC,CAAC,EAClE,IAAAC,iCAAU,EACR,IAAAL,mCAAY,EACV,IAAAC,iCAAU,EAAC,CAAC,EAAE;MAAEnB,QAAQ,EAAEI,YAAY;MAAEgB,MAAM,EAAEC,6BAAM,CAACC;IAAO,CAAC,CAAC,EAChE,IAAAH,iCAAU,EAAC,CAAC,EAAE;MAAEnB,QAAQ,EAAEI,YAAY;MAAEgB,MAAM,EAAEC,6BAAM,CAACC;IAAO,CAAC,CACjE,CAAC,EACD,CAAC,CACH,CACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAME,QAAQ,GAAG,IAAAC,uCAAgB,EAC/B;IAAA,OAAO;MACLX,OAAO,EAAEA,OAAO,CAACG;IACnB,CAAC;EAAA,CAAC,EACF,EACF,CAAC;EAED,OACEnD,MAAA,YAAA4D,aAAA,CAACzD,sBAAA,WAAQ,CAAC0D,IAAI;IACZxB,KAAK,EAAE,CACL;MACEyB,eAAe,EAAElB,KAAK;MACtBmB,YAAY,EAAE/B,QAAQ,GAAG,CAAC;MAC1BgC,MAAM,EAAEhC,QAAQ;MAChBiC,KAAK,EAAEjC;IACT,CAAC,EACDK,KAAK,EACLS,UAAU,EACVY,QAAQ,CACR;IAAAQ,MAAA,EAAA7D,KAAA;IAAA8D,QAAA;MAAAC,QAAA,EAAA9D,YAAA;MAAA+D,UAAA;MAAAC,YAAA;IAAA;EAAA,CACH,CAAC;AAEN,CAAC;AAACC,OAAA,CAAA1C,UAAA,GAAAA,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_LoadingDot","_ThemeContext","_this","_jsxFileName","LoadingDots","props","_props$diameter","diameter","_props$duration","duration","_props$numberOfDots","numberOfDots","spacingProp","spacing","style","_useTheme","useTheme","_useTheme$theme$loadi","theme","loadingDots","container","halfSpacing","offsetLength","createElement","View","flexDirection","__self","__source","fileName","lineNumber","columnNumber","Array","from","map","_item","index","LoadingDot","key","offset","marginRight","marginLeft","marginHorizontal","exports"],"sources":["LoadingDots.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { LoadingDot } from './LoadingDot';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\ntype Props = {\n diameter?: number;\n duration?: number;\n numberOfDots?: number;\n spacing?: number;\n style?: StyleProp<ViewStyle>;\n};\n\nexport const LoadingDots: React.FC<Props> = (props) => {\n const { diameter = 4, duration = 1500, numberOfDots = 3, spacing: spacingProp, style } = props;\n\n const {\n theme: {\n loadingDots: { container, spacing },\n },\n } = useTheme();\n\n const halfSpacing = spacingProp ? spacingProp / 2 : spacing / 2;\n const offsetLength = duration / numberOfDots;\n\n return (\n <View style={[{ flexDirection: 'row' }, container, style]}>\n {Array.from(Array(numberOfDots)).map((_item, index) => (\n <LoadingDot\n diameter={diameter}\n duration={duration}\n key={index}\n offset={duration - offsetLength * (index + 1)}\n style={\n index === 0\n ? { marginRight: halfSpacing }\n : index === numberOfDots - 1\n ? { marginLeft: halfSpacing }\n : { marginHorizontal: halfSpacing }\n }\n />\n ))}\n </View>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAAoE,IAAAI,KAAA;EAAAC,YAAA;AAU7D,IAAMC,WAA4B,GAAG,SAA/BA,WAA4BA,CAAIC,KAAK,EAAK;EACrD,IAAAC,eAAA,GAAyFD,KAAK,CAAtFE,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;IAAAE,eAAA,GAAqEH,KAAK,CAAxEI,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;IAAAE,mBAAA,GAAoDL,KAAK,CAAvDM,YAAY;IAAZA,YAAY,GAAAD,mBAAA,cAAG,CAAC,GAAAA,mBAAA;IAAWE,WAAW,GAAYP,KAAK,CAArCQ,OAAO;IAAeC,KAAK,GAAKT,KAAK,CAAfS,KAAK;EAEpF,IAAAC,SAAA,GAII,IAAAC,sBAAQ,GAAE;IAAAC,qBAAA,GAAAF,SAAA,CAHZG,KAAK,CACHC,WAAW;IAAIC,SAAS,GAAAH,qBAAA,CAATG,SAAS;IAAEP,OAAO,GAAAI,qBAAA,CAAPJ,OAAO;EAIrC,IAAMQ,WAAW,GAAGT,WAAW,GAAGA,WAAW,GAAG,CAAC,GAAGC,OAAO,GAAG,CAAC;EAC/D,IAAMS,YAAY,GAAGb,QAAQ,GAAGE,YAAY;EAE5C,OACEf,MAAA,YAAA2B,aAAA,CAACxB,YAAA,CAAAyB,IAAI;IAACV,KAAK,EAAE,CAAC;MAAEW,aAAa,EAAE;IAAM,CAAC,EAAEL,SAAS,EAAEN,KAAK,CAAE;IAAAY,MAAA,EAAAxB,KAAA;IAAAyB,QAAA;MAAAC,QAAA,EAAAzB,YAAA;MAAA0B,UAAA;MAAAC,YAAA;IAAA;EAAA,GACvDC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACpB,YAAY,CAAC,CAAC,CAACsB,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK;IAAA,OAChDvC,MAAA,YAAA2B,aAAA,CAACvB,WAAA,CAAAoC,UAAU;MACT7B,QAAQ,EAAEA,QAAS;MACnBE,QAAQ,EAAEA,QAAS;MACnB4B,GAAG,EAAEF,KAAM;MACXG,MAAM,EAAE7B,QAAQ,GAAGa,YAAY,IAAIa,KAAK,GAAG,CAAC,CAAE;MAC9CrB,KAAK,EACHqB,KAAK,KAAK,CAAC,GACP;QAAEI,WAAW,EAAElB;MAAY,CAAC,GAC5Bc,KAAK,KAAKxB,YAAY,GAAG,CAAC,GAC1B;QAAE6B,UAAU,EAAEnB;MAAY,CAAC,GAC3B;QAAEoB,gBAAgB,EAAEpB;MAAY,CACrC;MAAAK,MAAA,EAAAxB,KAAA;MAAAyB,QAAA;QAAAC,QAAA,EAAAzB,YAAA;QAAA0B,UAAA;QAAAC,YAAA;MAAA;IAAA,EACD;EAAA,CACH,CAAC,CACG;AAEX,CAAC;AAACY,OAAA,CAAAtC,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_LoadingDot","_ThemeContext","_this","_jsxFileName","LoadingDots","props","_props$diameter","diameter","_props$duration","duration","_props$numberOfDots","numberOfDots","spacingProp","spacing","style","_useTheme","useTheme","_useTheme$theme$loadi","theme","loadingDots","container","halfSpacing","offsetLength","createElement","View","flexDirection","__self","__source","fileName","lineNumber","columnNumber","Array","from","map","_item","index","LoadingDot","key","offset","marginRight","marginLeft","marginHorizontal","exports"],"sources":["LoadingDots.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { LoadingDot } from './LoadingDot';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\ntype Props = {\n diameter?: number;\n duration?: number;\n numberOfDots?: number;\n spacing?: number;\n style?: StyleProp<ViewStyle>;\n};\n\nexport const LoadingDots: React.FC<Props> = (props) => {\n const { diameter = 4, duration = 1500, numberOfDots = 3, spacing: spacingProp, style } = props;\n\n const {\n theme: {\n loadingDots: { container, spacing },\n },\n } = useTheme();\n\n const halfSpacing = spacingProp ? spacingProp / 2 : spacing / 2;\n const offsetLength = duration / numberOfDots;\n\n return (\n <View style={[{ flexDirection: 'row' }, container, style]}>\n {Array.from(Array(numberOfDots)).map((_item, index) => (\n <LoadingDot\n diameter={diameter}\n duration={duration}\n key={index}\n offset={duration - offsetLength * (index + 1)}\n style={\n index === 0\n ? { marginRight: halfSpacing }\n : index === numberOfDots - 1\n ? { marginLeft: halfSpacing }\n : { marginHorizontal: halfSpacing }\n }\n />\n ))}\n </View>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAAoE,IAAAI,KAAA;EAAAC,YAAA;AAU7D,IAAMC,WAA4B,GAAG,SAA/BA,WAA4BA,CAAIC,KAAK,EAAK;EACrD,IAAAC,eAAA,GAAyFD,KAAK,CAAtFE,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;IAAAE,eAAA,GAAqEH,KAAK,CAAxEI,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;IAAAE,mBAAA,GAAoDL,KAAK,CAAvDM,YAAY;IAAZA,YAAY,GAAAD,mBAAA,cAAG,CAAC,GAAAA,mBAAA;IAAWE,WAAW,GAAYP,KAAK,CAArCQ,OAAO;IAAeC,KAAK,GAAKT,KAAK,CAAfS,KAAK;EAEpF,IAAAC,SAAA,GAII,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,qBAAA,GAAAF,SAAA,CAHZG,KAAK,CACHC,WAAW;IAAIC,SAAS,GAAAH,qBAAA,CAATG,SAAS;IAAEP,OAAO,GAAAI,qBAAA,CAAPJ,OAAO;EAIrC,IAAMQ,WAAW,GAAGT,WAAW,GAAGA,WAAW,GAAG,CAAC,GAAGC,OAAO,GAAG,CAAC;EAC/D,IAAMS,YAAY,GAAGb,QAAQ,GAAGE,YAAY;EAE5C,OACEf,MAAA,YAAA2B,aAAA,CAACxB,YAAA,CAAAyB,IAAI;IAACV,KAAK,EAAE,CAAC;MAAEW,aAAa,EAAE;IAAM,CAAC,EAAEL,SAAS,EAAEN,KAAK,CAAE;IAAAY,MAAA,EAAAxB,KAAA;IAAAyB,QAAA;MAAAC,QAAA,EAAAzB,YAAA;MAAA0B,UAAA;MAAAC,YAAA;IAAA;EAAA,GACvDC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACpB,YAAY,CAAC,CAAC,CAACsB,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK;IAAA,OAChDvC,MAAA,YAAA2B,aAAA,CAACvB,WAAA,CAAAoC,UAAU;MACT7B,QAAQ,EAAEA,QAAS;MACnBE,QAAQ,EAAEA,QAAS;MACnB4B,GAAG,EAAEF,KAAM;MACXG,MAAM,EAAE7B,QAAQ,GAAGa,YAAY,IAAIa,KAAK,GAAG,CAAC,CAAE;MAC9CrB,KAAK,EACHqB,KAAK,KAAK,CAAC,GACP;QAAEI,WAAW,EAAElB;MAAY,CAAC,GAC5Bc,KAAK,KAAKxB,YAAY,GAAG,CAAC,GAC1B;QAAE6B,UAAU,EAAEnB;MAAY,CAAC,GAC3B;QAAEoB,gBAAgB,EAAEpB;MAAY,CACrC;MAAAK,MAAA,EAAAxB,KAAA;MAAAyB,QAAA;QAAAC,QAAA,EAAAzB,YAAA;QAAA0B,UAAA;QAAAC,YAAA;MAAA;IAAA,CACF,CAAC;EAAA,CACH,CACG,CAAC;AAEX,CAAC;AAACY,OAAA,CAAAtC,WAAA,GAAAA,WAAA"}