@ethora/chat-component-rn 26.7.5 → 26.7.7

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 (340) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +31 -8
  3. package/lib/commonjs/assets/icons.js +7 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/Header/HeaderRoomList.js +26 -7
  6. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatHeader.js +5 -2
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js +36 -14
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatWrapper.js +2 -0
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/MessageList.js +7 -23
  14. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  16. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/RoomList.js +208 -35
  18. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  19. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +317 -98
  20. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  21. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +320 -110
  22. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  23. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +552 -213
  24. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  25. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
  26. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  27. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  28. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  29. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  30. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  31. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +2 -1
  32. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  33. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -104
  34. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  35. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  36. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +556 -0
  38. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  39. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  40. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  41. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  42. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  43. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +7 -21
  44. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  45. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
  46. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  47. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
  48. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  49. package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
  50. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  51. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +17 -7
  52. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  53. package/lib/commonjs/components/styled/SendInput.js +80 -11
  54. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  55. package/lib/commonjs/components/styled/StyledComponents.js +9 -3
  56. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  57. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  58. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  59. package/lib/commonjs/context/xmppProvider.js +32 -39
  60. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  61. package/lib/commonjs/helpers/getChatBackground.js +23 -0
  62. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  63. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  64. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  65. package/lib/commonjs/helpers/pickImageAsset.js +68 -0
  66. package/lib/commonjs/helpers/pickImageAsset.js.map +1 -0
  67. package/lib/commonjs/helpers/pushPayload.js +71 -0
  68. package/lib/commonjs/helpers/pushPayload.js.map +1 -0
  69. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  70. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  71. package/lib/commonjs/helpers/updateMessagesTillLast.js +12 -40
  72. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  73. package/lib/commonjs/hooks/useChatRoomFocus.js +3 -9
  74. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  75. package/lib/commonjs/hooks/useLogout.js +0 -5
  76. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  77. package/lib/commonjs/hooks/usePendingNotification.js +8 -11
  78. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  79. package/lib/commonjs/hooks/useSendMessage.js +23 -50
  80. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  81. package/lib/commonjs/i18n/strings.js +121 -1
  82. package/lib/commonjs/i18n/strings.js.map +1 -1
  83. package/lib/commonjs/main.js +19 -0
  84. package/lib/commonjs/main.js.map +1 -1
  85. package/lib/commonjs/networking/api-requests/user.api.js +59 -0
  86. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  87. package/lib/commonjs/networking/authRefresh.js +12 -2
  88. package/lib/commonjs/networking/authRefresh.js.map +1 -1
  89. package/lib/commonjs/networking/outboundQueue.js +0 -18
  90. package/lib/commonjs/networking/outboundQueue.js.map +1 -1
  91. package/lib/commonjs/networking/stanzaHandlers.js +1 -10
  92. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  93. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  94. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  95. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  96. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  97. package/lib/commonjs/networking/xmppClient.js +62 -108
  98. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  99. package/lib/commonjs/roomStore/chatSettingsSlice.js +3 -1
  100. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  101. package/lib/commonjs/roomStore/roomsSlice.js +3 -22
  102. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  103. package/lib/commonjs/services/pushSubscriptionService.js +15 -13
  104. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  105. package/lib/module/assets/icons.js +6 -1
  106. package/lib/module/assets/icons.js.map +1 -1
  107. package/lib/module/components/Header/HeaderRoomList.js +26 -7
  108. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  109. package/lib/module/components/MainComponents/ChatHeader.js +5 -2
  110. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  111. package/lib/module/components/MainComponents/ChatRoom.js +36 -14
  112. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  113. package/lib/module/components/MainComponents/ChatWrapper.js +2 -0
  114. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  115. package/lib/module/components/MainComponents/MessageList.js +8 -24
  116. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  117. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  118. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  119. package/lib/module/components/MainComponents/RoomList.js +207 -35
  120. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  121. package/lib/module/components/Menu/HeaderRoomListMenu.js +319 -101
  122. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  123. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +311 -113
  124. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  125. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +555 -217
  126. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  127. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
  128. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  129. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  130. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  131. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  132. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  133. package/lib/module/components/Modals/NewChatModal/ModalContent.js +2 -1
  134. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  135. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -106
  136. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  137. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  138. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  139. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +548 -0
  140. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  141. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
  142. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  143. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  144. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  145. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +9 -23
  146. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  147. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
  148. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  149. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
  150. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  151. package/lib/module/components/Modals/styledModalComponents.js +9 -2
  152. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  153. package/lib/module/components/RoomComponents/ChatRoomItem.js +17 -7
  154. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  155. package/lib/module/components/styled/SendInput.js +81 -12
  156. package/lib/module/components/styled/SendInput.js.map +1 -1
  157. package/lib/module/components/styled/StyledComponents.js +9 -3
  158. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  159. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  160. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  161. package/lib/module/context/xmppProvider.js +32 -39
  162. package/lib/module/context/xmppProvider.js.map +1 -1
  163. package/lib/module/helpers/getChatBackground.js +18 -0
  164. package/lib/module/helpers/getChatBackground.js.map +1 -0
  165. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  166. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  167. package/lib/module/helpers/pickImageAsset.js +63 -0
  168. package/lib/module/helpers/pickImageAsset.js.map +1 -0
  169. package/lib/module/helpers/pushPayload.js +63 -0
  170. package/lib/module/helpers/pushPayload.js.map +1 -0
  171. package/lib/module/helpers/sheetGestures.js +26 -0
  172. package/lib/module/helpers/sheetGestures.js.map +1 -0
  173. package/lib/module/helpers/updateMessagesTillLast.js +13 -41
  174. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  175. package/lib/module/hooks/useChatRoomFocus.js +3 -9
  176. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  177. package/lib/module/hooks/useLogout.js +0 -5
  178. package/lib/module/hooks/useLogout.js.map +1 -1
  179. package/lib/module/hooks/usePendingNotification.js +8 -11
  180. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  181. package/lib/module/hooks/useSendMessage.js +24 -51
  182. package/lib/module/hooks/useSendMessage.js.map +1 -1
  183. package/lib/module/i18n/strings.js +121 -1
  184. package/lib/module/i18n/strings.js.map +1 -1
  185. package/lib/module/main.js +2 -1
  186. package/lib/module/main.js.map +1 -1
  187. package/lib/module/networking/api-requests/user.api.js +56 -0
  188. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  189. package/lib/module/networking/authRefresh.js +12 -2
  190. package/lib/module/networking/authRefresh.js.map +1 -1
  191. package/lib/module/networking/outboundQueue.js +0 -17
  192. package/lib/module/networking/outboundQueue.js.map +1 -1
  193. package/lib/module/networking/stanzaHandlers.js +1 -10
  194. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  195. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  196. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  197. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  198. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  199. package/lib/module/networking/xmppClient.js +62 -108
  200. package/lib/module/networking/xmppClient.js.map +1 -1
  201. package/lib/module/roomStore/chatSettingsSlice.js +3 -1
  202. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  203. package/lib/module/roomStore/roomsSlice.js +2 -20
  204. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  205. package/lib/module/services/pushSubscriptionService.js +15 -13
  206. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  207. package/lib/typescript/assets/icons.d.ts +16 -0
  208. package/lib/typescript/assets/icons.d.ts.map +1 -1
  209. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  210. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  211. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  212. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  213. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  214. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  215. package/lib/typescript/components/MainComponents/RoomList.d.ts +7 -0
  216. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  217. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
  218. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  219. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  220. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  221. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  222. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  223. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  224. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  225. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  226. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  227. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +4 -2
  228. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  229. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  230. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  231. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  232. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  233. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  234. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  235. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  236. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  237. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  238. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  239. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  240. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  241. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  242. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  243. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  244. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  245. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  246. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  247. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  248. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  249. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  250. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  251. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  252. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  253. package/lib/typescript/helpers/pickImageAsset.d.ts +27 -0
  254. package/lib/typescript/helpers/pickImageAsset.d.ts.map +1 -0
  255. package/lib/typescript/helpers/pushPayload.d.ts +7 -0
  256. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -0
  257. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  258. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  259. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  260. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  261. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  262. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  263. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  264. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  265. package/lib/typescript/main.d.ts +3 -1
  266. package/lib/typescript/main.d.ts.map +1 -1
  267. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  268. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  269. package/lib/typescript/networking/authRefresh.d.ts +4 -1
  270. package/lib/typescript/networking/authRefresh.d.ts.map +1 -1
  271. package/lib/typescript/networking/outboundQueue.d.ts +0 -16
  272. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -1
  273. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  274. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  275. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  276. package/lib/typescript/networking/xmppClient.d.ts +8 -33
  277. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  278. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  279. package/lib/typescript/roomStore/roomsSlice.d.ts +1 -18
  280. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  281. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
  282. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  283. package/lib/typescript/types/models/room.model.d.ts +0 -15
  284. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  285. package/lib/typescript/types/types.d.ts +31 -20
  286. package/lib/typescript/types/types.d.ts.map +1 -1
  287. package/package.json +6 -1
  288. package/src/assets/icons.tsx +48 -9
  289. package/src/components/Header/HeaderRoomList.tsx +24 -6
  290. package/src/components/MainComponents/ChatHeader.tsx +5 -2
  291. package/src/components/MainComponents/ChatRoom.tsx +38 -20
  292. package/src/components/MainComponents/ChatWrapper.tsx +3 -0
  293. package/src/components/MainComponents/MessageList.tsx +8 -24
  294. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +21 -14
  295. package/src/components/MainComponents/RoomList.tsx +236 -39
  296. package/src/components/Menu/HeaderRoomListMenu.tsx +328 -75
  297. package/src/components/Modals/AttachSheet/AttachSheet.tsx +331 -97
  298. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +598 -279
  299. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
  300. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +4 -2
  301. package/src/components/Modals/Modal/Modal.tsx +7 -0
  302. package/src/components/Modals/NewChatModal/ModalContent.tsx +6 -3
  303. package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -117
  304. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +12 -1
  305. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +615 -0
  306. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
  307. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
  308. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +9 -25
  309. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
  310. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
  311. package/src/components/Modals/styledModalComponents.tsx +9 -2
  312. package/src/components/RoomComponents/ChatRoomItem.tsx +14 -7
  313. package/src/components/styled/SendInput.tsx +83 -12
  314. package/src/components/styled/StyledComponents.ts +9 -3
  315. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
  316. package/src/context/xmppProvider.tsx +36 -47
  317. package/src/helpers/getChatBackground.ts +18 -0
  318. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  319. package/src/helpers/pickImageAsset.ts +68 -0
  320. package/src/helpers/pushPayload.ts +62 -0
  321. package/src/helpers/sheetGestures.ts +25 -0
  322. package/src/helpers/updateMessagesTillLast.tsx +17 -42
  323. package/src/hooks/useChatRoomFocus.ts +3 -11
  324. package/src/hooks/useLogout.tsx +0 -7
  325. package/src/hooks/usePendingNotification.ts +5 -11
  326. package/src/hooks/useSendMessage.tsx +24 -60
  327. package/src/i18n/strings.ts +121 -1
  328. package/src/main.ts +4 -1
  329. package/src/networking/api-requests/user.api.ts +71 -0
  330. package/src/networking/authRefresh.ts +25 -4
  331. package/src/networking/outboundQueue.ts +0 -29
  332. package/src/networking/stanzaHandlers.ts +1 -9
  333. package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
  334. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +12 -1
  335. package/src/networking/xmppClient.ts +65 -119
  336. package/src/roomStore/chatSettingsSlice.ts +3 -1
  337. package/src/roomStore/roomsSlice.ts +2 -20
  338. package/src/services/pushSubscriptionService.ts +18 -13
  339. package/src/types/models/room.model.ts +0 -15
  340. package/src/types/types.ts +33 -20
@@ -0,0 +1,556 @@
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
+ children: action.label
277
+ })]
278
+ }, action.key))
279
+ })]
280
+ })]
281
+ });
282
+ };
283
+
284
+ /**
285
+ * The bar pinned over the hero: back button and the "…" menu are always
286
+ * there, while the frosted picture, small avatar and name fade in as the
287
+ * hero scrolls away — the collapsed state from the design's third screen.
288
+ */
289
+ exports.ProfileHero = ProfileHero;
290
+ const ProfileTopBar = ({
291
+ title,
292
+ subtitle,
293
+ imageUri,
294
+ fallbackColor,
295
+ initials,
296
+ scrollY,
297
+ onBack,
298
+ menu,
299
+ titleStyle,
300
+ testIDPrefix = 'chat-profile'
301
+ }) => {
302
+ const {
303
+ insets,
304
+ barHeight,
305
+ collapseDistance
306
+ } = useHeaderMetrics();
307
+ const collapsed = useCollapse(scrollY, collapseDistance);
308
+ const rise = collapsed.interpolate({
309
+ inputRange: [0, 1],
310
+ outputRange: [10, 0]
311
+ });
312
+ const onPhoto = !!imageUri;
313
+ const contentColor = onPhoto ? '#FFFFFF' : (0, _getAvatarColor.getAvatarTextColor)(fallbackColor);
314
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
315
+ pointerEvents: "box-none",
316
+ style: [styles.topBar, {
317
+ height: barHeight,
318
+ paddingTop: insets.top
319
+ }],
320
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
321
+ pointerEvents: "none",
322
+ style: [_reactNative.StyleSheet.absoluteFill, {
323
+ backgroundColor: fallbackColor,
324
+ opacity: collapsed
325
+ }],
326
+ children: onPhoto && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
327
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
328
+ source: {
329
+ uri: imageUri
330
+ },
331
+ style: _reactNative.StyleSheet.absoluteFill,
332
+ resizeMode: "cover"
333
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FrostLayer, {})]
334
+ })
335
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
336
+ style: styles.topBarButtons,
337
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
338
+ testID: `${testIDPrefix}-back`,
339
+ activeOpacity: 0.7,
340
+ onPress: onBack,
341
+ style: styles.roundButton,
342
+ hitSlop: {
343
+ top: 8,
344
+ bottom: 8,
345
+ left: 8,
346
+ right: 8
347
+ },
348
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.BackIcon, {
349
+ color: "#FFFFFF"
350
+ })
351
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
352
+ style: styles.topBarRight,
353
+ children: menu
354
+ })]
355
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
356
+ testID: `${testIDPrefix}-collapsed-title`,
357
+ pointerEvents: "none",
358
+ style: [styles.collapsedTitle, {
359
+ opacity: collapsed,
360
+ transform: [{
361
+ translateY: rise
362
+ }]
363
+ }],
364
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
365
+ style: styles.collapsedAvatar,
366
+ children: onPhoto ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
367
+ source: {
368
+ uri: imageUri
369
+ },
370
+ style: styles.collapsedAvatarImage
371
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
372
+ style: [styles.collapsedAvatarImage, styles.initialsWrap, {
373
+ backgroundColor: fallbackColor
374
+ }],
375
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
376
+ style: [styles.collapsedInitials, {
377
+ color: contentColor
378
+ }],
379
+ children: initials
380
+ })
381
+ })
382
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
383
+ style: styles.collapsedText,
384
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
385
+ numberOfLines: 1,
386
+ style: [styles.collapsedName, titleStyle],
387
+ children: title
388
+ }), !!subtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
389
+ numberOfLines: 1,
390
+ style: styles.collapsedSubtitle,
391
+ children: subtitle
392
+ })]
393
+ })]
394
+ })]
395
+ });
396
+ };
397
+ exports.ProfileTopBar = ProfileTopBar;
398
+ const styles = _reactNative.StyleSheet.create({
399
+ hero: {
400
+ width: '100%',
401
+ height: HERO_HEIGHT,
402
+ justifyContent: 'flex-end'
403
+ },
404
+ // Reaches above the hero and clips its own contents, so the picture can
405
+ // grow up into the over-scroll band without spilling over the cards
406
+ // below when it parallaxes down.
407
+ backdropClip: {
408
+ position: 'absolute',
409
+ left: 0,
410
+ right: 0,
411
+ bottom: 0,
412
+ height: HERO_HEIGHT + OVERSCROLL_REACH,
413
+ overflow: 'hidden'
414
+ },
415
+ backdrop: {
416
+ position: 'absolute',
417
+ left: 0,
418
+ right: 0,
419
+ bottom: 0,
420
+ height: HERO_HEIGHT
421
+ },
422
+ initialsWrap: {
423
+ ..._reactNative.StyleSheet.absoluteFill,
424
+ alignItems: 'center',
425
+ justifyContent: 'center'
426
+ },
427
+ heroInitials: {
428
+ fontSize: 64,
429
+ fontWeight: '600',
430
+ // Sit in the upper half so the name below never collides with it.
431
+ marginBottom: 120
432
+ },
433
+ frostDim: {
434
+ backgroundColor: FROST_DIM
435
+ },
436
+ frostFallback: {
437
+ backgroundColor: 'rgba(0,0,0,0.35)'
438
+ },
439
+ // Only over a photo: keeps white text readable without tinting the flat
440
+ // fallback colour.
441
+ scrim: {
442
+ ..._reactNative.StyleSheet.absoluteFill,
443
+ top: undefined,
444
+ height: SCRIM_HEIGHT,
445
+ justifyContent: 'flex-end'
446
+ },
447
+ heroContent: {
448
+ paddingHorizontal: 20,
449
+ paddingBottom: 20
450
+ },
451
+ // The accessory (the profile's Leave button) is pushed to the far right;
452
+ // the name takes what is left of the row.
453
+ titleRow: {
454
+ flexDirection: 'row',
455
+ alignItems: 'center',
456
+ justifyContent: 'space-between',
457
+ gap: 12
458
+ },
459
+ titleText: {
460
+ flexShrink: 1
461
+ },
462
+ heroTitle: {
463
+ fontSize: 26,
464
+ fontWeight: '600'
465
+ },
466
+ heroSubtitle: {
467
+ fontSize: 14,
468
+ marginTop: 2
469
+ },
470
+ // Centred: Search / Leave / Report.
471
+ actionsRow: {
472
+ flexDirection: 'row',
473
+ justifyContent: 'center',
474
+ marginTop: 20,
475
+ gap: 16
476
+ },
477
+ action: {
478
+ alignItems: 'center',
479
+ width: 64
480
+ },
481
+ actionCircle: {
482
+ width: 56,
483
+ height: 56,
484
+ borderRadius: 28,
485
+ alignItems: 'center',
486
+ justifyContent: 'center'
487
+ },
488
+ actionLabel: {
489
+ fontSize: 12,
490
+ marginTop: 6
491
+ },
492
+ topBar: {
493
+ position: 'absolute',
494
+ top: 0,
495
+ left: 0,
496
+ right: 0,
497
+ zIndex: 10
498
+ },
499
+ topBarButtons: {
500
+ height: TOP_BAR_BUTTONS,
501
+ flexDirection: 'row',
502
+ alignItems: 'flex-end',
503
+ paddingBottom: 4,
504
+ // 20 = the collapsed row's 16pt inset + half the difference between
505
+ // the 48pt avatar and these 40pt buttons, so a button's centre line
506
+ // matches the avatar's once the header is collapsed.
507
+ paddingHorizontal: 20
508
+ },
509
+ roundButton: {
510
+ width: 40,
511
+ height: 40,
512
+ borderRadius: 20,
513
+ backgroundColor: 'rgba(0,0,0,0.28)',
514
+ alignItems: 'center',
515
+ justifyContent: 'center'
516
+ },
517
+ topBarRight: {
518
+ marginLeft: 'auto'
519
+ },
520
+ collapsedTitle: {
521
+ height: TOP_BAR_NAME,
522
+ flexDirection: 'row',
523
+ alignItems: 'center',
524
+ paddingHorizontal: 16,
525
+ gap: 12
526
+ },
527
+ collapsedAvatar: {
528
+ width: 48,
529
+ height: 48,
530
+ borderRadius: 24,
531
+ overflow: 'hidden',
532
+ backgroundColor: 'rgba(255,255,255,0.2)'
533
+ },
534
+ collapsedAvatarImage: {
535
+ width: '100%',
536
+ height: '100%'
537
+ },
538
+ collapsedInitials: {
539
+ fontSize: 18,
540
+ fontWeight: '600'
541
+ },
542
+ collapsedText: {
543
+ flex: 1
544
+ },
545
+ collapsedName: {
546
+ color: '#FFFFFF',
547
+ fontSize: 20,
548
+ fontWeight: '600'
549
+ },
550
+ collapsedSubtitle: {
551
+ color: 'rgba(255,255,255,0.8)',
552
+ fontSize: 13,
553
+ marginTop: 1
554
+ }
555
+ });
556
+ //# 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","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","borderRadius","zIndex","marginLeft","flex"],"sourceRoot":"../../../../../src","sources":["components/Modals/ProfileHeader/ProfileHeader.tsx"],"mappings":"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","ignoreList":[]}