stream-chat-react-native-core 4.9.0-beta.4 → 4.9.0

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.
@@ -100,9 +100,9 @@ var GalleryWithContext = function GalleryWithContext(props) {
100
100
  images = props.images,
101
101
  legacyImageViewerSwipeBehaviour = props.legacyImageViewerSwipeBehaviour,
102
102
  message = props.message,
103
- _onLongPress = props.onLongPress,
104
- _onPress = props.onPress,
105
- _onPressIn = props.onPressIn,
103
+ onLongPress = props.onLongPress,
104
+ onPress = props.onPress,
105
+ onPressIn = props.onPressIn,
106
106
  preventPress = props.preventPress,
107
107
  setImage = props.setImage,
108
108
  setImages = props.setImages,
@@ -111,28 +111,16 @@ var GalleryWithContext = function GalleryWithContext(props) {
111
111
  videos = props.videos,
112
112
  VideoThumbnail = props.VideoThumbnail;
113
113
 
114
- var _useLoadingImage = (0, _useLoadingImage2.useLoadingImage)(),
115
- isLoadingImage = _useLoadingImage.isLoadingImage,
116
- isLoadingImageError = _useLoadingImage.isLoadingImageError,
117
- setLoadingImage = _useLoadingImage.setLoadingImage,
118
- setLoadingImageError = _useLoadingImage.setLoadingImageError;
119
-
120
114
  var _useTheme = (0, _ThemeContext.useTheme)(),
121
- _useTheme$theme = _useTheme.theme,
122
- overlay = _useTheme$theme.colors.overlay,
123
- _useTheme$theme$messa = _useTheme$theme.messageSimple.gallery,
115
+ _useTheme$theme$messa = _useTheme.theme.messageSimple.gallery,
124
116
  galleryContainer = _useTheme$theme$messa.galleryContainer,
125
117
  galleryItemColumn = _useTheme$theme$messa.galleryItemColumn,
126
118
  gridHeight = _useTheme$theme$messa.gridHeight,
127
119
  gridWidth = _useTheme$theme$messa.gridWidth,
128
- image = _useTheme$theme$messa.image,
129
- imageContainer = _useTheme$theme$messa.imageContainer,
130
120
  maxHeight = _useTheme$theme$messa.maxHeight,
131
121
  maxWidth = _useTheme$theme$messa.maxWidth,
132
122
  minHeight = _useTheme$theme$messa.minHeight,
133
- minWidth = _useTheme$theme$messa.minWidth,
134
- moreImagesContainer = _useTheme$theme$messa.moreImagesContainer,
135
- moreImagesText = _useTheme$theme$messa.moreImagesText;
123
+ minWidth = _useTheme$theme$messa.minWidth;
136
124
 
137
125
  var sizeConfig = {
138
126
  gridHeight: gridHeight,
@@ -156,8 +144,6 @@ var GalleryWithContext = function GalleryWithContext(props) {
156
144
  width = _useMemo.width;
157
145
 
158
146
  if (!(imagesAndVideos != null && imagesAndVideos.length)) return null;
159
- var messageText = message == null ? void 0 : message.text;
160
- var messageId = message == null ? void 0 : message.id;
161
147
  var numOfColumns = thumbnailGrid.length;
162
148
  return _react["default"].createElement(_reactNative.View, {
163
149
  style: [styles.galleryContainer, {
@@ -170,7 +156,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
170
156
  __self: _this,
171
157
  __source: {
172
158
  fileName: _jsxFileName,
173
- lineNumber: 188,
159
+ lineNumber: 181,
174
160
  columnNumber: 5
175
161
  }
176
162
  }, thumbnailGrid.map(function (rows, colIndex) {
@@ -184,42 +170,10 @@ var GalleryWithContext = function GalleryWithContext(props) {
184
170
  __self: _this,
185
171
  __source: {
186
172
  fileName: _jsxFileName,
187
- lineNumber: 205,
173
+ lineNumber: 198,
188
174
  columnNumber: 11
189
175
  }
190
- }, rows.map(function (_ref, rowIndex) {
191
- var height = _ref.height,
192
- resizeMode = _ref.resizeMode,
193
- thumb_url = _ref.thumb_url,
194
- type = _ref.type,
195
- url = _ref.url,
196
- width = _ref.width;
197
-
198
- var openImageViewer = function openImageViewer() {
199
- if (!legacyImageViewerSwipeBehaviour && message) {
200
- setImages([message]);
201
- setImage({
202
- messageId: message.id,
203
- url: url
204
- });
205
- setOverlay('gallery');
206
- } else if (legacyImageViewerSwipeBehaviour) {
207
- setImage({
208
- messageId: message == null ? void 0 : message.id,
209
- url: url
210
- });
211
- setOverlay('gallery');
212
- }
213
- };
214
-
215
- var defaultOnPress = function defaultOnPress() {
216
- if (type === 'video' && !(0, _native.isVideoPackageAvailable)()) {
217
- (0, _openUrlSafely.openUrlSafely)(url);
218
- } else {
219
- openImageViewer();
220
- }
221
- };
222
-
176
+ }, rows.map(function (thumbnail, rowIndex) {
223
177
  var borderRadius = (0, _getGalleryImageBorderRadius.getGalleryImageBorderRadius)({
224
178
  alignment: alignment,
225
179
  colIndex: colIndex,
@@ -227,7 +181,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
227
181
  hasThreadReplies: hasThreadReplies,
228
182
  height: height,
229
183
  invertedDirections: invertedDirections,
230
- messageText: messageText,
184
+ messageText: message == null ? void 0 : message.text,
231
185
  numOfColumns: numOfColumns,
232
186
  numOfRows: numOfRows,
233
187
  rowIndex: rowIndex,
@@ -235,151 +189,251 @@ var GalleryWithContext = function GalleryWithContext(props) {
235
189
  threadList: threadList,
236
190
  width: width
237
191
  });
238
- return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
239
- activeOpacity: 0.8,
240
- disabled: preventPress,
241
- key: "gallery-item-" + messageId + "/" + colIndex + "/" + rowIndex + "/" + imagesAndVideos.length,
242
- onLongPress: function onLongPress(event) {
243
- if (_onLongPress) {
244
- _onLongPress({
245
- emitter: 'gallery',
246
- event: event
247
- });
248
- }
249
- },
250
- onPress: function onPress(event) {
251
- if (_onPress) {
252
- _onPress({
253
- defaultHandler: defaultOnPress,
254
- emitter: 'gallery',
255
- event: event
256
- });
257
- }
258
- },
259
- onPressIn: function onPressIn(event) {
260
- if (_onPressIn) {
261
- _onPressIn({
262
- defaultHandler: defaultOnPress,
263
- emitter: 'gallery',
264
- event: event
265
- });
266
- }
267
- },
268
- style: [styles.imageContainer, {
269
- height: height,
270
- width: width
271
- }, imageContainer],
272
- testID: "gallery-" + (invertedDirections ? 'row' : 'column') + "-" + colIndex + "-item-" + rowIndex
273
- }, additionalTouchableProps, {
192
+
193
+ if (message === undefined) {
194
+ return null;
195
+ }
196
+
197
+ return _react["default"].createElement(GalleryThumbnail, {
198
+ additionalTouchableProps: additionalTouchableProps,
199
+ borderRadius: borderRadius,
200
+ colIndex: colIndex,
201
+ ImageLoadingFailedIndicator: ImageLoadingFailedIndicator,
202
+ ImageLoadingIndicator: ImageLoadingIndicator,
203
+ imagesAndVideos: imagesAndVideos,
204
+ invertedDirections: invertedDirections || false,
205
+ key: rowIndex,
206
+ legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
207
+ message: message,
208
+ numOfColumns: numOfColumns,
209
+ numOfRows: numOfRows,
210
+ onLongPress: onLongPress,
211
+ onPress: onPress,
212
+ onPressIn: onPressIn,
213
+ preventPress: preventPress,
214
+ rowIndex: rowIndex,
215
+ setImage: setImage,
216
+ setImages: setImages,
217
+ setOverlay: setOverlay,
218
+ thumbnail: thumbnail,
219
+ VideoThumbnail: VideoThumbnail,
274
220
  __self: _this,
275
221
  __source: {
276
222
  fileName: _jsxFileName,
277
- lineNumber: 257,
223
+ lineNumber: 230,
278
224
  columnNumber: 17
279
225
  }
280
- }), type === 'video' ? _react["default"].createElement(VideoThumbnail, {
281
- style: [borderRadius, image, {
282
- height: height - 1,
283
- width: width - 1
284
- }],
285
- thumb_url: thumb_url,
286
- __self: _this,
287
- __source: {
288
- fileName: _jsxFileName,
289
- lineNumber: 301,
290
- columnNumber: 21
291
- }
292
- }) : _react["default"].createElement(_reactNative.View, {
293
- style: styles.imageContainerStyle,
294
- __self: _this,
295
- __source: {
296
- fileName: _jsxFileName,
297
- lineNumber: 313,
298
- columnNumber: 21
299
- }
300
- }, _react["default"].createElement(MemoizedGalleryImage, {
301
- onError: function onError(error) {
302
- console.warn(error);
303
- setLoadingImage(false);
304
- setLoadingImageError(true);
305
- },
306
- onLoadEnd: function onLoadEnd() {
307
- return setLoadingImage(false);
308
- },
309
- onLoadStart: function onLoadStart() {
310
- return setLoadingImage(true);
311
- },
312
- resizeMode: resizeMode,
313
- style: [borderRadius, image, {
314
- height: height - 1,
315
- width: width - 1
316
- }],
317
- uri: url,
318
- __self: _this,
319
- __source: {
320
- fileName: _jsxFileName,
321
- lineNumber: 314,
322
- columnNumber: 23
323
- }
324
- }), isLoadingImage && _react["default"].createElement(_reactNative.View, {
325
- style: {
326
- position: 'absolute'
327
- },
328
- __self: _this,
329
- __source: {
330
- fileName: _jsxFileName,
331
- lineNumber: 334,
332
- columnNumber: 25
333
- }
334
- }, _react["default"].createElement(ImageLoadingIndicator, {
335
- style: styles.imageLoadingIndicatorStyle,
336
- __self: _this,
337
- __source: {
338
- fileName: _jsxFileName,
339
- lineNumber: 335,
340
- columnNumber: 27
341
- }
342
- })), isLoadingImageError && _react["default"].createElement(_reactNative.View, {
343
- style: {
344
- position: 'absolute'
345
- },
346
- __self: _this,
347
- __source: {
348
- fileName: _jsxFileName,
349
- lineNumber: 339,
350
- columnNumber: 25
351
- }
352
- }, _react["default"].createElement(ImageLoadingFailedIndicator, {
353
- style: styles.imageLoadingIndicatorStyle,
354
- __self: _this,
355
- __source: {
356
- fileName: _jsxFileName,
357
- lineNumber: 340,
358
- columnNumber: 27
359
- }
360
- }))), colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? _react["default"].createElement(_reactNative.View, {
361
- style: [_reactNative.StyleSheet.absoluteFillObject, styles.moreImagesContainer, {
362
- backgroundColor: overlay
363
- }, moreImagesContainer],
364
- __self: _this,
365
- __source: {
366
- fileName: _jsxFileName,
367
- lineNumber: 348,
368
- columnNumber: 21
369
- }
370
- }, _react["default"].createElement(_reactNative.Text, {
371
- style: [styles.moreImagesText, moreImagesText],
372
- __self: _this,
373
- __source: {
374
- fileName: _jsxFileName,
375
- lineNumber: 356,
376
- columnNumber: 23
377
- }
378
- }, "+" + (imagesAndVideos.length - 4))) : null);
226
+ });
379
227
  }));
380
228
  }));
381
229
  };
382
230
 
231
+ var GalleryThumbnail = function GalleryThumbnail(_ref) {
232
+ var additionalTouchableProps = _ref.additionalTouchableProps,
233
+ borderRadius = _ref.borderRadius,
234
+ colIndex = _ref.colIndex,
235
+ ImageLoadingFailedIndicator = _ref.ImageLoadingFailedIndicator,
236
+ ImageLoadingIndicator = _ref.ImageLoadingIndicator,
237
+ imagesAndVideos = _ref.imagesAndVideos,
238
+ invertedDirections = _ref.invertedDirections,
239
+ legacyImageViewerSwipeBehaviour = _ref.legacyImageViewerSwipeBehaviour,
240
+ message = _ref.message,
241
+ numOfColumns = _ref.numOfColumns,
242
+ numOfRows = _ref.numOfRows,
243
+ _onLongPress = _ref.onLongPress,
244
+ _onPress = _ref.onPress,
245
+ _onPressIn = _ref.onPressIn,
246
+ preventPress = _ref.preventPress,
247
+ rowIndex = _ref.rowIndex,
248
+ setImage = _ref.setImage,
249
+ setImages = _ref.setImages,
250
+ setOverlay = _ref.setOverlay,
251
+ thumbnail = _ref.thumbnail,
252
+ VideoThumbnail = _ref.VideoThumbnail;
253
+
254
+ var _useLoadingImage = (0, _useLoadingImage2.useLoadingImage)(),
255
+ isLoadingImage = _useLoadingImage.isLoadingImage,
256
+ isLoadingImageError = _useLoadingImage.isLoadingImageError,
257
+ setLoadingImage = _useLoadingImage.setLoadingImage,
258
+ setLoadingImageError = _useLoadingImage.setLoadingImageError;
259
+
260
+ var _useTheme2 = (0, _ThemeContext.useTheme)(),
261
+ _useTheme2$theme = _useTheme2.theme,
262
+ overlay = _useTheme2$theme.colors.overlay,
263
+ _useTheme2$theme$mess = _useTheme2$theme.messageSimple.gallery,
264
+ image = _useTheme2$theme$mess.image,
265
+ imageContainer = _useTheme2$theme$mess.imageContainer,
266
+ moreImagesContainer = _useTheme2$theme$mess.moreImagesContainer,
267
+ moreImagesText = _useTheme2$theme$mess.moreImagesText;
268
+
269
+ var openImageViewer = function openImageViewer() {
270
+ if (!legacyImageViewerSwipeBehaviour && message) {
271
+ setImages([message]);
272
+ setImage({
273
+ messageId: message.id,
274
+ url: thumbnail.url
275
+ });
276
+ setOverlay('gallery');
277
+ } else if (legacyImageViewerSwipeBehaviour) {
278
+ setImage({
279
+ messageId: message == null ? void 0 : message.id,
280
+ url: thumbnail.url
281
+ });
282
+ setOverlay('gallery');
283
+ }
284
+ };
285
+
286
+ var defaultOnPress = function defaultOnPress() {
287
+ if (thumbnail.type === 'video' && !(0, _native.isVideoPackageAvailable)()) {
288
+ (0, _openUrlSafely.openUrlSafely)(thumbnail.url);
289
+ } else {
290
+ openImageViewer();
291
+ }
292
+ };
293
+
294
+ return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
295
+ activeOpacity: 0.8,
296
+ disabled: preventPress,
297
+ key: "gallery-item-" + message.id + "/" + colIndex + "/" + rowIndex + "/" + imagesAndVideos.length,
298
+ onLongPress: function onLongPress(event) {
299
+ if (_onLongPress) {
300
+ _onLongPress({
301
+ emitter: 'gallery',
302
+ event: event
303
+ });
304
+ }
305
+ },
306
+ onPress: function onPress(event) {
307
+ if (_onPress) {
308
+ _onPress({
309
+ defaultHandler: defaultOnPress,
310
+ emitter: 'gallery',
311
+ event: event
312
+ });
313
+ }
314
+ },
315
+ onPressIn: function onPressIn(event) {
316
+ if (_onPressIn) {
317
+ _onPressIn({
318
+ defaultHandler: defaultOnPress,
319
+ emitter: 'gallery',
320
+ event: event
321
+ });
322
+ }
323
+ },
324
+ style: [styles.imageContainer, {
325
+ height: thumbnail.height,
326
+ width: thumbnail.width
327
+ }, imageContainer],
328
+ testID: "gallery-" + (invertedDirections ? 'row' : 'column') + "-" + colIndex + "-item-" + rowIndex
329
+ }, additionalTouchableProps, {
330
+ __self: _this,
331
+ __source: {
332
+ fileName: _jsxFileName,
333
+ lineNumber: 357,
334
+ columnNumber: 5
335
+ }
336
+ }), thumbnail.type === 'video' ? _react["default"].createElement(VideoThumbnail, {
337
+ style: [borderRadius, image, {
338
+ height: thumbnail.height - 1,
339
+ width: thumbnail.width - 1
340
+ }],
341
+ thumb_url: thumbnail.thumb_url,
342
+ __self: _this,
343
+ __source: {
344
+ fileName: _jsxFileName,
345
+ lineNumber: 399,
346
+ columnNumber: 9
347
+ }
348
+ }) : _react["default"].createElement(_reactNative.View, {
349
+ style: styles.imageContainerStyle,
350
+ __self: _this,
351
+ __source: {
352
+ fileName: _jsxFileName,
353
+ lineNumber: 411,
354
+ columnNumber: 9
355
+ }
356
+ }, _react["default"].createElement(MemoizedGalleryImage, {
357
+ onError: function onError(error) {
358
+ console.warn(error);
359
+ setLoadingImage(false);
360
+ setLoadingImageError(true);
361
+ },
362
+ onLoadEnd: function onLoadEnd() {
363
+ return setLoadingImage(false);
364
+ },
365
+ onLoadStart: function onLoadStart() {
366
+ return setLoadingImage(true);
367
+ },
368
+ resizeMode: thumbnail.resizeMode,
369
+ style: [borderRadius, image, {
370
+ height: thumbnail.height - 1,
371
+ width: thumbnail.width - 1
372
+ }],
373
+ uri: thumbnail.url,
374
+ __self: _this,
375
+ __source: {
376
+ fileName: _jsxFileName,
377
+ lineNumber: 412,
378
+ columnNumber: 11
379
+ }
380
+ }), isLoadingImage && _react["default"].createElement(_reactNative.View, {
381
+ style: {
382
+ position: 'absolute'
383
+ },
384
+ __self: _this,
385
+ __source: {
386
+ fileName: _jsxFileName,
387
+ lineNumber: 432,
388
+ columnNumber: 13
389
+ }
390
+ }, _react["default"].createElement(ImageLoadingIndicator, {
391
+ style: styles.imageLoadingIndicatorStyle,
392
+ __self: _this,
393
+ __source: {
394
+ fileName: _jsxFileName,
395
+ lineNumber: 433,
396
+ columnNumber: 15
397
+ }
398
+ })), isLoadingImageError && _react["default"].createElement(_reactNative.View, {
399
+ style: {
400
+ position: 'absolute'
401
+ },
402
+ __self: _this,
403
+ __source: {
404
+ fileName: _jsxFileName,
405
+ lineNumber: 437,
406
+ columnNumber: 13
407
+ }
408
+ }, _react["default"].createElement(ImageLoadingFailedIndicator, {
409
+ style: styles.imageLoadingIndicatorStyle,
410
+ __self: _this,
411
+ __source: {
412
+ fileName: _jsxFileName,
413
+ lineNumber: 438,
414
+ columnNumber: 15
415
+ }
416
+ }))), colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? _react["default"].createElement(_reactNative.View, {
417
+ style: [_reactNative.StyleSheet.absoluteFillObject, styles.moreImagesContainer, {
418
+ backgroundColor: overlay
419
+ }, moreImagesContainer],
420
+ __self: _this,
421
+ __source: {
422
+ fileName: _jsxFileName,
423
+ lineNumber: 444,
424
+ columnNumber: 9
425
+ }
426
+ }, _react["default"].createElement(_reactNative.Text, {
427
+ style: [styles.moreImagesText, moreImagesText],
428
+ __self: _this,
429
+ __source: {
430
+ fileName: _jsxFileName,
431
+ lineNumber: 452,
432
+ columnNumber: 11
433
+ }
434
+ }, "+" + (imagesAndVideos.length - 4))) : null);
435
+ };
436
+
383
437
  var areEqual = function areEqual(prevProps, nextProps) {
384
438
  var prevGroupStyles = prevProps.groupStyles,
385
439
  prevHasThreadReplies = prevProps.hasThreadReplies,
@@ -494,7 +548,7 @@ var Gallery = function Gallery(props) {
494
548
  __self: _this,
495
549
  __source: {
496
550
  fileName: _jsxFileName,
497
- lineNumber: 498,
551
+ lineNumber: 588,
498
552
  columnNumber: 5
499
553
  }
500
554
  });