stream-chat-react-native-core 4.2.0 → 4.3.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/Giphy.js +57 -26
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +28 -13
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +6 -0
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +24 -21
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +5 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +50 -173
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +138 -0
- package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -0
- package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +179 -0
- package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -0
- package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +138 -0
- package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -0
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +2 -2
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +6 -0
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +15 -12
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +8 -2
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Giphy.js +57 -26
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +28 -13
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +6 -0
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +24 -21
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +5 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +50 -173
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +138 -0
- package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -0
- package/lib/module/components/MessageInput/components/InputGiphySearch.js +179 -0
- package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -0
- package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +138 -0
- package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -0
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +2 -2
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +6 -0
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +15 -12
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +8 -2
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Giphy.d.ts +5 -3
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -1
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
- package/lib/typescript/components/MessageInput/components/InputEditingStateHeader.d.ts +10 -0
- package/lib/typescript/components/MessageInput/components/InputGiphySearch.d.ts +10 -0
- package/lib/typescript/components/MessageInput/components/InputReplyStateHeader.d.ts +10 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +7 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +5 -0
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +8 -2
- package/package.json +1 -1
- package/src/components/Attachment/Giphy.tsx +41 -12
- package/src/components/Channel/Channel.tsx +9 -0
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +6 -0
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +1 -1
- package/src/components/ImageGallery/ImageGallery.tsx +14 -6
- package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +7 -0
- package/src/components/Message/MessageSimple/utils/parseLinks.ts +2 -1
- package/src/components/MessageInput/MessageInput.tsx +28 -109
- package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +0 -2
- package/src/components/MessageInput/components/InputEditingStateHeader.tsx +102 -0
- package/src/components/MessageInput/components/InputGiphySearch.tsx +129 -0
- package/src/components/MessageInput/components/InputReplyStateHeader.tsx +102 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +9 -0
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +6 -0
- package/src/contexts/overlayContext/OverlayContext.tsx +5 -0
- package/src/contexts/overlayContext/OverlayProvider.tsx +2 -0
- package/src/contexts/themeContext/utils/theme.ts +16 -4
- package/src/version.json +1 -1
|
@@ -11,10 +11,14 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _reactNative = require("react-native");
|
|
13
13
|
|
|
14
|
+
var _ImageGalleryContext = require("../../contexts/imageGalleryContext/ImageGalleryContext");
|
|
15
|
+
|
|
14
16
|
var _MessageContext = require("../../contexts/messageContext/MessageContext");
|
|
15
17
|
|
|
16
18
|
var _MessagesContext = require("../../contexts/messagesContext/MessagesContext");
|
|
17
19
|
|
|
20
|
+
var _OverlayContext = require("../../contexts/overlayContext/OverlayContext");
|
|
21
|
+
|
|
18
22
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
19
23
|
|
|
20
24
|
var _icons = require("../../icons");
|
|
@@ -117,12 +121,17 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
117
121
|
var GiphyWithContext = function GiphyWithContext(props) {
|
|
118
122
|
var additionalTouchableProps = props.additionalTouchableProps,
|
|
119
123
|
attachment = props.attachment,
|
|
124
|
+
giphyVersion = props.giphyVersion,
|
|
120
125
|
handleAction = props.handleAction,
|
|
121
126
|
isMyMessage = props.isMyMessage,
|
|
127
|
+
message = props.message,
|
|
122
128
|
_onLongPress = props.onLongPress,
|
|
123
129
|
_onPress = props.onPress,
|
|
124
130
|
_onPressIn = props.onPressIn,
|
|
125
|
-
preventPress = props.preventPress
|
|
131
|
+
preventPress = props.preventPress,
|
|
132
|
+
setImage = props.setImage,
|
|
133
|
+
setImages = props.setImages,
|
|
134
|
+
setOverlay = props.setOverlay;
|
|
126
135
|
var actions = attachment.actions,
|
|
127
136
|
giphyData = attachment.giphy,
|
|
128
137
|
image_url = attachment.image_url,
|
|
@@ -158,8 +167,17 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
158
167
|
var uri = image_url || thumb_url;
|
|
159
168
|
var giphyDimensions = {};
|
|
160
169
|
|
|
170
|
+
var defaultOnPress = function defaultOnPress() {
|
|
171
|
+
setImages([message]);
|
|
172
|
+
setImage({
|
|
173
|
+
messageId: message.id,
|
|
174
|
+
url: uri
|
|
175
|
+
});
|
|
176
|
+
setOverlay('gallery');
|
|
177
|
+
};
|
|
178
|
+
|
|
161
179
|
if (type === 'giphy' && giphyData) {
|
|
162
|
-
var giphyVersionInfo = giphyData[
|
|
180
|
+
var giphyVersionInfo = giphyData[giphyVersion];
|
|
163
181
|
uri = giphyVersionInfo.url;
|
|
164
182
|
giphyDimensions.height = parseFloat(giphyVersionInfo.height);
|
|
165
183
|
giphyDimensions.width = parseFloat(giphyVersionInfo.width);
|
|
@@ -174,7 +192,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
174
192
|
__self: _this,
|
|
175
193
|
__source: {
|
|
176
194
|
fileName: _jsxFileName,
|
|
177
|
-
lineNumber:
|
|
195
|
+
lineNumber: 198,
|
|
178
196
|
columnNumber: 5
|
|
179
197
|
}
|
|
180
198
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -182,14 +200,14 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
182
200
|
__self: _this,
|
|
183
201
|
__source: {
|
|
184
202
|
fileName: _jsxFileName,
|
|
185
|
-
lineNumber:
|
|
203
|
+
lineNumber: 205,
|
|
186
204
|
columnNumber: 7
|
|
187
205
|
}
|
|
188
206
|
}, _react["default"].createElement(_icons.GiphyIcon, {
|
|
189
207
|
__self: _this,
|
|
190
208
|
__source: {
|
|
191
209
|
fileName: _jsxFileName,
|
|
192
|
-
lineNumber:
|
|
210
|
+
lineNumber: 206,
|
|
193
211
|
columnNumber: 9
|
|
194
212
|
}
|
|
195
213
|
}), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -197,7 +215,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
197
215
|
__self: _this,
|
|
198
216
|
__source: {
|
|
199
217
|
fileName: _jsxFileName,
|
|
200
|
-
lineNumber:
|
|
218
|
+
lineNumber: 207,
|
|
201
219
|
columnNumber: 9
|
|
202
220
|
}
|
|
203
221
|
}, "Giphy"), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -207,7 +225,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
207
225
|
__self: _this,
|
|
208
226
|
__source: {
|
|
209
227
|
fileName: _jsxFileName,
|
|
210
|
-
lineNumber:
|
|
228
|
+
lineNumber: 208,
|
|
211
229
|
columnNumber: 9
|
|
212
230
|
}
|
|
213
231
|
}, "/giphy " + title)), _react["default"].createElement(_reactNative.View, {
|
|
@@ -215,7 +233,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
215
233
|
__self: _this,
|
|
216
234
|
__source: {
|
|
217
235
|
fileName: _jsxFileName,
|
|
218
|
-
lineNumber:
|
|
236
|
+
lineNumber: 212,
|
|
219
237
|
columnNumber: 7
|
|
220
238
|
}
|
|
221
239
|
}, _react["default"].createElement(_reactNative.Image, {
|
|
@@ -227,14 +245,14 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
227
245
|
__self: _this,
|
|
228
246
|
__source: {
|
|
229
247
|
fileName: _jsxFileName,
|
|
230
|
-
lineNumber:
|
|
248
|
+
lineNumber: 213,
|
|
231
249
|
columnNumber: 9
|
|
232
250
|
}
|
|
233
251
|
})), _react["default"].createElement(_reactNative.View, {
|
|
234
252
|
__self: _this,
|
|
235
253
|
__source: {
|
|
236
254
|
fileName: _jsxFileName,
|
|
237
|
-
lineNumber:
|
|
255
|
+
lineNumber: 219,
|
|
238
256
|
columnNumber: 7
|
|
239
257
|
}
|
|
240
258
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -242,7 +260,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
242
260
|
__self: _this,
|
|
243
261
|
__source: {
|
|
244
262
|
fileName: _jsxFileName,
|
|
245
|
-
lineNumber:
|
|
263
|
+
lineNumber: 220,
|
|
246
264
|
columnNumber: 9
|
|
247
265
|
}
|
|
248
266
|
}, _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -258,7 +276,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
258
276
|
__self: _this,
|
|
259
277
|
__source: {
|
|
260
278
|
fileName: _jsxFileName,
|
|
261
|
-
lineNumber:
|
|
279
|
+
lineNumber: 221,
|
|
262
280
|
columnNumber: 11
|
|
263
281
|
}
|
|
264
282
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -268,7 +286,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
268
286
|
__self: _this,
|
|
269
287
|
__source: {
|
|
270
288
|
fileName: _jsxFileName,
|
|
271
|
-
lineNumber:
|
|
289
|
+
lineNumber: 233,
|
|
272
290
|
columnNumber: 13
|
|
273
291
|
}
|
|
274
292
|
}, actions == null ? void 0 : actions[2].text)), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -284,7 +302,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
284
302
|
__self: _this,
|
|
285
303
|
__source: {
|
|
286
304
|
fileName: _jsxFileName,
|
|
287
|
-
lineNumber:
|
|
305
|
+
lineNumber: 235,
|
|
288
306
|
columnNumber: 11
|
|
289
307
|
}
|
|
290
308
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -294,7 +312,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
294
312
|
__self: _this,
|
|
295
313
|
__source: {
|
|
296
314
|
fileName: _jsxFileName,
|
|
297
|
-
lineNumber:
|
|
315
|
+
lineNumber: 247,
|
|
298
316
|
columnNumber: 13
|
|
299
317
|
}
|
|
300
318
|
}, actions == null ? void 0 : actions[1].text)), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -309,7 +327,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
309
327
|
__self: _this,
|
|
310
328
|
__source: {
|
|
311
329
|
fileName: _jsxFileName,
|
|
312
|
-
lineNumber:
|
|
330
|
+
lineNumber: 249,
|
|
313
331
|
columnNumber: 11
|
|
314
332
|
}
|
|
315
333
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -319,7 +337,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
319
337
|
__self: _this,
|
|
320
338
|
__source: {
|
|
321
339
|
fileName: _jsxFileName,
|
|
322
|
-
lineNumber:
|
|
340
|
+
lineNumber: 257,
|
|
323
341
|
columnNumber: 13
|
|
324
342
|
}
|
|
325
343
|
}, actions == null ? void 0 : actions[0].text))))) : _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
|
|
@@ -335,6 +353,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
335
353
|
onPress: function onPress(event) {
|
|
336
354
|
if (_onPress) {
|
|
337
355
|
_onPress({
|
|
356
|
+
defaultHandler: defaultOnPress,
|
|
338
357
|
emitter: 'giphy',
|
|
339
358
|
event: event
|
|
340
359
|
});
|
|
@@ -353,7 +372,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
353
372
|
__self: _this,
|
|
354
373
|
__source: {
|
|
355
374
|
fileName: _jsxFileName,
|
|
356
|
-
lineNumber:
|
|
375
|
+
lineNumber: 263,
|
|
357
376
|
columnNumber: 5
|
|
358
377
|
}
|
|
359
378
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -363,7 +382,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
363
382
|
__self: _this,
|
|
364
383
|
__source: {
|
|
365
384
|
fileName: _jsxFileName,
|
|
366
|
-
lineNumber:
|
|
385
|
+
lineNumber: 293,
|
|
367
386
|
columnNumber: 7
|
|
368
387
|
}
|
|
369
388
|
}, _react["default"].createElement(_reactNative.Image, {
|
|
@@ -376,7 +395,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
376
395
|
__self: _this,
|
|
377
396
|
__source: {
|
|
378
397
|
fileName: _jsxFileName,
|
|
379
|
-
lineNumber:
|
|
398
|
+
lineNumber: 300,
|
|
380
399
|
columnNumber: 9
|
|
381
400
|
}
|
|
382
401
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -384,7 +403,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
384
403
|
__self: _this,
|
|
385
404
|
__source: {
|
|
386
405
|
fileName: _jsxFileName,
|
|
387
|
-
lineNumber:
|
|
406
|
+
lineNumber: 306,
|
|
388
407
|
columnNumber: 9
|
|
389
408
|
}
|
|
390
409
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -394,7 +413,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
394
413
|
__self: _this,
|
|
395
414
|
__source: {
|
|
396
415
|
fileName: _jsxFileName,
|
|
397
|
-
lineNumber:
|
|
416
|
+
lineNumber: 307,
|
|
398
417
|
columnNumber: 11
|
|
399
418
|
}
|
|
400
419
|
}, _react["default"].createElement(_Lightning.Lightning, {
|
|
@@ -404,7 +423,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
404
423
|
__self: _this,
|
|
405
424
|
__source: {
|
|
406
425
|
fileName: _jsxFileName,
|
|
407
|
-
lineNumber:
|
|
426
|
+
lineNumber: 314,
|
|
408
427
|
columnNumber: 13
|
|
409
428
|
}
|
|
410
429
|
}), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -414,7 +433,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
|
|
|
414
433
|
__self: _this,
|
|
415
434
|
__source: {
|
|
416
435
|
fileName: _jsxFileName,
|
|
417
|
-
lineNumber:
|
|
436
|
+
lineNumber: 315,
|
|
418
437
|
columnNumber: 13
|
|
419
438
|
}
|
|
420
439
|
}, type == null ? void 0 : type.toUpperCase())))));
|
|
@@ -452,6 +471,7 @@ var Giphy = function Giphy(props) {
|
|
|
452
471
|
var _useMessageContext = (0, _MessageContext.useMessageContext)(),
|
|
453
472
|
handleAction = _useMessageContext.handleAction,
|
|
454
473
|
isMyMessage = _useMessageContext.isMyMessage,
|
|
474
|
+
message = _useMessageContext.message,
|
|
455
475
|
onLongPress = _useMessageContext.onLongPress,
|
|
456
476
|
onPress = _useMessageContext.onPress,
|
|
457
477
|
onPressIn = _useMessageContext.onPressIn,
|
|
@@ -461,20 +481,31 @@ var Giphy = function Giphy(props) {
|
|
|
461
481
|
additionalTouchableProps = _useMessagesContext.additionalTouchableProps,
|
|
462
482
|
giphyVersion = _useMessagesContext.giphyVersion;
|
|
463
483
|
|
|
484
|
+
var _useImageGalleryConte = (0, _ImageGalleryContext.useImageGalleryContext)(),
|
|
485
|
+
setImage = _useImageGalleryConte.setImage,
|
|
486
|
+
setImages = _useImageGalleryConte.setImages;
|
|
487
|
+
|
|
488
|
+
var _useOverlayContext = (0, _OverlayContext.useOverlayContext)(),
|
|
489
|
+
setOverlay = _useOverlayContext.setOverlay;
|
|
490
|
+
|
|
464
491
|
return _react["default"].createElement(MemoizedGiphy, (0, _extends2["default"])({
|
|
465
492
|
additionalTouchableProps: additionalTouchableProps,
|
|
466
493
|
giphyVersion: giphyVersion,
|
|
467
494
|
handleAction: handleAction,
|
|
468
495
|
isMyMessage: isMyMessage,
|
|
496
|
+
message: message,
|
|
469
497
|
onLongPress: onLongPress,
|
|
470
498
|
onPress: onPress,
|
|
471
499
|
onPressIn: onPressIn,
|
|
472
|
-
preventPress: preventPress
|
|
500
|
+
preventPress: preventPress,
|
|
501
|
+
setImage: setImage,
|
|
502
|
+
setImages: setImages,
|
|
503
|
+
setOverlay: setOverlay
|
|
473
504
|
}, props, {
|
|
474
505
|
__self: _this,
|
|
475
506
|
__source: {
|
|
476
507
|
fileName: _jsxFileName,
|
|
477
|
-
lineNumber:
|
|
508
|
+
lineNumber: 385,
|
|
478
509
|
columnNumber: 5
|
|
479
510
|
}
|
|
480
511
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","actionsRow","flexDirection","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","container","overflow","width","giphy","alignSelf","borderRadius","height","maxWidth","giphyContainer","giphyHeaderText","giphyHeaderTitle","giphyMask","bottom","left","position","giphyMaskText","header","display","padding","selectionContainer","borderBottomLeftRadius","borderWidth","selectionImageContainer","margin","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","handleAction","isMyMessage","onLongPress","onPress","onPressIn","preventPress","actions","giphyData","image_url","thumb_url","title","type","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","label_bg_transparent","white","messageSimple","uri","giphyDimensions","giphyVersionInfo","giphyVersion","url","parseFloat","backgroundColor","borderColor","color","name","value","borderRightWidth","text","event","emitter","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","prevGiphyVersion","prevIsMyMessage","nextActions","nextImageUrl","nextThumbUrl","nextGiphyVersion","nextIsMyMessage","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","giphyVersionEqual","isMyMessageEqual","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\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 { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n actionsRow: {\n flexDirection: 'row',\n },\n buttonContainer: {\n alignItems: 'center',\n borderTopWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n alignSelf: 'center',\n borderRadius: 2,\n height: 170,\n maxWidth: 270,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: {\n fontSize: 13,\n fontWeight: '600',\n },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n selectionContainer: {\n borderBottomLeftRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n selectionImageContainer: {\n alignSelf: 'center',\n margin: 1,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'handleAction' | 'isMyMessage' | 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'giphyVersion' | 'additionalTouchableProps'> & {\n attachment: Attachment<StreamChatGenerics>;\n };\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n handleAction,\n isMyMessage,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n } = props;\n\n const { actions, giphy: giphyData, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, label_bg_transparent, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n let uri = image_url || thumb_url;\n const giphyDimensions: { height?: number; width?: number } = {};\n\n if (type === 'giphy' && giphyData) {\n const giphyVersionInfo = giphyData[props.giphyVersion];\n uri = giphyVersionInfo.url;\n giphyDimensions.height = parseFloat(giphyVersionInfo.height);\n giphyDimensions.width = parseFloat(giphyVersionInfo.width);\n }\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.selectionImageContainer}>\n <Image\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n />\n </View>\n <View>\n <View style={styles.actionsRow}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View\n style={[\n styles.container,\n { backgroundColor: isMyMessage ? grey_gainsboro : white },\n container,\n ]}\n >\n <Image\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n testID='giphy-attachment-image'\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View\n style={[\n styles.giphyContainer,\n { backgroundColor: label_bg_transparent },\n giphyContainer,\n ]}\n >\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n giphyVersion: prevGiphyVersion,\n isMyMessage: prevIsMyMessage,\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n giphyVersion: nextGiphyVersion,\n isMyMessage: nextIsMyMessage,\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n const giphyVersionEqual = prevGiphyVersion === nextGiphyVersion;\n if (!giphyVersionEqual) return false;\n\n const isMyMessageEqual = prevIsMyMessage === nextIsMyMessage;\n if (!isMyMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'isMyMessage' | 'onLongPress' | 'onPressIn'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'giphyVersion' | 'additionalTouchableProps'>\n> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, isMyMessage, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, giphyVersion } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n giphyVersion,\n handleAction,\n isMyMessage,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","actionsRow","flexDirection","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","container","overflow","width","giphy","alignSelf","borderRadius","height","maxWidth","giphyContainer","giphyHeaderText","giphyHeaderTitle","giphyMask","bottom","left","position","giphyMaskText","header","display","padding","selectionContainer","borderBottomLeftRadius","borderWidth","selectionImageContainer","margin","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","giphyVersion","handleAction","isMyMessage","message","onLongPress","onPress","onPressIn","preventPress","setImage","setImages","setOverlay","actions","giphyData","image_url","thumb_url","title","type","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","label_bg_transparent","white","messageSimple","uri","giphyDimensions","defaultOnPress","messageId","id","url","giphyVersionInfo","parseFloat","backgroundColor","borderColor","color","name","value","borderRightWidth","text","event","emitter","defaultHandler","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","prevGiphyVersion","prevIsMyMessage","nextActions","nextImageUrl","nextThumbUrl","nextGiphyVersion","nextIsMyMessage","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","giphyVersionEqual","isMyMessageEqual","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAIA;;AAIA;;AAIA;;AAIA;;AAIA;;AACA;;AACA;;AAEA;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,aAAa,EAAE;AADL,GADmB;AAI/BC,EAAAA,eAAe,EAAE;AACfC,IAAAA,UAAU,EAAE,QADG;AAEfC,IAAAA,cAAc,EAAE,CAFD;AAGfC,IAAAA,IAAI,EAAE,CAHS;AAIfC,IAAAA,cAAc,EAAE;AAJD,GAJc;AAU/BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,QAAQ,EAAE,EADJ;AAENC,IAAAA,UAAU,EAAE,KAFN;AAGNC,IAAAA,eAAe,EAAE;AAHX,GAVuB;AAe/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,QAAQ,EAAE,QADD;AAETC,IAAAA,KAAK,EAAE;AAFE,GAfoB;AAmB/BC,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE,QADN;AAELC,IAAAA,YAAY,EAAE,CAFT;AAGLC,IAAAA,MAAM,EAAE,GAHH;AAILC,IAAAA,QAAQ,EAAE,GAJL;AAKLL,IAAAA,KAAK,EAAE;AALF,GAnBwB;AA0B/BM,EAAAA,cAAc,EAAE;AACdhB,IAAAA,UAAU,EAAE,QADE;AAEda,IAAAA,YAAY,EAAE,EAFA;AAGdf,IAAAA,aAAa,EAAE,KAHD;AAIdgB,IAAAA,MAAM,EAAE,EAJM;AAKdX,IAAAA,cAAc,EAAE,QALF;AAMdO,IAAAA,KAAK,EAAE;AANO,GA1Be;AAkC/BO,EAAAA,eAAe,EAAE;AACfZ,IAAAA,QAAQ,EAAE,EADK;AAEfC,IAAAA,UAAU,EAAE;AAFG,GAlCc;AAsC/BY,EAAAA,gBAAgB,EAAE;AAChBb,IAAAA,QAAQ,EAAE;AADM,GAtCa;AAyC/Bc,EAAAA,SAAS,EAAE;AACTC,IAAAA,MAAM,EAAE,CADC;AAETC,IAAAA,IAAI,EAAE,CAFG;AAGTC,IAAAA,QAAQ,EAAE;AAHD,GAzCoB;AA8C/BC,EAAAA,aAAa,EAAE;AACblB,IAAAA,QAAQ,EAAE,EADG;AAEbC,IAAAA,UAAU,EAAE;AAFC,GA9CgB;AAkD/BkB,EAAAA,MAAM,EAAE;AACNxB,IAAAA,UAAU,EAAE,QADN;AAENyB,IAAAA,OAAO,EAAE,MAFH;AAGN3B,IAAAA,aAAa,EAAE,KAHT;AAINK,IAAAA,cAAc,EAAE,eAJV;AAKNuB,IAAAA,OAAO,EAAE,CALH;AAMNhB,IAAAA,KAAK,EAAE;AAND,GAlDuB;AA0D/BiB,EAAAA,kBAAkB,EAAE;AAClBC,IAAAA,sBAAsB,EAAE,CADN;AAElBC,IAAAA,WAAW,EAAE,CAFK;AAGlBpB,IAAAA,QAAQ,EAAE,QAHQ;AAIlBC,IAAAA,KAAK,EAAE;AAJW,GA1DW;AAgE/BoB,EAAAA,uBAAuB,EAAE;AACvBlB,IAAAA,SAAS,EAAE,QADY;AAEvBmB,IAAAA,MAAM,EAAE;AAFe,GAhEM;AAoE/BC,EAAAA,IAAI,EAAE;AACJ3B,IAAAA,QAAQ,EAAE,EADN;AAEJC,IAAAA,UAAU,EAAE,KAFR;AAGJC,IAAAA,eAAe,EAAE;AAHb,GApEyB;AAyE/B0B,EAAAA,OAAO,EAAE;AACP5B,IAAAA,QAAQ,EAAE,EADH;AAEPC,IAAAA,UAAU,EAAE,KAFL;AAGPC,IAAAA,eAAe,EAAE;AAHV,GAzEsB;AA8E/B2B,EAAAA,aAAa,EAAE;AACblC,IAAAA,UAAU,EAAE,QADC;AAEba,IAAAA,YAAY,EAAE,EAFD;AAGbgB,IAAAA,WAAW,EAAE,CAHA;AAIbf,IAAAA,MAAM,EAAE,EAJK;AAKbX,IAAAA,cAAc,EAAE,QALH;AAMbO,IAAAA,KAAK,EAAE;AANM;AA9EgB,CAAlB,CAAf;;AAyGA,IAAMyB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAGvBC,KAHuB,EAIpB;AACH,MACEC,wBADF,GAcID,KAdJ,CACEC,wBADF;AAAA,MAEEC,UAFF,GAcIF,KAdJ,CAEEE,UAFF;AAAA,MAGEC,YAHF,GAcIH,KAdJ,CAGEG,YAHF;AAAA,MAIEC,YAJF,GAcIJ,KAdJ,CAIEI,YAJF;AAAA,MAKEC,WALF,GAcIL,KAdJ,CAKEK,WALF;AAAA,MAMEC,OANF,GAcIN,KAdJ,CAMEM,OANF;AAAA,MAOEC,YAPF,GAcIP,KAdJ,CAOEO,WAPF;AAAA,MAQEC,QARF,GAcIR,KAdJ,CAQEQ,OARF;AAAA,MASEC,UATF,GAcIT,KAdJ,CASES,SATF;AAAA,MAUEC,YAVF,GAcIV,KAdJ,CAUEU,YAVF;AAAA,MAWEC,QAXF,GAcIX,KAdJ,CAWEW,QAXF;AAAA,MAYEC,SAZF,GAcIZ,KAdJ,CAYEY,SAZF;AAAA,MAaEC,UAbF,GAcIb,KAdJ,CAaEa,UAbF;AAgBA,MAAQC,OAAR,GAAyEZ,UAAzE,CAAQY,OAAR;AAAA,MAAwBC,SAAxB,GAAyEb,UAAzE,CAAiB3B,KAAjB;AAAA,MAAmCyC,SAAnC,GAAyEd,UAAzE,CAAmCc,SAAnC;AAAA,MAA8CC,SAA9C,GAAyEf,UAAzE,CAA8Ce,SAA9C;AAAA,MAAyDC,KAAzD,GAAyEhB,UAAzE,CAAyDgB,KAAzD;AAAA,MAAgEC,IAAhE,GAAyEjB,UAAzE,CAAgEiB,IAAhE;;AAEA,kBAqBI,6BArBJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,KAF3B,yBAE2BA,KAF3B;AAAA,MAEkCC,IAFlC,yBAEkCA,IAFlC;AAAA,MAEwCC,SAFxC,yBAEwCA,SAFxC;AAAA,MAEmDC,cAFnD,yBAEmDA,cAFnD;AAAA,MAEmEC,oBAFnE,yBAEmEA,oBAFnE;AAAA,MAEyFC,KAFzF,yBAEyFA,KAFzF;AAAA,8CAGIC,aAHJ,CAIMtD,KAJN;AAAA,MAKQZ,eALR,yBAKQA,eALR;AAAA,MAMQK,MANR,yBAMQA,MANR;AAAA,MAOQI,SAPR,yBAOQA,SAPR;AAAA,MAQQG,KARR,yBAQQA,KARR;AAAA,MASQK,cATR,yBASQA,cATR;AAAA,MAUQC,eAVR,yBAUQA,eAVR;AAAA,MAWQC,gBAXR,yBAWQA,gBAXR;AAAA,MAYQC,SAZR,yBAYQA,SAZR;AAAA,MAaQI,aAbR,yBAaQA,aAbR;AAAA,MAcQC,MAdR,yBAcQA,MAdR;AAAA,MAeQG,kBAfR,yBAeQA,kBAfR;AAAA,MAgBQK,IAhBR,yBAgBQA,IAhBR;AAAA,MAiBQC,OAjBR,yBAiBQA,OAjBR;;AAuBA,MAAIiC,GAAG,GAAGd,SAAS,IAAIC,SAAvB;AACA,MAAMc,eAAoD,GAAG,EAA7D;;AAEA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3BpB,IAAAA,SAAS,CAAC,CAACN,OAAD,CAAD,CAAT;AACAK,IAAAA,QAAQ,CAAC;AAAEsB,MAAAA,SAAS,EAAE3B,OAAO,CAAC4B,EAArB;AAAyBC,MAAAA,GAAG,EAAEL;AAA9B,KAAD,CAAR;AACAjB,IAAAA,UAAU,CAAC,SAAD,CAAV;AACD,GAJD;;AAMA,MAAIM,IAAI,KAAK,OAAT,IAAoBJ,SAAxB,EAAmC;AACjC,QAAMqB,gBAAgB,GAAGrB,SAAS,CAACZ,YAAD,CAAlC;AACA2B,IAAAA,GAAG,GAAGM,gBAAgB,CAACD,GAAvB;AACAJ,IAAAA,eAAe,CAACrD,MAAhB,GAAyB2D,UAAU,CAACD,gBAAgB,CAAC1D,MAAlB,CAAnC;AACAqD,IAAAA,eAAe,CAACzD,KAAhB,GAAwB+D,UAAU,CAACD,gBAAgB,CAAC9D,KAAlB,CAAlC;AACD;;AAED,MAAI,CAACwD,GAAL,EAAU,OAAO,IAAP;AAEV,SAAOhB,OAAO,GACZ,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLxD,MAAM,CAACiC,kBADF,EAEL;AAAE+C,MAAAA,eAAe,EAAEV,KAAnB;AAA0BW,MAAAA,WAAW,EAAKhB,KAAL;AAArC,KAFK,EAGLhC,kBAHK,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACjC,MAAM,CAAC8B,MAAR,EAAgBA,MAAhB,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,gBAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,EAEE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC9B,MAAM,CAACuB,eAAR,EAAyBA,eAAzB,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAFF,EAGE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAACvB,MAAM,CAACwB,gBAAR,EAA0BA,gBAA1B,EAA4C;AAAE0D,MAAAA,KAAK,EAAEf;AAAT,KAA5C,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAEYP,KAFZ,CAHF,CAPF,EAcE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE5D,MAAM,CAACoC,uBAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,kBAAD;AACE,IAAA,UAAU,EAAC,SADb;AAEE,IAAA,MAAM,EAAE;AAAEoC,MAAAA,GAAG,EAAE,mCAAuBA,GAAvB;AAAP,KAFV;AAGE,IAAA,KAAK,EAAE,CAACxE,MAAM,CAACiB,KAAR,EAAewD,eAAf,EAAgCxD,KAAhC,CAHT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,CAdF,EAqBE,gCAAC,iBAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAEjB,MAAM,CAACG,UAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,6BAAD;AACE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIqD,OAAO,QAAP,IAAAA,OAAO,CAAG,CAAH,CAAP,CAAa2B,IAAb,IAAqB3B,OAArB,YAAqBA,OAAO,CAAG,CAAH,CAAP,CAAa4B,KAAlC,IAA2CtC,YAA/C,EAA6D;AAC3DA,QAAAA,YAAY,CAACU,OAAO,CAAC,CAAD,CAAP,CAAW2B,IAAZ,EAAkB3B,OAAO,CAAC,CAAD,CAAP,CAAW4B,KAA7B,CAAZ;AACD;AACF,KALH;AAME,IAAA,KAAK,EAAE,CACLpF,MAAM,CAACK,eADF,EAEL;AAAE4E,MAAAA,WAAW,EAAEb,cAAf;AAA+BiB,MAAAA,gBAAgB,EAAE;AAAjD,KAFK,EAGLhF,eAHK,CANT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAYE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACL,MAAM,CAACU,MAAR,EAAgB;AAAEwE,MAAAA,KAAK,EAAEhB;AAAT,KAAhB,EAAiCxD,MAAjC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAwD8C,OAAxD,oBAAwDA,OAAO,CAAG,CAAH,CAAP,CAAa8B,IAArE,CAZF,CADF,EAeE,gCAAC,6BAAD;AACE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAI9B,OAAO,QAAP,IAAAA,OAAO,CAAG,CAAH,CAAP,CAAa2B,IAAb,IAAqB3B,OAArB,YAAqBA,OAAO,CAAG,CAAH,CAAP,CAAa4B,KAAlC,IAA2CtC,YAA/C,EAA6D;AAC3DA,QAAAA,YAAY,CAACU,OAAO,CAAC,CAAD,CAAP,CAAW2B,IAAZ,EAAkB3B,OAAO,CAAC,CAAD,CAAP,CAAW4B,KAA7B,CAAZ;AACD;AACF,KALH;AAME,IAAA,KAAK,EAAE,CACLpF,MAAM,CAACK,eADF,EAEL;AAAE4E,MAAAA,WAAW,EAAEb,cAAf;AAA+BiB,MAAAA,gBAAgB,EAAE;AAAjD,KAFK,EAGLhF,eAHK,CANT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAYE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACL,MAAM,CAACuC,OAAR,EAAiB;AAAE2C,MAAAA,KAAK,EAAEhB;AAAT,KAAjB,EAAkC3B,OAAlC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA0DiB,OAA1D,oBAA0DA,OAAO,CAAG,CAAH,CAAP,CAAa8B,IAAvE,CAZF,CAfF,EA6BE,gCAAC,6BAAD;AACE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAI9B,OAAO,QAAP,IAAAA,OAAO,CAAG,CAAH,CAAP,CAAa2B,IAAb,IAAqB3B,OAArB,YAAqBA,OAAO,CAAG,CAAH,CAAP,CAAa4B,KAAlC,IAA2CtC,YAA/C,EAA6D;AAC3DA,QAAAA,YAAY,CAACU,OAAO,CAAC,CAAD,CAAP,CAAW2B,IAAZ,EAAkB3B,OAAO,CAAC,CAAD,CAAP,CAAW4B,KAA7B,CAAZ;AACD;AACF,KALH;AAME,IAAA,KAAK,EAAE,CAACpF,MAAM,CAACK,eAAR,EAAyB;AAAE4E,MAAAA,WAAW,EAAEb;AAAf,KAAzB,EAA0D/D,eAA1D,CANT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAQE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACL,MAAM,CAACsC,IAAR,EAAc;AAAE4C,MAAAA,KAAK,EAAElB;AAAT,KAAd,EAAsC1B,IAAtC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA2DkB,OAA3D,oBAA2DA,OAAO,CAAG,CAAH,CAAP,CAAa8B,IAAxE,CARF,CA7BF,CADF,CArBF,CADY,GAkEZ,gCAAC,6BAAD;AACE,IAAA,QAAQ,EAAElC,YADZ;AAEE,IAAA,WAAW,EAAE,qBAACmC,KAAD,EAAW;AACtB,UAAItC,YAAJ,EAAiB;AACfA,QAAAA,YAAW,CAAC;AACVuC,UAAAA,OAAO,EAAE,OADC;AAEVD,UAAAA,KAAK,EAALA;AAFU,SAAD,CAAX;AAID;AACF,KATH;AAUE,IAAA,OAAO,EAAE,iBAACA,KAAD,EAAW;AAClB,UAAIrC,QAAJ,EAAa;AACXA,QAAAA,QAAO,CAAC;AACNuC,UAAAA,cAAc,EAAEf,cADV;AAENc,UAAAA,OAAO,EAAE,OAFH;AAGND,UAAAA,KAAK,EAALA;AAHM,SAAD,CAAP;AAKD;AACF,KAlBH;AAmBE,IAAA,SAAS,EAAE,mBAACA,KAAD,EAAW;AACpB,UAAIpC,UAAJ,EAAe;AACbA,QAAAA,UAAS,CAAC;AACRqC,UAAAA,OAAO,EAAE,OADD;AAERD,UAAAA,KAAK,EAALA;AAFQ,SAAD,CAAT;AAID;AACF,KA1BH;AA2BE,IAAA,MAAM,EAAC;AA3BT,KA4BM5C,wBA5BN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MA8BE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL3C,MAAM,CAACc,SADF,EAEL;AAAEkE,MAAAA,eAAe,EAAEjC,WAAW,GAAGqB,cAAH,GAAoBE;AAAlD,KAFK,EAGLxD,SAHK,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,kBAAD;AACE,IAAA,UAAU,EAAC,SADb;AAEE,IAAA,MAAM,EAAE;AAAE0D,MAAAA,GAAG,EAAE,mCAAuBA,GAAvB;AAAP,KAFV;AAGE,IAAA,KAAK,EAAE,CAACxE,MAAM,CAACiB,KAAR,EAAewD,eAAf,EAAgCxD,KAAhC,CAHT;AAIE,IAAA,MAAM,EAAC,wBAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,EAaE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACjB,MAAM,CAACyB,SAAR,EAAmBA,SAAnB,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLzB,MAAM,CAACsB,cADF,EAEL;AAAE0D,MAAAA,eAAe,EAAEX;AAAnB,KAFK,EAGL/C,cAHK,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,oBAAD;AAAW,IAAA,MAAM,EAAE,EAAnB;AAAuB,IAAA,QAAQ,EAAEgD,KAAjC;AAAwC,IAAA,KAAK,EAAE,EAA/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,EAQE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACtE,MAAM,CAAC6B,aAAR,EAAuB;AAAEqD,MAAAA,KAAK,EAAEZ;AAAT,KAAvB,EAAyCzC,aAAzC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGgC,IADH,oBACGA,IAAI,CAAE6B,WAAN,EADH,CARF,CADF,CAbF,CA9BF,CAlEF;AA8HD,CA9LD;;AAgMA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CACfC,SADe,EAEfC,SAFe,EAGZ;AACH,8BAIID,SAJJ,CACEhD,UADF;AAAA,MACyBkD,WADzB,yBACgBtC,OADhB;AAAA,MACiDuC,YADjD,yBACsCrC,SADtC;AAAA,MAC0EsC,YAD1E,yBAC+DrC,SAD/D;AAAA,MAEgBsC,gBAFhB,GAIIL,SAJJ,CAEE/C,YAFF;AAAA,MAGeqD,eAHf,GAIIN,SAJJ,CAGE7C,WAHF;AAKA,8BAII8C,SAJJ,CACEjD,UADF;AAAA,MACyBuD,WADzB,yBACgB3C,OADhB;AAAA,MACiD4C,YADjD,yBACsC1C,SADtC;AAAA,MAC0E2C,YAD1E,yBAC+D1C,SAD/D;AAAA,MAEgB2C,gBAFhB,GAIIT,SAJJ,CAEEhD,YAFF;AAAA,MAGe0D,eAHf,GAIIV,SAJJ,CAGE9C,WAHF;AAMA,MAAMyD,aAAa,GAAGT,YAAY,KAAKK,YAAvC;AACA,MAAI,CAACI,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,aAAa,GAAGT,YAAY,KAAKK,YAAvC;AACA,MAAI,CAACI,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,YAAY,GAChBC,KAAK,CAACC,OAAN,CAAcd,WAAd,MAA+Ba,KAAK,CAACC,OAAN,CAAcT,WAAd,CAA/B,KACEQ,KAAK,CAACC,OAAN,CAAcd,WAAd,KACAa,KAAK,CAACC,OAAN,CAAcT,WAAd,CADA,IAEAL,WAAW,CAACe,MAAZ,KAAuBV,WAAW,CAACU,MAFpC,IAGCf,WAAW,KAAKK,WAJlB,CADF;AAMA,MAAI,CAACO,YAAL,EAAmB,OAAO,KAAP;AAEnB,MAAMI,iBAAiB,GAAGb,gBAAgB,KAAKK,gBAA/C;AACA,MAAI,CAACQ,iBAAL,EAAwB,OAAO,KAAP;AAExB,MAAMC,gBAAgB,GAAGb,eAAe,KAAKK,eAA7C;AACA,MAAI,CAACQ,gBAAL,EAAuB,OAAO,KAAP;AAEvB,SAAO,IAAP;AACD,CApCD;;AAsCA,IAAMC,aAAa,GAAGC,kBAAMC,IAAN,CAAWzE,gBAAX,EAA6BkD,QAA7B,CAAtB;;AAWO,IAAMwB,KAAK,GAAG,SAARA,KAAQ,CAGnBzE,KAHmB,EAIhB;AACH,2BACE,wCADF;AAAA,MAAQI,YAAR,sBAAQA,YAAR;AAAA,MAAsBC,WAAtB,sBAAsBA,WAAtB;AAAA,MAAmCC,OAAnC,sBAAmCA,OAAnC;AAAA,MAA4CC,WAA5C,sBAA4CA,WAA5C;AAAA,MAAyDC,OAAzD,sBAAyDA,OAAzD;AAAA,MAAkEC,SAAlE,sBAAkEA,SAAlE;AAAA,MAA6EC,YAA7E,sBAA6EA,YAA7E;;AAEA,4BAAmD,0CAAnD;AAAA,MAAQT,wBAAR,uBAAQA,wBAAR;AAAA,MAAkCE,YAAlC,uBAAkCA,YAAlC;;AACA,8BAAgC,kDAAhC;AAAA,MAAQQ,QAAR,yBAAQA,QAAR;AAAA,MAAkBC,SAAlB,yBAAkBA,SAAlB;;AACA,2BAAuB,wCAAvB;AAAA,MAAQC,UAAR,sBAAQA,UAAR;;AACA,SACE,gCAAC,aAAD;AAEIZ,IAAAA,wBAAwB,EAAxBA,wBAFJ;AAGIE,IAAAA,YAAY,EAAZA,YAHJ;AAIIC,IAAAA,YAAY,EAAZA,YAJJ;AAKIC,IAAAA,WAAW,EAAXA,WALJ;AAMIC,IAAAA,OAAO,EAAPA,OANJ;AAOIC,IAAAA,WAAW,EAAXA,WAPJ;AAQIC,IAAAA,OAAO,EAAPA,OARJ;AASIC,IAAAA,SAAS,EAATA,SATJ;AAUIC,IAAAA,YAAY,EAAZA,YAVJ;AAWIC,IAAAA,QAAQ,EAARA,QAXJ;AAYIC,IAAAA,SAAS,EAATA,SAZJ;AAaIC,IAAAA,UAAU,EAAVA;AAbJ,KAeMb,KAfN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAmBD,CA7BM;;;AA+BPyE,KAAK,CAACC,WAAN,GAAoB,6BAApB","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n actionsRow: {\n flexDirection: 'row',\n },\n buttonContainer: {\n alignItems: 'center',\n borderTopWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n alignSelf: 'center',\n borderRadius: 2,\n height: 170,\n maxWidth: 270,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: {\n fontSize: 13,\n fontWeight: '600',\n },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n selectionContainer: {\n borderBottomLeftRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n selectionImageContainer: {\n alignSelf: 'center',\n margin: 1,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'handleAction'\n | 'isMyMessage'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n > &\n Pick<MessagesContextValue<StreamChatGenerics>, 'giphyVersion' | 'additionalTouchableProps'> & {\n attachment: Attachment<StreamChatGenerics>;\n } & Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n giphyVersion,\n handleAction,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n } = props;\n\n const { actions, giphy: giphyData, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, label_bg_transparent, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n let uri = image_url || thumb_url;\n const giphyDimensions: { height?: number; width?: number } = {};\n\n const defaultOnPress = () => {\n setImages([message]);\n setImage({ messageId: message.id, url: uri });\n setOverlay('gallery');\n };\n\n if (type === 'giphy' && giphyData) {\n const giphyVersionInfo = giphyData[giphyVersion];\n uri = giphyVersionInfo.url;\n giphyDimensions.height = parseFloat(giphyVersionInfo.height);\n giphyDimensions.width = parseFloat(giphyVersionInfo.width);\n }\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.selectionImageContainer}>\n <Image\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n />\n </View>\n <View>\n <View style={styles.actionsRow}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View\n style={[\n styles.container,\n { backgroundColor: isMyMessage ? grey_gainsboro : white },\n container,\n ]}\n >\n <Image\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n testID='giphy-attachment-image'\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View\n style={[\n styles.giphyContainer,\n { backgroundColor: label_bg_transparent },\n giphyContainer,\n ]}\n >\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n giphyVersion: prevGiphyVersion,\n isMyMessage: prevIsMyMessage,\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n giphyVersion: nextGiphyVersion,\n isMyMessage: nextIsMyMessage,\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n const giphyVersionEqual = prevGiphyVersion === nextGiphyVersion;\n if (!giphyVersionEqual) return false;\n\n const isMyMessageEqual = prevIsMyMessage === nextIsMyMessage;\n if (!isMyMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GiphyPropsWithContext<StreamChatGenerics>> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, isMyMessage, message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, giphyVersion } = useMessagesContext<StreamChatGenerics>();\n const { setImage, setImages } = useImageGalleryContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n giphyVersion,\n handleAction,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
|
|
@@ -133,6 +133,12 @@ var _AttachButton = require("../MessageInput/AttachButton");
|
|
|
133
133
|
|
|
134
134
|
var _CommandsButton = require("../MessageInput/CommandsButton");
|
|
135
135
|
|
|
136
|
+
var _InputEditingStateHeader = require("../MessageInput/components/InputEditingStateHeader");
|
|
137
|
+
|
|
138
|
+
var _InputGiphySearch = require("../MessageInput/components/InputGiphySearch");
|
|
139
|
+
|
|
140
|
+
var _InputReplyStateHeader = require("../MessageInput/components/InputReplyStateHeader");
|
|
141
|
+
|
|
136
142
|
var _CooldownTimer = require("../MessageInput/CooldownTimer");
|
|
137
143
|
|
|
138
144
|
var _FileUploadPreview = require("../MessageInput/FileUploadPreview");
|
|
@@ -331,6 +337,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
331
337
|
Input = props.Input,
|
|
332
338
|
_props$InputButtons = props.InputButtons,
|
|
333
339
|
InputButtons = _props$InputButtons === void 0 ? _InputButtons.InputButtons : _props$InputButtons,
|
|
340
|
+
_props$InputEditingSt = props.InputEditingStateHeader,
|
|
341
|
+
InputEditingStateHeader = _props$InputEditingSt === void 0 ? _InputEditingStateHeader.InputEditingStateHeader : _props$InputEditingSt,
|
|
342
|
+
_props$InputGiphySear = props.InputGiphySearch,
|
|
343
|
+
InputGiphySearch = _props$InputGiphySear === void 0 ? _InputGiphySearch.InputGiphySearch : _props$InputGiphySear,
|
|
344
|
+
_props$InputReplyStat = props.InputReplyStateHeader,
|
|
345
|
+
InputReplyStateHeader = _props$InputReplyStat === void 0 ? _InputReplyStateHeader.InputReplyStateHeader : _props$InputReplyStat,
|
|
334
346
|
keyboardBehavior = props.keyboardBehavior,
|
|
335
347
|
_props$KeyboardCompat = props.KeyboardCompatibleView,
|
|
336
348
|
KeyboardCompatibleView = _props$KeyboardCompat === void 0 ? _KeyboardCompatibleView.KeyboardCompatibleView : _props$KeyboardCompat,
|
|
@@ -1896,6 +1908,9 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1896
1908
|
initialValue: initialValue,
|
|
1897
1909
|
Input: Input,
|
|
1898
1910
|
InputButtons: InputButtons,
|
|
1911
|
+
InputEditingStateHeader: InputEditingStateHeader,
|
|
1912
|
+
InputGiphySearch: InputGiphySearch,
|
|
1913
|
+
InputReplyStateHeader: InputReplyStateHeader,
|
|
1899
1914
|
maxMessageLength: (_ref22 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref22 : undefined,
|
|
1900
1915
|
maxNumberOfFiles: maxNumberOfFiles,
|
|
1901
1916
|
mentionAllAppUsersEnabled: mentionAllAppUsersEnabled,
|
|
@@ -2029,7 +2044,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2029
2044
|
__self: _this,
|
|
2030
2045
|
__source: {
|
|
2031
2046
|
fileName: _jsxFileName,
|
|
2032
|
-
lineNumber:
|
|
2047
|
+
lineNumber: 1767,
|
|
2033
2048
|
columnNumber: 12
|
|
2034
2049
|
}
|
|
2035
2050
|
});
|
|
@@ -2044,7 +2059,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2044
2059
|
__self: _this,
|
|
2045
2060
|
__source: {
|
|
2046
2061
|
fileName: _jsxFileName,
|
|
2047
|
-
lineNumber:
|
|
2062
|
+
lineNumber: 1772,
|
|
2048
2063
|
columnNumber: 7
|
|
2049
2064
|
}
|
|
2050
2065
|
}, t('Please select a channel first'));
|
|
@@ -2058,7 +2073,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2058
2073
|
__self: _this,
|
|
2059
2074
|
__source: {
|
|
2060
2075
|
fileName: _jsxFileName,
|
|
2061
|
-
lineNumber:
|
|
2076
|
+
lineNumber: 1779,
|
|
2062
2077
|
columnNumber: 5
|
|
2063
2078
|
}
|
|
2064
2079
|
}), _react["default"].createElement(_ChannelContext.ChannelProvider, {
|
|
@@ -2066,7 +2081,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2066
2081
|
__self: _this,
|
|
2067
2082
|
__source: {
|
|
2068
2083
|
fileName: _jsxFileName,
|
|
2069
|
-
lineNumber:
|
|
2084
|
+
lineNumber: 1785,
|
|
2070
2085
|
columnNumber: 7
|
|
2071
2086
|
}
|
|
2072
2087
|
}, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
|
|
@@ -2074,7 +2089,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2074
2089
|
__self: _this,
|
|
2075
2090
|
__source: {
|
|
2076
2091
|
fileName: _jsxFileName,
|
|
2077
|
-
lineNumber:
|
|
2092
|
+
lineNumber: 1786,
|
|
2078
2093
|
columnNumber: 9
|
|
2079
2094
|
}
|
|
2080
2095
|
}, _react["default"].createElement(_TypingContext.TypingProvider, {
|
|
@@ -2082,7 +2097,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2082
2097
|
__self: _this,
|
|
2083
2098
|
__source: {
|
|
2084
2099
|
fileName: _jsxFileName,
|
|
2085
|
-
lineNumber:
|
|
2100
|
+
lineNumber: 1787,
|
|
2086
2101
|
columnNumber: 11
|
|
2087
2102
|
}
|
|
2088
2103
|
}, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
|
|
@@ -2090,7 +2105,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2090
2105
|
__self: _this,
|
|
2091
2106
|
__source: {
|
|
2092
2107
|
fileName: _jsxFileName,
|
|
2093
|
-
lineNumber:
|
|
2108
|
+
lineNumber: 1788,
|
|
2094
2109
|
columnNumber: 13
|
|
2095
2110
|
}
|
|
2096
2111
|
}, _react["default"].createElement(_MessagesContext.MessagesProvider, {
|
|
@@ -2098,7 +2113,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2098
2113
|
__self: _this,
|
|
2099
2114
|
__source: {
|
|
2100
2115
|
fileName: _jsxFileName,
|
|
2101
|
-
lineNumber:
|
|
2116
|
+
lineNumber: 1789,
|
|
2102
2117
|
columnNumber: 15
|
|
2103
2118
|
}
|
|
2104
2119
|
}, _react["default"].createElement(_ThreadContext.ThreadProvider, {
|
|
@@ -2106,7 +2121,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2106
2121
|
__self: _this,
|
|
2107
2122
|
__source: {
|
|
2108
2123
|
fileName: _jsxFileName,
|
|
2109
|
-
lineNumber:
|
|
2124
|
+
lineNumber: 1790,
|
|
2110
2125
|
columnNumber: 17
|
|
2111
2126
|
}
|
|
2112
2127
|
}, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
|
|
@@ -2114,7 +2129,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2114
2129
|
__self: _this,
|
|
2115
2130
|
__source: {
|
|
2116
2131
|
fileName: _jsxFileName,
|
|
2117
|
-
lineNumber:
|
|
2132
|
+
lineNumber: 1791,
|
|
2118
2133
|
columnNumber: 19
|
|
2119
2134
|
}
|
|
2120
2135
|
}, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
|
|
@@ -2122,7 +2137,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2122
2137
|
__self: _this,
|
|
2123
2138
|
__source: {
|
|
2124
2139
|
fileName: _jsxFileName,
|
|
2125
|
-
lineNumber:
|
|
2140
|
+
lineNumber: 1792,
|
|
2126
2141
|
columnNumber: 21
|
|
2127
2142
|
}
|
|
2128
2143
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -2132,7 +2147,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2132
2147
|
__self: _this,
|
|
2133
2148
|
__source: {
|
|
2134
2149
|
fileName: _jsxFileName,
|
|
2135
|
-
lineNumber:
|
|
2150
|
+
lineNumber: 1793,
|
|
2136
2151
|
columnNumber: 23
|
|
2137
2152
|
}
|
|
2138
2153
|
}, children))))))))));
|
|
@@ -2187,7 +2202,7 @@ var Channel = function Channel(props) {
|
|
|
2187
2202
|
__self: _this,
|
|
2188
2203
|
__source: {
|
|
2189
2204
|
fileName: _jsxFileName,
|
|
2190
|
-
lineNumber:
|
|
2205
|
+
lineNumber: 1850,
|
|
2191
2206
|
columnNumber: 5
|
|
2192
2207
|
}
|
|
2193
2208
|
}));
|