@ethora/chat-component-rn 26.5.10 → 26.5.12
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 +65 -1
- package/README.md +30 -1
- package/lib/commonjs/assets/icons.js +7 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +31 -16
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +34 -4
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +17 -14
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +298 -12
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js +119 -0
- package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +39 -3
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +87 -39
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +153 -62
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +5 -44
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +40 -3
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/GViewWebView.js +149 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/GViewWebView.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +4 -17
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalHeaderComponent.js +10 -0
- package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +13 -4
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +19 -33
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/AudioMessage.js +643 -66
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/Button.js +9 -3
- package/lib/commonjs/components/styled/Button.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +239 -40
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +6 -3
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +31 -18
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +47 -5
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +44 -25
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +5 -2
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +5 -3
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
- package/lib/commonjs/helpers/mimeToExtension.js +123 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +33 -8
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +6 -3
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +6 -0
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/assets/icons.js +7 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +31 -16
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +36 -6
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +17 -14
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +301 -15
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/InteractionsOverlay.js +112 -0
- package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +40 -4
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +89 -41
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -64
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +5 -45
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +41 -4
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/GViewWebView.js +144 -0
- package/lib/module/components/Modals/FilePreviewModal/GViewWebView.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +3 -17
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/ModalHeaderComponent.js +10 -0
- package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +13 -4
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +20 -34
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/module/components/styled/AudioMessage.js +644 -67
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/Button.js +9 -3
- package/lib/module/components/styled/Button.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +240 -42
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +6 -3
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +31 -18
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +47 -5
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +45 -26
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/xmppProvider.js +5 -2
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +4 -2
- package/lib/module/helpers/keyboardLayout.js.map +1 -1
- package/lib/module/helpers/mimeToExtension.js +119 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/hooks/useEventHandlers.js +1 -1
- package/lib/module/hooks/useEventHandlers.js.map +1 -1
- package/lib/module/hooks/useLogout.js +33 -8
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +6 -3
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +29 -4
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +6 -0
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.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/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts +13 -0
- package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +0 -7
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/GViewWebView.d.ts +8 -0
- package/lib/typescript/components/Modals/FilePreviewModal/GViewWebView.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/AudioMessage.d.ts +8 -2
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/Button.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/MediaComponents.d.ts +5 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts +5 -0
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts +3 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts +38 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts +23 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/modal.model.d.ts +3 -0
- package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +29 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +11 -4
- package/src/assets/icons.tsx +30 -25
- package/src/components/MainComponents/ChatHeader.tsx +46 -15
- package/src/components/MainComponents/ChatRoom.tsx +38 -3
- package/src/components/MainComponents/ChatWrapper.tsx +28 -21
- package/src/components/MainComponents/MediaMessage.tsx +304 -11
- package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
- package/src/components/MessageBubble/Message.tsx +44 -3
- package/src/components/MessageBubble/MessageInteractions.tsx +103 -52
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +144 -51
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +3 -40
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +48 -4
- package/src/components/Modals/FilePreviewModal/GViewWebView.tsx +142 -0
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -18
- package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
- package/src/components/Modals/styledModalComponents.tsx +13 -4
- package/src/components/RoomComponents/styled/LastAudioMessage.tsx +20 -35
- package/src/components/styled/AudioMessage.tsx +724 -59
- package/src/components/styled/Button.tsx +20 -11
- package/src/components/styled/SendInput.tsx +255 -46
- package/src/components/styled/StyledComponents.ts +6 -3
- package/src/components/styled/StyledInputComponents/MediaComponents.tsx +29 -18
- package/src/components/styled/UnsupportedType.tsx +60 -6
- package/src/components/styled/VideoMessage.tsx +21 -5
- package/src/context/xmppProvider.tsx +6 -2
- package/src/helpers/keyboardLayout.ts +5 -1
- package/src/helpers/mimeToExtension.ts +178 -0
- package/src/hooks/useEventHandlers.tsx +1 -1
- package/src/hooks/useLogout.tsx +33 -10
- package/src/hooks/useSendMessage.tsx +12 -6
- package/src/networking/api-requests/rooms.api.ts +31 -7
- package/src/roomStore/roomsSlice.ts +7 -0
- package/src/types/models/modal.model.ts +3 -0
- package/src/types/types.ts +29 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_Avatar","_MessageInteractions","_interopRequireDefault","_BottomReplyContainer","_MessageReply","_DeletedMessage","_chatSettingsSlice","_MODAL_TYPES","_roomsSlice","_native","_MediaMessage","_MessageTranslations","_useChatSettingState","_parseMessageBody","_useMessageHeapState","_icons","_xmppProvider","_useSendMessage","_MessageReaction","_StyledComponents","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageContainer","styled","View","isUser","props","reply","CustomMessageBubble","isMedia","deleted","backgroundMessageUser","backgroundMessage","CustomMessageText","Text","color","colorUser","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","media","CustomMessageTimestamp","CustomTimestampRow","Message","message","isReply","dispatch","useDispatch","client","useXmppClient","config","langSource","user","useChatSettingState","idSet","failedIdSet","useMessageHeapState","retryMessage","useSendMessage","isPressed","setIsPressed","useState","__DEV__","id","globalThis","__loggedMsg","contextMenuPosition","setContextMenuPosition","timerRef","useRef","messageRef","bubbleRef","handleUserAvatarClick","setActiveModal","MODAL_TYPES","PROFILE","setSelectedUser","handleReplyMessage","setEditAction","isEdit","mainMessage","messageCore","JSON","parse","setActiveMessage","chatJID","roomJid","handleDeleteMessage","setDeleteModal","isDeleteModal","messageId","handleEditMessage","text","body","handleReactionMessage","emoji","reaction","sendMessageReactionStanza","firstName","lastName","xmppUsername","includes","filterEmoji","filter","handleLongPress","target","current","nodeHandle","findNodeHandle","UIManager","measure","_x","_y","width","height","pageX","pageY","left","right","top","bottom","messageText","messageTextFilter","enabled","parseMessageBody","filterFunction","isFailed","isPending","pending","onRetryPress","jsxs","children","jsx","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","length","keys","transform","scale","paddingRight","undefined","onPress","profileImage","source","uri","Avatar","username","name","Pressable","flex","alignItems","onLongPress","disableInteractions","delayLongPress","collapsable","isDeleted","isMediafile","messageColor","colors","primary","MessageReply","mimeType","mimetype","locationPreview","location","Fragment","DeletedMessage","enableTranslates","disableSentLogic","timestampText","failedText","accessibilityRole","accessibilityLabel","Date","date","toLocaleTimeString","hour","minute","DoubleTick","BottomReplyContainer","onClick","MessageFooter","disableReactions","MessageReaction","changeReaction","userName","position","closeMenu","exports","StyleSheet","create","flexDirection","padding","absoluteFillObject","timestamp","fontSize","marginTop","alignSelf","fontWeight","marginRight","timestampRow","gap","lineHeight","includeFontPadding","textAlignVertical"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_Avatar","_MessageInteractions","_interopRequireDefault","_BottomReplyContainer","_MessageReply","_DeletedMessage","_chatSettingsSlice","_MODAL_TYPES","_roomsSlice","_native","_MediaMessage","_MessageTranslations","_useChatSettingState","_parseMessageBody","_useMessageHeapState","_icons","_xmppProvider","_useSendMessage","_MessageReaction","_StyledComponents","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageContainer","styled","View","isUser","props","reply","CustomMessageBubble","isMedia","deleted","backgroundMessageUser","backgroundMessage","CustomMessageText","Text","color","colorUser","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","media","CustomMessageTimestamp","CustomTimestampRow","Message","message","isReply","dispatch","useDispatch","client","useXmppClient","config","langSource","user","useChatSettingState","idSet","failedIdSet","useMessageHeapState","retryMessage","useSendMessage","isPressed","setIsPressed","useState","__DEV__","id","globalThis","__loggedMsg","contextMenuPosition","setContextMenuPosition","timerRef","useRef","messageRef","bubbleRef","handleUserAvatarClick","setActiveModal","MODAL_TYPES","PROFILE","setSelectedUser","handleReplyMessage","setEditAction","isEdit","mainMessage","messageCore","JSON","parse","setActiveMessage","chatJID","roomJid","handleDeleteMessage","setDeleteModal","isDeleteModal","messageId","handleEditMessage","text","body","handleReactionMessage","emoji","reaction","sendMessageReactionStanza","firstName","lastName","xmppUsername","includes","filterEmoji","filter","handleLongPress","target","current","measureInWindow","x","y","width","height","left","right","top","bottom","nodeHandle","findNodeHandle","UIManager","measure","_x","_y","pageX","pageY","messageText","messageTextFilter","enabled","parseMessageBody","filterFunction","isFailed","isPending","pending","onRetryPress","jsxs","children","jsx","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","length","keys","transform","scale","paddingRight","undefined","onPress","disableProfilesInteractions","disabled","accessible","profileImage","source","uri","Avatar","username","name","Pressable","flex","alignItems","Keyboard","dismiss","onLongPress","disableInteractions","delayLongPress","collapsable","isDeleted","isMediafile","messageColor","colors","primary","MessageReply","mimeType","mimetype","locationPreview","location","Fragment","DeletedMessage","enableTranslates","disableSentLogic","timestampText","failedText","accessibilityRole","accessibilityLabel","Date","date","toLocaleTimeString","hour","minute","DoubleTick","BottomReplyContainer","onClick","MessageFooter","disableReactions","MessageReaction","changeReaction","userName","position","closeMenu","exports","StyleSheet","create","flexDirection","padding","absoluteFillObject","timestamp","fontSize","marginTop","alignSelf","fontWeight","marginRight","timestampRow","gap","lineHeight","includeFontPadding","textAlignVertical"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ var _MESSAGE_INTERACTIONS = require("../../helpers/constants/MESSAGE_INTERACTION
|
|
|
11
11
|
var _reactNative = require("react-native");
|
|
12
12
|
var Clipboard = _interopRequireWildcard(require("expo-clipboard"));
|
|
13
13
|
var _ToastContext = require("../../context/ToastContext");
|
|
14
|
+
var _InteractionsOverlay = require("./InteractionsOverlay");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
17
|
const MessageInteractions = ({
|
|
@@ -26,11 +27,32 @@ const MessageInteractions = ({
|
|
|
26
27
|
const {
|
|
27
28
|
showToast
|
|
28
29
|
} = (0, _ToastContext.useToast)();
|
|
30
|
+
const {
|
|
31
|
+
present,
|
|
32
|
+
dismiss,
|
|
33
|
+
originX,
|
|
34
|
+
originY
|
|
35
|
+
} = (0, _InteractionsOverlay.useInteractionsOverlay)();
|
|
36
|
+
const overlayId = (0, _react.useId)();
|
|
29
37
|
const config = (0, _reactRedux.useSelector)(state => state.chatSettingStore.config);
|
|
30
38
|
const [menuSize, setMenuSize] = (0, _react.useState)({
|
|
31
39
|
width: 0,
|
|
32
40
|
height: 0
|
|
33
41
|
});
|
|
42
|
+
|
|
43
|
+
// Live keyboard height so the menu knows the REAL space below the message.
|
|
44
|
+
// Without this the position math used the full screen height and happily
|
|
45
|
+
// opened the menu downward into the area the keyboard now covers, hiding
|
|
46
|
+
// it under the keyboard / behind the input. Seeded from current metrics so
|
|
47
|
+
// an already-open keyboard (the common case: menu opened while typing) is
|
|
48
|
+
// accounted for on first render, not only after the next show event.
|
|
49
|
+
const [keyboardHeight, setKeyboardHeight] = (0, _react.useState)(() => _reactNative.Keyboard.metrics?.()?.height ?? 0);
|
|
50
|
+
(0, _react.useEffect)(() => {
|
|
51
|
+
const onShow = e => setKeyboardHeight(e?.endCoordinates?.height ?? 0);
|
|
52
|
+
const onHide = () => setKeyboardHeight(0);
|
|
53
|
+
const subs = [_reactNative.Keyboard.addListener('keyboardDidShow', onShow), _reactNative.Keyboard.addListener('keyboardDidChangeFrame', onShow), _reactNative.Keyboard.addListener('keyboardDidHide', onHide)];
|
|
54
|
+
return () => subs.forEach(s => s.remove());
|
|
55
|
+
}, []);
|
|
34
56
|
const handleMenuLayout = e => {
|
|
35
57
|
const {
|
|
36
58
|
width,
|
|
@@ -84,7 +106,13 @@ const MessageInteractions = ({
|
|
|
84
106
|
const bottomReserve = (config?.keyboardVerticalOffset ?? 0) + 24;
|
|
85
107
|
const topReserve = 16;
|
|
86
108
|
const sideMargin = 8;
|
|
87
|
-
|
|
109
|
+
|
|
110
|
+
// The keyboard occludes the bottom `keyboardHeight` px, so the real
|
|
111
|
+
// visible bottom edge is above it. Measuring space below against this
|
|
112
|
+
// (not the full screen) is what makes the menu flip ABOVE the message
|
|
113
|
+
// when the keyboard is open and the message sits near the input.
|
|
114
|
+
const visibleBottom = screenHeight - keyboardHeight;
|
|
115
|
+
const spaceBelow = visibleBottom - position.bottom - bottomReserve;
|
|
88
116
|
const spaceAbove = position.top - topReserve;
|
|
89
117
|
let top;
|
|
90
118
|
if (spaceBelow >= menuSize.height) {
|
|
@@ -92,7 +120,7 @@ const MessageInteractions = ({
|
|
|
92
120
|
} else if (spaceAbove >= menuSize.height) {
|
|
93
121
|
top = position.top - menuSize.height;
|
|
94
122
|
} else {
|
|
95
|
-
top = Math.max(topReserve,
|
|
123
|
+
top = Math.max(topReserve, visibleBottom - menuSize.height - bottomReserve);
|
|
96
124
|
}
|
|
97
125
|
const leftMargin = position.left;
|
|
98
126
|
const rightMargin = screenWidth - position.right;
|
|
@@ -103,49 +131,69 @@ const MessageInteractions = ({
|
|
|
103
131
|
top,
|
|
104
132
|
left
|
|
105
133
|
};
|
|
106
|
-
}, [position, menuSize, config?.keyboardVerticalOffset]);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ContextMenuComponents.Delimeter, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
|
|
139
|
-
onPress: handleDeleteMessage,
|
|
134
|
+
}, [position, menuSize, config?.keyboardVerticalOffset, keyboardHeight]);
|
|
135
|
+
|
|
136
|
+
// Window coords (memoPosition) → host-local coords. The overlay host
|
|
137
|
+
// sits below the status bar / header, so subtract its measured origin.
|
|
138
|
+
const localPosition = (0, _react.useMemo)(() => {
|
|
139
|
+
if (!memoPosition) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
...memoPosition,
|
|
144
|
+
top: memoPosition.top - originY,
|
|
145
|
+
left: memoPosition.left - originX
|
|
146
|
+
};
|
|
147
|
+
}, [memoPosition, originX, originY]);
|
|
148
|
+
const content = config?.disableInteractions || message.isDeleted ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
149
|
+
style: styles.overlayFill,
|
|
150
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
151
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
152
|
+
onPress: closeMenu
|
|
153
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
154
|
+
style: [styles.contextMenu, localPosition],
|
|
155
|
+
onLayout: handleMenuLayout,
|
|
156
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
|
|
157
|
+
onPress: () => handleCopyMessage(message.body),
|
|
158
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
159
|
+
style: styles.menuText,
|
|
160
|
+
children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.COPY
|
|
161
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.COPY, {})]
|
|
162
|
+
}), isUser && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
163
|
+
children: [message?.isMediafile !== 'true' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
164
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ContextMenuComponents.Delimeter, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
|
|
165
|
+
onPress: handleEditMessage,
|
|
140
166
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
141
167
|
style: styles.menuText,
|
|
142
|
-
children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.
|
|
143
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.
|
|
168
|
+
children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.EDIT
|
|
169
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.EDIT, {})]
|
|
144
170
|
})]
|
|
171
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ContextMenuComponents.Delimeter, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
|
|
172
|
+
onPress: handleDeleteMessage,
|
|
173
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
174
|
+
style: styles.menuText,
|
|
175
|
+
children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.DELETE
|
|
176
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.DELETE, {})]
|
|
145
177
|
})]
|
|
146
178
|
})]
|
|
147
|
-
})
|
|
179
|
+
})]
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
// Render the menu in the in-tree overlay host instead of a React Native
|
|
183
|
+
// <Modal>. A Modal opens its own window on Android, which steals focus
|
|
184
|
+
// from the chat input and dismisses the keyboard when the menu opens;
|
|
185
|
+
// hosting it in the same view tree keeps the keyboard up. Re-run every
|
|
186
|
+
// render so menuSize/position updates refresh the hosted node.
|
|
187
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
188
|
+
(0, _react.useEffect)(() => {
|
|
189
|
+
if (content) {
|
|
190
|
+
present(overlayId, content);
|
|
191
|
+
} else {
|
|
192
|
+
dismiss(overlayId);
|
|
193
|
+
}
|
|
148
194
|
});
|
|
195
|
+
(0, _react.useEffect)(() => () => dismiss(overlayId), [dismiss, overlayId]);
|
|
196
|
+
return null;
|
|
149
197
|
};
|
|
150
198
|
var _default = exports.default = MessageInteractions;
|
|
151
199
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_ContextMenuComponents","_reactRedux","_MESSAGE_INTERACTIONS","_reactNative","Clipboard","_ToastContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","useToast","config","useSelector","state","chatSettingStore","menuSize","setMenuSize","useState","width","height","handleMenuLayout","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","useMemo","undefined","top","bottom","left","opacity","screenWidth","screenHeight","Dimensions","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_ContextMenuComponents","_reactRedux","_MESSAGE_INTERACTIONS","_reactNative","Clipboard","_ToastContext","_InteractionsOverlay","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","useToast","present","dismiss","originX","originY","useInteractionsOverlay","overlayId","useId","config","useSelector","state","chatSettingStore","menuSize","setMenuSize","useState","width","height","keyboardHeight","setKeyboardHeight","Keyboard","metrics","useEffect","onShow","endCoordinates","onHide","subs","addListener","forEach","s","remove","handleMenuLayout","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","useMemo","undefined","top","bottom","left","opacity","screenWidth","screenHeight","Dimensions","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","visibleBottom","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","localPosition","content","disableInteractions","isDeleted","jsxs","View","style","styles","overlayFill","children","jsx","Pressable","StyleSheet","absoluteFill","onPress","contextMenu","onLayout","MenuItem","body","Text","menuText","MESSAGE_INTERACTIONS","COPY","MESSAGE_INTERACTIONS_ICONS","Fragment","isMediafile","Delimeter","EDIT","DELETE","_default","exports","create","absoluteFillObject","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","minWidth","overflow","fontSize","color","includeFontPadding","textAlignVertical","marginRight"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/MessageInteractions.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,10 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
11
11
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
12
|
/** @format */
|
|
13
13
|
|
|
14
|
+
// Starting translateY for the sheet. Larger than any realistic sheet
|
|
15
|
+
// height so it sits fully below the viewport before opening; the exact
|
|
16
|
+
// number doesn't matter visually because it animates to 0.
|
|
17
|
+
const SHEET_OFFSCREEN = 600;
|
|
14
18
|
const AttachSheet = ({
|
|
15
19
|
visible,
|
|
16
20
|
onClose,
|
|
@@ -19,20 +23,91 @@ const AttachSheet = ({
|
|
|
19
23
|
onDocument,
|
|
20
24
|
primaryColor = '#0052CD'
|
|
21
25
|
}) => {
|
|
26
|
+
// Pending handler captured on row tap — runs once the EXIT animation
|
|
27
|
+
// finishes so iOS doesn't try to present an image picker over a
|
|
28
|
+
// still-dismissing modal (was the original reason for the
|
|
29
|
+
// platform-split + Modal.onDismiss dance). The animation completion
|
|
30
|
+
// callback now drives this on both platforms.
|
|
22
31
|
const pendingRef = (0, _react.useRef)(null);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
|
|
33
|
+
// Local "modal stays mounted while animating out" state. The parent
|
|
34
|
+
// controls `visible`; we mirror it but delay unmount until the exit
|
|
35
|
+
// animation has played so the slide-down is actually seen.
|
|
36
|
+
const [mounted, setMounted] = (0, _react.useState)(visible);
|
|
37
|
+
|
|
38
|
+
// Two separate Animated values — the whole point of the rewrite:
|
|
39
|
+
// • backdropOpacity: fades the dim layer in/out (no slide).
|
|
40
|
+
// • sheetTranslateY: slides ONLY the sheet up from below.
|
|
41
|
+
// RN Modal's built-in `animationType="slide"` slides the entire
|
|
42
|
+
// contents (backdrop included) so the dim shade entered from the
|
|
43
|
+
// bottom — what looked "awful". Splitting these gives the standard
|
|
44
|
+
// bottom-sheet feel.
|
|
45
|
+
const backdropOpacity = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
46
|
+
const sheetTranslateY = (0, _react.useRef)(new _reactNative.Animated.Value(SHEET_OFFSCREEN)).current;
|
|
47
|
+
(0, _react.useEffect)(() => {
|
|
48
|
+
if (visible) {
|
|
49
|
+
setMounted(true);
|
|
50
|
+
// Reset to starting positions BEFORE the Modal becomes visible so
|
|
51
|
+
// the first animated frame is below-the-fold (not a flash of the
|
|
52
|
+
// settled sheet).
|
|
53
|
+
backdropOpacity.setValue(0);
|
|
54
|
+
sheetTranslateY.setValue(SHEET_OFFSCREEN);
|
|
55
|
+
// requestAnimationFrame lets the Modal commit its mount before the
|
|
56
|
+
// animation starts; without this the first frame can be skipped.
|
|
57
|
+
const raf = requestAnimationFrame(() => {
|
|
58
|
+
_reactNative.Animated.parallel([_reactNative.Animated.timing(backdropOpacity, {
|
|
59
|
+
toValue: 1,
|
|
60
|
+
duration: 220,
|
|
61
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
|
|
62
|
+
useNativeDriver: true
|
|
63
|
+
}), _reactNative.Animated.spring(sheetTranslateY, {
|
|
64
|
+
toValue: 0,
|
|
65
|
+
// Tuned for a quick-but-not-bouncy entry. tension is the
|
|
66
|
+
// "stiffness" knob, friction the "damping" knob in RN's
|
|
67
|
+
// spring config.
|
|
68
|
+
tension: 90,
|
|
69
|
+
friction: 14,
|
|
70
|
+
useNativeDriver: true
|
|
71
|
+
})]).start();
|
|
72
|
+
});
|
|
73
|
+
return () => cancelAnimationFrame(raf);
|
|
74
|
+
}
|
|
75
|
+
if (!mounted) {
|
|
76
|
+
return;
|
|
35
77
|
}
|
|
78
|
+
// Exit: fade the backdrop, slide the sheet down, then unmount and
|
|
79
|
+
// fire any pending picker handler.
|
|
80
|
+
_reactNative.Animated.parallel([_reactNative.Animated.timing(backdropOpacity, {
|
|
81
|
+
toValue: 0,
|
|
82
|
+
duration: 180,
|
|
83
|
+
easing: _reactNative.Easing.in(_reactNative.Easing.cubic),
|
|
84
|
+
useNativeDriver: true
|
|
85
|
+
}), _reactNative.Animated.timing(sheetTranslateY, {
|
|
86
|
+
toValue: SHEET_OFFSCREEN,
|
|
87
|
+
duration: 220,
|
|
88
|
+
easing: _reactNative.Easing.in(_reactNative.Easing.cubic),
|
|
89
|
+
useNativeDriver: true
|
|
90
|
+
})]).start(({
|
|
91
|
+
finished
|
|
92
|
+
}) => {
|
|
93
|
+
if (!finished) {
|
|
94
|
+
return;
|
|
95
|
+
} // interrupted (rapid re-open) → leave state alone
|
|
96
|
+
setMounted(false);
|
|
97
|
+
const fn = pendingRef.current;
|
|
98
|
+
pendingRef.current = null;
|
|
99
|
+
fn?.();
|
|
100
|
+
});
|
|
101
|
+
return undefined;
|
|
102
|
+
}, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
103
|
+
|
|
104
|
+
const trigger = handler => () => {
|
|
105
|
+
// Capture the handler and ask parent to close. The exit-animation
|
|
106
|
+
// completion above fires `handler` AFTER the sheet has slid away,
|
|
107
|
+
// so iOS no longer tries to present a picker over a dismissing
|
|
108
|
+
// modal — and Android no longer needs the ad-hoc 150ms setTimeout.
|
|
109
|
+
pendingRef.current = handler;
|
|
110
|
+
onClose();
|
|
36
111
|
};
|
|
37
112
|
const rows = [{
|
|
38
113
|
label: 'Take photo',
|
|
@@ -52,60 +127,76 @@ const AttachSheet = ({
|
|
|
52
127
|
}];
|
|
53
128
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
|
|
54
129
|
transparent: true,
|
|
55
|
-
visible:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
130
|
+
visible: mounted
|
|
131
|
+
// We drive the animation ourselves — disable RN's built-in slide
|
|
132
|
+
// (which slid the backdrop too) so the fade + spring above are the
|
|
133
|
+
// only motion.
|
|
134
|
+
,
|
|
135
|
+
animationType: "none",
|
|
136
|
+
onRequestClose: onClose
|
|
137
|
+
// Hardware-back / iOS gesture also routes through onClose, which
|
|
138
|
+
// flips `visible` and triggers our exit animation above.
|
|
139
|
+
,
|
|
140
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
141
|
+
style: [styles.backdrop, {
|
|
142
|
+
opacity: backdropOpacity
|
|
143
|
+
}],
|
|
144
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
145
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
64
146
|
activeOpacity: 1,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Icon,
|
|
75
|
-
handler
|
|
76
|
-
}, idx) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
77
|
-
activeOpacity: 0.6,
|
|
78
|
-
style: [styles.row, idx < rows.length - 1 && styles.rowDivider],
|
|
79
|
-
onPress: trigger(handler),
|
|
147
|
+
onPress: onClose
|
|
148
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
149
|
+
style: [styles.sheet, {
|
|
150
|
+
transform: [{
|
|
151
|
+
translateY: sheetTranslateY
|
|
152
|
+
}]
|
|
153
|
+
}],
|
|
154
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
155
|
+
activeOpacity: 1,
|
|
80
156
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
81
|
-
style:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
children:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
style: styles.
|
|
96
|
-
|
|
157
|
+
style: styles.grabber
|
|
158
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
159
|
+
style: styles.title,
|
|
160
|
+
children: "Attach"
|
|
161
|
+
}), rows.map(({
|
|
162
|
+
label,
|
|
163
|
+
hint,
|
|
164
|
+
Icon,
|
|
165
|
+
handler
|
|
166
|
+
}, idx) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
167
|
+
activeOpacity: 0.6,
|
|
168
|
+
style: [styles.row, idx < rows.length - 1 && styles.rowDivider],
|
|
169
|
+
onPress: trigger(handler),
|
|
170
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
171
|
+
style: [styles.iconBubble, {
|
|
172
|
+
backgroundColor: primaryColor + '14'
|
|
173
|
+
}],
|
|
174
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
|
175
|
+
color: primaryColor,
|
|
176
|
+
width: 20,
|
|
177
|
+
height: 20
|
|
178
|
+
})
|
|
179
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
180
|
+
style: styles.rowText,
|
|
181
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
182
|
+
style: styles.rowLabel,
|
|
183
|
+
children: label
|
|
184
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
185
|
+
style: styles.rowHint,
|
|
186
|
+
children: hint
|
|
187
|
+
})]
|
|
97
188
|
})]
|
|
189
|
+
}, label)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
190
|
+
activeOpacity: 0.6,
|
|
191
|
+
style: styles.cancelRow,
|
|
192
|
+
onPress: onClose,
|
|
193
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
194
|
+
style: styles.cancelLabel,
|
|
195
|
+
children: "Cancel"
|
|
196
|
+
})
|
|
98
197
|
})]
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
style: styles.cancelRow,
|
|
102
|
-
onPress: onClose,
|
|
103
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
104
|
-
style: styles.cancelLabel,
|
|
105
|
-
children: "Cancel"
|
|
106
|
-
})
|
|
107
|
-
})]
|
|
108
|
-
})
|
|
198
|
+
})
|
|
199
|
+
})]
|
|
109
200
|
})
|
|
110
201
|
});
|
|
111
202
|
};
|