@ethora/chat-component-rn 26.8.1 → 26.8.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 (604) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +43 -10
  3. package/lib/commonjs/assets/icons.js +7 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/AuthForms/Login.js +4 -4
  6. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  7. package/lib/commonjs/components/Header/HeaderRoomList.js +29 -8
  8. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js +9 -3
  10. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js +150 -14
  12. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js +34 -13
  14. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/LoginWrapper.js +2 -1
  16. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +29 -9
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
  20. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageList.js +13 -5
  22. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  24. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/RoomList.js +208 -35
  26. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  27. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +317 -98
  28. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  29. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +322 -110
  30. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  31. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +546 -203
  32. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  33. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
  34. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  35. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +69 -27
  36. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +2 -1
  38. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  39. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  40. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  41. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +2 -1
  42. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  43. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -106
  44. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  45. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  46. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  47. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +563 -0
  48. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  49. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  50. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  51. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  52. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  53. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +7 -21
  54. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  55. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
  56. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
  58. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
  60. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +21 -7
  62. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  63. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +22 -3
  64. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  65. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  66. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  67. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  68. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  69. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +6 -3
  70. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  71. package/lib/commonjs/components/styled/AudioMessage.js +2 -1
  72. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  73. package/lib/commonjs/components/styled/MessageImage.js +37 -9
  74. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  75. package/lib/commonjs/components/styled/SendInput.js +80 -11
  76. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  77. package/lib/commonjs/components/styled/StyledComponents.js +9 -3
  78. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  79. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  80. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  81. package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
  82. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  83. package/lib/commonjs/components/styled/VideoMessage.js +119 -61
  84. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  85. package/lib/commonjs/context/xmppProvider.js +184 -59
  86. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  87. package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
  88. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  89. package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
  90. package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
  91. package/lib/commonjs/helpers/getChatBackground.js +23 -0
  92. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  93. package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
  94. package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
  95. package/lib/commonjs/helpers/getServerReadTimestamp.js +188 -0
  96. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
  97. package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
  98. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  99. package/lib/commonjs/helpers/initXmppRooms.js +14 -8
  100. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  101. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
  102. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  103. package/lib/commonjs/helpers/isOwnMessage.js +75 -0
  104. package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
  105. package/lib/commonjs/helpers/keyboardLayout.js +12 -2
  106. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  107. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  108. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  109. package/lib/commonjs/helpers/mimeToExtension.js +6 -14
  110. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  111. package/lib/commonjs/helpers/msgSortableMs.js +37 -0
  112. package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
  113. package/lib/commonjs/helpers/persistCrypto.js +122 -0
  114. package/lib/commonjs/helpers/persistCrypto.js.map +1 -0
  115. package/lib/commonjs/helpers/pickImageAsset.js +68 -0
  116. package/lib/commonjs/helpers/pickImageAsset.js.map +1 -0
  117. package/lib/commonjs/helpers/pushPayload.js +71 -0
  118. package/lib/commonjs/helpers/pushPayload.js.map +1 -0
  119. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +130 -17
  120. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  121. package/lib/commonjs/helpers/secureFileUrl.js +101 -0
  122. package/lib/commonjs/helpers/secureFileUrl.js.map +1 -0
  123. package/lib/commonjs/helpers/secureKeyValue.js +83 -0
  124. package/lib/commonjs/helpers/secureKeyValue.js.map +1 -0
  125. package/lib/commonjs/helpers/secureStoreRuntime.js +59 -0
  126. package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -0
  127. package/lib/commonjs/helpers/secureUserStorage.js +75 -0
  128. package/lib/commonjs/helpers/secureUserStorage.js.map +1 -0
  129. package/lib/commonjs/helpers/shallowEqual.js +36 -0
  130. package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
  131. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  132. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  133. package/lib/commonjs/hooks/useChatRoomFocus.js +45 -12
  134. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  135. package/lib/commonjs/hooks/useChatWrapperInit.js +30 -10
  136. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  137. package/lib/commonjs/hooks/useComposing.js +27 -0
  138. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  139. package/lib/commonjs/hooks/useFileToken.js +10 -0
  140. package/lib/commonjs/hooks/useFileToken.js.map +1 -0
  141. package/lib/commonjs/hooks/useLogout.js +23 -7
  142. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  143. package/lib/commonjs/hooks/usePendingNotification.js +8 -11
  144. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  145. package/lib/commonjs/hooks/useSendMessage.js +50 -14
  146. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  147. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
  148. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  149. package/lib/commonjs/i18n/strings.js +145 -37
  150. package/lib/commonjs/i18n/strings.js.map +1 -1
  151. package/lib/commonjs/main.js +44 -0
  152. package/lib/commonjs/main.js.map +1 -1
  153. package/lib/commonjs/networking/api-requests/auth.api.js +134 -60
  154. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  155. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  156. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  157. package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
  158. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  159. package/lib/commonjs/networking/api-requests/user.api.js +68 -9
  160. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  161. package/lib/commonjs/networking/apiClient.js +62 -112
  162. package/lib/commonjs/networking/apiClient.js.map +1 -1
  163. package/lib/commonjs/networking/authRefresh.js +332 -0
  164. package/lib/commonjs/networking/authRefresh.js.map +1 -0
  165. package/lib/commonjs/networking/stanzaHandlers.js +41 -28
  166. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  167. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  168. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  169. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  170. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  171. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  172. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  173. package/lib/commonjs/networking/xmppClient.js +124 -8
  174. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  175. package/lib/commonjs/roomStore/chatSettingsSlice.js +26 -7
  176. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  177. package/lib/commonjs/roomStore/index.js +35 -2
  178. package/lib/commonjs/roomStore/index.js.map +1 -1
  179. package/lib/commonjs/roomStore/persistence.js +226 -23
  180. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  181. package/lib/commonjs/roomStore/roomsSlice.js +151 -38
  182. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  183. package/lib/commonjs/services/pushSubscriptionService.js +15 -13
  184. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  185. package/lib/commonjs/version.js +1 -1
  186. package/lib/module/assets/icons.js +6 -1
  187. package/lib/module/assets/icons.js.map +1 -1
  188. package/lib/module/components/AuthForms/Login.js +4 -4
  189. package/lib/module/components/AuthForms/Login.js.map +1 -1
  190. package/lib/module/components/Header/HeaderRoomList.js +29 -8
  191. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  192. package/lib/module/components/MainComponents/ChatHeader.js +9 -3
  193. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  194. package/lib/module/components/MainComponents/ChatRoom.js +152 -16
  195. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  196. package/lib/module/components/MainComponents/ChatWrapper.js +35 -14
  197. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  198. package/lib/module/components/MainComponents/LoginWrapper.js +2 -1
  199. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  200. package/lib/module/components/MainComponents/MediaMessage.js +30 -10
  201. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  202. package/lib/module/components/MainComponents/MessageContainer.js +5 -1
  203. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  204. package/lib/module/components/MainComponents/MessageList.js +13 -5
  205. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  206. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  207. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  208. package/lib/module/components/MainComponents/RoomList.js +207 -35
  209. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  210. package/lib/module/components/Menu/HeaderRoomListMenu.js +319 -101
  211. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  212. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +313 -113
  213. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  214. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +549 -207
  215. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  216. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
  217. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  218. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +70 -28
  219. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  220. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +2 -1
  221. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  222. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  223. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  224. package/lib/module/components/Modals/NewChatModal/ModalContent.js +2 -1
  225. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  226. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -108
  227. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  228. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  229. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  230. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +555 -0
  231. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  232. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
  233. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  234. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  235. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  236. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +9 -23
  237. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  238. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
  239. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  240. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
  241. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  242. package/lib/module/components/Modals/styledModalComponents.js +9 -2
  243. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  244. package/lib/module/components/RoomComponents/ChatRoomItem.js +21 -7
  245. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  246. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +22 -3
  247. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  248. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  249. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  250. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  251. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  252. package/lib/module/components/VideoCalls/VideoCallSession.js +6 -3
  253. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  254. package/lib/module/components/styled/AudioMessage.js +2 -1
  255. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  256. package/lib/module/components/styled/MessageImage.js +37 -9
  257. package/lib/module/components/styled/MessageImage.js.map +1 -1
  258. package/lib/module/components/styled/SendInput.js +81 -12
  259. package/lib/module/components/styled/SendInput.js.map +1 -1
  260. package/lib/module/components/styled/StyledComponents.js +9 -3
  261. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  262. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  263. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  264. package/lib/module/components/styled/UnsupportedType.js +14 -4
  265. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  266. package/lib/module/components/styled/VideoMessage.js +120 -62
  267. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  268. package/lib/module/context/xmppProvider.js +184 -60
  269. package/lib/module/context/xmppProvider.js.map +1 -1
  270. package/lib/module/helpers/createMessageFromXml.js +19 -1
  271. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  272. package/lib/module/helpers/ensureScopedChatCache.js +2 -2
  273. package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
  274. package/lib/module/helpers/getChatBackground.js +18 -0
  275. package/lib/module/helpers/getChatBackground.js.map +1 -0
  276. package/lib/module/helpers/getDisplayFileName.js +73 -0
  277. package/lib/module/helpers/getDisplayFileName.js.map +1 -0
  278. package/lib/module/helpers/getServerReadTimestamp.js +181 -0
  279. package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
  280. package/lib/module/helpers/historyPreloadScheduler.js +66 -3
  281. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  282. package/lib/module/helpers/initXmppRooms.js +14 -8
  283. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  284. package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
  285. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  286. package/lib/module/helpers/isOwnMessage.js +70 -0
  287. package/lib/module/helpers/isOwnMessage.js.map +1 -0
  288. package/lib/module/helpers/keyboardLayout.js +12 -2
  289. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  290. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  291. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  292. package/lib/module/helpers/mimeToExtension.js +6 -13
  293. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  294. package/lib/module/helpers/msgSortableMs.js +32 -0
  295. package/lib/module/helpers/msgSortableMs.js.map +1 -0
  296. package/lib/module/helpers/persistCrypto.js +115 -0
  297. package/lib/module/helpers/persistCrypto.js.map +1 -0
  298. package/lib/module/helpers/pickImageAsset.js +63 -0
  299. package/lib/module/helpers/pickImageAsset.js.map +1 -0
  300. package/lib/module/helpers/pushPayload.js +63 -0
  301. package/lib/module/helpers/pushPayload.js.map +1 -0
  302. package/lib/module/helpers/resolveInitBeforeLoadUser.js +130 -16
  303. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  304. package/lib/module/helpers/secureFileUrl.js +91 -0
  305. package/lib/module/helpers/secureFileUrl.js.map +1 -0
  306. package/lib/module/helpers/secureKeyValue.js +75 -0
  307. package/lib/module/helpers/secureKeyValue.js.map +1 -0
  308. package/lib/module/helpers/secureStoreRuntime.js +52 -0
  309. package/lib/module/helpers/secureStoreRuntime.js.map +1 -0
  310. package/lib/module/helpers/secureUserStorage.js +72 -0
  311. package/lib/module/helpers/secureUserStorage.js.map +1 -0
  312. package/lib/module/helpers/shallowEqual.js +31 -0
  313. package/lib/module/helpers/shallowEqual.js.map +1 -0
  314. package/lib/module/helpers/sheetGestures.js +26 -0
  315. package/lib/module/helpers/sheetGestures.js.map +1 -0
  316. package/lib/module/hooks/useChatRoomFocus.js +46 -13
  317. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  318. package/lib/module/hooks/useChatWrapperInit.js +30 -10
  319. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  320. package/lib/module/hooks/useComposing.js +28 -1
  321. package/lib/module/hooks/useComposing.js.map +1 -1
  322. package/lib/module/hooks/useFileToken.js +5 -0
  323. package/lib/module/hooks/useFileToken.js.map +1 -0
  324. package/lib/module/hooks/useLogout.js +23 -7
  325. package/lib/module/hooks/useLogout.js.map +1 -1
  326. package/lib/module/hooks/usePendingNotification.js +8 -11
  327. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  328. package/lib/module/hooks/useSendMessage.js +52 -16
  329. package/lib/module/hooks/useSendMessage.js.map +1 -1
  330. package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
  331. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  332. package/lib/module/i18n/strings.js +145 -37
  333. package/lib/module/i18n/strings.js.map +1 -1
  334. package/lib/module/main.js +14 -2
  335. package/lib/module/main.js.map +1 -1
  336. package/lib/module/networking/api-requests/auth.api.js +131 -59
  337. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  338. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  339. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  340. package/lib/module/networking/api-requests/rooms.api.js +9 -9
  341. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  342. package/lib/module/networking/api-requests/user.api.js +64 -7
  343. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  344. package/lib/module/networking/apiClient.js +61 -113
  345. package/lib/module/networking/apiClient.js.map +1 -1
  346. package/lib/module/networking/authRefresh.js +321 -0
  347. package/lib/module/networking/authRefresh.js.map +1 -0
  348. package/lib/module/networking/stanzaHandlers.js +41 -28
  349. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  350. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  351. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  352. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  353. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  354. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  355. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  356. package/lib/module/networking/xmppClient.js +124 -8
  357. package/lib/module/networking/xmppClient.js.map +1 -1
  358. package/lib/module/roomStore/chatSettingsSlice.js +26 -7
  359. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  360. package/lib/module/roomStore/index.js +37 -4
  361. package/lib/module/roomStore/index.js.map +1 -1
  362. package/lib/module/roomStore/persistence.js +223 -22
  363. package/lib/module/roomStore/persistence.js.map +1 -1
  364. package/lib/module/roomStore/roomsSlice.js +139 -34
  365. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  366. package/lib/module/services/pushSubscriptionService.js +15 -13
  367. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  368. package/lib/module/version.js +1 -1
  369. package/lib/typescript/assets/icons.d.ts +16 -0
  370. package/lib/typescript/assets/icons.d.ts.map +1 -1
  371. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  372. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  373. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  374. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  375. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  376. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  377. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  378. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  379. package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
  380. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  381. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  382. package/lib/typescript/components/MainComponents/RoomList.d.ts +7 -0
  383. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  384. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
  385. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  386. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  387. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  388. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  389. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  390. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  391. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  392. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  393. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  394. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  395. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +4 -2
  396. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  397. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  398. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  399. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  400. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  401. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  402. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  403. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  404. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  405. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  406. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  407. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  408. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  409. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  410. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  411. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  412. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  413. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  414. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  415. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  416. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  417. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  418. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  419. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  420. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  421. package/lib/typescript/components/styled/MessageImage.d.ts +14 -0
  422. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  423. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  424. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  425. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  426. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  427. package/lib/typescript/components/styled/VideoMessage.d.ts +8 -0
  428. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  429. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  430. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  431. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  432. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  433. package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
  434. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
  435. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +108 -0
  436. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
  437. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  438. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  439. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
  440. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  441. package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
  442. package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
  443. package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
  444. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  445. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  446. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  447. package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
  448. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  449. package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
  450. package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
  451. package/lib/typescript/helpers/persistCrypto.d.ts +13 -0
  452. package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -0
  453. package/lib/typescript/helpers/pickImageAsset.d.ts +27 -0
  454. package/lib/typescript/helpers/pickImageAsset.d.ts.map +1 -0
  455. package/lib/typescript/helpers/pushPayload.d.ts +7 -0
  456. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -0
  457. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  458. package/lib/typescript/helpers/secureFileUrl.d.ts +7 -0
  459. package/lib/typescript/helpers/secureFileUrl.d.ts.map +1 -0
  460. package/lib/typescript/helpers/secureKeyValue.d.ts +13 -0
  461. package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -0
  462. package/lib/typescript/helpers/secureStoreRuntime.d.ts +29 -0
  463. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -0
  464. package/lib/typescript/helpers/secureUserStorage.d.ts +23 -0
  465. package/lib/typescript/helpers/secureUserStorage.d.ts.map +1 -0
  466. package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
  467. package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
  468. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  469. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  470. package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
  471. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  472. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  473. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  474. package/lib/typescript/hooks/useFileToken.d.ts +2 -0
  475. package/lib/typescript/hooks/useFileToken.d.ts.map +1 -0
  476. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  477. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  478. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  479. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  480. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  481. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  482. package/lib/typescript/main.d.ts +9 -2
  483. package/lib/typescript/main.d.ts.map +1 -1
  484. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -1
  485. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  486. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  487. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  488. package/lib/typescript/networking/apiClient.d.ts +12 -6
  489. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  490. package/lib/typescript/networking/authRefresh.d.ts +95 -0
  491. package/lib/typescript/networking/authRefresh.d.ts.map +1 -0
  492. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  493. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +10 -2
  494. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  495. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  496. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  497. package/lib/typescript/networking/xmppClient.d.ts +14 -0
  498. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  499. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +16 -0
  500. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  501. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  502. package/lib/typescript/roomStore/persistence.d.ts +18 -1
  503. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  504. package/lib/typescript/roomStore/roomsSlice.d.ts +43 -3
  505. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  506. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
  507. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  508. package/lib/typescript/types/types.d.ts +50 -5
  509. package/lib/typescript/types/types.d.ts.map +1 -1
  510. package/lib/typescript/version.d.ts +1 -1
  511. package/package.json +41 -28
  512. package/src/assets/icons.tsx +48 -9
  513. package/src/components/AuthForms/Login.tsx +3 -3
  514. package/src/components/Header/HeaderRoomList.tsx +29 -7
  515. package/src/components/MainComponents/ChatHeader.tsx +9 -3
  516. package/src/components/MainComponents/ChatRoom.tsx +161 -15
  517. package/src/components/MainComponents/ChatWrapper.tsx +36 -20
  518. package/src/components/MainComponents/LoginWrapper.tsx +1 -0
  519. package/src/components/MainComponents/MediaMessage.tsx +26 -8
  520. package/src/components/MainComponents/MessageContainer.tsx +5 -1
  521. package/src/components/MainComponents/MessageList.tsx +23 -4
  522. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +21 -14
  523. package/src/components/MainComponents/RoomList.tsx +236 -39
  524. package/src/components/Menu/HeaderRoomListMenu.tsx +328 -75
  525. package/src/components/Modals/AttachSheet/AttachSheet.tsx +333 -97
  526. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +600 -282
  527. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
  528. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +79 -38
  529. package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -1
  530. package/src/components/Modals/Modal/Modal.tsx +7 -0
  531. package/src/components/Modals/NewChatModal/ModalContent.tsx +6 -3
  532. package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -119
  533. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +12 -1
  534. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +624 -0
  535. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
  536. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
  537. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +9 -25
  538. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
  539. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
  540. package/src/components/Modals/styledModalComponents.tsx +9 -2
  541. package/src/components/RoomComponents/ChatRoomItem.tsx +18 -3
  542. package/src/components/RoomComponents/styled/LastMessageFile.tsx +28 -4
  543. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +18 -3
  544. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +18 -3
  545. package/src/components/VideoCalls/VideoCallSession.tsx +8 -3
  546. package/src/components/styled/AudioMessage.tsx +2 -1
  547. package/src/components/styled/MessageImage.tsx +53 -7
  548. package/src/components/styled/SendInput.tsx +83 -12
  549. package/src/components/styled/StyledComponents.ts +9 -3
  550. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
  551. package/src/components/styled/UnsupportedType.tsx +14 -4
  552. package/src/components/styled/VideoMessage.tsx +131 -54
  553. package/src/context/xmppProvider.tsx +216 -57
  554. package/src/helpers/createMessageFromXml.ts +20 -1
  555. package/src/helpers/ensureScopedChatCache.ts +2 -2
  556. package/src/helpers/getChatBackground.ts +18 -0
  557. package/src/helpers/getDisplayFileName.ts +87 -0
  558. package/src/helpers/getServerReadTimestamp.ts +197 -0
  559. package/src/helpers/historyPreloadScheduler.ts +80 -3
  560. package/src/helpers/initXmppRooms.tsx +14 -10
  561. package/src/helpers/insertMessageWithDelimiter.ts +55 -19
  562. package/src/helpers/isOwnMessage.ts +90 -0
  563. package/src/helpers/keyboardLayout.ts +23 -2
  564. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  565. package/src/helpers/mimeToExtension.ts +6 -22
  566. package/src/helpers/msgSortableMs.ts +25 -0
  567. package/src/helpers/persistCrypto.ts +127 -0
  568. package/src/helpers/pickImageAsset.ts +68 -0
  569. package/src/helpers/pushPayload.ts +62 -0
  570. package/src/helpers/resolveInitBeforeLoadUser.ts +125 -18
  571. package/src/helpers/secureFileUrl.ts +103 -0
  572. package/src/helpers/secureKeyValue.ts +80 -0
  573. package/src/helpers/secureStoreRuntime.ts +62 -0
  574. package/src/helpers/secureUserStorage.ts +80 -0
  575. package/src/helpers/shallowEqual.ts +33 -0
  576. package/src/helpers/sheetGestures.ts +25 -0
  577. package/src/hooks/useChatRoomFocus.ts +49 -9
  578. package/src/hooks/useChatWrapperInit.ts +30 -10
  579. package/src/hooks/useComposing.tsx +37 -1
  580. package/src/hooks/useFileToken.ts +7 -0
  581. package/src/hooks/useLogout.tsx +29 -9
  582. package/src/hooks/usePendingNotification.ts +5 -11
  583. package/src/hooks/useSendMessage.tsx +60 -15
  584. package/src/hooks/useUnreadMessagesCounter.ts +11 -0
  585. package/src/i18n/strings.ts +145 -37
  586. package/src/main.ts +26 -2
  587. package/src/networking/api-requests/auth.api.ts +156 -48
  588. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  589. package/src/networking/api-requests/rooms.api.ts +9 -9
  590. package/src/networking/api-requests/user.api.ts +79 -7
  591. package/src/networking/apiClient.ts +68 -123
  592. package/src/networking/authRefresh.ts +451 -0
  593. package/src/networking/stanzaHandlers.ts +44 -28
  594. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +71 -10
  595. package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
  596. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +12 -1
  597. package/src/networking/xmppClient.ts +141 -9
  598. package/src/roomStore/chatSettingsSlice.ts +34 -10
  599. package/src/roomStore/index.ts +40 -4
  600. package/src/roomStore/persistence.ts +234 -24
  601. package/src/roomStore/roomsSlice.ts +161 -29
  602. package/src/services/pushSubscriptionService.ts +18 -13
  603. package/src/types/types.ts +72 -5
  604. package/src/version.ts +1 -1
@@ -0,0 +1,563 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useHeaderMetrics = exports.hasNativeBlur = exports.TOP_BAR_NAME = exports.TOP_BAR_BUTTONS = exports.TOP_BAR_BAND = exports.ProfileTopBar = exports.ProfileHero = exports.HERO_HEIGHT = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
10
+ var _icons = require("../../../assets/icons");
11
+ var _getAvatarColor = require("../../../helpers/getAvatarColor");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ /** @format */
15
+
16
+ /** Height of the expanded photo hero. */
17
+ const HERO_HEIGHT = exports.HERO_HEIGHT = 320;
18
+ /** Back / "…" row, directly below the status-bar inset. */
19
+ const TOP_BAR_BUTTONS = exports.TOP_BAR_BUTTONS = 60;
20
+ /**
21
+ * Avatar + name row underneath it, revealed as the header collapses.
22
+ * Taller than the 48pt avatar it holds, so the row breathes: the extra
23
+ * height splits evenly above and below (the row centres its content),
24
+ * putting real space between the avatar and both the buttons above and
25
+ * the content below.
26
+ */
27
+ const TOP_BAR_NAME = exports.TOP_BAR_NAME = 92;
28
+ /** Content band of the collapsed bar, below the status-bar inset. */
29
+ const TOP_BAR_BAND = exports.TOP_BAR_BAND = TOP_BAR_BUTTONS + TOP_BAR_NAME;
30
+ /** How far above the fully-collapsed point the bar starts fading in. */
31
+ const COLLAPSE_RAMP = 48;
32
+ /**
33
+ * Blur strength once the header is fully collapsed. The design's collapsed
34
+ * bar is frosted heavily — the picture is a mood, not a subject — so this
35
+ * sits near the top of expo-blur's 0-100 range, with a dim over it to keep
36
+ * the white text and the sharp round avatar reading against it.
37
+ */
38
+ const BLUR_INTENSITY = 92;
39
+ /** Darkening applied on top of the blur (and used alone without it). */
40
+ const FROST_DIM = 'rgba(0,0,0,0.28)';
41
+ /** Height of the readability gradient under the name and buttons. */
42
+ const SCRIM_HEIGHT = 220;
43
+ /** Bands the gradient is built from — enough that no step is visible. */
44
+ const SCRIM_BANDS = 16;
45
+ /** Darkest the gradient gets, at the very bottom of the hero. */
46
+ const SCRIM_MAX_ALPHA = 0.45;
47
+
48
+ /**
49
+ * How far above the hero its backdrop reaches. Over-scrolling downwards
50
+ * exposes that band, and the picture grows into it (anchored at its own
51
+ * bottom edge) rather than a second copy being painted there.
52
+ */
53
+ const OVERSCROLL_REACH = 400;
54
+
55
+ // expo-blur is an OPTIONAL peer. Having the JS package is not enough — the
56
+ // native view has to be in the binary too, and an app that installed the
57
+ // package without rebuilding renders a red "Unimplemented component:
58
+ // ExpoBlurView" box instead of a blur. `requireNativeModule` throws when
59
+ // that native half is missing, which is the only reliable way to tell the
60
+ // two apart, so probe it once and fall back to a plain dim otherwise.
61
+ let BlurView = null;
62
+ try {
63
+ const {
64
+ requireNativeModule
65
+ } = require('expo-modules-core');
66
+ requireNativeModule('ExpoBlur');
67
+ BlurView = require('expo-blur').BlurView ?? null;
68
+ } catch {
69
+ BlurView = null;
70
+ }
71
+
72
+ /** True when the frosted-glass layer is the real thing, not the dim. */
73
+ const hasNativeBlur = () => !!BlurView;
74
+
75
+ /**
76
+ * Bottom-up darkening so white text stays readable over a photo.
77
+ *
78
+ * A single flat overlay (what this was) has a hard top edge that reads as
79
+ * "the bottom half of the picture is dark". There is no gradient
80
+ * dependency in this package, so it is stacked out of thin bands whose
81
+ * alpha ramps quadratically — at 16 bands over 220 pt the steps are below
82
+ * what the eye picks up on a photo.
83
+ */
84
+ exports.hasNativeBlur = hasNativeBlur;
85
+ const ScrimGradient = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
86
+ pointerEvents: "none",
87
+ style: styles.scrim,
88
+ children: Array.from({
89
+ length: SCRIM_BANDS
90
+ }, (_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
91
+ style: {
92
+ height: SCRIM_HEIGHT / SCRIM_BANDS,
93
+ backgroundColor: `rgba(0,0,0,${(SCRIM_MAX_ALPHA * ((i + 1) / SCRIM_BANDS) ** 2).toFixed(3)})`
94
+ }
95
+ }, i))
96
+ });
97
+ const FrostLayer = ({
98
+ tint = 'dark'
99
+ }) => BlurView ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
100
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(BlurView, {
101
+ intensity: BLUR_INTENSITY,
102
+ tint: tint,
103
+ style: _reactNative.StyleSheet.absoluteFill
104
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
105
+ style: [_reactNative.StyleSheet.absoluteFill, styles.frostDim]
106
+ })]
107
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
108
+ style: [_reactNative.StyleSheet.absoluteFill, styles.frostFallback]
109
+ });
110
+ /** Everything the screen needs to line its scroll content up with the bar. */
111
+ const useHeaderMetrics = () => {
112
+ const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
113
+ const barHeight = insets.top + TOP_BAR_BAND;
114
+ return {
115
+ insets,
116
+ barHeight,
117
+ /** Scroll distance between the expanded hero and the collapsed bar. */
118
+ collapseDistance: Math.max(HERO_HEIGHT - barHeight, 1)
119
+ };
120
+ };
121
+ exports.useHeaderMetrics = useHeaderMetrics;
122
+ const useCollapse = (scrollY, collapseDistance) => scrollY.interpolate({
123
+ inputRange: [Math.max(collapseDistance - COLLAPSE_RAMP, 0), collapseDistance],
124
+ outputRange: [0, 1],
125
+ extrapolate: 'clamp'
126
+ });
127
+
128
+ /**
129
+ * The chat picture, blown up to a full-bleed hero with the name, member
130
+ * count and the round action buttons on top of it.
131
+ *
132
+ * It lives INSIDE the ScrollView (rather than behind it) so the action
133
+ * buttons stay tappable — an absolutely-positioned hero would sit under a
134
+ * full-screen scroll surface that swallows every touch. Parallax is done
135
+ * on the inner image instead: the wrapper keeps its layout height while
136
+ * the picture drifts at ~⅓ of the scroll speed, and over-scrolling
137
+ * upwards scales it up the way iOS profile headers do.
138
+ */
139
+ const ProfileHero = ({
140
+ title,
141
+ subtitle,
142
+ imageUri,
143
+ fallbackColor,
144
+ initials,
145
+ scrollY,
146
+ actions,
147
+ titleAccessory,
148
+ titleStyle,
149
+ subtitleStyle,
150
+ testIDPrefix = 'chat-profile'
151
+ }) => {
152
+ const {
153
+ collapseDistance
154
+ } = useHeaderMetrics();
155
+ const parallax = scrollY.interpolate({
156
+ inputRange: [0, HERO_HEIGHT],
157
+ outputRange: [0, HERO_HEIGHT * 0.35],
158
+ // Clamped on the left: with `extend` an over-scroll pulled the picture
159
+ // UP off its own bottom edge, exposing a band of the backdrop colour
160
+ // under it. Pulling down is the scale's job alone.
161
+ extrapolateLeft: 'clamp',
162
+ extrapolateRight: 'clamp'
163
+ });
164
+ const scale = scrollY.interpolate({
165
+ inputRange: [-HERO_HEIGHT, 0],
166
+ outputRange: [2, 1],
167
+ extrapolateRight: 'clamp'
168
+ });
169
+ // The name and buttons are gone well before the collapsed bar arrives,
170
+ // so the two never overlap mid-scroll.
171
+ const contentOpacity = scrollY.interpolate({
172
+ inputRange: [0, HERO_HEIGHT * 0.4],
173
+ outputRange: [1, 0],
174
+ extrapolate: 'clamp'
175
+ });
176
+ const collapsed = useCollapse(scrollY, collapseDistance);
177
+
178
+ // On a photo everything is white over a bottom scrim. On the flat
179
+ // fallback colour there is no scrim at all — that double-tone banding
180
+ // was two stacked scrims showing their seam — so the text takes
181
+ // whichever of black/white reads on that colour.
182
+ const onPhoto = !!imageUri;
183
+ const contentColor = onPhoto ? '#FFFFFF' : (0, _getAvatarColor.getAvatarTextColor)(fallbackColor);
184
+ // The glyphs inside the circles are always white — several of the SDK's
185
+ // icons paint white regardless of their `color` prop, so tinting the
186
+ // rest to match the title left a mix of black and white glyphs in one
187
+ // row. The circle darkens instead, which keeps them readable on a light
188
+ // fill as well as on a photo.
189
+ const iconColor = '#FFFFFF';
190
+ const circleTint = onPhoto ? 'rgba(255,255,255,0.22)' : contentColor === '#FFFFFF' ? 'rgba(255,255,255,0.22)' : 'rgba(0,0,0,0.22)';
191
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
192
+ style: [styles.hero, {
193
+ backgroundColor: fallbackColor
194
+ }],
195
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
196
+ style: [styles.backdropClip, {
197
+ backgroundColor: fallbackColor
198
+ }],
199
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
200
+ style: [styles.backdrop, {
201
+ transform: [{
202
+ translateY: parallax
203
+ },
204
+ // Scale about the bottom edge (translate → scale →
205
+ // translate back, RN has no transform-origin) so pulling
206
+ // down grows the picture upwards into the exposed band by
207
+ // exactly the amount that band opened.
208
+ {
209
+ translateY: HERO_HEIGHT / 2
210
+ }, {
211
+ scale
212
+ }, {
213
+ translateY: -HERO_HEIGHT / 2
214
+ }]
215
+ }],
216
+ children: onPhoto ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
217
+ testID: `${testIDPrefix}-hero-image`,
218
+ source: {
219
+ uri: imageUri
220
+ },
221
+ style: _reactNative.StyleSheet.absoluteFill,
222
+ resizeMode: "cover"
223
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
224
+ style: styles.initialsWrap,
225
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
226
+ testID: `${testIDPrefix}-hero-initials`,
227
+ style: [styles.heroInitials, {
228
+ color: contentColor
229
+ }],
230
+ children: initials
231
+ })
232
+ })
233
+ }), onPhoto && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
234
+ testID: `${testIDPrefix}-hero-blur`,
235
+ pointerEvents: "none",
236
+ style: [_reactNative.StyleSheet.absoluteFill, {
237
+ opacity: collapsed
238
+ }],
239
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(FrostLayer, {})
240
+ }), onPhoto && /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrimGradient, {})]
241
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
242
+ style: [styles.heroContent, {
243
+ opacity: contentOpacity
244
+ }],
245
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
246
+ style: styles.titleRow,
247
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
248
+ numberOfLines: 2,
249
+ style: [styles.heroTitle, styles.titleText, {
250
+ color: contentColor
251
+ }, titleStyle],
252
+ children: title
253
+ }), titleAccessory]
254
+ }), !!subtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
255
+ style: [styles.heroSubtitle, {
256
+ color: contentColor,
257
+ opacity: 0.85
258
+ }, subtitleStyle],
259
+ children: subtitle
260
+ }), actions.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
261
+ style: styles.actionsRow,
262
+ children: actions.map(action => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
263
+ testID: `${testIDPrefix}-action-${action.key}`,
264
+ activeOpacity: 0.7,
265
+ style: styles.action,
266
+ onPress: action.onPress,
267
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
268
+ style: [styles.actionCircle, {
269
+ backgroundColor: circleTint
270
+ }],
271
+ children: action.icon(iconColor)
272
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
273
+ style: [styles.actionLabel, {
274
+ color: contentColor
275
+ }],
276
+ numberOfLines: 1,
277
+ adjustsFontSizeToFit: true,
278
+ minimumFontScale: 0.8,
279
+ children: action.label
280
+ })]
281
+ }, action.key))
282
+ })]
283
+ })]
284
+ });
285
+ };
286
+
287
+ /**
288
+ * The bar pinned over the hero: back button and the "…" menu are always
289
+ * there, while the frosted picture, small avatar and name fade in as the
290
+ * hero scrolls away — the collapsed state from the design's third screen.
291
+ */
292
+ exports.ProfileHero = ProfileHero;
293
+ const ProfileTopBar = ({
294
+ title,
295
+ subtitle,
296
+ imageUri,
297
+ fallbackColor,
298
+ initials,
299
+ scrollY,
300
+ onBack,
301
+ menu,
302
+ titleStyle,
303
+ testIDPrefix = 'chat-profile'
304
+ }) => {
305
+ const {
306
+ insets,
307
+ barHeight,
308
+ collapseDistance
309
+ } = useHeaderMetrics();
310
+ const collapsed = useCollapse(scrollY, collapseDistance);
311
+ const rise = collapsed.interpolate({
312
+ inputRange: [0, 1],
313
+ outputRange: [10, 0]
314
+ });
315
+ const onPhoto = !!imageUri;
316
+ const contentColor = onPhoto ? '#FFFFFF' : (0, _getAvatarColor.getAvatarTextColor)(fallbackColor);
317
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
318
+ pointerEvents: "box-none",
319
+ style: [styles.topBar, {
320
+ height: barHeight,
321
+ paddingTop: insets.top
322
+ }],
323
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
324
+ pointerEvents: "none",
325
+ style: [_reactNative.StyleSheet.absoluteFill, {
326
+ backgroundColor: fallbackColor,
327
+ opacity: collapsed
328
+ }],
329
+ children: onPhoto && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
330
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
331
+ source: {
332
+ uri: imageUri
333
+ },
334
+ style: _reactNative.StyleSheet.absoluteFill,
335
+ resizeMode: "cover"
336
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FrostLayer, {})]
337
+ })
338
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
339
+ style: styles.topBarButtons,
340
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
341
+ testID: `${testIDPrefix}-back`,
342
+ activeOpacity: 0.7,
343
+ onPress: onBack,
344
+ style: styles.roundButton,
345
+ hitSlop: {
346
+ top: 8,
347
+ bottom: 8,
348
+ left: 8,
349
+ right: 8
350
+ },
351
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.BackIcon, {
352
+ color: "#FFFFFF"
353
+ })
354
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
355
+ style: styles.topBarRight,
356
+ children: menu
357
+ })]
358
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
359
+ testID: `${testIDPrefix}-collapsed-title`,
360
+ pointerEvents: "none",
361
+ style: [styles.collapsedTitle, {
362
+ opacity: collapsed,
363
+ transform: [{
364
+ translateY: rise
365
+ }]
366
+ }],
367
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
368
+ style: styles.collapsedAvatar,
369
+ children: onPhoto ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
370
+ source: {
371
+ uri: imageUri
372
+ },
373
+ style: styles.collapsedAvatarImage
374
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
375
+ style: [styles.collapsedAvatarImage, styles.initialsWrap, {
376
+ backgroundColor: fallbackColor
377
+ }],
378
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
379
+ style: [styles.collapsedInitials, {
380
+ color: contentColor
381
+ }],
382
+ children: initials
383
+ })
384
+ })
385
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
386
+ style: styles.collapsedText,
387
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
388
+ numberOfLines: 1,
389
+ style: [styles.collapsedName, titleStyle],
390
+ children: title
391
+ }), !!subtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
392
+ numberOfLines: 1,
393
+ style: styles.collapsedSubtitle,
394
+ children: subtitle
395
+ })]
396
+ })]
397
+ })]
398
+ });
399
+ };
400
+ exports.ProfileTopBar = ProfileTopBar;
401
+ const styles = _reactNative.StyleSheet.create({
402
+ hero: {
403
+ width: '100%',
404
+ height: HERO_HEIGHT,
405
+ justifyContent: 'flex-end'
406
+ },
407
+ // Reaches above the hero and clips its own contents, so the picture can
408
+ // grow up into the over-scroll band without spilling over the cards
409
+ // below when it parallaxes down.
410
+ backdropClip: {
411
+ position: 'absolute',
412
+ left: 0,
413
+ right: 0,
414
+ bottom: 0,
415
+ height: HERO_HEIGHT + OVERSCROLL_REACH,
416
+ overflow: 'hidden'
417
+ },
418
+ backdrop: {
419
+ position: 'absolute',
420
+ left: 0,
421
+ right: 0,
422
+ bottom: 0,
423
+ height: HERO_HEIGHT
424
+ },
425
+ initialsWrap: {
426
+ ..._reactNative.StyleSheet.absoluteFill,
427
+ alignItems: 'center',
428
+ justifyContent: 'center'
429
+ },
430
+ heroInitials: {
431
+ fontSize: 64,
432
+ fontWeight: '600',
433
+ // Sit in the upper half so the name below never collides with it.
434
+ marginBottom: 120
435
+ },
436
+ frostDim: {
437
+ backgroundColor: FROST_DIM
438
+ },
439
+ frostFallback: {
440
+ backgroundColor: 'rgba(0,0,0,0.35)'
441
+ },
442
+ // Only over a photo: keeps white text readable without tinting the flat
443
+ // fallback colour.
444
+ scrim: {
445
+ ..._reactNative.StyleSheet.absoluteFill,
446
+ top: undefined,
447
+ height: SCRIM_HEIGHT,
448
+ justifyContent: 'flex-end'
449
+ },
450
+ heroContent: {
451
+ paddingHorizontal: 20,
452
+ paddingBottom: 20
453
+ },
454
+ // The accessory (the profile's Leave button) is pushed to the far right;
455
+ // the name takes what is left of the row.
456
+ titleRow: {
457
+ flexDirection: 'row',
458
+ alignItems: 'center',
459
+ justifyContent: 'space-between',
460
+ gap: 12
461
+ },
462
+ titleText: {
463
+ flexShrink: 1
464
+ },
465
+ heroTitle: {
466
+ fontSize: 26,
467
+ fontWeight: '600'
468
+ },
469
+ heroSubtitle: {
470
+ fontSize: 14,
471
+ marginTop: 2
472
+ },
473
+ // Centred: Search / Leave / Report.
474
+ actionsRow: {
475
+ flexDirection: 'row',
476
+ justifyContent: 'center',
477
+ marginTop: 20,
478
+ gap: 16
479
+ },
480
+ // minWidth, not a fixed width: translated labels ("Rechercher",
481
+ // "Denunciar") don't fit 64pt and used to wrap mid-word. English labels
482
+ // are shorter than 64pt, so their layout is unchanged.
483
+ action: {
484
+ alignItems: 'center',
485
+ minWidth: 64,
486
+ maxWidth: 96
487
+ },
488
+ actionCircle: {
489
+ width: 56,
490
+ height: 56,
491
+ borderRadius: 28,
492
+ alignItems: 'center',
493
+ justifyContent: 'center'
494
+ },
495
+ actionLabel: {
496
+ fontSize: 12,
497
+ marginTop: 6
498
+ },
499
+ topBar: {
500
+ position: 'absolute',
501
+ top: 0,
502
+ left: 0,
503
+ right: 0,
504
+ zIndex: 10
505
+ },
506
+ topBarButtons: {
507
+ height: TOP_BAR_BUTTONS,
508
+ flexDirection: 'row',
509
+ alignItems: 'flex-end',
510
+ paddingBottom: 4,
511
+ // 20 = the collapsed row's 16pt inset + half the difference between
512
+ // the 48pt avatar and these 40pt buttons, so a button's centre line
513
+ // matches the avatar's once the header is collapsed.
514
+ paddingHorizontal: 20
515
+ },
516
+ roundButton: {
517
+ width: 40,
518
+ height: 40,
519
+ borderRadius: 20,
520
+ backgroundColor: 'rgba(0,0,0,0.28)',
521
+ alignItems: 'center',
522
+ justifyContent: 'center'
523
+ },
524
+ topBarRight: {
525
+ marginLeft: 'auto'
526
+ },
527
+ collapsedTitle: {
528
+ height: TOP_BAR_NAME,
529
+ flexDirection: 'row',
530
+ alignItems: 'center',
531
+ paddingHorizontal: 16,
532
+ gap: 12
533
+ },
534
+ collapsedAvatar: {
535
+ width: 48,
536
+ height: 48,
537
+ borderRadius: 24,
538
+ overflow: 'hidden',
539
+ backgroundColor: 'rgba(255,255,255,0.2)'
540
+ },
541
+ collapsedAvatarImage: {
542
+ width: '100%',
543
+ height: '100%'
544
+ },
545
+ collapsedInitials: {
546
+ fontSize: 18,
547
+ fontWeight: '600'
548
+ },
549
+ collapsedText: {
550
+ flex: 1
551
+ },
552
+ collapsedName: {
553
+ color: '#FFFFFF',
554
+ fontSize: 20,
555
+ fontWeight: '600'
556
+ },
557
+ collapsedSubtitle: {
558
+ color: 'rgba(255,255,255,0.8)',
559
+ fontSize: 13,
560
+ marginTop: 1
561
+ }
562
+ });
563
+ //# sourceMappingURL=ProfileHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSafeAreaContext","_icons","_getAvatarColor","_jsxRuntime","e","__esModule","default","HERO_HEIGHT","exports","TOP_BAR_BUTTONS","TOP_BAR_NAME","TOP_BAR_BAND","COLLAPSE_RAMP","BLUR_INTENSITY","FROST_DIM","SCRIM_HEIGHT","SCRIM_BANDS","SCRIM_MAX_ALPHA","OVERSCROLL_REACH","BlurView","requireNativeModule","hasNativeBlur","ScrimGradient","jsx","View","pointerEvents","style","styles","scrim","children","Array","from","length","_","i","height","backgroundColor","toFixed","FrostLayer","tint","jsxs","Fragment","intensity","StyleSheet","absoluteFill","frostDim","frostFallback","useHeaderMetrics","insets","useSafeAreaInsets","barHeight","top","collapseDistance","Math","max","useCollapse","scrollY","interpolate","inputRange","outputRange","extrapolate","ProfileHero","title","subtitle","imageUri","fallbackColor","initials","actions","titleAccessory","titleStyle","subtitleStyle","testIDPrefix","parallax","extrapolateLeft","extrapolateRight","scale","contentOpacity","collapsed","onPhoto","contentColor","getAvatarTextColor","iconColor","circleTint","hero","backdropClip","Animated","backdrop","transform","translateY","Image","testID","source","uri","resizeMode","initialsWrap","Text","heroInitials","color","opacity","heroContent","titleRow","numberOfLines","heroTitle","titleText","heroSubtitle","actionsRow","map","action","TouchableOpacity","key","activeOpacity","onPress","actionCircle","icon","actionLabel","adjustsFontSizeToFit","minimumFontScale","label","ProfileTopBar","onBack","menu","rise","topBar","paddingTop","topBarButtons","roundButton","hitSlop","bottom","left","right","BackIcon","topBarRight","collapsedTitle","collapsedAvatar","collapsedAvatarImage","collapsedInitials","collapsedText","collapsedName","collapsedSubtitle","create","width","justifyContent","position","overflow","alignItems","fontSize","fontWeight","marginBottom","undefined","paddingHorizontal","paddingBottom","flexDirection","gap","flexShrink","marginTop","minWidth","maxWidth","borderRadius","zIndex","marginLeft","flex"],"sourceRoot":"../../../../../src","sources":["components/Modals/ProfileHeader/ProfileHeader.tsx"],"mappings":"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","ignoreList":[]}