stream-chat-react-native-core 4.6.1 → 4.7.0-beta.3
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/lib/commonjs/components/Attachment/Attachment.js +22 -13
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js +23 -14
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +72 -37
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js +83 -0
- package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -0
- package/lib/commonjs/components/Attachment/hooks/useGoToURL.js +1 -1
- package/lib/commonjs/components/Attachment/hooks/useGoToURL.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +5 -5
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +19 -14
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -2
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +6 -6
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +167 -345
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +31 -34
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ProgressControl.js +153 -0
- package/lib/commonjs/components/ImageGallery/components/ProgressControl.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
- package/lib/commonjs/components/Message/Message.js +23 -13
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +22 -15
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -2
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +25 -23
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +32 -12
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +12 -4
- package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
- package/lib/commonjs/components/index.js +26 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +15 -4
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +10 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/icons/Pause.js +61 -0
- package/lib/commonjs/icons/Pause.js.map +1 -0
- package/lib/commonjs/icons/Play.js +42 -0
- package/lib/commonjs/icons/Play.js.map +1 -0
- package/lib/commonjs/icons/index.js +26 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js +98 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/commonjs/native.js +7 -1
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +22 -13
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/Card.js +23 -14
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +72 -37
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js +83 -0
- package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -0
- package/lib/module/components/Attachment/hooks/useGoToURL.js +1 -1
- package/lib/module/components/Attachment/hooks/useGoToURL.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/getAspectRatio.js +5 -5
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +19 -14
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -2
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +6 -6
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +167 -345
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
- package/lib/module/components/ImageGallery/components/ImageGrid.js +31 -34
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ProgressControl.js +153 -0
- package/lib/module/components/ImageGallery/components/ProgressControl.js.map +1 -0
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
- package/lib/module/components/Message/Message.js +23 -13
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +22 -15
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -2
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +25 -23
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +32 -12
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Spinner/Spinner.js +12 -4
- package/lib/module/components/Spinner/Spinner.js.map +1 -1
- package/lib/module/components/index.js +26 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +15 -4
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +10 -1
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/icons/Pause.js +61 -0
- package/lib/module/icons/Pause.js.map +1 -0
- package/lib/module/icons/Play.js +42 -0
- package/lib/module/icons/Play.js.map +1 -0
- package/lib/module/icons/index.js +26 -0
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/mock-builders/api/queryMembers.js +98 -1
- package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/module/native.js +7 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +4 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +1 -0
- package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
- package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +1 -1
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -0
- package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +27 -0
- package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +18 -2
- package/lib/typescript/components/ImageGallery/components/ImageGalleryVideoControl.d.ts +3 -0
- package/lib/typescript/components/ImageGallery/components/ProgressControl.d.ts +5 -0
- package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +36 -0
- package/lib/typescript/components/Message/Message.d.ts +9 -3
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Spinner/Spinner.d.ts +7 -1
- package/lib/typescript/components/index.d.ts +2 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +3 -1
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +1 -0
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +2 -0
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +9 -0
- package/lib/typescript/icons/Pause.d.ts +3 -0
- package/lib/typescript/icons/Play.d.ts +3 -0
- package/lib/typescript/icons/index.d.ts +2 -0
- package/lib/typescript/mock-builders/api/queryMembers.d.ts +161 -0
- package/lib/typescript/mock-builders/api/utils.d.ts +7 -0
- package/lib/typescript/mock-builders/generator/user.d.ts +30 -0
- package/lib/typescript/mock-builders/mock.d.ts +3 -0
- package/lib/typescript/native.d.ts +66 -1
- package/package.json +1 -1
- package/src/components/Attachment/Attachment.tsx +11 -7
- package/src/components/Attachment/Card.tsx +3 -0
- package/src/components/Attachment/Gallery.tsx +75 -36
- package/src/components/Attachment/VideoThumbnail.tsx +45 -0
- package/src/components/Attachment/hooks/useGoToURL.ts +1 -1
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +1 -0
- package/src/components/Attachment/utils/buildGallery/types.ts +1 -0
- package/src/components/Attachment/utils/getAspectRatio.ts +7 -5
- package/src/components/Channel/Channel.tsx +4 -0
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +83 -0
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +43 -26
- package/src/components/Chat/hooks/useIsOnline.ts +7 -7
- package/src/components/ImageGallery/ImageGallery.tsx +145 -667
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +4 -4
- package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +224 -0
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +114 -19
- package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +103 -0
- package/src/components/ImageGallery/components/ImageGrid.tsx +12 -25
- package/src/components/ImageGallery/components/ProgressControl.tsx +107 -0
- package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +722 -0
- package/src/components/Message/Message.tsx +18 -7
- package/src/components/Message/MessageSimple/utils/renderText.tsx +6 -1
- package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +2 -0
- package/src/components/Reply/Reply.tsx +36 -23
- package/src/components/Spinner/Spinner.tsx +11 -4
- package/src/components/index.ts +2 -0
- package/src/contexts/messageContext/MessageContext.tsx +2 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +11 -0
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +1 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
- package/src/contexts/themeContext/utils/theme.ts +18 -0
- package/src/icons/Pause.tsx +14 -0
- package/src/icons/Play.tsx +17 -0
- package/src/icons/index.ts +2 -0
- package/src/mock-builders/api/queryMembers.js +98 -0
- package/src/native.ts +59 -1
- package/src/utils/getUrlOfImageAttachment.ts +1 -1
- package/src/version.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
|
-
exports.queryMembersApi = void 0;
|
|
4
|
+
exports.queryMembersApi = exports.ONE_MEMBER_WITH_EMPTY_USER_MOCK = exports.ONE_CHANNEL_MEMBER_MOCK = exports.GROUP_CHANNEL_MEMBERS_MOCK = void 0;
|
|
5
5
|
|
|
6
6
|
var _utils = require("./utils");
|
|
7
7
|
|
|
@@ -14,4 +14,101 @@ var queryMembersApi = function queryMembersApi() {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
exports.queryMembersApi = queryMembersApi;
|
|
17
|
+
var ONE_CHANNEL_MEMBER_MOCK = {
|
|
18
|
+
okey: {
|
|
19
|
+
banned: false,
|
|
20
|
+
channel_role: 'channel_member',
|
|
21
|
+
created_at: '2021-01-27T11:54:34.173125Z',
|
|
22
|
+
role: 'member',
|
|
23
|
+
shadow_banned: false,
|
|
24
|
+
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
25
|
+
user: {
|
|
26
|
+
id: 'okechukwu nwagba martin',
|
|
27
|
+
name: 'okechukwu nwagba martin'
|
|
28
|
+
},
|
|
29
|
+
user_id: 'okechukwu nwagba martin'
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.ONE_CHANNEL_MEMBER_MOCK = ONE_CHANNEL_MEMBER_MOCK;
|
|
33
|
+
var GROUP_CHANNEL_MEMBERS_MOCK = {
|
|
34
|
+
ben: {
|
|
35
|
+
banned: false,
|
|
36
|
+
channel_role: 'channel_member',
|
|
37
|
+
created_at: '2021-01-27T11:54:34.173125Z',
|
|
38
|
+
role: 'member',
|
|
39
|
+
shadow_banned: false,
|
|
40
|
+
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
41
|
+
user: {
|
|
42
|
+
id: 'ben',
|
|
43
|
+
name: 'ben'
|
|
44
|
+
},
|
|
45
|
+
user_id: 'ben'
|
|
46
|
+
},
|
|
47
|
+
nick: {
|
|
48
|
+
banned: false,
|
|
49
|
+
channel_role: 'channel_member',
|
|
50
|
+
created_at: '2021-01-27T11:54:34.173125Z',
|
|
51
|
+
role: 'member',
|
|
52
|
+
shadow_banned: false,
|
|
53
|
+
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
54
|
+
user: {
|
|
55
|
+
id: 'nick',
|
|
56
|
+
name: 'nick'
|
|
57
|
+
},
|
|
58
|
+
user_id: 'nick'
|
|
59
|
+
},
|
|
60
|
+
okey: {
|
|
61
|
+
banned: false,
|
|
62
|
+
channel_role: 'channel_member',
|
|
63
|
+
created_at: '2021-01-27T11:54:34.173125Z',
|
|
64
|
+
role: 'member',
|
|
65
|
+
shadow_banned: false,
|
|
66
|
+
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
67
|
+
user: {
|
|
68
|
+
id: 'okechukwu nwagba',
|
|
69
|
+
name: 'okechukwu nwagba'
|
|
70
|
+
},
|
|
71
|
+
user_id: 'okechukwu nwagba'
|
|
72
|
+
},
|
|
73
|
+
qatest1: {
|
|
74
|
+
banned: false,
|
|
75
|
+
channel_role: 'channel_member',
|
|
76
|
+
created_at: '2021-01-28T09:08:43.274508Z',
|
|
77
|
+
role: 'member',
|
|
78
|
+
shadow_banned: false,
|
|
79
|
+
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
80
|
+
user: {
|
|
81
|
+
id: 'qatest1',
|
|
82
|
+
name: 'qatest1'
|
|
83
|
+
},
|
|
84
|
+
user_id: 'qatest1'
|
|
85
|
+
},
|
|
86
|
+
thierry: {
|
|
87
|
+
banned: false,
|
|
88
|
+
channel_role: 'channel_member',
|
|
89
|
+
created_at: '2021-01-27T11:54:34.173125Z',
|
|
90
|
+
role: 'member',
|
|
91
|
+
shadow_banned: false,
|
|
92
|
+
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
93
|
+
user: {
|
|
94
|
+
id: 'thierry',
|
|
95
|
+
name: 'thierry'
|
|
96
|
+
},
|
|
97
|
+
user_id: 'thierry'
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
exports.GROUP_CHANNEL_MEMBERS_MOCK = GROUP_CHANNEL_MEMBERS_MOCK;
|
|
101
|
+
var ONE_MEMBER_WITH_EMPTY_USER_MOCK = {
|
|
102
|
+
okey: {
|
|
103
|
+
banned: false,
|
|
104
|
+
channel_role: 'channel_member',
|
|
105
|
+
created_at: '2021-01-27T11:54:34.173125Z',
|
|
106
|
+
role: 'member',
|
|
107
|
+
shadow_banned: false,
|
|
108
|
+
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
109
|
+
user: {},
|
|
110
|
+
user_id: 'okechukwu nwagba martin'
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
exports.ONE_MEMBER_WITH_EMPTY_USER_MOCK = ONE_MEMBER_WITH_EMPTY_USER_MOCK;
|
|
17
114
|
//# sourceMappingURL=queryMembers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["queryMembers.js"],"names":["queryMembersApi","members","result"],"mappings":";;;;;AAAA;;AASO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,GAAkB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AAC/C,MAAMC,MAAM,GAAG;AACbD,IAAAA,OAAO,EAAPA;AADa,GAAf;AAIA,SAAO,8BAAkBC,MAAlB,EAA0B,KAA1B,CAAP;AACD,CANM","sourcesContent":["import { mockedApiResponse } from './utils';\n\n/**\n * Returns the api response for queryMembers api\n *\n * api - /query_members\n *\n * @param {*} members Array of User objects.\n */\nexport const queryMembersApi = (members = []) => {\n const result = {\n members,\n };\n\n return mockedApiResponse(result, 'get');\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["queryMembers.js"],"names":["queryMembersApi","members","result","ONE_CHANNEL_MEMBER_MOCK","okey","banned","channel_role","created_at","role","shadow_banned","updated_at","user","id","name","user_id","GROUP_CHANNEL_MEMBERS_MOCK","ben","nick","qatest1","thierry","ONE_MEMBER_WITH_EMPTY_USER_MOCK"],"mappings":"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","sourcesContent":["import { mockedApiResponse } from './utils';\n\n/**\n * Returns the api response for queryMembers api\n *\n * api - /query_members\n *\n * @param {*} members Array of User objects.\n */\nexport const queryMembersApi = (members = []) => {\n const result = {\n members,\n };\n\n return mockedApiResponse(result, 'get');\n};\n\nexport const ONE_CHANNEL_MEMBER_MOCK = {\n okey: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'okechukwu nwagba martin',\n name: 'okechukwu nwagba martin',\n },\n user_id: 'okechukwu nwagba martin',\n },\n};\n\nexport const GROUP_CHANNEL_MEMBERS_MOCK = {\n ben: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'ben',\n name: 'ben',\n },\n user_id: 'ben',\n },\n nick: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'nick',\n name: 'nick',\n },\n user_id: 'nick',\n },\n okey: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'okechukwu nwagba',\n name: 'okechukwu nwagba',\n },\n user_id: 'okechukwu nwagba',\n },\n qatest1: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-28T09:08:43.274508Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'qatest1',\n name: 'qatest1',\n },\n user_id: 'qatest1',\n },\n\n thierry: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {\n id: 'thierry',\n name: 'thierry',\n },\n user_id: 'thierry',\n },\n};\n\nexport const ONE_MEMBER_WITH_EMPTY_USER_MOCK = {\n okey: {\n banned: false,\n channel_role: 'channel_member',\n created_at: '2021-01-27T11:54:34.173125Z',\n role: 'member',\n shadow_banned: false,\n updated_at: '2021-02-12T12:12:35.862282Z',\n user: {},\n user_id: 'okechukwu nwagba martin',\n },\n};\n"]}
|
package/lib/commonjs/native.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
|
-
exports.triggerHaptic = exports.takePhoto = exports.shareImage = exports.saveFile = exports.registerNativeHandlers = exports.pickDocument = exports.getPhotos = exports.getLocalAssetUri = exports.deleteFile = exports.compressImage = exports.SDK = exports.NetInfo = exports.FlatList = void 0;
|
|
4
|
+
exports.triggerHaptic = exports.takePhoto = exports.shareImage = exports.saveFile = exports.registerNativeHandlers = exports.pickDocument = exports.getPhotos = exports.getLocalAssetUri = exports.deleteFile = exports.compressImage = exports.Video = exports.SDK = exports.NetInfo = exports.FlatList = void 0;
|
|
5
5
|
|
|
6
6
|
var _reactNative = require("react-native");
|
|
7
7
|
|
|
@@ -36,6 +36,8 @@ var triggerHaptic = fail;
|
|
|
36
36
|
exports.triggerHaptic = triggerHaptic;
|
|
37
37
|
var SDK;
|
|
38
38
|
exports.SDK = SDK;
|
|
39
|
+
var Video = fail;
|
|
40
|
+
exports.Video = Video;
|
|
39
41
|
|
|
40
42
|
var registerNativeHandlers = function registerNativeHandlers(handlers) {
|
|
41
43
|
if (handlers.compressImage) {
|
|
@@ -89,6 +91,10 @@ var registerNativeHandlers = function registerNativeHandlers(handlers) {
|
|
|
89
91
|
if (handlers.triggerHaptic) {
|
|
90
92
|
exports.triggerHaptic = triggerHaptic = handlers.triggerHaptic;
|
|
91
93
|
}
|
|
94
|
+
|
|
95
|
+
if (handlers.Video) {
|
|
96
|
+
exports.Video = Video = handlers.Video;
|
|
97
|
+
}
|
|
92
98
|
};
|
|
93
99
|
|
|
94
100
|
exports.registerNativeHandlers = registerNativeHandlers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","registerNativeHandlers","handlers"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","Video","registerNativeHandlers","handlers"],"mappings":";;;;;AACA;;AAMA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAiBO,IAAIC,aAA4B,GAAGF,IAAnC;;AAGA,IAAIG,UAAsB,GAAGH,IAA7B;;AAGA,IAAII,gBAAkC,GAAGJ,IAAzC;;AASA,IAAIK,SAAoB,GAAGL,IAA3B;;AAOA,IAAIM,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAET,IADU;AAE5BU,EAAAA,KAAK,EAAEV;AAFqB,CAAvB;;AAWA,IAAIW,YAA0B,GAAGX,IAAjC;;AAOA,IAAIY,QAAkB,GAAGZ,IAAzB;;AAOA,IAAIa,UAAsB,GAAGb,IAA7B;;AASA,IAAIc,SAAoB,GAAGd,IAA3B;;AAWA,IAAIe,aAA4B,GAAGf,IAAnC;;AAEA,IAAIgB,GAAJ;;AAoDA,IAAIC,KAAqC,GAAGjB,IAA5C;;;AAkBA,IAAMkB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAACjB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGiB,QAAQ,CAACjB,aAAzB;AACD;;AAED,MAAIiB,QAAQ,CAAChB,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGgB,QAAQ,CAAChB,UAAtB;AACD;;AAED,MAAIgB,QAAQ,CAACb,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGa,QAAQ,CAACb,QAApB;AACD;;AACD,MAAIa,QAAQ,CAACX,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGW,QAAQ,CAACX,OAAnB;AACD;;AAED,MAAIW,QAAQ,CAACf,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGe,QAAQ,CAACf,gBAA5B;AACD;;AAED,MAAIe,QAAQ,CAACd,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGc,QAAQ,CAACd,SAArB;AACD;;AAED,MAAIc,QAAQ,CAACX,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGW,QAAQ,CAACX,OAAnB;AACD;;AAED,MAAIW,QAAQ,CAACR,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGQ,QAAQ,CAACR,YAAxB;AACD;;AAED,MAAIQ,QAAQ,CAACP,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGO,QAAQ,CAACP,QAApB;AACD;;AAED,MAAIO,QAAQ,CAACH,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGG,QAAQ,CAACH,GAAf;AACD;;AAED,MAAIG,QAAQ,CAACN,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGM,QAAQ,CAACN,UAAtB;AACD;;AAED,MAAIM,QAAQ,CAACL,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGK,QAAQ,CAACL,SAArB;AACD;;AAED,MAAIK,QAAQ,CAACJ,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGI,QAAQ,CAACJ,aAAzB;AACD;;AAED,MAAII,QAAQ,CAACF,KAAb,EAAoB;AAClB,oBAAAA,KAAK,GAAGE,QAAQ,CAACF,KAAjB;AACD;AACF,CAvDM","sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport let SDK: string;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type VideoProgressData = {\n currentTime?: number;\n playableDuration?: number;\n seekableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n duration?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType> = fail;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n};\n"]}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
exports.getUrlOfImageAttachment = getUrlOfImageAttachment;
|
|
5
5
|
|
|
6
6
|
function getUrlOfImageAttachment(image) {
|
|
7
|
-
return image.image_url || image.thumb_url;
|
|
7
|
+
return image.image_url || image.thumb_url || image.asset_url;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=getUrlOfImageAttachment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getUrlOfImageAttachment.ts"],"names":["getUrlOfImageAttachment","image","image_url","thumb_url"],"mappings":";;;;;AAOO,SAASA,uBAAT,CAAiCC,KAAjC,EAAoD;AACzD,SAAOA,KAAK,CAACC,SAAN,IAAmBD,KAAK,CAACE,
|
|
1
|
+
{"version":3,"sources":["getUrlOfImageAttachment.ts"],"names":["getUrlOfImageAttachment","image","image_url","thumb_url","asset_url"],"mappings":";;;;;AAOO,SAASA,uBAAT,CAAiCC,KAAjC,EAAoD;AACzD,SAAOA,KAAK,CAACC,SAAN,IAAmBD,KAAK,CAACE,SAAzB,IAAsCF,KAAK,CAACG,SAAnD;AACD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\n/**\n * Extract url of image from image attachment.\n * @param image Image attachment\n * @returns {string}\n */\nexport function getUrlOfImageAttachment(image: Attachment) {\n return image.image_url || image.thumb_url || image.asset_url;\n}\n"]}
|
|
@@ -82,26 +82,35 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
|
|
|
82
82
|
})));
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
if (attachment.type === '
|
|
86
|
-
return _react["default"].createElement(
|
|
87
|
-
|
|
85
|
+
if (attachment.type === 'video' && !attachment.og_scrape_url) {
|
|
86
|
+
return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Gallery, {
|
|
87
|
+
videos: [attachment],
|
|
88
88
|
__self: _this,
|
|
89
89
|
__source: {
|
|
90
90
|
fileName: _jsxFileName,
|
|
91
|
-
lineNumber:
|
|
92
|
-
columnNumber:
|
|
91
|
+
lineNumber: 81,
|
|
92
|
+
columnNumber: 9
|
|
93
93
|
}
|
|
94
|
-
})
|
|
94
|
+
}), hasAttachmentActions && _react["default"].createElement(AttachmentActions, (0, _extends2["default"])({
|
|
95
|
+
key: "key-actions-" + attachment.id
|
|
96
|
+
}, attachment, {
|
|
97
|
+
__self: _this,
|
|
98
|
+
__source: {
|
|
99
|
+
fileName: _jsxFileName,
|
|
100
|
+
lineNumber: 83,
|
|
101
|
+
columnNumber: 11
|
|
102
|
+
}
|
|
103
|
+
})));
|
|
95
104
|
}
|
|
96
105
|
|
|
97
|
-
if (attachment.type === '
|
|
106
|
+
if (attachment.type === 'file' || attachment.type === 'audio') {
|
|
98
107
|
return _react["default"].createElement(FileAttachment, {
|
|
99
108
|
attachment: attachment,
|
|
100
109
|
__self: _this,
|
|
101
110
|
__source: {
|
|
102
111
|
fileName: _jsxFileName,
|
|
103
|
-
lineNumber:
|
|
104
|
-
columnNumber:
|
|
112
|
+
lineNumber: 90,
|
|
113
|
+
columnNumber: 12
|
|
105
114
|
}
|
|
106
115
|
});
|
|
107
116
|
}
|
|
@@ -111,7 +120,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
|
|
|
111
120
|
__self: _this,
|
|
112
121
|
__source: {
|
|
113
122
|
fileName: _jsxFileName,
|
|
114
|
-
lineNumber:
|
|
123
|
+
lineNumber: 96,
|
|
115
124
|
columnNumber: 9
|
|
116
125
|
}
|
|
117
126
|
})), _react["default"].createElement(AttachmentActions, (0, _extends2["default"])({
|
|
@@ -120,7 +129,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
|
|
|
120
129
|
__self: _this,
|
|
121
130
|
__source: {
|
|
122
131
|
fileName: _jsxFileName,
|
|
123
|
-
lineNumber:
|
|
132
|
+
lineNumber: 97,
|
|
124
133
|
columnNumber: 9
|
|
125
134
|
}
|
|
126
135
|
})));
|
|
@@ -129,7 +138,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
|
|
|
129
138
|
__self: _this,
|
|
130
139
|
__source: {
|
|
131
140
|
fileName: _jsxFileName,
|
|
132
|
-
lineNumber:
|
|
141
|
+
lineNumber: 101,
|
|
133
142
|
columnNumber: 12
|
|
134
143
|
}
|
|
135
144
|
}));
|
|
@@ -198,7 +207,7 @@ var Attachment = function Attachment(props) {
|
|
|
198
207
|
__self: _this,
|
|
199
208
|
__source: {
|
|
200
209
|
fileName: _jsxFileName,
|
|
201
|
-
lineNumber:
|
|
210
|
+
lineNumber: 191,
|
|
202
211
|
columnNumber: 5
|
|
203
212
|
}
|
|
204
213
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Attachment.tsx"],"names":["AttachmentWithContext","props","attachment","AttachmentActions","Card","FileAttachment","Gallery","Giphy","giphyVersion","UrlPreview","hasAttachmentActions","actions","length","type","title_link","og_scrape_url","image_url","thumb_url","id","asset_url","areEqual","prevProps","nextProps","prevAttachment","isAttachmentEqual","nextAttachment","attachmentEqual","MemoizedAttachment","React","memo","Attachment","PropAttachmentActions","PropCard","PropFileAttachment","PropGallery","PropGiphy","PropGiphyVersion","PropUrlPreview","ContextAttachmentActions","ContextCard","ContextFileAttachment","ContextGallery","ContextGiphy","ContextGiphyVersion","ContextUrlPreview","AttachmentActionsDefault","CardDefault","FileAttachmentDefault","GalleryDefault","GiphyDefault"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { Attachment as AttachmentType } from 'stream-chat';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { Card as CardDefault } from '../../components/Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../../components/Attachment/FileAttachment';\nimport { Gallery as GalleryDefault } from '../../components/Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../../components/Attachment/Giphy';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ActionHandler = (name: string, value: string) => void;\n\nexport type AttachmentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'giphyVersion'\n | 'Giphy'\n | 'isAttachmentEqual'\n | 'UrlPreview'\n> & {\n /**\n * The attachment to render\n */\n attachment: AttachmentType<StreamChatGenerics>;\n};\n\nconst AttachmentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n UrlPreview,\n } = props;\n\n const hasAttachmentActions = !!attachment.actions?.length;\n\n if (attachment.type === 'giphy' || attachment.type === 'imgur') {\n return <Giphy attachment={attachment} giphyVersion={giphyVersion} />;\n }\n\n if (\n (attachment.title_link || attachment.og_scrape_url) &&\n (attachment.image_url || attachment.thumb_url)\n ) {\n return <UrlPreview {...attachment} />;\n }\n\n if (attachment.type === 'image') {\n return (\n <>\n <Gallery images={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'file' || attachment.type === 'audio') {\n return <FileAttachment attachment={attachment} />;\n }\n\n if (attachment.type === 'video' && attachment.asset_url) {\n return (\n // TODO: Put in video component\n <FileAttachment attachment={attachment} />\n );\n }\n\n if (hasAttachmentActions) {\n return (\n <>\n <Card {...attachment} />\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n </>\n );\n } else {\n return <Card {...attachment} />;\n }\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AttachmentPropsWithContext<StreamChatGenerics>,\n nextProps: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const { attachment: prevAttachment, isAttachmentEqual } = prevProps;\n const { attachment: nextAttachment } = nextProps;\n\n const attachmentEqual =\n prevAttachment.actions?.length === nextAttachment.actions?.length &&\n prevAttachment.image_url === nextAttachment.image_url &&\n prevAttachment.thumb_url === nextAttachment.thumb_url;\n if (!attachmentEqual) return false;\n\n if (isAttachmentEqual) {\n return isAttachmentEqual(prevAttachment, nextAttachment);\n }\n\n return true;\n};\n\nconst MemoizedAttachment = React.memo(\n AttachmentWithContext,\n areEqual,\n) as typeof AttachmentWithContext;\n\nexport type AttachmentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'Giphy'\n | 'giphyVersion'\n | 'UrlPreview'\n | 'isAttachmentEqual'\n >\n> &\n Pick<AttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>;\n\n/**\n * Attachment - The message attachment\n */\nexport const Attachment = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentProps<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions: PropAttachmentActions,\n Card: PropCard,\n FileAttachment: PropFileAttachment,\n Gallery: PropGallery,\n Giphy: PropGiphy,\n giphyVersion: PropGiphyVersion,\n UrlPreview: PropUrlPreview,\n } = props;\n\n const {\n AttachmentActions: ContextAttachmentActions,\n Card: ContextCard,\n FileAttachment: ContextFileAttachment,\n Gallery: ContextGallery,\n Giphy: ContextGiphy,\n giphyVersion: ContextGiphyVersion,\n isAttachmentEqual,\n UrlPreview: ContextUrlPreview,\n } = useMessagesContext<StreamChatGenerics>();\n\n if (!attachment) {\n return null;\n }\n\n const AttachmentActions =\n PropAttachmentActions || ContextAttachmentActions || AttachmentActionsDefault;\n const Card = PropCard || ContextCard || CardDefault;\n const FileAttachment = PropFileAttachment || ContextFileAttachment || FileAttachmentDefault;\n const Gallery = PropGallery || ContextGallery || GalleryDefault;\n const Giphy = PropGiphy || ContextGiphy || GiphyDefault;\n const UrlPreview = PropUrlPreview || ContextUrlPreview || CardDefault;\n const giphyVersion = PropGiphyVersion || ContextGiphyVersion;\n\n return (\n <MemoizedAttachment\n {...{\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n isAttachmentEqual,\n UrlPreview,\n }}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Attachment.tsx"],"names":["AttachmentWithContext","props","attachment","AttachmentActions","Card","FileAttachment","Gallery","Giphy","giphyVersion","UrlPreview","hasAttachmentActions","actions","length","type","title_link","og_scrape_url","image_url","thumb_url","id","areEqual","prevProps","nextProps","prevAttachment","isAttachmentEqual","nextAttachment","attachmentEqual","MemoizedAttachment","React","memo","Attachment","PropAttachmentActions","PropCard","PropFileAttachment","PropGallery","PropGiphy","PropGiphyVersion","PropUrlPreview","ContextAttachmentActions","ContextCard","ContextFileAttachment","ContextGallery","ContextGiphy","ContextGiphyVersion","ContextUrlPreview","AttachmentActionsDefault","CardDefault","FileAttachmentDefault","GalleryDefault","GiphyDefault"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { Attachment as AttachmentType } from 'stream-chat';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { Card as CardDefault } from '../../components/Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../../components/Attachment/FileAttachment';\nimport { Gallery as GalleryDefault } from '../../components/Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../../components/Attachment/Giphy';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ActionHandler = (name: string, value: string) => void;\n\nexport type AttachmentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'giphyVersion'\n | 'Giphy'\n | 'isAttachmentEqual'\n | 'UrlPreview'\n> & {\n /**\n * The attachment to render\n */\n attachment: AttachmentType<StreamChatGenerics>;\n};\n\nconst AttachmentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n UrlPreview,\n } = props;\n\n const hasAttachmentActions = !!attachment.actions?.length;\n\n if (attachment.type === 'giphy' || attachment.type === 'imgur') {\n return <Giphy attachment={attachment} giphyVersion={giphyVersion} />;\n }\n\n if (\n (attachment.title_link || attachment.og_scrape_url) &&\n (attachment.image_url || attachment.thumb_url)\n ) {\n return <UrlPreview {...attachment} />;\n }\n\n if (attachment.type === 'image') {\n return (\n <>\n <Gallery images={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'video' && !attachment.og_scrape_url) {\n return (\n <>\n <Gallery videos={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'file' || attachment.type === 'audio') {\n return <FileAttachment attachment={attachment} />;\n }\n\n if (hasAttachmentActions) {\n return (\n <>\n <Card {...attachment} />\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n </>\n );\n } else {\n return <Card {...attachment} />;\n }\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AttachmentPropsWithContext<StreamChatGenerics>,\n nextProps: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const { attachment: prevAttachment, isAttachmentEqual } = prevProps;\n const { attachment: nextAttachment } = nextProps;\n\n const attachmentEqual =\n prevAttachment.actions?.length === nextAttachment.actions?.length &&\n prevAttachment.image_url === nextAttachment.image_url &&\n prevAttachment.thumb_url === nextAttachment.thumb_url;\n if (!attachmentEqual) return false;\n\n if (isAttachmentEqual) {\n return isAttachmentEqual(prevAttachment, nextAttachment);\n }\n\n return true;\n};\n\nconst MemoizedAttachment = React.memo(\n AttachmentWithContext,\n areEqual,\n) as typeof AttachmentWithContext;\n\nexport type AttachmentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'AttachmentActions'\n | 'Card'\n | 'FileAttachment'\n | 'Gallery'\n | 'Giphy'\n | 'giphyVersion'\n | 'UrlPreview'\n | 'isAttachmentEqual'\n >\n> &\n Pick<AttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>;\n\n/**\n * Attachment - The message attachment\n */\nexport const Attachment = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentProps<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions: PropAttachmentActions,\n Card: PropCard,\n FileAttachment: PropFileAttachment,\n Gallery: PropGallery,\n Giphy: PropGiphy,\n giphyVersion: PropGiphyVersion,\n UrlPreview: PropUrlPreview,\n } = props;\n\n const {\n AttachmentActions: ContextAttachmentActions,\n Card: ContextCard,\n FileAttachment: ContextFileAttachment,\n Gallery: ContextGallery,\n Giphy: ContextGiphy,\n giphyVersion: ContextGiphyVersion,\n isAttachmentEqual,\n UrlPreview: ContextUrlPreview,\n } = useMessagesContext<StreamChatGenerics>();\n\n if (!attachment) {\n return null;\n }\n\n const AttachmentActions =\n PropAttachmentActions || ContextAttachmentActions || AttachmentActionsDefault;\n const Card = PropCard || ContextCard || CardDefault;\n const FileAttachment = PropFileAttachment || ContextFileAttachment || FileAttachmentDefault;\n const Gallery = PropGallery || ContextGallery || GalleryDefault;\n const Giphy = PropGiphy || ContextGiphy || GiphyDefault;\n const UrlPreview = PropUrlPreview || ContextUrlPreview || CardDefault;\n const giphyVersion = PropGiphyVersion || ContextGiphyVersion;\n\n return (\n <MemoizedAttachment\n {...{\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n giphyVersion,\n isAttachmentEqual,\n UrlPreview,\n }}\n />\n );\n};\n"]}
|
|
@@ -129,6 +129,9 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
129
129
|
onLongPress: function onLongPress(event) {
|
|
130
130
|
if (_onLongPress) {
|
|
131
131
|
_onLongPress({
|
|
132
|
+
additionalInfo: {
|
|
133
|
+
url: og_scrape_url
|
|
134
|
+
},
|
|
132
135
|
emitter: 'card',
|
|
133
136
|
event: event
|
|
134
137
|
});
|
|
@@ -137,6 +140,9 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
137
140
|
onPress: function onPress(event) {
|
|
138
141
|
if (_onPress) {
|
|
139
142
|
_onPress({
|
|
143
|
+
additionalInfo: {
|
|
144
|
+
url: og_scrape_url
|
|
145
|
+
},
|
|
140
146
|
defaultHandler: defaultOnPress,
|
|
141
147
|
emitter: 'card',
|
|
142
148
|
event: event
|
|
@@ -146,6 +152,9 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
146
152
|
onPressIn: function onPressIn(event) {
|
|
147
153
|
if (_onPressIn) {
|
|
148
154
|
_onPressIn({
|
|
155
|
+
additionalInfo: {
|
|
156
|
+
url: og_scrape_url
|
|
157
|
+
},
|
|
149
158
|
defaultHandler: defaultOnPress,
|
|
150
159
|
emitter: 'card',
|
|
151
160
|
event: event
|
|
@@ -165,21 +174,21 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
165
174
|
__self: _this,
|
|
166
175
|
__source: {
|
|
167
176
|
fileName: _jsxFileName,
|
|
168
|
-
lineNumber:
|
|
177
|
+
lineNumber: 182,
|
|
169
178
|
columnNumber: 22
|
|
170
179
|
}
|
|
171
180
|
})), CardCover && _react["default"].createElement(CardCover, (0, _extends2["default"])({}, props, {
|
|
172
181
|
__self: _this,
|
|
173
182
|
__source: {
|
|
174
183
|
fileName: _jsxFileName,
|
|
175
|
-
lineNumber:
|
|
184
|
+
lineNumber: 183,
|
|
176
185
|
columnNumber: 21
|
|
177
186
|
}
|
|
178
187
|
})), uri && !CardCover && _react["default"].createElement(_reactNative.View, {
|
|
179
188
|
__self: _this,
|
|
180
189
|
__source: {
|
|
181
190
|
fileName: _jsxFileName,
|
|
182
|
-
lineNumber:
|
|
191
|
+
lineNumber: 185,
|
|
183
192
|
columnNumber: 9
|
|
184
193
|
}
|
|
185
194
|
}, _react["default"].createElement(_reactNative.Image, {
|
|
@@ -191,7 +200,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
191
200
|
__self: _this,
|
|
192
201
|
__source: {
|
|
193
202
|
fileName: _jsxFileName,
|
|
194
|
-
lineNumber:
|
|
203
|
+
lineNumber: 186,
|
|
195
204
|
columnNumber: 11
|
|
196
205
|
}
|
|
197
206
|
}), author_name && _react["default"].createElement(_reactNative.View, {
|
|
@@ -199,7 +208,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
199
208
|
__self: _this,
|
|
200
209
|
__source: {
|
|
201
210
|
fileName: _jsxFileName,
|
|
202
|
-
lineNumber:
|
|
211
|
+
lineNumber: 192,
|
|
203
212
|
columnNumber: 13
|
|
204
213
|
}
|
|
205
214
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -209,7 +218,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
209
218
|
__self: _this,
|
|
210
219
|
__source: {
|
|
211
220
|
fileName: _jsxFileName,
|
|
212
|
-
lineNumber:
|
|
221
|
+
lineNumber: 193,
|
|
213
222
|
columnNumber: 15
|
|
214
223
|
}
|
|
215
224
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -219,14 +228,14 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
219
228
|
__self: _this,
|
|
220
229
|
__source: {
|
|
221
230
|
fileName: _jsxFileName,
|
|
222
|
-
lineNumber:
|
|
231
|
+
lineNumber: 201,
|
|
223
232
|
columnNumber: 17
|
|
224
233
|
}
|
|
225
234
|
}, author_name)))), CardFooter ? _react["default"].createElement(CardFooter, (0, _extends2["default"])({}, props, {
|
|
226
235
|
__self: _this,
|
|
227
236
|
__source: {
|
|
228
237
|
fileName: _jsxFileName,
|
|
229
|
-
lineNumber:
|
|
238
|
+
lineNumber: 217,
|
|
230
239
|
columnNumber: 9
|
|
231
240
|
}
|
|
232
241
|
})) : _react["default"].createElement(_reactNative.View, {
|
|
@@ -234,7 +243,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
234
243
|
__self: _this,
|
|
235
244
|
__source: {
|
|
236
245
|
fileName: _jsxFileName,
|
|
237
|
-
lineNumber:
|
|
246
|
+
lineNumber: 219,
|
|
238
247
|
columnNumber: 9
|
|
239
248
|
}
|
|
240
249
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -246,7 +255,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
246
255
|
__self: _this,
|
|
247
256
|
__source: {
|
|
248
257
|
fileName: _jsxFileName,
|
|
249
|
-
lineNumber:
|
|
258
|
+
lineNumber: 220,
|
|
250
259
|
columnNumber: 11
|
|
251
260
|
}
|
|
252
261
|
}, !uri && author_name && _react["default"].createElement(_reactNative.Text, {
|
|
@@ -256,7 +265,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
256
265
|
__self: _this,
|
|
257
266
|
__source: {
|
|
258
267
|
fileName: _jsxFileName,
|
|
259
|
-
lineNumber:
|
|
268
|
+
lineNumber: 229,
|
|
260
269
|
columnNumber: 15
|
|
261
270
|
}
|
|
262
271
|
}, author_name), title && _react["default"].createElement(_reactNative.Text, {
|
|
@@ -267,7 +276,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
267
276
|
__self: _this,
|
|
268
277
|
__source: {
|
|
269
278
|
fileName: _jsxFileName,
|
|
270
|
-
lineNumber:
|
|
279
|
+
lineNumber: 241,
|
|
271
280
|
columnNumber: 15
|
|
272
281
|
}
|
|
273
282
|
}, title), text && _react["default"].createElement(_reactNative.Text, {
|
|
@@ -278,7 +287,7 @@ var CardWithContext = function CardWithContext(props) {
|
|
|
278
287
|
__self: _this,
|
|
279
288
|
__source: {
|
|
280
289
|
fileName: _jsxFileName,
|
|
281
|
-
lineNumber:
|
|
290
|
+
lineNumber: 249,
|
|
282
291
|
columnNumber: 15
|
|
283
292
|
}
|
|
284
293
|
}, text))));
|
|
@@ -317,7 +326,7 @@ var Card = function Card(props) {
|
|
|
317
326
|
__self: _this,
|
|
318
327
|
__source: {
|
|
319
328
|
fileName: _jsxFileName,
|
|
320
|
-
lineNumber:
|
|
329
|
+
lineNumber: 290,
|
|
321
330
|
columnNumber: 5
|
|
322
331
|
}
|
|
323
332
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Card.tsx"],"names":["styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","borderRadius","height","marginHorizontal","cardFooter","flexDirection","justifyContent","container","overflow","width","description","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","stylesProp","text","thumb_url","theme","colors","accent_blue","black","blue_alice","transparent","messageSimple","card","authorNameFooterContainer","cover","footer","titleStyle","footerStyle","noURI","uri","error","openURL","defaultOnPress","event","emitter","defaultHandler","backgroundColor","color","borderLeftColor","MemoizedCard","React","memo","Card","message","channelId","cid","messageId","id","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAcA;;AAEA;;AAIA;;AAIA;;AAEA;;;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,QAAQ,EAAE,IAAZ;AAAkBC,IAAAA,UAAU,EAAE;AAA9B,GADmB;AAE/BC,EAAAA,mBAAmB,EAAE;AACnBC,IAAAA,oBAAoB,EAAE,EADH;AAEnBC,IAAAA,iBAAiB,EAAE,CAFA;AAGnBC,IAAAA,UAAU,EAAE;AAHO,GAFU;AAO/BC,EAAAA,gBAAgB,EAAE;AAChBN,IAAAA,QAAQ,EAAE,IADM;AAEhBC,IAAAA,UAAU,EAAE,KAFI;AAGhBM,IAAAA,OAAO,EAAE;AAHO,GAPa;AAY/BC,EAAAA,cAAc,EAAE;AACdC,IAAAA,MAAM,EAAE,CADM;AAEdC,IAAAA,IAAI,EAAE,CAFQ;AAGdC,IAAAA,QAAQ,EAAE;AAHI,GAZe;AAiB/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,YAAY,EAAE,CADL;AAETC,IAAAA,MAAM,EAAE,GAFC;AAGTC,IAAAA,gBAAgB,EAAE;AAHT,GAjBoB;AAsB/BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,aAAa,EAAE,KADL;AAEVC,IAAAA,cAAc,EAAE,eAFN;AAGVX,IAAAA,OAAO,EAAE;AAHC,GAtBmB;AA2B/BY,EAAAA,SAAS,EAAE;AACTC,IAAAA,QAAQ,EAAE,QADD;AAETC,IAAAA,KAAK,EAAE;AAFE,GA3BoB;AA+B/BC,EAAAA,WAAW,EAAE;AACXtB,IAAAA,QAAQ,EAAE,EADC;AAEXe,IAAAA,gBAAgB,EAAE;AAFP,GA/BkB;AAmC/BQ,EAAAA,KAAK,EAAE;AACLvB,IAAAA,QAAQ,EAAE,EADL;AAELe,IAAAA,gBAAgB,EAAE;AAFb;AAnCwB,CAAlB,CAAf;;AAoEA,IAAMS,eAAe,GAAG,SAAlBA,eAAkB,CAGtBC,KAHsB,EAInB;AACH,MACEC,wBADF,GAgBID,KAhBJ,CACEC,wBADF;AAAA,MAEEC,WAFF,GAgBIF,KAhBJ,CAEEE,WAFF;AAAA,MAGEC,SAHF,GAgBIH,KAhBJ,CAGEG,SAHF;AAAA,MAIEC,UAJF,GAgBIJ,KAhBJ,CAIEI,UAJF;AAAA,MAKEC,UALF,GAgBIL,KAhBJ,CAKEK,UALF;AAAA,MAMEC,SANF,GAgBIN,KAhBJ,CAMEM,SANF;AAAA,MAOEC,aAPF,GAgBIP,KAhBJ,CAOEO,aAPF;AAAA,MAQEC,YARF,GAgBIR,KAhBJ,CAQEQ,WARF;AAAA,MASEC,QATF,GAgBIT,KAhBJ,CASES,OATF;AAAA,MAUEC,UAVF,GAgBIV,KAhBJ,CAUEU,SAVF;AAAA,MAWEC,YAXF,GAgBIX,KAhBJ,CAWEW,YAXF;AAAA,sBAgBIX,KAhBJ,CAYE7B,MAZF;AAAA,MAYUyC,UAZV,8BAYuB,EAZvB;AAAA,MAaEC,IAbF,GAgBIb,KAhBJ,CAaEa,IAbF;AAAA,MAcEC,SAdF,GAgBId,KAhBJ,CAcEc,SAdF;AAAA,MAeEhB,KAfF,GAgBIE,KAhBJ,CAeEF,KAfF;;AAkBA,kBAiBI,6BAjBJ;AAAA,kCACEiB,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,KAF3B,yBAE2BA,KAF3B;AAAA,MAEkCC,UAFlC,yBAEkCA,UAFlC;AAAA,MAE8CC,WAF9C,yBAE8CA,WAF9C;AAAA,8CAGIC,aAHJ,CAIMC,IAJN;AAAA,MAKQhD,UALR,yBAKQA,UALR;AAAA,MAMQG,mBANR,yBAMQA,mBANR;AAAA,MAOQI,gBAPR,yBAOQA,gBAPR;AAAA,MAQQ0C,yBARR,yBAQQA,yBARR;AAAA,MASQxC,cATR,yBASQA,cATR;AAAA,MAUQW,SAVR,yBAUQA,SAVR;AAAA,MAWQ8B,KAXR,yBAWQA,KAXR;AAAA,qDAYQC,MAZR;AAAA,MAYkB5B,WAZlB,0BAYkBA,WAZlB;AAAA,MAYsC6B,UAZtC,0BAY+B5B,KAZ/B;AAAA,MAYqD6B,WAZrD;AAAA,MAaQC,KAbR,yBAaQA,KAbR;;AAmBA,MAAMC,GAAG,GAAGvB,SAAS,IAAIQ,SAAzB;;AAEA,oBAAyB,6BAAWP,aAAa,IAAIsB,GAA5B,CAAzB;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,OAAd;;AAEA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAM,CAACF,KAAD,IAAUC,OAAV,IAAqBA,OAAO,EAAlC;AAAA,GAAvB;;AAEA,SACE,gCAAC,6BAAD;AACE,IAAA,QAAQ,EAAEpB,YADZ;AAEE,IAAA,WAAW,EAAE,qBAACsB,KAAD,EAAW;AACtB,UAAIzB,YAAJ,EAAiB;AACfA,QAAAA,YAAW,CAAC;AACV0B,UAAAA,OAAO,EAAE,MADC;AAEVD,UAAAA,KAAK,EAALA;AAFU,SAAD,CAAX;AAID;AACF,KATH;AAUE,IAAA,OAAO,EAAE,iBAACA,KAAD,EAAW;AAClB,UAAIxB,QAAJ,EAAa;AACXA,QAAAA,QAAO,CAAC;AACN0B,UAAAA,cAAc,EAAEH,cADV;AAENE,UAAAA,OAAO,EAAE,MAFH;AAGND,UAAAA,KAAK,EAALA;AAHM,SAAD,CAAP;AAKD;AACF,KAlBH;AAmBE,IAAA,SAAS,EAAE,mBAACA,KAAD,EAAW;AACpB,UAAIvB,UAAJ,EAAe;AACbA,QAAAA,UAAS,CAAC;AACRyB,UAAAA,cAAc,EAAEH,cADR;AAERE,UAAAA,OAAO,EAAE,MAFD;AAGRD,UAAAA,KAAK,EAALA;AAHQ,SAAD,CAAT;AAKD;AACF,KA3BH;AA4BE,IAAA,KAAK,EAAE,CAAC9D,MAAM,CAACuB,SAAR,EAAmBA,SAAnB,EAA8BkB,UAAU,CAAClB,SAAzC,CA5BT;AA6BE,IAAA,MAAM,EAAC;AA7BT,KA8BMO,wBA9BN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAgCGI,UAAU,IAAI,gCAAC,UAAD,gCAAgBL,KAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAhCjB,EAiCGG,SAAS,IAAI,gCAAC,SAAD,gCAAeH,KAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAjChB,EAkCG6B,GAAG,IAAI,CAAC1B,SAAR,IACC,gCAAC,iBAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,kBAAD;AACE,IAAA,UAAU,EAAC,OADb;AAEE,IAAA,MAAM,EAAE;AAAE0B,MAAAA,GAAG,EAAE,mCAAuBA,GAAvB;AAAP,KAFV;AAGE,IAAA,KAAK,EAAE,CAAC1D,MAAM,CAACgB,SAAR,EAAmBqC,KAAnB,EAA0BZ,UAAU,CAACzB,SAArC,CAHT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,EAMGe,WAAW,IACV,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC/B,MAAM,CAACY,cAAR,EAAwBA,cAAxB,EAAwC6B,UAAU,CAAC7B,cAAnD,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLZ,MAAM,CAACM,mBADF,EAEL;AAAE2D,MAAAA,eAAe,EAAEjB;AAAnB,KAFK,EAGL1C,mBAHK,EAILmC,UAAU,CAACnC,mBAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLN,MAAM,CAACG,UADF,EAEL;AAAE+D,MAAAA,KAAK,EAAEpB;AAAT,KAFK,EAGL3C,UAHK,EAILsC,UAAU,CAACtC,UAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQG4B,WARH,CARF,CADF,CAPJ,CAnCJ,EAkEGE,UAAU,GACT,gCAAC,UAAD,gCAAgBJ,KAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADS,GAGT,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC7B,MAAM,CAACoB,UAAR,EAAoBoC,WAApB,EAAiCf,UAAU,CAACrB,UAA5C,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLgC,yBADK,EAEL;AAAEa,MAAAA,eAAe,EAAEhB;AAAnB,KAFK,EAGL,CAACS,GAAD;AAASS,MAAAA,eAAe,EAAErB;AAA1B,OAA0CW,KAA1C,IAAoD,EAH/C,EAILhB,UAAU,CAACW,yBAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQG,CAACM,GAAD,IAAQ3B,WAAR,IACC,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL/B,MAAM,CAACU,gBADF,EAEL;AAAEwD,MAAAA,KAAK,EAAEpB;AAAT,KAFK,EAGLpC,gBAHK,EAIL+B,UAAU,CAAC/B,gBAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQGqB,WARH,CATJ,EAoBGJ,KAAK,IACJ,gCAAC,iBAAD;AACE,IAAA,aAAa,EAAE,CADjB;AAEE,IAAA,KAAK,EAAE,CAAC3B,MAAM,CAAC2B,KAAR,EAAe;AAAEuC,MAAAA,KAAK,EAAEnB;AAAT,KAAf,EAAiCQ,UAAjC,EAA6Cd,UAAU,CAACd,KAAxD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAIGA,KAJH,CArBJ,EA4BGe,IAAI,IACH,gCAAC,iBAAD;AACE,IAAA,aAAa,EAAE,CADjB;AAEE,IAAA,KAAK,EAAE,CAAC1C,MAAM,CAAC0B,WAAR,EAAqB;AAAEwC,MAAAA,KAAK,EAAEnB;AAAT,KAArB,EAAuCrB,WAAvC,EAAoDe,UAAU,CAACf,WAA/D,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAIGgB,IAJH,CA7BJ,CADF,CArEJ,CADF;AAgHD,CAhKD;;AAkKA,IAAM0B,YAAY,GAAGC,kBAAMC,IAAN,CAAW1C,eAAX,EAA4B;AAAA,SAAM,IAAN;AAAA,CAA5B,CAArB;;AAgBO,IAAM2C,IAAI,GAAG,SAAPA,IAAO,CAGlB1C,KAHkB,EAIf;AACH,2BACE,wCADF;AAAA,MAAQ2C,OAAR,sBAAQA,OAAR;AAAA,MAAiBnC,WAAjB,sBAAiBA,WAAjB;AAAA,MAA8BC,OAA9B,sBAA8BA,OAA9B;AAAA,MAAuCC,SAAvC,sBAAuCA,SAAvC;AAAA,MAAkDC,YAAlD,sBAAkDA,YAAlD;;AAEA,4BACE,0CADF;AAAA,MAAQV,wBAAR,uBAAQA,wBAAR;AAAA,MAAkCE,SAAlC,uBAAkCA,SAAlC;AAAA,MAA6CC,UAA7C,uBAA6CA,UAA7C;AAAA,MAAyDC,UAAzD,uBAAyDA,UAAzD;;AAGA,SACE,gCAAC,YAAD;AAEIJ,IAAAA,wBAAwB,EAAxBA,wBAFJ;AAGIE,IAAAA,SAAS,EAATA,SAHJ;AAIIC,IAAAA,UAAU,EAAVA,UAJJ;AAKIC,IAAAA,UAAU,EAAVA,UALJ;AAMIuC,IAAAA,SAAS,EAAED,OAAO,CAACE,GANvB;AAOIC,IAAAA,SAAS,EAAEH,OAAO,CAACI,EAPvB;AAQIvC,IAAAA,WAAW,EAAXA,WARJ;AASIC,IAAAA,OAAO,EAAPA,OATJ;AAUIC,IAAAA,SAAS,EAATA,SAVJ;AAWIC,IAAAA,YAAY,EAAZA;AAXJ,KAaMX,KAbN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAiBD,CA3BM;;;AA6BP0C,IAAI,CAACM,WAAL,GAAmB,2BAAnB","sourcesContent":["import React from 'react';\nimport {\n Image,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useGoToURL } from './hooks/useGoToURL';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 8,\n position: 'absolute',\n },\n cardCover: {\n borderRadius: 8,\n height: 140,\n marginHorizontal: 8,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const [error, openURL] = useGoToURL(og_scrape_url || uri);\n\n const defaultOnPress = () => !error && openURL && openURL();\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n />\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["Card.tsx"],"names":["styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","borderRadius","height","marginHorizontal","cardFooter","flexDirection","justifyContent","container","overflow","width","description","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","stylesProp","text","thumb_url","theme","colors","accent_blue","black","blue_alice","transparent","messageSimple","card","authorNameFooterContainer","cover","footer","titleStyle","footerStyle","noURI","uri","error","openURL","defaultOnPress","event","additionalInfo","url","emitter","defaultHandler","backgroundColor","color","borderLeftColor","MemoizedCard","React","memo","Card","message","channelId","cid","messageId","id","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAcA;;AAEA;;AAIA;;AAIA;;AAEA;;;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,QAAQ,EAAE,IAAZ;AAAkBC,IAAAA,UAAU,EAAE;AAA9B,GADmB;AAE/BC,EAAAA,mBAAmB,EAAE;AACnBC,IAAAA,oBAAoB,EAAE,EADH;AAEnBC,IAAAA,iBAAiB,EAAE,CAFA;AAGnBC,IAAAA,UAAU,EAAE;AAHO,GAFU;AAO/BC,EAAAA,gBAAgB,EAAE;AAChBN,IAAAA,QAAQ,EAAE,IADM;AAEhBC,IAAAA,UAAU,EAAE,KAFI;AAGhBM,IAAAA,OAAO,EAAE;AAHO,GAPa;AAY/BC,EAAAA,cAAc,EAAE;AACdC,IAAAA,MAAM,EAAE,CADM;AAEdC,IAAAA,IAAI,EAAE,CAFQ;AAGdC,IAAAA,QAAQ,EAAE;AAHI,GAZe;AAiB/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,YAAY,EAAE,CADL;AAETC,IAAAA,MAAM,EAAE,GAFC;AAGTC,IAAAA,gBAAgB,EAAE;AAHT,GAjBoB;AAsB/BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,aAAa,EAAE,KADL;AAEVC,IAAAA,cAAc,EAAE,eAFN;AAGVX,IAAAA,OAAO,EAAE;AAHC,GAtBmB;AA2B/BY,EAAAA,SAAS,EAAE;AACTC,IAAAA,QAAQ,EAAE,QADD;AAETC,IAAAA,KAAK,EAAE;AAFE,GA3BoB;AA+B/BC,EAAAA,WAAW,EAAE;AACXtB,IAAAA,QAAQ,EAAE,EADC;AAEXe,IAAAA,gBAAgB,EAAE;AAFP,GA/BkB;AAmC/BQ,EAAAA,KAAK,EAAE;AACLvB,IAAAA,QAAQ,EAAE,EADL;AAELe,IAAAA,gBAAgB,EAAE;AAFb;AAnCwB,CAAlB,CAAf;;AAoEA,IAAMS,eAAe,GAAG,SAAlBA,eAAkB,CAGtBC,KAHsB,EAInB;AACH,MACEC,wBADF,GAgBID,KAhBJ,CACEC,wBADF;AAAA,MAEEC,WAFF,GAgBIF,KAhBJ,CAEEE,WAFF;AAAA,MAGEC,SAHF,GAgBIH,KAhBJ,CAGEG,SAHF;AAAA,MAIEC,UAJF,GAgBIJ,KAhBJ,CAIEI,UAJF;AAAA,MAKEC,UALF,GAgBIL,KAhBJ,CAKEK,UALF;AAAA,MAMEC,SANF,GAgBIN,KAhBJ,CAMEM,SANF;AAAA,MAOEC,aAPF,GAgBIP,KAhBJ,CAOEO,aAPF;AAAA,MAQEC,YARF,GAgBIR,KAhBJ,CAQEQ,WARF;AAAA,MASEC,QATF,GAgBIT,KAhBJ,CASES,OATF;AAAA,MAUEC,UAVF,GAgBIV,KAhBJ,CAUEU,SAVF;AAAA,MAWEC,YAXF,GAgBIX,KAhBJ,CAWEW,YAXF;AAAA,sBAgBIX,KAhBJ,CAYE7B,MAZF;AAAA,MAYUyC,UAZV,8BAYuB,EAZvB;AAAA,MAaEC,IAbF,GAgBIb,KAhBJ,CAaEa,IAbF;AAAA,MAcEC,SAdF,GAgBId,KAhBJ,CAcEc,SAdF;AAAA,MAeEhB,KAfF,GAgBIE,KAhBJ,CAeEF,KAfF;;AAkBA,kBAiBI,6BAjBJ;AAAA,kCACEiB,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,KAF3B,yBAE2BA,KAF3B;AAAA,MAEkCC,UAFlC,yBAEkCA,UAFlC;AAAA,MAE8CC,WAF9C,yBAE8CA,WAF9C;AAAA,8CAGIC,aAHJ,CAIMC,IAJN;AAAA,MAKQhD,UALR,yBAKQA,UALR;AAAA,MAMQG,mBANR,yBAMQA,mBANR;AAAA,MAOQI,gBAPR,yBAOQA,gBAPR;AAAA,MAQQ0C,yBARR,yBAQQA,yBARR;AAAA,MASQxC,cATR,yBASQA,cATR;AAAA,MAUQW,SAVR,yBAUQA,SAVR;AAAA,MAWQ8B,KAXR,yBAWQA,KAXR;AAAA,qDAYQC,MAZR;AAAA,MAYkB5B,WAZlB,0BAYkBA,WAZlB;AAAA,MAYsC6B,UAZtC,0BAY+B5B,KAZ/B;AAAA,MAYqD6B,WAZrD;AAAA,MAaQC,KAbR,yBAaQA,KAbR;;AAmBA,MAAMC,GAAG,GAAGvB,SAAS,IAAIQ,SAAzB;;AAEA,oBAAyB,6BAAWP,aAAa,IAAIsB,GAA5B,CAAzB;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,OAAd;;AAEA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAM,CAACF,KAAD,IAAUC,OAAV,IAAqBA,OAAO,EAAlC;AAAA,GAAvB;;AAEA,SACE,gCAAC,6BAAD;AACE,IAAA,QAAQ,EAAEpB,YADZ;AAEE,IAAA,WAAW,EAAE,qBAACsB,KAAD,EAAW;AACtB,UAAIzB,YAAJ,EAAiB;AACfA,QAAAA,YAAW,CAAC;AACV0B,UAAAA,cAAc,EAAE;AAAEC,YAAAA,GAAG,EAAE5B;AAAP,WADN;AAEV6B,UAAAA,OAAO,EAAE,MAFC;AAGVH,UAAAA,KAAK,EAALA;AAHU,SAAD,CAAX;AAKD;AACF,KAVH;AAWE,IAAA,OAAO,EAAE,iBAACA,KAAD,EAAW;AAClB,UAAIxB,QAAJ,EAAa;AACXA,QAAAA,QAAO,CAAC;AACNyB,UAAAA,cAAc,EAAE;AAAEC,YAAAA,GAAG,EAAE5B;AAAP,WADV;AAEN8B,UAAAA,cAAc,EAAEL,cAFV;AAGNI,UAAAA,OAAO,EAAE,MAHH;AAINH,UAAAA,KAAK,EAALA;AAJM,SAAD,CAAP;AAMD;AACF,KApBH;AAqBE,IAAA,SAAS,EAAE,mBAACA,KAAD,EAAW;AACpB,UAAIvB,UAAJ,EAAe;AACbA,QAAAA,UAAS,CAAC;AACRwB,UAAAA,cAAc,EAAE;AAAEC,YAAAA,GAAG,EAAE5B;AAAP,WADR;AAER8B,UAAAA,cAAc,EAAEL,cAFR;AAGRI,UAAAA,OAAO,EAAE,MAHD;AAIRH,UAAAA,KAAK,EAALA;AAJQ,SAAD,CAAT;AAMD;AACF,KA9BH;AA+BE,IAAA,KAAK,EAAE,CAAC9D,MAAM,CAACuB,SAAR,EAAmBA,SAAnB,EAA8BkB,UAAU,CAAClB,SAAzC,CA/BT;AAgCE,IAAA,MAAM,EAAC;AAhCT,KAiCMO,wBAjCN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAmCGI,UAAU,IAAI,gCAAC,UAAD,gCAAgBL,KAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAnCjB,EAoCGG,SAAS,IAAI,gCAAC,SAAD,gCAAeH,KAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KApChB,EAqCG6B,GAAG,IAAI,CAAC1B,SAAR,IACC,gCAAC,iBAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,kBAAD;AACE,IAAA,UAAU,EAAC,OADb;AAEE,IAAA,MAAM,EAAE;AAAE0B,MAAAA,GAAG,EAAE,mCAAuBA,GAAvB;AAAP,KAFV;AAGE,IAAA,KAAK,EAAE,CAAC1D,MAAM,CAACgB,SAAR,EAAmBqC,KAAnB,EAA0BZ,UAAU,CAACzB,SAArC,CAHT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,EAMGe,WAAW,IACV,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC/B,MAAM,CAACY,cAAR,EAAwBA,cAAxB,EAAwC6B,UAAU,CAAC7B,cAAnD,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLZ,MAAM,CAACM,mBADF,EAEL;AAAE6D,MAAAA,eAAe,EAAEnB;AAAnB,KAFK,EAGL1C,mBAHK,EAILmC,UAAU,CAACnC,mBAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLN,MAAM,CAACG,UADF,EAEL;AAAEiE,MAAAA,KAAK,EAAEtB;AAAT,KAFK,EAGL3C,UAHK,EAILsC,UAAU,CAACtC,UAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQG4B,WARH,CARF,CADF,CAPJ,CAtCJ,EAqEGE,UAAU,GACT,gCAAC,UAAD,gCAAgBJ,KAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADS,GAGT,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC7B,MAAM,CAACoB,UAAR,EAAoBoC,WAApB,EAAiCf,UAAU,CAACrB,UAA5C,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLgC,yBADK,EAEL;AAAEe,MAAAA,eAAe,EAAElB;AAAnB,KAFK,EAGL,CAACS,GAAD;AAASW,MAAAA,eAAe,EAAEvB;AAA1B,OAA0CW,KAA1C,IAAoD,EAH/C,EAILhB,UAAU,CAACW,yBAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQG,CAACM,GAAD,IAAQ3B,WAAR,IACC,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL/B,MAAM,CAACU,gBADF,EAEL;AAAE0D,MAAAA,KAAK,EAAEtB;AAAT,KAFK,EAGLpC,gBAHK,EAIL+B,UAAU,CAAC/B,gBAJN,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQGqB,WARH,CATJ,EAoBGJ,KAAK,IACJ,gCAAC,iBAAD;AACE,IAAA,aAAa,EAAE,CADjB;AAEE,IAAA,KAAK,EAAE,CAAC3B,MAAM,CAAC2B,KAAR,EAAe;AAAEyC,MAAAA,KAAK,EAAErB;AAAT,KAAf,EAAiCQ,UAAjC,EAA6Cd,UAAU,CAACd,KAAxD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAIGA,KAJH,CArBJ,EA4BGe,IAAI,IACH,gCAAC,iBAAD;AACE,IAAA,aAAa,EAAE,CADjB;AAEE,IAAA,KAAK,EAAE,CAAC1C,MAAM,CAAC0B,WAAR,EAAqB;AAAE0C,MAAAA,KAAK,EAAErB;AAAT,KAArB,EAAuCrB,WAAvC,EAAoDe,UAAU,CAACf,WAA/D,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAIGgB,IAJH,CA7BJ,CADF,CAxEJ,CADF;AAmHD,CAnKD;;AAqKA,IAAM4B,YAAY,GAAGC,kBAAMC,IAAN,CAAW5C,eAAX,EAA4B;AAAA,SAAM,IAAN;AAAA,CAA5B,CAArB;;AAgBO,IAAM6C,IAAI,GAAG,SAAPA,IAAO,CAGlB5C,KAHkB,EAIf;AACH,2BACE,wCADF;AAAA,MAAQ6C,OAAR,sBAAQA,OAAR;AAAA,MAAiBrC,WAAjB,sBAAiBA,WAAjB;AAAA,MAA8BC,OAA9B,sBAA8BA,OAA9B;AAAA,MAAuCC,SAAvC,sBAAuCA,SAAvC;AAAA,MAAkDC,YAAlD,sBAAkDA,YAAlD;;AAEA,4BACE,0CADF;AAAA,MAAQV,wBAAR,uBAAQA,wBAAR;AAAA,MAAkCE,SAAlC,uBAAkCA,SAAlC;AAAA,MAA6CC,UAA7C,uBAA6CA,UAA7C;AAAA,MAAyDC,UAAzD,uBAAyDA,UAAzD;;AAGA,SACE,gCAAC,YAAD;AAEIJ,IAAAA,wBAAwB,EAAxBA,wBAFJ;AAGIE,IAAAA,SAAS,EAATA,SAHJ;AAIIC,IAAAA,UAAU,EAAVA,UAJJ;AAKIC,IAAAA,UAAU,EAAVA,UALJ;AAMIyC,IAAAA,SAAS,EAAED,OAAO,CAACE,GANvB;AAOIC,IAAAA,SAAS,EAAEH,OAAO,CAACI,EAPvB;AAQIzC,IAAAA,WAAW,EAAXA,WARJ;AASIC,IAAAA,OAAO,EAAPA,OATJ;AAUIC,IAAAA,SAAS,EAATA,SAVJ;AAWIC,IAAAA,YAAY,EAAZA;AAXJ,KAaMX,KAbN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAiBD,CA3BM;;;AA6BP4C,IAAI,CAACM,WAAL,GAAmB,2BAAnB","sourcesContent":["import React from 'react';\nimport {\n Image,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useGoToURL } from './hooks/useGoToURL';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 8,\n position: 'absolute',\n },\n cardCover: {\n borderRadius: 8,\n height: 140,\n marginHorizontal: 8,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const [error, openURL] = useGoToURL(og_scrape_url || uri);\n\n const defaultOnPress = () => !error && openURL && openURL();\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { url: og_scrape_url },\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n />\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"]}
|