@ethora/chat-component-rn 26.7.2 → 26.7.4

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 (263) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +9 -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 +20 -6
  6. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatRoom.js +86 -7
  8. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatWrapper.js +18 -0
  10. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/MessageList.js +11 -4
  12. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +5 -5
  14. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/RoomList.js +62 -32
  16. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  17. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +208 -70
  18. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  19. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +307 -99
  20. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  21. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +544 -200
  22. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  23. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
  24. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  25. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  26. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  27. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  28. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  29. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -104
  30. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  31. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +556 -0
  32. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  33. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  34. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  35. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  36. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
  38. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  39. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
  40. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  41. package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
  42. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  43. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +17 -7
  44. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  45. package/lib/commonjs/components/styled/SendInput.js +80 -1
  46. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  47. package/lib/commonjs/components/styled/StyledComponents.js +9 -3
  48. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  49. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  50. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  51. package/lib/commonjs/context/xmppProvider.js +12 -0
  52. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  53. package/lib/commonjs/helpers/getChatBackground.js +23 -0
  54. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  55. package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
  56. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  57. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  58. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  59. package/lib/commonjs/helpers/shallowEqual.js +36 -0
  60. package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
  61. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  62. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  63. package/lib/commonjs/hooks/useChatWrapperInit.js +15 -0
  64. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  65. package/lib/commonjs/hooks/useComposing.js +27 -0
  66. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  67. package/lib/commonjs/hooks/useSendMessage.js +27 -1
  68. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  69. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
  70. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  71. package/lib/commonjs/i18n/strings.js +121 -1
  72. package/lib/commonjs/i18n/strings.js.map +1 -1
  73. package/lib/commonjs/networking/api-requests/user.api.js +59 -0
  74. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  75. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
  76. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  77. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  78. package/lib/commonjs/roomStore/chatSettingsSlice.js +3 -1
  79. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  80. package/lib/commonjs/roomStore/roomsSlice.js +2 -2
  81. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  82. package/lib/module/assets/icons.js +6 -1
  83. package/lib/module/assets/icons.js.map +1 -1
  84. package/lib/module/components/Header/HeaderRoomList.js +20 -6
  85. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  86. package/lib/module/components/MainComponents/ChatRoom.js +87 -8
  87. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  88. package/lib/module/components/MainComponents/ChatWrapper.js +19 -1
  89. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  90. package/lib/module/components/MainComponents/MessageList.js +11 -4
  91. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  92. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +5 -5
  93. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  94. package/lib/module/components/MainComponents/RoomList.js +62 -32
  95. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  96. package/lib/module/components/Menu/HeaderRoomListMenu.js +211 -73
  97. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  98. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +298 -102
  99. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  100. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +547 -204
  101. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  102. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
  103. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  104. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  105. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  106. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  107. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  108. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -106
  109. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  110. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +548 -0
  111. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  112. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
  113. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  114. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  115. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  116. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
  117. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  118. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
  119. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  120. package/lib/module/components/Modals/styledModalComponents.js +9 -2
  121. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  122. package/lib/module/components/RoomComponents/ChatRoomItem.js +17 -7
  123. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  124. package/lib/module/components/styled/SendInput.js +80 -1
  125. package/lib/module/components/styled/SendInput.js.map +1 -1
  126. package/lib/module/components/styled/StyledComponents.js +9 -3
  127. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  128. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  129. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  130. package/lib/module/context/xmppProvider.js +12 -0
  131. package/lib/module/context/xmppProvider.js.map +1 -1
  132. package/lib/module/helpers/getChatBackground.js +18 -0
  133. package/lib/module/helpers/getChatBackground.js.map +1 -0
  134. package/lib/module/helpers/historyPreloadScheduler.js +66 -3
  135. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  136. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  137. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  138. package/lib/module/helpers/shallowEqual.js +31 -0
  139. package/lib/module/helpers/shallowEqual.js.map +1 -0
  140. package/lib/module/helpers/sheetGestures.js +26 -0
  141. package/lib/module/helpers/sheetGestures.js.map +1 -0
  142. package/lib/module/hooks/useChatWrapperInit.js +15 -0
  143. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  144. package/lib/module/hooks/useComposing.js +28 -1
  145. package/lib/module/hooks/useComposing.js.map +1 -1
  146. package/lib/module/hooks/useSendMessage.js +28 -2
  147. package/lib/module/hooks/useSendMessage.js.map +1 -1
  148. package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
  149. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  150. package/lib/module/i18n/strings.js +121 -1
  151. package/lib/module/i18n/strings.js.map +1 -1
  152. package/lib/module/networking/api-requests/user.api.js +56 -0
  153. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  154. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
  155. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  156. package/lib/module/networking/xmppClient.js.map +1 -1
  157. package/lib/module/roomStore/chatSettingsSlice.js +3 -1
  158. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  159. package/lib/module/roomStore/roomsSlice.js +1 -1
  160. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  161. package/lib/typescript/assets/icons.d.ts +12 -0
  162. package/lib/typescript/assets/icons.d.ts.map +1 -1
  163. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  164. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  165. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  166. package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
  167. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  168. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  169. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  170. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  171. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  172. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  173. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  174. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  175. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  176. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  177. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  178. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  179. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  180. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  181. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  182. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  183. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  184. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  185. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  186. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  187. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  188. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  189. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  190. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  191. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  192. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  193. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  194. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  195. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  196. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  197. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  198. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  199. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  200. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  201. package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
  202. package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
  203. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  204. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  205. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  206. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  207. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  208. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  209. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  210. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  211. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  212. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  213. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -0
  214. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  215. package/lib/typescript/networking/xmppClient.d.ts +1 -0
  216. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  217. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  218. package/lib/typescript/roomStore/roomsSlice.d.ts +1 -0
  219. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  220. package/lib/typescript/types/types.d.ts +9 -5
  221. package/lib/typescript/types/types.d.ts.map +1 -1
  222. package/package.json +6 -1
  223. package/src/assets/icons.tsx +29 -9
  224. package/src/components/Header/HeaderRoomList.tsx +20 -5
  225. package/src/components/MainComponents/ChatRoom.tsx +92 -8
  226. package/src/components/MainComponents/ChatWrapper.tsx +19 -1
  227. package/src/components/MainComponents/MessageList.tsx +21 -3
  228. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +5 -5
  229. package/src/components/MainComponents/RoomList.tsx +65 -34
  230. package/src/components/Menu/HeaderRoomListMenu.tsx +209 -64
  231. package/src/components/Modals/AttachSheet/AttachSheet.tsx +318 -86
  232. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +599 -278
  233. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
  234. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +4 -2
  235. package/src/components/Modals/Modal/Modal.tsx +7 -0
  236. package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -117
  237. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +615 -0
  238. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
  239. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
  240. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
  241. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
  242. package/src/components/Modals/styledModalComponents.tsx +9 -2
  243. package/src/components/RoomComponents/ChatRoomItem.tsx +14 -7
  244. package/src/components/styled/SendInput.tsx +83 -2
  245. package/src/components/styled/StyledComponents.ts +9 -3
  246. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
  247. package/src/context/xmppProvider.tsx +14 -0
  248. package/src/helpers/getChatBackground.ts +18 -0
  249. package/src/helpers/historyPreloadScheduler.ts +80 -3
  250. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  251. package/src/helpers/shallowEqual.ts +33 -0
  252. package/src/helpers/sheetGestures.ts +25 -0
  253. package/src/hooks/useChatWrapperInit.ts +15 -0
  254. package/src/hooks/useComposing.tsx +37 -1
  255. package/src/hooks/useSendMessage.tsx +32 -2
  256. package/src/hooks/useUnreadMessagesCounter.ts +11 -0
  257. package/src/i18n/strings.ts +121 -1
  258. package/src/networking/api-requests/user.api.ts +71 -0
  259. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +17 -3
  260. package/src/networking/xmppClient.ts +5 -1
  261. package/src/roomStore/chatSettingsSlice.ts +3 -1
  262. package/src/roomStore/roomsSlice.ts +1 -1
  263. package/src/types/types.ts +16 -5
@@ -2,22 +2,68 @@
2
2
 
3
3
  /** @format */
4
4
 
5
- import React, { useEffect, useRef, useState } from 'react';
6
- import { Animated, Easing, Modal, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
7
- import { CameraIcon, DocumentIcon, MediaIcon } from '../../../assets/icons';
5
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
6
+ import { ActivityIndicator, Animated, Easing, Image, Modal, PanResponder, Platform, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
7
+ import { CameraIcon, DocumentIcon } from '../../../assets/icons';
8
8
  import { useChatSettingState } from '../../../hooks/useChatSettingState';
9
9
  import { chatTextStyle } from '../../../helpers/typography';
10
+ import { getMediaLibrary } from '../../../helpers/mediaLibraryRuntime';
11
+ import { shouldClaimVerticalDrag, shouldDismissOnDrag } from '../../../helpers/sheetGestures';
10
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
13
  // Starting translateY for the sheet. Larger than any realistic sheet
12
14
  // height so it sits fully below the viewport before opening; the exact
13
15
  // number doesn't matter visually because it animates to 0.
14
- const SHEET_OFFSCREEN = 600;
16
+ const SHEET_OFFSCREEN = 800;
17
+ // Re-exported so this sheet's own tests keep addressing them here.
18
+ export { shouldClaimVerticalDrag, shouldDismissOnDrag };
19
+ const RECENTS_COUNT = 12;
20
+ const THUMB_SIZE = 88;
21
+ const THUMB_DECODE = THUMB_SIZE * 2;
22
+ const EXT_MIME = {
23
+ jpg: 'image/jpeg',
24
+ jpeg: 'image/jpeg',
25
+ png: 'image/png',
26
+ gif: 'image/gif',
27
+ webp: 'image/webp',
28
+ heic: 'image/heic',
29
+ heif: 'image/heif'
30
+ };
31
+ const guessMimeType = name => {
32
+ const ext = name.split('.').pop()?.toLowerCase() ?? '';
33
+ return EXT_MIME[ext] ?? 'image/jpeg';
34
+ };
35
+ const toRecentItem = async (MediaLibrary, asset) => {
36
+ const filename = asset?.filename || `photo_${asset?.id ?? Date.now()}`;
37
+ if (asset?.uri && !asset.uri.startsWith('ph://')) {
38
+ return {
39
+ id: asset.id,
40
+ uri: asset.uri,
41
+ filename
42
+ };
43
+ }
44
+ try {
45
+ const info = await MediaLibrary?.getAssetInfoAsync?.(asset, {
46
+ shouldDownloadFromNetwork: false
47
+ });
48
+ if (!info?.localUri) {
49
+ return null;
50
+ }
51
+ return {
52
+ id: asset.id,
53
+ uri: info.localUri,
54
+ filename
55
+ };
56
+ } catch {
57
+ return null;
58
+ }
59
+ };
15
60
  const AttachSheet = ({
16
61
  visible,
17
62
  onClose,
18
63
  onCamera,
19
64
  onGallery,
20
65
  onDocument,
66
+ onPickMedia,
21
67
  primaryColor = '#0052CD'
22
68
  }) => {
23
69
  const {
@@ -26,7 +72,6 @@ const AttachSheet = ({
26
72
  const ts = config?.typography?.attachSheet;
27
73
  const pendingRef = useRef(null);
28
74
  const runPending = () => {
29
- console.log('[timing] runPending', Date.now());
30
75
  const fn = pendingRef.current;
31
76
  pendingRef.current = null;
32
77
  fn?.();
@@ -46,6 +91,8 @@ const AttachSheet = ({
46
91
  // bottom-sheet feel.
47
92
  const backdropOpacity = useRef(new Animated.Value(0)).current;
48
93
  const sheetTranslateY = useRef(new Animated.Value(SHEET_OFFSCREEN)).current;
94
+ const onCloseRef = useRef(onClose);
95
+ onCloseRef.current = onClose;
49
96
  useEffect(() => {
50
97
  if (visible) {
51
98
  setMounted(true);
@@ -101,27 +148,113 @@ const AttachSheet = ({
101
148
  return undefined;
102
149
  }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
103
150
 
151
+ const makeDragResponder = claimOnStart => PanResponder.create({
152
+ onStartShouldSetPanResponder: () => claimOnStart,
153
+ // Capture, so a pull that starts on a row (whose Touchable grabbed
154
+ // the responder on touch-down) still drags the sheet.
155
+ onMoveShouldSetPanResponderCapture: (_evt, g) => claimOnStart || shouldClaimVerticalDrag(g.dy, g.dx),
156
+ onMoveShouldSetPanResponder: (_evt, g) => claimOnStart || shouldClaimVerticalDrag(g.dy, g.dx),
157
+ onPanResponderTerminationRequest: () => false,
158
+ onPanResponderMove: (_evt, g) => {
159
+ sheetTranslateY.setValue(Math.max(0, g.dy));
160
+ },
161
+ onPanResponderRelease: (_evt, g) => {
162
+ if (shouldDismissOnDrag(g.dy, g.vy)) {
163
+ onCloseRef.current();
164
+ return;
165
+ }
166
+ Animated.spring(sheetTranslateY, {
167
+ toValue: 0,
168
+ tension: 90,
169
+ friction: 14,
170
+ useNativeDriver: true
171
+ }).start();
172
+ },
173
+ onPanResponderTerminate: () => {
174
+ Animated.spring(sheetTranslateY, {
175
+ toValue: 0,
176
+ tension: 90,
177
+ friction: 14,
178
+ useNativeDriver: true
179
+ }).start();
180
+ }
181
+ });
182
+ const sheetPanRef = useRef(null);
183
+ const grabberPanRef = useRef(null);
184
+ if (!sheetPanRef.current) {
185
+ sheetPanRef.current = makeDragResponder(false);
186
+ }
187
+ if (!grabberPanRef.current) {
188
+ grabberPanRef.current = makeDragResponder(true);
189
+ }
190
+ const sheetPan = sheetPanRef.current;
191
+ const grabberPan = grabberPanRef.current;
192
+ const [recents, setRecents] = useState([]);
193
+ const [loadingRecents, setLoadingRecents] = useState(false);
194
+ const lastLoadRef = useRef(0);
195
+ const RECENTS_TTL_MS = 15000;
196
+ const loadRecents = useCallback(async () => {
197
+ const MediaLibrary = getMediaLibrary();
198
+ if (!MediaLibrary?.getAssetsAsync) {
199
+ setLoadingRecents(false);
200
+ return;
201
+ }
202
+ try {
203
+ const perm = await MediaLibrary.getPermissionsAsync();
204
+ if (!perm?.granted) {
205
+ setRecents([]);
206
+ return;
207
+ }
208
+ const page = await MediaLibrary.getAssetsAsync({
209
+ first: RECENTS_COUNT,
210
+ sortBy: [MediaLibrary.SortBy?.creationTime ?? 'creationTime'],
211
+ mediaType: [MediaLibrary.MediaType?.photo ?? 'photo']
212
+ });
213
+ const items = await Promise.all((page?.assets ?? []).map(asset => toRecentItem(MediaLibrary, asset)));
214
+ lastLoadRef.current = Date.now();
215
+ setRecents(items.filter(Boolean));
216
+ } catch (err) {
217
+ console.warn('AttachSheet: could not read recent media', err);
218
+ setRecents([]);
219
+ } finally {
220
+ setLoadingRecents(false);
221
+ }
222
+ }, []);
223
+ useEffect(() => {
224
+ if (!visible) {
225
+ return undefined;
226
+ }
227
+ if (recents.length && Date.now() - lastLoadRef.current < RECENTS_TTL_MS) {
228
+ return undefined;
229
+ }
230
+ setLoadingRecents(true);
231
+ const timer = setTimeout(() => {
232
+ loadRecents();
233
+ }, 250);
234
+ return () => clearTimeout(timer);
235
+ }, [visible]);
104
236
  const trigger = handler => () => {
105
- console.log('[timing] row tap', Date.now());
106
237
  pendingRef.current = handler;
107
238
  if (Platform.OS === 'ios') {
108
239
  setMounted(false);
109
240
  }
110
241
  onClose();
111
242
  };
243
+ const handleRecentPress = item => trigger(() => {
244
+ if (onPickMedia) {
245
+ onPickMedia({
246
+ uri: item.uri,
247
+ name: item.filename,
248
+ mimeType: guessMimeType(item.filename),
249
+ isVideo: false
250
+ });
251
+ } else {
252
+ onGallery();
253
+ }
254
+ });
112
255
  const rows = [{
113
- label: 'Take photo',
114
- hint: 'Capture with the camera',
115
- Icon: CameraIcon,
116
- handler: onCamera
117
- }, {
118
- label: 'Photo or video',
119
- hint: 'Pick from your library',
120
- Icon: MediaIcon,
121
- handler: onGallery
122
- }, {
123
- label: 'Document',
124
- hint: 'Choose a file',
256
+ id: 'Document',
257
+ label: 'Upload a File',
125
258
  Icon: DocumentIcon,
126
259
  handler: onDocument
127
260
  }];
@@ -147,58 +280,103 @@ const AttachSheet = ({
147
280
  style: StyleSheet.absoluteFill,
148
281
  activeOpacity: 1,
149
282
  onPress: onClose
150
- }), /*#__PURE__*/_jsx(Animated.View, {
283
+ }), /*#__PURE__*/_jsxs(Animated.View, {
151
284
  style: [styles.sheet, {
152
285
  transform: [{
153
286
  translateY: sheetTranslateY
154
287
  }]
155
288
  }],
156
- children: /*#__PURE__*/_jsxs(TouchableOpacity, {
157
- activeOpacity: 1,
158
- children: [/*#__PURE__*/_jsx(View, {
289
+ ...sheetPan.panHandlers,
290
+ children: [/*#__PURE__*/_jsx(View, {
291
+ testID: "attach-grabber",
292
+ style: styles.grabberArea,
293
+ ...grabberPan.panHandlers,
294
+ children: /*#__PURE__*/_jsx(View, {
159
295
  style: styles.grabber
160
- }), /*#__PURE__*/_jsx(Text, {
161
- style: [styles.title, chatTextStyle(ts?.title)],
162
- children: "Attach"
163
- }), rows.map(({
164
- label,
165
- hint,
166
- Icon,
167
- handler
168
- }, idx) => /*#__PURE__*/_jsxs(TouchableOpacity, {
169
- testID: `attach-row-${label}`,
170
- activeOpacity: 0.6,
171
- style: [styles.row, idx < rows.length - 1 && styles.rowDivider],
172
- onPress: trigger(handler),
173
- children: [/*#__PURE__*/_jsx(View, {
174
- style: [styles.iconBubble, {
175
- backgroundColor: primaryColor + '14'
176
- }],
177
- children: /*#__PURE__*/_jsx(Icon, {
178
- color: primaryColor,
179
- width: 20,
180
- height: 20
181
- })
182
- }), /*#__PURE__*/_jsxs(View, {
183
- style: styles.rowText,
184
- children: [/*#__PURE__*/_jsx(Text, {
185
- style: [styles.rowLabel, chatTextStyle(ts?.rowLabel)],
186
- children: label
187
- }), /*#__PURE__*/_jsx(Text, {
188
- style: [styles.rowHint, chatTextStyle(ts?.rowHint)],
189
- children: hint
190
- })]
191
- })]
192
- }, label)), /*#__PURE__*/_jsx(TouchableOpacity, {
296
+ })
297
+ }), /*#__PURE__*/_jsxs(View, {
298
+ style: styles.sectionHeader,
299
+ children: [/*#__PURE__*/_jsx(Text, {
300
+ style: [styles.sectionTitle, chatTextStyle(ts?.title)],
301
+ children: "Photos & Videos"
302
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
303
+ testID: "attach-view-library",
193
304
  activeOpacity: 0.6,
194
- style: styles.cancelRow,
195
- onPress: onClose,
305
+ onPress: trigger(onGallery),
306
+ hitSlop: {
307
+ top: 8,
308
+ bottom: 8,
309
+ left: 8,
310
+ right: 8
311
+ },
196
312
  children: /*#__PURE__*/_jsx(Text, {
197
- style: [styles.cancelLabel, chatTextStyle(ts?.cancelButton)],
198
- children: "Cancel"
313
+ style: [styles.sectionAction, {
314
+ color: primaryColor
315
+ }, chatTextStyle(ts?.viewLibrary)],
316
+ children: "View Library"
199
317
  })
200
318
  })]
201
- })
319
+ }), /*#__PURE__*/_jsxs(ScrollView, {
320
+ horizontal: true,
321
+ showsHorizontalScrollIndicator: false,
322
+ contentContainerStyle: styles.strip,
323
+ keyboardShouldPersistTaps: "handled",
324
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
325
+ testID: "attach-row-Camera",
326
+ activeOpacity: 0.7,
327
+ style: styles.cameraTile,
328
+ onPress: trigger(onCamera),
329
+ children: /*#__PURE__*/_jsx(CameraIcon, {
330
+ color: "#8A8A8E",
331
+ width: 26,
332
+ height: 26
333
+ })
334
+ }), loadingRecents && recents.length === 0 && /*#__PURE__*/_jsx(View, {
335
+ style: styles.loadingTile,
336
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
337
+ color: "#8A8A8E"
338
+ })
339
+ }), recents.map(item => /*#__PURE__*/_jsx(TouchableOpacity, {
340
+ testID: `attach-recent-${item.id}`,
341
+ activeOpacity: 0.8,
342
+ style: styles.thumbWrap,
343
+ onPress: handleRecentPress(item),
344
+ children: /*#__PURE__*/_jsx(Image, {
345
+ source: {
346
+ uri: item.uri,
347
+ width: THUMB_DECODE,
348
+ height: THUMB_DECODE
349
+ },
350
+ style: styles.thumb,
351
+ resizeMethod: "resize",
352
+ resizeMode: "cover",
353
+ fadeDuration: 0
354
+ })
355
+ }, item.id))]
356
+ }), /*#__PURE__*/_jsx(View, {
357
+ style: styles.rowsDivider
358
+ }), rows.map(({
359
+ id,
360
+ label,
361
+ Icon,
362
+ handler
363
+ }) => /*#__PURE__*/_jsxs(TouchableOpacity, {
364
+ testID: `attach-row-${id}`,
365
+ activeOpacity: 0.6,
366
+ style: styles.row,
367
+ onPress: trigger(handler),
368
+ children: [/*#__PURE__*/_jsx(View, {
369
+ style: styles.rowIcon,
370
+ children: /*#__PURE__*/_jsx(Icon, {
371
+ color: "#1C1C1E",
372
+ width: 20,
373
+ height: 20
374
+ })
375
+ }), /*#__PURE__*/_jsx(Text, {
376
+ style: [styles.rowLabel, chatTextStyle(ts?.rowLabel)],
377
+ children: label
378
+ })]
379
+ }, id))]
202
380
  })]
203
381
  })
204
382
  });
@@ -213,7 +391,7 @@ const styles = StyleSheet.create({
213
391
  backgroundColor: '#fff',
214
392
  borderTopLeftRadius: 24,
215
393
  borderTopRightRadius: 24,
216
- paddingTop: 8,
394
+ paddingTop: 4,
217
395
  paddingBottom: Platform.OS === 'ios' ? 32 : 20,
218
396
  shadowColor: '#000',
219
397
  shadowOffset: {
@@ -224,65 +402,83 @@ const styles = StyleSheet.create({
224
402
  shadowRadius: 12,
225
403
  elevation: 16
226
404
  },
405
+ grabberArea: {
406
+ alignItems: 'center',
407
+ paddingTop: 10,
408
+ paddingBottom: 14
409
+ },
227
410
  grabber: {
228
- alignSelf: 'center',
229
411
  width: 40,
230
412
  height: 4,
231
413
  borderRadius: 2,
232
- backgroundColor: '#D9D9DE',
233
- marginBottom: 12
234
- },
235
- title: {
236
- fontSize: 13,
237
- fontWeight: '600',
238
- color: '#8A8A8E',
239
- letterSpacing: 0.4,
240
- textTransform: 'uppercase',
241
- paddingHorizontal: 20,
242
- paddingBottom: 8
414
+ backgroundColor: '#D9D9DE'
243
415
  },
244
- row: {
416
+ sectionHeader: {
245
417
  flexDirection: 'row',
246
418
  alignItems: 'center',
419
+ justifyContent: 'space-between',
247
420
  paddingHorizontal: 20,
248
- paddingVertical: 14
421
+ paddingBottom: 12
249
422
  },
250
- rowDivider: {
251
- borderBottomWidth: StyleSheet.hairlineWidth,
252
- borderBottomColor: '#EFEFF2'
423
+ sectionTitle: {
424
+ fontSize: 17,
425
+ fontWeight: '700',
426
+ color: '#1C1C1E'
253
427
  },
254
- iconBubble: {
255
- width: 40,
256
- height: 40,
257
- borderRadius: 20,
428
+ sectionAction: {
429
+ fontSize: 15,
430
+ fontWeight: '500'
431
+ },
432
+ strip: {
433
+ paddingHorizontal: 16,
434
+ paddingBottom: 16,
435
+ gap: 8
436
+ },
437
+ cameraTile: {
438
+ width: THUMB_SIZE,
439
+ height: THUMB_SIZE,
440
+ borderRadius: 16,
441
+ borderWidth: 1,
442
+ borderColor: '#E4E4E9',
443
+ backgroundColor: '#FAFAFC',
258
444
  alignItems: 'center',
259
- justifyContent: 'center',
260
- marginRight: 14
445
+ justifyContent: 'center'
261
446
  },
262
- rowText: {
263
- flex: 1
447
+ loadingTile: {
448
+ width: THUMB_SIZE,
449
+ height: THUMB_SIZE,
450
+ alignItems: 'center',
451
+ justifyContent: 'center'
264
452
  },
265
- rowLabel: {
266
- fontSize: 16,
267
- fontWeight: '500',
268
- color: '#1C1C1E'
453
+ thumbWrap: {
454
+ width: THUMB_SIZE,
455
+ height: THUMB_SIZE,
456
+ borderRadius: 16,
457
+ overflow: 'hidden',
458
+ backgroundColor: '#EFEFF2'
459
+ },
460
+ thumb: {
461
+ width: '100%',
462
+ height: '100%'
269
463
  },
270
- rowHint: {
271
- fontSize: 12,
272
- color: '#8A8A8E',
273
- marginTop: 2
464
+ rowsDivider: {
465
+ height: StyleSheet.hairlineWidth,
466
+ backgroundColor: '#EFEFF2'
274
467
  },
275
- cancelRow: {
276
- marginTop: 8,
277
- marginHorizontal: 16,
278
- paddingVertical: 14,
279
- borderRadius: 14,
468
+ row: {
469
+ flexDirection: 'row',
280
470
  alignItems: 'center',
281
- backgroundColor: '#F2F2F7'
471
+ paddingHorizontal: 20,
472
+ paddingVertical: 16
282
473
  },
283
- cancelLabel: {
474
+ rowIcon: {
475
+ width: 28,
476
+ alignItems: 'center',
477
+ marginRight: 12
478
+ },
479
+ rowLabel: {
284
480
  fontSize: 16,
285
- fontWeight: '600',
481
+ fontWeight: '500',
286
482
  color: '#1C1C1E'
287
483
  }
288
484
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","Animated","Easing","Modal","Platform","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","MediaIcon","useChatSettingState","chatTextStyle","jsx","_jsx","jsxs","_jsxs","SHEET_OFFSCREEN","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","config","ts","typography","attachSheet","pendingRef","runPending","console","log","Date","now","fn","current","mounted","setMounted","backdropOpacity","Value","sheetTranslateY","setValue","raf","requestAnimationFrame","parallel","timing","toValue","duration","easing","out","cubic","useNativeDriver","spring","tension","friction","start","cancelAnimationFrame","in","finished","OS","undefined","trigger","handler","rows","label","hint","Icon","transparent","animationType","onRequestClose","onDismiss","children","style","styles","backdrop","opacity","testID","absoluteFill","activeOpacity","onPress","sheet","transform","translateY","grabber","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","cancelButton","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginBottom","fontSize","fontWeight","letterSpacing","textTransform","paddingHorizontal","flexDirection","alignItems","paddingVertical","borderBottomWidth","hairlineWidth","borderBottomColor","marginRight","marginTop","marginHorizontal"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","useState","ActivityIndicator","Animated","Easing","Image","Modal","PanResponder","Platform","ScrollView","StyleSheet","Text","TouchableOpacity","View","CameraIcon","DocumentIcon","useChatSettingState","chatTextStyle","getMediaLibrary","shouldClaimVerticalDrag","shouldDismissOnDrag","jsx","_jsx","jsxs","_jsxs","SHEET_OFFSCREEN","RECENTS_COUNT","THUMB_SIZE","THUMB_DECODE","EXT_MIME","jpg","jpeg","png","gif","webp","heic","heif","guessMimeType","name","ext","split","pop","toLowerCase","toRecentItem","MediaLibrary","asset","filename","id","Date","now","uri","startsWith","info","getAssetInfoAsync","shouldDownloadFromNetwork","localUri","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","onPickMedia","primaryColor","config","ts","typography","attachSheet","pendingRef","runPending","fn","current","mounted","setMounted","backdropOpacity","Value","sheetTranslateY","onCloseRef","setValue","raf","requestAnimationFrame","parallel","timing","toValue","duration","easing","out","cubic","useNativeDriver","spring","tension","friction","start","cancelAnimationFrame","in","finished","OS","undefined","makeDragResponder","claimOnStart","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponderCapture","_evt","g","dy","dx","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderMove","Math","max","onPanResponderRelease","vy","onPanResponderTerminate","sheetPanRef","grabberPanRef","sheetPan","grabberPan","recents","setRecents","loadingRecents","setLoadingRecents","lastLoadRef","RECENTS_TTL_MS","loadRecents","getAssetsAsync","perm","getPermissionsAsync","granted","page","first","sortBy","SortBy","creationTime","mediaType","MediaType","photo","items","Promise","all","assets","map","filter","Boolean","err","console","warn","length","timer","setTimeout","clearTimeout","trigger","handler","handleRecentPress","item","mimeType","isVideo","rows","label","Icon","transparent","animationType","onRequestClose","onDismiss","children","style","styles","backdrop","opacity","testID","absoluteFill","activeOpacity","onPress","sheet","transform","translateY","panHandlers","grabberArea","grabber","sectionHeader","sectionTitle","title","hitSlop","top","bottom","left","right","sectionAction","color","viewLibrary","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","strip","keyboardShouldPersistTaps","cameraTile","width","height","loadingTile","thumbWrap","source","thumb","resizeMethod","resizeMode","fadeDuration","rowsDivider","row","rowIcon","rowLabel","flex","backgroundColor","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignItems","borderRadius","flexDirection","paddingHorizontal","fontSize","fontWeight","gap","borderWidth","borderColor","overflow","hairlineWidth","paddingVertical","marginRight"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}