@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.
- package/CHANGELOG.md +45 -0
- package/README.md +9 -8
- package/lib/commonjs/assets/icons.js +7 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js +20 -6
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +86 -7
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +18 -0
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +11 -4
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +5 -5
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +62 -32
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +208 -70
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +307 -99
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +544 -200
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -104
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +556 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +17 -7
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +80 -1
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +9 -3
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +12 -0
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/getChatBackground.js +23 -0
- package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
- package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
- package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
- package/lib/commonjs/helpers/shallowEqual.js +36 -0
- package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
- package/lib/commonjs/helpers/sheetGestures.js +32 -0
- package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js +15 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useComposing.js +27 -0
- package/lib/commonjs/hooks/useComposing.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +27 -1
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +121 -1
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/networking/api-requests/user.api.js +59 -0
- package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js +3 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +2 -2
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/assets/icons.js +6 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +20 -6
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +87 -8
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +19 -1
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +11 -4
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +5 -5
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +62 -32
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +211 -73
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +298 -102
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +547 -204
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +9 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -106
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +548 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +9 -2
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +17 -7
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +80 -1
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +9 -3
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/context/xmppProvider.js +12 -0
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/getChatBackground.js +18 -0
- package/lib/module/helpers/getChatBackground.js.map +1 -0
- package/lib/module/helpers/historyPreloadScheduler.js +66 -3
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
- package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
- package/lib/module/helpers/shallowEqual.js +31 -0
- package/lib/module/helpers/shallowEqual.js.map +1 -0
- package/lib/module/helpers/sheetGestures.js +26 -0
- package/lib/module/helpers/sheetGestures.js.map +1 -0
- package/lib/module/hooks/useChatWrapperInit.js +15 -0
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useComposing.js +28 -1
- package/lib/module/hooks/useComposing.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +28 -2
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/i18n/strings.js +121 -1
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/networking/api-requests/user.api.js +56 -0
- package/lib/module/networking/api-requests/user.api.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/chatSettingsSlice.js +3 -1
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +1 -1
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +12 -0
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
- package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
- package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
- package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
- package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
- package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
- package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -0
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +1 -0
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +1 -0
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +9 -5
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/assets/icons.tsx +29 -9
- package/src/components/Header/HeaderRoomList.tsx +20 -5
- package/src/components/MainComponents/ChatRoom.tsx +92 -8
- package/src/components/MainComponents/ChatWrapper.tsx +19 -1
- package/src/components/MainComponents/MessageList.tsx +21 -3
- package/src/components/MainComponents/ProfileImagePlaceholder.tsx +5 -5
- package/src/components/MainComponents/RoomList.tsx +65 -34
- package/src/components/Menu/HeaderRoomListMenu.tsx +209 -64
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +318 -86
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +599 -278
- package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +4 -2
- package/src/components/Modals/Modal/Modal.tsx +7 -0
- package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -117
- package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +615 -0
- package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
- package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
- package/src/components/Modals/styledModalComponents.tsx +9 -2
- package/src/components/RoomComponents/ChatRoomItem.tsx +14 -7
- package/src/components/styled/SendInput.tsx +83 -2
- package/src/components/styled/StyledComponents.ts +9 -3
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
- package/src/context/xmppProvider.tsx +14 -0
- package/src/helpers/getChatBackground.ts +18 -0
- package/src/helpers/historyPreloadScheduler.ts +80 -3
- package/src/helpers/mediaLibraryRuntime.ts +25 -0
- package/src/helpers/shallowEqual.ts +33 -0
- package/src/helpers/sheetGestures.ts +25 -0
- package/src/hooks/useChatWrapperInit.ts +15 -0
- package/src/hooks/useComposing.tsx +37 -1
- package/src/hooks/useSendMessage.tsx +32 -2
- package/src/hooks/useUnreadMessagesCounter.ts +11 -0
- package/src/i18n/strings.ts +121 -1
- package/src/networking/api-requests/user.api.ts +71 -0
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +17 -3
- package/src/networking/xmppClient.ts +5 -1
- package/src/roomStore/chatSettingsSlice.ts +3 -1
- package/src/roomStore/roomsSlice.ts +1 -1
- 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
|
|
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 =
|
|
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
|
-
|
|
114
|
-
|
|
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__*/
|
|
283
|
+
}), /*#__PURE__*/_jsxs(Animated.View, {
|
|
151
284
|
style: [styles.sheet, {
|
|
152
285
|
transform: [{
|
|
153
286
|
translateY: sheetTranslateY
|
|
154
287
|
}]
|
|
155
288
|
}],
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
-
})
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
-
|
|
195
|
-
|
|
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.
|
|
198
|
-
|
|
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:
|
|
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
|
-
|
|
416
|
+
sectionHeader: {
|
|
245
417
|
flexDirection: 'row',
|
|
246
418
|
alignItems: 'center',
|
|
419
|
+
justifyContent: 'space-between',
|
|
247
420
|
paddingHorizontal: 20,
|
|
248
|
-
|
|
421
|
+
paddingBottom: 12
|
|
249
422
|
},
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
423
|
+
sectionTitle: {
|
|
424
|
+
fontSize: 17,
|
|
425
|
+
fontWeight: '700',
|
|
426
|
+
color: '#1C1C1E'
|
|
253
427
|
},
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
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
|
-
|
|
263
|
-
|
|
447
|
+
loadingTile: {
|
|
448
|
+
width: THUMB_SIZE,
|
|
449
|
+
height: THUMB_SIZE,
|
|
450
|
+
alignItems: 'center',
|
|
451
|
+
justifyContent: 'center'
|
|
264
452
|
},
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
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
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
marginTop: 2
|
|
464
|
+
rowsDivider: {
|
|
465
|
+
height: StyleSheet.hairlineWidth,
|
|
466
|
+
backgroundColor: '#EFEFF2'
|
|
274
467
|
},
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
marginHorizontal: 16,
|
|
278
|
-
paddingVertical: 14,
|
|
279
|
-
borderRadius: 14,
|
|
468
|
+
row: {
|
|
469
|
+
flexDirection: 'row',
|
|
280
470
|
alignItems: 'center',
|
|
281
|
-
|
|
471
|
+
paddingHorizontal: 20,
|
|
472
|
+
paddingVertical: 16
|
|
282
473
|
},
|
|
283
|
-
|
|
474
|
+
rowIcon: {
|
|
475
|
+
width: 28,
|
|
476
|
+
alignItems: 'center',
|
|
477
|
+
marginRight: 12
|
|
478
|
+
},
|
|
479
|
+
rowLabel: {
|
|
284
480
|
fontSize: 16,
|
|
285
|
-
fontWeight: '
|
|
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":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SACEC,QAAQ,EACRC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QACC,cAAc;AACrB,SAASC,UAAU,EAAEC,YAAY,EAAEC,SAAS,QAAQ,uBAAuB;AAC3E,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,aAAa,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAW5D;AACA;AACA;AACA,MAAMC,eAAe,GAAG,GAAG;AAE3B,MAAMC,WAAuC,GAAGA,CAAC;EAC/CC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC,UAAU;EACVC,YAAY,GAAG;AACjB,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAO,CAAC,GAAGd,mBAAmB,CAAC,CAAC;EACxC,MAAMe,EAAE,GAAGD,MAAM,EAAEE,UAAU,EAAEC,WAAW;EAC1C,MAAMC,UAAU,GAAG/B,MAAM,CAAsB,IAAI,CAAC;EACpD,MAAMgC,UAAU,GAAGA,CAAA,KAAM;IACvBC,OAAO,CAACC,GAAG,CAAC,qBAAqB,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAMC,EAAE,GAAGN,UAAU,CAACO,OAAO;IAC7BP,UAAU,CAACO,OAAO,GAAG,IAAI;IACzBD,EAAE,GAAG,CAAC;EACR,CAAC;;EAED;EACA;EACA;EACA,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGvC,QAAQ,CAACoB,OAAO,CAAC;;EAE/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMoB,eAAe,GAAGzC,MAAM,CAAC,IAAIE,QAAQ,CAACwC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACJ,OAAO;EAC7D,MAAMK,eAAe,GAAG3C,MAAM,CAC5B,IAAIE,QAAQ,CAACwC,KAAK,CAACvB,eAAe,CACpC,CAAC,CAACmB,OAAO;EAETvC,SAAS,CAAC,MAAM;IACd,IAAIsB,OAAO,EAAE;MACXmB,UAAU,CAAC,IAAI,CAAC;MAChB;MACA;MACA;MACAC,eAAe,CAACG,QAAQ,CAAC,CAAC,CAAC;MAC3BD,eAAe,CAACC,QAAQ,CAACzB,eAAe,CAAC;MACzC;MACA;MACA,MAAM0B,GAAG,GAAGC,qBAAqB,CAAC,MAAM;QACtC5C,QAAQ,CAAC6C,QAAQ,CAAC,CAChB7C,QAAQ,CAAC8C,MAAM,CAACP,eAAe,EAAE;UAC/BQ,OAAO,EAAE,CAAC;UACVC,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEhD,MAAM,CAACiD,GAAG,CAACjD,MAAM,CAACkD,KAAK,CAAC;UAChCC,eAAe,EAAE;QACnB,CAAC,CAAC,EACFpD,QAAQ,CAACqD,MAAM,CAACZ,eAAe,EAAE;UAC/BM,OAAO,EAAE,CAAC;UACV;UACA;UACA;UACAO,OAAO,EAAE,EAAE;UACXC,QAAQ,EAAE,EAAE;UACZH,eAAe,EAAE;QACnB,CAAC,CAAC,CACH,CAAC,CAACI,KAAK,CAAC,CAAC;MACZ,CAAC,CAAC;MACF,OAAO,MAAMC,oBAAoB,CAACd,GAAG,CAAC;IACxC;IACA,IAAI,CAACN,OAAO,EAAE;MAAC;IAAO;IACtBrC,QAAQ,CAAC6C,QAAQ,CAAC,CAChB7C,QAAQ,CAAC8C,MAAM,CAACP,eAAe,EAAE;MAC/BQ,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAEhD,MAAM,CAACyD,EAAE,CAACzD,MAAM,CAACkD,KAAK,CAAC;MAC/BC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFpD,QAAQ,CAAC8C,MAAM,CAACL,eAAe,EAAE;MAC/BM,OAAO,EAAE9B,eAAe;MACxB+B,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAEhD,MAAM,CAACyD,EAAE,CAACzD,MAAM,CAACkD,KAAK,CAAC;MAC/BC,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CAAC,CAACI,KAAK,CAAC,CAAC;MAAEG;IAAS,CAAC,KAAK;MACzB,IAAI,CAACA,QAAQ,EAAE;QAAC;MAAO,CAAC,CAAC;MACzBrB,UAAU,CAAC,KAAK,CAAC;MACjB,IAAInC,QAAQ,CAACyD,EAAE,KAAK,KAAK,EAAE;QACzB9B,UAAU,CAAC,CAAC;MACd;IACF,CAAC,CAAC;IACF,OAAO+B,SAAS;EAClB,CAAC,EAAE,CAAC1C,OAAO,CAAC,CAAC,CAAC,CAAC;;EAEf,MAAM2C,OAAO,GAAIC,OAAmB,IAAK,MAAM;IAC7ChC,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IAC3CL,UAAU,CAACO,OAAO,GAAG2B,OAAO;IAC5B,IAAI5D,QAAQ,CAACyD,EAAE,KAAK,KAAK,EAAE;MACzBtB,UAAU,CAAC,KAAK,CAAC;IACnB;IACAlB,OAAO,CAAC,CAAC;EACX,CAAC;EAED,MAAM4C,IAKH,GAAG,CACJ;IACEC,KAAK,EAAE,YAAY;IACnBC,IAAI,EAAE,yBAAyB;IAC/BC,IAAI,EAAE3D,UAAU;IAChBuD,OAAO,EAAE1C;EACX,CAAC,EACD;IACE4C,KAAK,EAAE,gBAAgB;IACvBC,IAAI,EAAE,wBAAwB;IAC9BC,IAAI,EAAEzD,SAAS;IACfqD,OAAO,EAAEzC;EACX,CAAC,EACD;IACE2C,KAAK,EAAE,UAAU;IACjBC,IAAI,EAAE,eAAe;IACrBC,IAAI,EAAE1D,YAAY;IAClBsD,OAAO,EAAExC;EACX,CAAC,CACF;EAED,oBACET,IAAA,CAACZ,KAAK;IACJkE,WAAW;IACXjD,OAAO,EAAEkB;IACT;IACA;IACA;IAAA;IACAgC,aAAa,EAAC,MAAM;IACpBC,cAAc,EAAElD;IAChB;IACA;IAAA;IACAmD,SAAS,EAAEpE,QAAQ,CAACyD,EAAE,KAAK,KAAK,GAAG9B,UAAU,GAAG+B,SAAU;IAAAW,QAAA,eAE1DxD,KAAA,CAAChB,QAAQ,CAACO,IAAI;MACZkE,KAAK,EAAE,CAACC,MAAM,CAACC,QAAQ,EAAE;QAAEC,OAAO,EAAErC;MAAgB,CAAC,CAAE;MAAAiC,QAAA,gBAEvD1D,IAAA,CAACR,gBAAgB;QACfuE,MAAM,EAAC,iBAAiB;QACxBJ,KAAK,EAAErE,UAAU,CAAC0E,YAAa;QAC/BC,aAAa,EAAE,CAAE;QACjBC,OAAO,EAAE5D;MAAQ,CAClB,CAAC,eACFN,IAAA,CAACd,QAAQ,CAACO,IAAI;QACZkE,KAAK,EAAE,CACLC,MAAM,CAACO,KAAK,EACZ;UAAEC,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAE1C;UAAgB,CAAC;QAAE,CAAC,CAChD;QAAA+B,QAAA,eAEFxD,KAAA,CAACV,gBAAgB;UAACyE,aAAa,EAAE,CAAE;UAAAP,QAAA,gBACjC1D,IAAA,CAACP,IAAI;YAACkE,KAAK,EAAEC,MAAM,CAACU;UAAQ,CAAE,CAAC,eAC/BtE,IAAA,CAACT,IAAI;YAACoE,KAAK,EAAE,CAACC,MAAM,CAACW,KAAK,EAAEzE,aAAa,CAACc,EAAE,EAAE2D,KAAK,CAAC,CAAE;YAAAb,QAAA,EAAC;UAAM,CAAM,CAAC,EACnER,IAAI,CAACsB,GAAG,CAAC,CAAC;YAAErB,KAAK;YAAEC,IAAI;YAAEC,IAAI;YAAEJ;UAAQ,CAAC,EAAEwB,GAAG,kBAC5CvE,KAAA,CAACV,gBAAgB;YAEfuE,MAAM,EAAE,cAAcZ,KAAK,EAAG;YAC9Bc,aAAa,EAAE,GAAI;YACnBN,KAAK,EAAE,CACLC,MAAM,CAACc,GAAG,EACVD,GAAG,GAAGvB,IAAI,CAACyB,MAAM,GAAG,CAAC,IAAIf,MAAM,CAACgB,UAAU,CAC1C;YACFV,OAAO,EAAElB,OAAO,CAACC,OAAO,CAAE;YAAAS,QAAA,gBAE1B1D,IAAA,CAACP,IAAI;cACHkE,KAAK,EAAE,CACLC,MAAM,CAACiB,UAAU,EACjB;gBAAEC,eAAe,EAAEpE,YAAY,GAAG;cAAK,CAAC,CACxC;cAAAgD,QAAA,eAEF1D,IAAA,CAACqD,IAAI;gBAAC0B,KAAK,EAAErE,YAAa;gBAACsE,KAAK,EAAE,EAAG;gBAACC,MAAM,EAAE;cAAG,CAAE;YAAC,CAChD,CAAC,eACP/E,KAAA,CAACT,IAAI;cAACkE,KAAK,EAAEC,MAAM,CAACsB,OAAQ;cAAAxB,QAAA,gBAC1B1D,IAAA,CAACT,IAAI;gBAACoE,KAAK,EAAE,CAACC,MAAM,CAACuB,QAAQ,EAAErF,aAAa,CAACc,EAAE,EAAEuE,QAAQ,CAAC,CAAE;gBAAAzB,QAAA,EAAEP;cAAK,CAAO,CAAC,eAC3EnD,IAAA,CAACT,IAAI;gBAACoE,KAAK,EAAE,CAACC,MAAM,CAACwB,OAAO,EAAEtF,aAAa,CAACc,EAAE,EAAEwE,OAAO,CAAC,CAAE;gBAAA1B,QAAA,EAAEN;cAAI,CAAO,CAAC;YAAA,CACpE,CAAC;UAAA,GApBFD,KAqBW,CACnB,CAAC,eACFnD,IAAA,CAACR,gBAAgB;YACfyE,aAAa,EAAE,GAAI;YACnBN,KAAK,EAAEC,MAAM,CAACyB,SAAU;YACxBnB,OAAO,EAAE5D,OAAQ;YAAAoD,QAAA,eAEjB1D,IAAA,CAACT,IAAI;cAACoE,KAAK,EAAE,CAACC,MAAM,CAAC0B,WAAW,EAAExF,aAAa,CAACc,EAAE,EAAE2E,YAAY,CAAC,CAAE;cAAA7B,QAAA,EAAC;YAAM,CAAM;UAAC,CACjE,CAAC;QAAA,CACH;MAAC,CACN,CAAC;IAAA,CACH;EAAC,CACX,CAAC;AAEZ,CAAC;AAED,MAAME,MAAM,GAAGtE,UAAU,CAACkG,MAAM,CAAC;EAC/B3B,QAAQ,EAAE;IACR4B,IAAI,EAAE,CAAC;IACPX,eAAe,EAAE,qBAAqB;IACtCY,cAAc,EAAE;EAClB,CAAC;EACDvB,KAAK,EAAE;IACLW,eAAe,EAAE,MAAM;IACvBa,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBC,UAAU,EAAE,CAAC;IACbC,aAAa,EAAEzG,QAAQ,CAACyD,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,EAAE;IAC9CiD,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEhB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;IACtCgB,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE;EACb,CAAC;EACD7B,OAAO,EAAE;IACP8B,SAAS,EAAE,QAAQ;IACnBpB,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,CAAC;IACToB,YAAY,EAAE,CAAC;IACfvB,eAAe,EAAE,SAAS;IAC1BwB,YAAY,EAAE;EAChB,CAAC;EACD/B,KAAK,EAAE;IACLgC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBzB,KAAK,EAAE,SAAS;IAChB0B,aAAa,EAAE,GAAG;IAClBC,aAAa,EAAE,WAAW;IAC1BC,iBAAiB,EAAE,EAAE;IACrBb,aAAa,EAAE;EACjB,CAAC;EACDpB,GAAG,EAAE;IACHkC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBF,iBAAiB,EAAE,EAAE;IACrBG,eAAe,EAAE;EACnB,CAAC;EACDlC,UAAU,EAAE;IACVmC,iBAAiB,EAAEzH,UAAU,CAAC0H,aAAa;IAC3CC,iBAAiB,EAAE;EACrB,CAAC;EACDpC,UAAU,EAAE;IACVG,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVoB,YAAY,EAAE,EAAE;IAChBQ,UAAU,EAAE,QAAQ;IACpBnB,cAAc,EAAE,QAAQ;IACxBwB,WAAW,EAAE;EACf,CAAC;EACDhC,OAAO,EAAE;IACPO,IAAI,EAAE;EACR,CAAC;EACDN,QAAQ,EAAE;IACRoB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBzB,KAAK,EAAE;EACT,CAAC;EACDK,OAAO,EAAE;IACPmB,QAAQ,EAAE,EAAE;IACZxB,KAAK,EAAE,SAAS;IAChBoC,SAAS,EAAE;EACb,CAAC;EACD9B,SAAS,EAAE;IACT8B,SAAS,EAAE,CAAC;IACZC,gBAAgB,EAAE,EAAE;IACpBN,eAAe,EAAE,EAAE;IACnBT,YAAY,EAAE,EAAE;IAChBQ,UAAU,EAAE,QAAQ;IACpB/B,eAAe,EAAE;EACnB,CAAC;EACDQ,WAAW,EAAE;IACXiB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBzB,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,eAAe3E,WAAW","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":[]}
|