@ethora/chat-component-rn 26.5.5 → 26.5.10

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 (420) hide show
  1. package/CHANGELOG.md +177 -0
  2. package/README.md +67 -10
  3. package/index.js +24 -0
  4. package/lib/commonjs/assets/icons.js +5 -1
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
  7. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +66 -34
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +59 -14
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MediaMessage.js +15 -7
  15. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  16. package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
  17. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/MessageList.js +175 -30
  19. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
  21. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  22. package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
  23. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  24. package/lib/commonjs/components/MessageBubble/Message.js +117 -19
  25. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  26. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
  27. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  28. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
  29. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  30. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  31. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  32. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +175 -40
  33. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  34. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  35. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  36. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  37. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  38. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +78 -39
  39. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  40. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  41. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
  43. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  44. package/lib/commonjs/components/styled/MediaFilePreview.js +115 -5
  45. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  46. package/lib/commonjs/components/styled/MessageImage.js +49 -10
  47. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  48. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  49. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  50. package/lib/commonjs/components/styled/SendInput.js +53 -29
  51. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  52. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  53. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  54. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  55. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  56. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  57. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  58. package/lib/commonjs/components/styled/VideoMessage.js +60 -22
  59. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  60. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  61. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  62. package/lib/commonjs/context/xmppProvider.js +315 -34
  63. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  64. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  65. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  66. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  67. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  68. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  69. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  70. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  71. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  72. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  73. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  74. package/lib/commonjs/helpers/mimeToExtension.js +131 -0
  75. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -0
  76. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  77. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  78. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +73 -1
  79. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  80. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  81. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  82. package/lib/commonjs/hooks/useChatWrapperInit.js +22 -10
  83. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  84. package/lib/commonjs/hooks/useEventHandlers.js +9 -1
  85. package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
  86. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  87. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  88. package/lib/commonjs/hooks/useLogout.js +3 -3
  89. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  90. package/lib/commonjs/hooks/useMessageHeapState.js +6 -2
  91. package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
  92. package/lib/commonjs/hooks/usePushNotifications.js +6 -2
  93. package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
  94. package/lib/commonjs/hooks/useRoomState.js +2 -0
  95. package/lib/commonjs/hooks/useRoomState.js.map +1 -1
  96. package/lib/commonjs/hooks/useSendMessage.js +249 -14
  97. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  98. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
  99. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  100. package/lib/commonjs/main.js +7 -0
  101. package/lib/commonjs/main.js.map +1 -1
  102. package/lib/commonjs/networking/api-requests/auth.api.js +74 -1
  103. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  104. package/lib/commonjs/networking/apiClient.js +2 -1
  105. package/lib/commonjs/networking/apiClient.js.map +1 -1
  106. package/lib/commonjs/networking/outboundQueue.js +92 -0
  107. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  108. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  109. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  110. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  111. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  112. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  113. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  114. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  115. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  116. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  117. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  118. package/lib/commonjs/networking/xmppClient.js +371 -26
  119. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  120. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  121. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  122. package/lib/commonjs/roomStore/roomHeapSlice.js +26 -8
  123. package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
  124. package/lib/commonjs/roomStore/roomsSlice.js +157 -23
  125. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  126. package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
  127. package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
  128. package/lib/commonjs/utils/resendMessage.js +1 -1
  129. package/lib/commonjs/utils/resendMessage.js.map +1 -1
  130. package/lib/module/assets/icons.js +5 -1
  131. package/lib/module/assets/icons.js.map +1 -1
  132. package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
  133. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  134. package/lib/module/components/MainComponents/ChatHeader.js +7 -1
  135. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  136. package/lib/module/components/MainComponents/ChatRoom.js +67 -35
  137. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  138. package/lib/module/components/MainComponents/ChatWrapper.js +59 -14
  139. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  140. package/lib/module/components/MainComponents/MediaMessage.js +15 -7
  141. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  142. package/lib/module/components/MainComponents/MessageContainer.js +2 -2
  143. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  144. package/lib/module/components/MainComponents/MessageList.js +176 -31
  145. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  146. package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
  147. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  148. package/lib/module/components/MainComponents/SystemMessage.js +33 -21
  149. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  150. package/lib/module/components/MessageBubble/Message.js +118 -20
  151. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  152. package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
  153. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  154. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
  155. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  156. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  157. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  158. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +179 -42
  159. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  160. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  161. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  162. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  163. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  164. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +80 -41
  165. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  166. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  167. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  168. package/lib/module/components/Modals/styledModalComponents.js +4 -9
  169. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  170. package/lib/module/components/styled/MediaFilePreview.js +116 -6
  171. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  172. package/lib/module/components/styled/MessageImage.js +51 -12
  173. package/lib/module/components/styled/MessageImage.js.map +1 -1
  174. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  175. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  176. package/lib/module/components/styled/SendInput.js +54 -30
  177. package/lib/module/components/styled/SendInput.js.map +1 -1
  178. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  179. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  180. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  181. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  182. package/lib/module/components/styled/UnsupportedType.js +5 -1
  183. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  184. package/lib/module/components/styled/VideoMessage.js +61 -23
  185. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  186. package/lib/module/context/MessageNotificationContext.js +7 -7
  187. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  188. package/lib/module/context/xmppProvider.js +319 -37
  189. package/lib/module/context/xmppProvider.js.map +1 -1
  190. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  191. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  192. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  193. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  194. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  195. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  196. package/lib/module/helpers/keyboardLayout.js +12 -0
  197. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  198. package/lib/module/helpers/mediaDimensions.js +46 -0
  199. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  200. package/lib/module/helpers/mimeToExtension.js +124 -0
  201. package/lib/module/helpers/mimeToExtension.js.map +1 -0
  202. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  203. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  204. package/lib/module/helpers/resolveInitBeforeLoadUser.js +71 -0
  205. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  206. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  207. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  208. package/lib/module/hooks/useChatWrapperInit.js +22 -10
  209. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  210. package/lib/module/hooks/useEventHandlers.js +9 -1
  211. package/lib/module/hooks/useEventHandlers.js.map +1 -1
  212. package/lib/module/hooks/useHeapSender.js +1 -1
  213. package/lib/module/hooks/useHeapSender.js.map +1 -1
  214. package/lib/module/hooks/useLogout.js +3 -3
  215. package/lib/module/hooks/useLogout.js.map +1 -1
  216. package/lib/module/hooks/useMessageHeapState.js +6 -2
  217. package/lib/module/hooks/useMessageHeapState.js.map +1 -1
  218. package/lib/module/hooks/usePushNotifications.js +6 -2
  219. package/lib/module/hooks/usePushNotifications.js.map +1 -1
  220. package/lib/module/hooks/useRoomState.js +2 -0
  221. package/lib/module/hooks/useRoomState.js.map +1 -1
  222. package/lib/module/hooks/useSendMessage.js +252 -17
  223. package/lib/module/hooks/useSendMessage.js.map +1 -1
  224. package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
  225. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  226. package/lib/module/main.js +1 -0
  227. package/lib/module/main.js.map +1 -1
  228. package/lib/module/networking/api-requests/auth.api.js +74 -2
  229. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  230. package/lib/module/networking/apiClient.js +2 -1
  231. package/lib/module/networking/apiClient.js.map +1 -1
  232. package/lib/module/networking/outboundQueue.js +84 -0
  233. package/lib/module/networking/outboundQueue.js.map +1 -0
  234. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  235. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  236. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  237. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  238. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  239. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  240. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  241. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  242. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  243. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  244. package/lib/module/networking/xmppClient.js +371 -26
  245. package/lib/module/networking/xmppClient.js.map +1 -1
  246. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  247. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  248. package/lib/module/roomStore/roomHeapSlice.js +24 -7
  249. package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
  250. package/lib/module/roomStore/roomsSlice.js +154 -22
  251. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  252. package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
  253. package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
  254. package/lib/module/utils/resendMessage.js +1 -1
  255. package/lib/module/utils/resendMessage.js.map +1 -1
  256. package/lib/typescript/assets/icons.d.ts +8 -4
  257. package/lib/typescript/assets/icons.d.ts.map +1 -1
  258. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
  259. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  260. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  261. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  262. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
  263. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  264. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  265. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  266. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
  267. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  268. package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
  269. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  270. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  271. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  272. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  273. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  274. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  275. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  276. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  277. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  278. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  279. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  280. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts +6 -0
  281. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  282. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  283. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  284. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  285. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  286. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  287. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  289. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  290. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  291. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  292. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  293. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  294. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  295. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  296. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  297. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  298. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  299. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  300. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  301. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  302. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  303. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  304. package/lib/typescript/helpers/mimeToExtension.d.ts +37 -0
  305. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -0
  306. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  307. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  308. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts +18 -0
  309. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  310. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  311. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  312. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  313. package/lib/typescript/hooks/useEventHandlers.d.ts +6 -0
  314. package/lib/typescript/hooks/useEventHandlers.d.ts.map +1 -1
  315. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  316. package/lib/typescript/hooks/useMessageHeapState.d.ts +2 -0
  317. package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
  318. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  319. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  320. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  321. package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
  322. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  323. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  324. package/lib/typescript/main.d.ts +1 -0
  325. package/lib/typescript/main.d.ts.map +1 -1
  326. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  327. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  328. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  329. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  330. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  331. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  332. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  333. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  334. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  335. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  336. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  337. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  338. package/lib/typescript/networking/xmppClient.d.ts +58 -5
  339. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  340. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  341. package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
  342. package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
  343. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  344. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  345. package/lib/typescript/types/models/media.model.d.ts +1 -0
  346. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  347. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  348. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  349. package/lib/typescript/types/types.d.ts +10 -0
  350. package/lib/typescript/types/types.d.ts.map +1 -1
  351. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  352. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  353. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  354. package/package.json +18 -2
  355. package/src/assets/icons.tsx +23 -14
  356. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  357. package/src/components/MainComponents/ChatHeader.tsx +5 -1
  358. package/src/components/MainComponents/ChatRoom.tsx +81 -61
  359. package/src/components/MainComponents/ChatWrapper.tsx +100 -21
  360. package/src/components/MainComponents/MediaMessage.tsx +18 -8
  361. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  362. package/src/components/MainComponents/MessageList.tsx +185 -31
  363. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  364. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  365. package/src/components/MessageBubble/Message.tsx +110 -27
  366. package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
  367. package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
  368. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  369. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +182 -37
  370. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  371. package/src/components/Modals/Modal/Modal.tsx +4 -1
  372. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +77 -44
  373. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  374. package/src/components/Modals/styledModalComponents.tsx +4 -9
  375. package/src/components/styled/MediaFilePreview.tsx +111 -5
  376. package/src/components/styled/MessageImage.tsx +58 -14
  377. package/src/components/styled/NewMessageLabel.tsx +8 -5
  378. package/src/components/styled/SendInput.tsx +67 -29
  379. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  380. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  381. package/src/components/styled/UnsupportedType.tsx +7 -1
  382. package/src/components/styled/VideoMessage.tsx +59 -18
  383. package/src/context/MessageNotificationContext.tsx +8 -8
  384. package/src/context/xmppProvider.tsx +337 -32
  385. package/src/helpers/chatAutoEnterer.ts +2 -8
  386. package/src/helpers/historyPreloadScheduler.ts +4 -1
  387. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  388. package/src/helpers/keyboardLayout.ts +18 -0
  389. package/src/helpers/mediaDimensions.ts +47 -0
  390. package/src/helpers/mimeToExtension.ts +135 -0
  391. package/src/helpers/normalizeRoomJid.ts +6 -0
  392. package/src/helpers/resolveInitBeforeLoadUser.ts +79 -0
  393. package/src/hooks/useChatRoomFocus.ts +95 -0
  394. package/src/hooks/useChatWrapperInit.ts +51 -46
  395. package/src/hooks/useEventHandlers.tsx +24 -1
  396. package/src/hooks/useHeapSender.tsx +2 -1
  397. package/src/hooks/useLogout.tsx +3 -3
  398. package/src/hooks/useMessageHeapState.tsx +6 -2
  399. package/src/hooks/usePushNotifications.ts +21 -8
  400. package/src/hooks/useRoomState.tsx +4 -0
  401. package/src/hooks/useSendMessage.tsx +333 -17
  402. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  403. package/src/main.ts +1 -0
  404. package/src/networking/api-requests/auth.api.ts +60 -2
  405. package/src/networking/apiClient.ts +2 -1
  406. package/src/networking/outboundQueue.ts +98 -0
  407. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  408. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  409. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  410. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  411. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  412. package/src/networking/xmppClient.ts +399 -31
  413. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  414. package/src/roomStore/roomHeapSlice.ts +47 -4
  415. package/src/roomStore/roomsSlice.ts +177 -27
  416. package/src/types/models/media.model.ts +3 -0
  417. package/src/types/models/xmpp.model.ts +2 -1
  418. package/src/types/types.ts +25 -0
  419. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  420. package/src/utils/resendMessage.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","MediaIcon","jsx","_jsx","jsxs","_jsxs","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","trigger","handler","setTimeout","rows","label","hint","Icon","transparent","animationType","onRequestClose","children","style","styles","backdrop","activeOpacity","onPress","sheet","grabber","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","OS","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginBottom","fontSize","fontWeight","letterSpacing","textTransform","paddingHorizontal","flexDirection","alignItems","paddingVertical","borderBottomWidth","hairlineWidth","borderBottomColor","marginRight","marginTop","marginHorizontal"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","MediaIcon","jsx","_jsx","jsxs","_jsxs","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","pendingRef","runPending","fn","current","trigger","handler","OS","setTimeout","rows","label","hint","Icon","transparent","animationType","onRequestClose","onDismiss","children","style","styles","backdrop","activeOpacity","onPress","sheet","grabber","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginBottom","fontSize","fontWeight","letterSpacing","textTransform","paddingHorizontal","flexDirection","alignItems","paddingVertical","borderBottomWidth","hairlineWidth","borderBottomColor","marginRight","marginTop","marginHorizontal"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ import React, { useState } from 'react';
4
+ import { ActivityIndicator, StyleSheet, Text, View } from 'react-native';
5
+ import { WebView } from 'react-native-webview';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ /**
8
+ * Inline preview for office documents (DOC / DOCX / XLS / XLSX / PPT /
9
+ * PPTX / TXT / RTF / CSV) and other non-PDF formats supported by
10
+ * Google's free gview rendering service.
11
+ *
12
+ * Strategy: embed `https://docs.google.com/gview?url=<encoded>&embedded=true`
13
+ * inside a WebView. Google fetches the doc from its public URL and
14
+ * renders it to a viewable iframe — no client-side dependency on
15
+ * native office libraries, no extra peer dep. Works for any backend
16
+ * whose file URLs are publicly reachable (which Ethora's `/files/`
17
+ * already are — they're CDN URLs returned in `item.location`).
18
+ *
19
+ * Limitations (documented for the integrator):
20
+ * - Requires public URL — won't work for auth-gated downloads.
21
+ * - First load can take 2-5s on slow networks.
22
+ * - Read-only — no editing, no print/share buttons.
23
+ *
24
+ * For PDFs use the existing PdfViewer (downloads then renders locally).
25
+ */
26
+ const DocumentViewer = ({
27
+ url,
28
+ fileName
29
+ }) => {
30
+ const [loaded, setLoaded] = useState(false);
31
+ const [errored, setErrored] = useState(false);
32
+ const viewerUrl = `https://docs.google.com/gview?url=${encodeURIComponent(url)}&embedded=true`;
33
+ if (errored) {
34
+ return /*#__PURE__*/_jsxs(View, {
35
+ style: styles.center,
36
+ children: [/*#__PURE__*/_jsx(Text, {
37
+ style: styles.errorTitle,
38
+ children: fileName || 'Document'
39
+ }), /*#__PURE__*/_jsx(Text, {
40
+ style: styles.errorBody,
41
+ children: "Couldn't render an inline preview. Tap the save icon above to download the file."
42
+ })]
43
+ });
44
+ }
45
+ return /*#__PURE__*/_jsxs(View, {
46
+ style: styles.container,
47
+ children: [/*#__PURE__*/_jsx(WebView, {
48
+ source: {
49
+ uri: viewerUrl
50
+ },
51
+ style: styles.webview,
52
+ originWhitelist: ['*'],
53
+ startInLoadingState: true,
54
+ onLoadEnd: () => setLoaded(true),
55
+ onError: () => setErrored(true),
56
+ onHttpError: () => setErrored(true)
57
+ }), !loaded && /*#__PURE__*/_jsx(View, {
58
+ style: styles.loadingOverlay,
59
+ pointerEvents: "none",
60
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
61
+ size: "large"
62
+ })
63
+ })]
64
+ });
65
+ };
66
+ export default DocumentViewer;
67
+ const styles = StyleSheet.create({
68
+ container: {
69
+ flex: 1,
70
+ width: '100%',
71
+ backgroundColor: '#fff'
72
+ },
73
+ webview: {
74
+ flex: 1,
75
+ backgroundColor: '#fff'
76
+ },
77
+ loadingOverlay: {
78
+ ...StyleSheet.absoluteFillObject,
79
+ justifyContent: 'center',
80
+ alignItems: 'center',
81
+ backgroundColor: '#ffffff'
82
+ },
83
+ center: {
84
+ flex: 1,
85
+ alignItems: 'center',
86
+ justifyContent: 'center',
87
+ padding: 24,
88
+ gap: 8
89
+ },
90
+ errorTitle: {
91
+ fontSize: 16,
92
+ fontWeight: '600'
93
+ },
94
+ errorBody: {
95
+ color: '#666',
96
+ textAlign: 'center'
97
+ }
98
+ });
99
+ //# sourceMappingURL=DocumentViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","ActivityIndicator","StyleSheet","Text","View","WebView","jsx","_jsx","jsxs","_jsxs","DocumentViewer","url","fileName","loaded","setLoaded","errored","setErrored","viewerUrl","encodeURIComponent","style","styles","center","children","errorTitle","errorBody","container","source","uri","webview","originWhitelist","startInLoadingState","onLoadEnd","onError","onHttpError","loadingOverlay","pointerEvents","size","create","flex","width","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","gap","fontSize","fontWeight","color","textAlign"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/DocumentViewer.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useMemo } from 'react';
4
- import styled from 'styled-components/native';
3
+ import React, { useEffect, useState } from 'react';
5
4
  import { CenterContainer, ModalContainerFullScreen } from '../styledModalComponents';
6
5
  import { SaveIcon } from '../../../assets/icons';
7
6
  import ModalHeaderComponent from '../ModalHeaderComponent';
@@ -9,18 +8,86 @@ import { useDispatch, useSelector } from 'react-redux';
9
8
  import Button from '../../styled/Button';
10
9
  import { FullScreenImage } from '../../styled/StyledInputComponents/MediaComponents';
11
10
  import { setActiveFile } from '../../../roomStore/chatSettingsSlice';
12
- import { Alert, Text, View, Platform } from 'react-native';
13
- import { Video, ResizeMode } from 'expo-av';
11
+ import { Alert, Text, View, Platform, TouchableOpacity, StyleSheet } from 'react-native';
12
+ import { useVideoPlayer, VideoView } from 'expo-video';
13
+ import { PlayIcon } from '../../../assets/icons';
14
14
  import * as FileSystem from 'expo-file-system/legacy';
15
15
  import * as MediaLibrary from 'expo-media-library';
16
16
  import { useToast } from '../../../context/ToastContext';
17
17
  import PdfViewer from './PdfView';
18
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
19
- export const FullScreenVideo = styled.View`
20
- width: 100%;
21
- height: 100%;
22
- object-fit: contain;
23
- `;
18
+ import DocumentViewer from './DocumentViewer';
19
+ import AudioMessage from '../../styled/AudioMessage';
20
+ import { ensureFilenameHasExtension } from '../../../helpers/mimeToExtension';
21
+
22
+ // MIME types Google's gview embed renders reliably. Everything else
23
+ // falls through to the info-card so the user can still download.
24
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
25
+ const GVIEW_PREVIEWABLE = new Set(['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain', 'text/csv', 'application/rtf']);
26
+ const isGviewPreviewable = mime => {
27
+ if (!mime) {
28
+ return false;
29
+ }
30
+ return GVIEW_PREVIEWABLE.has(mime.toLowerCase().split(';')[0].trim());
31
+ };
32
+
33
+ // Full-screen video preview on expo-video (expo-av <Video> is deprecated
34
+ // and rendered blank on Android). `contentFit: contain` fits the clip to
35
+ // the area with the surrounding letterbox painted as the view's own
36
+ // (transparent → theme) background, NOT black. `textureView` so the play
37
+ // overlay composites on top and nothing is clipped on Android.
38
+ const ModalVideo = ({
39
+ uri
40
+ }) => {
41
+ const [showPlay, setShowPlay] = useState(true);
42
+ const player = useVideoPlayer(uri, p => {
43
+ p.muted = false;
44
+ });
45
+ useEffect(() => {
46
+ const sub = player.addListener('playingChange', ({
47
+ isPlaying
48
+ }) => {
49
+ if (isPlaying) {
50
+ setShowPlay(false);
51
+ }
52
+ });
53
+ return () => sub.remove();
54
+ }, [player]);
55
+ const handlePlay = () => {
56
+ setShowPlay(false);
57
+ player.play();
58
+ };
59
+ return /*#__PURE__*/_jsxs(View, {
60
+ style: {
61
+ flex: 1,
62
+ width: '100%'
63
+ },
64
+ children: [/*#__PURE__*/_jsx(VideoView, {
65
+ player: player,
66
+ style: {
67
+ flex: 1,
68
+ backgroundColor: 'transparent'
69
+ },
70
+ contentFit: "contain",
71
+ nativeControls: true,
72
+ surfaceType: "textureView",
73
+ allowsFullscreen: true
74
+ }), showPlay && /*#__PURE__*/_jsx(TouchableOpacity, {
75
+ activeOpacity: 0.8,
76
+ onPress: handlePlay,
77
+ style: StyleSheet.absoluteFillObject,
78
+ children: /*#__PURE__*/_jsx(View, {
79
+ style: styles.playOverlay,
80
+ children: /*#__PURE__*/_jsx(View, {
81
+ style: styles.playButton,
82
+ children: /*#__PURE__*/_jsx(PlayIcon, {
83
+ width: 28,
84
+ height: 28
85
+ })
86
+ })
87
+ })
88
+ })]
89
+ });
90
+ };
24
91
  const FilePreviewModal = ({
25
92
  handleCloseModal
26
93
  }) => {
@@ -32,7 +99,7 @@ const FilePreviewModal = ({
32
99
  activeFile
33
100
  } = useSelector(state => state.chatSettingStore);
34
101
  if (!activeFile) {
35
- return;
102
+ return null;
36
103
  }
37
104
  const requestStoragePermission = async () => {
38
105
  try {
@@ -52,10 +119,7 @@ const FilePreviewModal = ({
52
119
  return;
53
120
  }
54
121
  try {
55
- let fileName = activeFile.fileName || `media_${Date.now()}`;
56
- if (!fileName.includes('.')) {
57
- fileName += activeFile.mimetype.startsWith('image/') ? '.jpg' : '.mp4';
58
- }
122
+ const fileName = ensureFilenameHasExtension(activeFile.fileName, activeFile.mimetype);
59
123
  const filePath = FileSystem.cacheDirectory + fileName;
60
124
  const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
61
125
  if (download.status === 200) {
@@ -75,7 +139,11 @@ const FilePreviewModal = ({
75
139
  };
76
140
  const saveFileToDownloads = async () => {
77
141
  try {
78
- const fileName = activeFile.fileName || `file_${Date.now()}`;
142
+ // Always include a valid extension on the cache filename. expo-media-
143
+ // library's createAssetAsync inspects the URI's extension and throws
144
+ // "Could not get the file's extension" when missing — see bug #9 in
145
+ // sdk-bug-tracker.md.
146
+ const fileName = ensureFilenameHasExtension(activeFile.fileName, activeFile.mimetype);
79
147
  const filePath = FileSystem.cacheDirectory + fileName;
80
148
  const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
81
149
  if (download.status === 200) {
@@ -114,44 +182,93 @@ const FilePreviewModal = ({
114
182
  }));
115
183
  handleCloseModal?.();
116
184
  };
117
- const getMediaComponent = useMemo(() => {
185
+
186
+ // NOTE: plain computed value, NOT useMemo. It sits AFTER the
187
+ // `if (!activeFile) return` guard above, so as a hook it would run
188
+ // conditionally (skipped when activeFile is null) — changing the hook
189
+ // count between renders and throwing "rendered more hooks than during
190
+ // the previous render", which crashed the modal the instant you tapped
191
+ // a video/image to open it. Recomputing this on each render is cheap.
192
+ const getMediaComponent = (() => {
118
193
  switch (true) {
119
194
  case activeFile.mimetype.startsWith('image/'):
120
195
  return /*#__PURE__*/_jsx(FullScreenImage, {
121
- src: activeFile.fileURL || 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg',
122
- alt: activeFile.fileName
196
+ source: {
197
+ uri: activeFile.fileURL || 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg'
198
+ },
199
+ resizeMode: "contain",
200
+ accessibilityLabel: activeFile.fileName
123
201
  });
124
202
  case activeFile.mimetype.startsWith('video/'):
125
- return /*#__PURE__*/_jsx(Video, {
203
+ return /*#__PURE__*/_jsx(ModalVideo, {
204
+ uri: activeFile.fileURL
205
+ });
206
+ case activeFile.mimetype.startsWith('audio/'):
207
+ return /*#__PURE__*/_jsxs(View, {
126
208
  style: {
127
209
  width: '100%',
128
- height: '100%'
129
- },
130
- source: {
131
- uri: activeFile.fileURL
210
+ padding: 20,
211
+ gap: 12,
212
+ backgroundColor: '#FFF8ED',
213
+ borderRadius: 16
132
214
  },
133
- useNativeControls: true,
134
- resizeMode: ResizeMode.CONTAIN,
135
- shouldPlay: false
215
+ children: [/*#__PURE__*/_jsx(Text, {
216
+ style: {
217
+ fontSize: 16,
218
+ fontWeight: '600'
219
+ },
220
+ children: ensureFilenameHasExtension(activeFile.fileName, activeFile.mimetype)
221
+ }), /*#__PURE__*/_jsx(AudioMessage, {
222
+ src: activeFile.fileURL
223
+ })]
136
224
  });
137
225
  case activeFile.mimetype === 'application/pdf':
138
226
  return /*#__PURE__*/_jsx(PdfViewer, {
139
227
  pdfUrl: activeFile.fileURL
140
228
  });
141
229
  default:
142
- return /*#__PURE__*/_jsx(View, {
143
- style: {
144
- backgroundColor: '#FFF8ED',
145
- borderRadius: 16,
146
- display: 'flex',
147
- padding: 16
148
- },
149
- children: /*#__PURE__*/_jsx(Text, {
150
- children: "Unable to open the uploaded document. The file format is not supported by the system. Please upload a file in a compatible format. You still can download this file."
151
- })
152
- });
230
+ {
231
+ const displayName = ensureFilenameHasExtension(activeFile.fileName, activeFile.mimetype);
232
+ // Office docs (.docx / .xlsx / .pptx / .doc / .xls / .ppt /
233
+ // .txt / .csv / .rtf) → render inline via Google's gview embed
234
+ // — fixes the "blank preview" complaint for docs (bug #9).
235
+ if (isGviewPreviewable(activeFile.mimetype)) {
236
+ return /*#__PURE__*/_jsx(DocumentViewer, {
237
+ url: activeFile.fileURL,
238
+ fileName: displayName
239
+ });
240
+ }
241
+ // True last-resort fallback for genuinely unrenderable types
242
+ // (binary blobs, exotic MIMEs). Friendly info card with the
243
+ // filename so the user can still download.
244
+ return /*#__PURE__*/_jsxs(View, {
245
+ style: {
246
+ backgroundColor: '#FFF8ED',
247
+ borderRadius: 16,
248
+ padding: 20,
249
+ gap: 8
250
+ },
251
+ children: [/*#__PURE__*/_jsx(Text, {
252
+ style: {
253
+ fontSize: 16,
254
+ fontWeight: '600'
255
+ },
256
+ children: displayName
257
+ }), /*#__PURE__*/_jsx(Text, {
258
+ style: {
259
+ color: '#666'
260
+ },
261
+ children: activeFile.mimetype || 'unknown type'
262
+ }), /*#__PURE__*/_jsx(Text, {
263
+ style: {
264
+ marginTop: 8
265
+ },
266
+ children: "This file format can't be previewed inline. Tap the save icon above to download it."
267
+ })]
268
+ });
269
+ }
153
270
  }
154
- }, [activeFile]);
271
+ })();
155
272
  return /*#__PURE__*/_jsxs(ModalContainerFullScreen, {
156
273
  children: [/*#__PURE__*/_jsx(ModalHeaderComponent, {
157
274
  handleCloseModal: closeModal,
@@ -165,14 +282,34 @@ const FilePreviewModal = ({
165
282
  }), /*#__PURE__*/_jsx(CenterContainer, {
166
283
  style: {
167
284
  display: 'flex',
168
- height: '100%',
285
+ flex: 1,
169
286
  justifyContent: 'center',
170
- overflow: 'hidden',
171
- padding: 16
287
+ // NOTE: do NOT set overflow:'hidden' here — on Android it clips
288
+ // hardware-accelerated children (expo-av Video TextureView and
289
+ // react-native-webview) to nothing, so video/PDF/doc previews
290
+ // render blank while plain <Image> survives.
291
+ overflow: 'visible',
292
+ padding: 16,
293
+ paddingBottom: 48
172
294
  },
173
295
  children: getMediaComponent
174
296
  })]
175
297
  });
176
298
  };
299
+ const styles = StyleSheet.create({
300
+ playOverlay: {
301
+ ...StyleSheet.absoluteFillObject,
302
+ justifyContent: 'center',
303
+ alignItems: 'center'
304
+ },
305
+ playButton: {
306
+ width: 64,
307
+ height: 64,
308
+ borderRadius: 32,
309
+ backgroundColor: 'rgba(0, 0, 0, 0.55)',
310
+ justifyContent: 'center',
311
+ alignItems: 'center'
312
+ }
313
+ });
177
314
  export default FilePreviewModal;
178
315
  //# sourceMappingURL=FilePreviewModal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","styled","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","Video","ResizeMode","FileSystem","MediaLibrary","useToast","PdfViewer","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FullScreenVideo","FilePreviewModal","handleCloseModal","dispatch","showToast","activeFile","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","alert","fileName","Date","now","includes","mimetype","startsWith","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","uri","id","toString","title","message","type","err","saveFileToDownloads","OS","createAssetAsync","saveClick","closeModal","getMediaComponent","src","alt","style","width","height","source","useNativeControls","resizeMode","CONTAIN","shouldPlay","pdfUrl","backgroundColor","borderRadius","display","padding","children","headerTitle","rightMenu","onPress","justifyContent","overflow"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","useVideoPlayer","VideoView","PlayIcon","FileSystem","MediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","ensureFilenameHasExtension","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","player","p","muted","sub","addListener","isPlaying","remove","handlePlay","play","style","flex","width","children","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","activeOpacity","onPress","absoluteFillObject","styles","playOverlay","playButton","height","FilePreviewModal","handleCloseModal","dispatch","showToast","activeFile","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","alert","fileName","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","OS","createAssetAsync","saveClick","startsWith","closeModal","getMediaComponent","source","resizeMode","accessibilityLabel","padding","gap","borderRadius","fontSize","fontWeight","src","pdfUrl","displayName","url","color","marginTop","headerTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useEffect, useState } from 'react';
4
- import { ActivityIndicator, StyleSheet, Text, View } from 'react-native';
4
+ import { ActivityIndicator, Platform, StyleSheet, Text, View } from 'react-native';
5
5
  import { WebView } from 'react-native-webview';
6
6
  import * as FileSystem from 'expo-file-system/legacy';
7
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  const PdfViewer = ({
9
9
  pdfUrl
10
10
  }) => {
11
11
  const [localUri, setLocalUri] = useState(null);
12
12
  const [error, setError] = useState(null);
13
+ // Android's WebView has NO native PDF renderer, so a file:// (or direct)
14
+ // PDF loads blank. Route it through Google's gview embed using the
15
+ // (public) remote URL — same approach as DocumentViewer for office docs.
16
+ // iOS WKWebView renders PDFs natively, so we download + show the file.
17
+ const isAndroid = Platform.OS === 'android';
13
18
  useEffect(() => {
19
+ if (isAndroid) {
20
+ return;
21
+ }
14
22
  let cancelled = false;
15
23
  const run = async () => {
16
24
  try {
@@ -32,7 +40,27 @@ const PdfViewer = ({
32
40
  return () => {
33
41
  cancelled = true;
34
42
  };
35
- }, [pdfUrl]);
43
+ }, [pdfUrl, isAndroid]);
44
+ if (isAndroid) {
45
+ const gviewUrl = `https://docs.google.com/gview?embedded=true&url=${encodeURIComponent(pdfUrl)}`;
46
+ return /*#__PURE__*/_jsx(View, {
47
+ style: styles.container,
48
+ children: /*#__PURE__*/_jsx(WebView, {
49
+ source: {
50
+ uri: gviewUrl
51
+ },
52
+ style: styles.webview,
53
+ originWhitelist: ['*'],
54
+ startInLoadingState: true,
55
+ renderLoading: () => /*#__PURE__*/_jsx(View, {
56
+ style: styles.center,
57
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
58
+ size: "large"
59
+ })
60
+ })
61
+ })
62
+ });
63
+ }
36
64
  if (error) {
37
65
  return /*#__PURE__*/_jsx(View, {
38
66
  style: styles.center,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","ActivityIndicator","StyleSheet","Text","View","WebView","FileSystem","jsxs","_jsxs","jsx","_jsx","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","style","styles","center","children","size","container","source","webview","originWhitelist","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,iBAAiB,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACxE,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,OAAO,KAAKC,UAAU,MAAM,yBAAyB;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAMtD,MAAMC,SAAmC,GAAGA,CAAC;EAAEC;AAAO,CAAC,KAAK;EAC1D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGd,QAAQ,CAAgB,IAAI,CAAC;EAC7D,MAAM,CAACe,KAAK,EAAEC,QAAQ,CAAC,GAAGhB,QAAQ,CAAgB,IAAI,CAAC;EAEvDD,SAAS,CAAC,MAAM;IACd,IAAIkB,SAAS,GAAG,KAAK;IACrB,MAAMC,GAAG,GAAG,MAAAA,CAAA,KAAY;MACtB,IAAI;QACF,MAAMC,MAAM,GACVb,UAAU,CAACc,cAAc,GAAG,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC,MAAM;QACrD,MAAMC,MAAM,GAAG,MAAMjB,UAAU,CAACkB,aAAa,CAACZ,MAAM,EAAEO,MAAM,CAAC;QAC7D,IAAIF,SAAS,EAAE;UAAC;QAAO;QACvBH,WAAW,CAACS,MAAM,CAACE,GAAG,CAAC;MACzB,CAAC,CAAC,OAAOC,CAAM,EAAE;QACf,IAAIT,SAAS,EAAE;UAAC;QAAO;QACvBU,OAAO,CAACC,GAAG,CAACF,CAAC,EAAEG,OAAO,CAAC;QACvBb,QAAQ,CAACU,CAAC,EAAEG,OAAO,IAAI,iBAAiB,CAAC;MAC3C;IACF,CAAC;IACDX,GAAG,CAAC,CAAC;IACL,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACL,MAAM,CAAC,CAAC;EAEZ,IAAIG,KAAK,EAAE;IACT,oBACEL,IAAA,CAACN,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACC,MAAO;MAAAC,QAAA,eACzBzB,KAAA,CAACL,IAAI;QAAA8B,QAAA,GAAC,qBAAmB,EAAClB,KAAK;MAAA,CAAO;IAAC,CACnC,CAAC;EAEX;EAEA,IAAI,CAACF,QAAQ,EAAE;IACb,oBACEH,IAAA,CAACN,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACC,MAAO;MAAAC,QAAA,eACzBvB,IAAA,CAACT,iBAAiB;QAACiC,IAAI,EAAC;MAAO,CAAE;IAAC,CAC9B,CAAC;EAEX;EAEA,oBACExB,IAAA,CAACN,IAAI;IAAC0B,KAAK,EAAEC,MAAM,CAACI,SAAU;IAAAF,QAAA,eAC5BvB,IAAA,CAACL,OAAO;MACN+B,MAAM,EAAE;QAAEX,GAAG,EAAEZ;MAAS,CAAE;MAC1BiB,KAAK,EAAEC,MAAM,CAACM,OAAQ;MACtBC,eAAe,EAAE,CAAC,GAAG,CAAE;MACvBC,eAAe;MACfC,2BAA2B;MAC3BC,gCAAgC;IAAA,CACjC;EAAC,CACE,CAAC;AAEX,CAAC;AAED,eAAe9B,SAAS;AAExB,MAAMoB,MAAM,GAAG7B,UAAU,CAACwC,MAAM,CAAC;EAC/BP,SAAS,EAAE;IAAEQ,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,MAAM;IAAEC,eAAe,EAAE;EAAO,CAAC;EAC9DR,OAAO,EAAE;IAAEM,IAAI,EAAE,CAAC;IAAEE,eAAe,EAAE;EAAO,CAAC;EAC7Cb,MAAM,EAAE;IAAEW,IAAI,EAAE,CAAC;IAAEG,UAAU,EAAE,QAAQ;IAAEC,cAAc,EAAE;EAAS;AACpE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","ActivityIndicator","Platform","StyleSheet","Text","View","WebView","FileSystem","jsx","_jsx","jsxs","_jsxs","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","isAndroid","OS","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","gviewUrl","encodeURIComponent","style","styles","container","children","source","webview","originWhitelist","startInLoadingState","renderLoading","center","size","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":"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","ignoreList":[]}
@@ -31,7 +31,11 @@ const Modal = ({
31
31
  return modal && /*#__PURE__*/_jsxs(ModalBackground, {
32
32
  id: "modal-background",
33
33
  style: {
34
- position: 'absolute'
34
+ position: 'absolute',
35
+ top: 0,
36
+ left: 0,
37
+ right: 0,
38
+ bottom: 0
35
39
  },
36
40
  children: [renderModalContent(), children]
37
41
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","ModalBackground","useDispatch","setActiveModal","MODAL_TYPES","MODAL_COMPONENTS","jsx","_jsx","jsxs","_jsxs","Modal","children","modal","setOpenModal","dispatch","handleCloseModal","handleBackButtonClick","SETTINGS","renderModalContent","ModalComponent","handleClose","MANAGE_DATA","VISIBILITY","REFERRALS","DOCUMENT_SHARES","PROFILE_SHARES","BLOCKED_USERS","id","style","position"],"sourceRoot":"../../../../../src","sources":["components/Modals/Modal/Modal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,0BAA0B;AAE1D,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,cAAc,QAAQ,sCAAsC;AACrE,SAASC,WAAW,QAAQ,wCAAwC;AACpE,SAASC,gBAAgB,QAAQ,6CAA6C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ/E,MAAMC,KAA2B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAa,CAAC,KAAK;EACzE,MAAMC,QAAQ,GAAGZ,WAAW,CAAC,CAAC;EAC9B,MAAMa,gBAAgB,GAAGA,CAAA,KAAMF,YAAY,CAAC,CAAC;EAC7C,MAAMG,qBAAqB,GAAGA,CAAA,KAC5BF,QAAQ,CAACX,cAAc,CAACC,WAAW,CAACa,QAAQ,CAAC,CAAC;EAEhD,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI,CAACN,KAAK,EAAE;MAAC,OAAO,IAAI;IAAC;IAEzB,MAAMO,cAAc,GAAGd,gBAAgB,CAACO,KAAK,CAAC;IAE9C,IAAI,CAACO,cAAc,EAAE;MAAC,OAAO,IAAI;IAAC;IAElC,MAAMC,WAAW,GACfR,KAAK,KAAKR,WAAW,CAACiB,WAAW,IACjCT,KAAK,KAAKR,WAAW,CAACkB,UAAU,IAChCV,KAAK,KAAKR,WAAW,CAACmB,SAAS,IAC/BX,KAAK,KAAKR,WAAW,CAACoB,eAAe,IACrCZ,KAAK,KAAKR,WAAW,CAACqB,cAAc,IACpCb,KAAK,KAAKR,WAAW,CAACsB,aAAa,GAC/BV,qBAAqB,GACrBD,gBAAgB;IAEtB,oBAAOR,IAAA,CAACY,cAAc;MAACJ,gBAAgB,EAAEK;IAAY,CAAE,CAAC;EAC1D,CAAC;EACD,OACER,KAAK,iBACHH,KAAA,CAACR,eAAe;IAAC0B,EAAE,EAAC,kBAAkB;IAACC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW,CAAE;IAAAlB,QAAA,GACpEO,kBAAkB,CAAC,CAAC,EACpBP,QAAQ;EAAA,CACM,CAClB;AAEL,CAAC;AAED,eAAeD,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["React","ModalBackground","useDispatch","setActiveModal","MODAL_TYPES","MODAL_COMPONENTS","jsx","_jsx","jsxs","_jsxs","Modal","children","modal","setOpenModal","dispatch","handleCloseModal","handleBackButtonClick","SETTINGS","renderModalContent","ModalComponent","handleClose","MANAGE_DATA","VISIBILITY","REFERRALS","DOCUMENT_SHARES","PROFILE_SHARES","BLOCKED_USERS","id","style","position","top","left","right","bottom"],"sourceRoot":"../../../../../src","sources":["components/Modals/Modal/Modal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,0BAA0B;AAE1D,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,cAAc,QAAQ,sCAAsC;AACrE,SAASC,WAAW,QAAQ,wCAAwC;AACpE,SAASC,gBAAgB,QAAQ,6CAA6C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ/E,MAAMC,KAA2B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAa,CAAC,KAAK;EACzE,MAAMC,QAAQ,GAAGZ,WAAW,CAAC,CAAC;EAC9B,MAAMa,gBAAgB,GAAGA,CAAA,KAAMF,YAAY,CAAC,CAAC;EAC7C,MAAMG,qBAAqB,GAAGA,CAAA,KAC5BF,QAAQ,CAACX,cAAc,CAACC,WAAW,CAACa,QAAQ,CAAC,CAAC;EAEhD,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI,CAACN,KAAK,EAAE;MAAC,OAAO,IAAI;IAAC;IAEzB,MAAMO,cAAc,GAAGd,gBAAgB,CAACO,KAAK,CAAC;IAE9C,IAAI,CAACO,cAAc,EAAE;MAAC,OAAO,IAAI;IAAC;IAElC,MAAMC,WAAW,GACfR,KAAK,KAAKR,WAAW,CAACiB,WAAW,IACjCT,KAAK,KAAKR,WAAW,CAACkB,UAAU,IAChCV,KAAK,KAAKR,WAAW,CAACmB,SAAS,IAC/BX,KAAK,KAAKR,WAAW,CAACoB,eAAe,IACrCZ,KAAK,KAAKR,WAAW,CAACqB,cAAc,IACpCb,KAAK,KAAKR,WAAW,CAACsB,aAAa,GAC/BV,qBAAqB,GACrBD,gBAAgB;IAEtB,oBAAOR,IAAA,CAACY,cAAc;MAACJ,gBAAgB,EAAEK;IAAY,CAAE,CAAC;EAC1D,CAAC;EACD,OACER,KAAK,iBACHH,KAAA,CAACR,eAAe;IACd0B,EAAE,EAAC,kBAAkB;IACrBC,KAAK,EAAE;MAAEC,QAAQ,EAAE,UAAU;MAAEC,GAAG,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAE;IAAAtB,QAAA,GAErEO,kBAAkB,CAAC,CAAC,EACpBP,QAAQ;EAAA,CACM,CAClB;AAEL,CAAC;AAED,eAAeD,KAAK","ignoreList":[]}