stream-chat-react-native-core 5.23.0-beta.1 → 5.23.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.
Files changed (65) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +587 -384
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +1 -1
  4. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  5. package/lib/commonjs/components/MessageList/MessageList.js +174 -180
  6. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  7. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +6 -1
  8. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  9. package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js +36 -0
  10. package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -0
  11. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +30 -36
  12. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  13. package/lib/commonjs/i18n/en.json +1 -1
  14. package/lib/commonjs/i18n/fr.json +45 -45
  15. package/lib/commonjs/i18n/hi.json +43 -43
  16. package/lib/commonjs/i18n/it.json +43 -43
  17. package/lib/commonjs/i18n/nl.json +43 -43
  18. package/lib/commonjs/i18n/ru.json +45 -45
  19. package/lib/commonjs/i18n/tr.json +45 -45
  20. package/lib/commonjs/version.json +1 -1
  21. package/lib/module/components/Channel/Channel.js +587 -384
  22. package/lib/module/components/Channel/Channel.js.map +1 -1
  23. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +1 -1
  24. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  25. package/lib/module/components/MessageList/MessageList.js +174 -180
  26. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  27. package/lib/module/components/MessageList/hooks/useMessageList.js +6 -1
  28. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  29. package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js +36 -0
  30. package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -0
  31. package/lib/module/components/MessageOverlay/MessageOverlay.js +30 -36
  32. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  33. package/lib/module/i18n/en.json +1 -1
  34. package/lib/module/i18n/fr.json +45 -45
  35. package/lib/module/i18n/hi.json +43 -43
  36. package/lib/module/i18n/it.json +43 -43
  37. package/lib/module/i18n/nl.json +43 -43
  38. package/lib/module/i18n/ru.json +45 -45
  39. package/lib/module/i18n/tr.json +45 -45
  40. package/lib/module/version.json +1 -1
  41. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -1
  42. package/lib/typescript/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.d.ts +4 -0
  43. package/lib/typescript/i18n/en.json +1 -1
  44. package/lib/typescript/i18n/fr.json +45 -45
  45. package/lib/typescript/i18n/hi.json +43 -43
  46. package/lib/typescript/i18n/it.json +43 -43
  47. package/lib/typescript/i18n/nl.json +43 -43
  48. package/lib/typescript/i18n/ru.json +45 -45
  49. package/lib/typescript/i18n/tr.json +45 -45
  50. package/package.json +1 -1
  51. package/src/components/Channel/Channel.tsx +237 -61
  52. package/src/components/Channel/hooks/useCreateMessagesContext.ts +1 -0
  53. package/src/components/MessageList/MessageList.tsx +193 -181
  54. package/src/components/MessageList/__tests__/useMessageList.test.tsx +5 -2
  55. package/src/components/MessageList/hooks/useMessageList.ts +8 -1
  56. package/src/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.ts +44 -0
  57. package/src/components/MessageOverlay/MessageOverlay.tsx +1 -6
  58. package/src/i18n/en.json +1 -1
  59. package/src/i18n/fr.json +45 -45
  60. package/src/i18n/hi.json +43 -43
  61. package/src/i18n/it.json +43 -43
  62. package/src/i18n/nl.json +43 -43
  63. package/src/i18n/ru.json +45 -45
  64. package/src/i18n/tr.json +45 -45
  65. package/src/version.json +1 -1
@@ -115,18 +115,12 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
115
115
  var halfScreenHeight = vh(50);
116
116
  var myMessageTheme = messagesContext == null ? void 0 : messagesContext.myMessageTheme;
117
117
  var wrapMessageInTheme = clientId === (message == null ? void 0 : (_message$user = message.user) == null ? void 0 : _message$user.id) && !!myMessageTheme;
118
- var _useState = (0, _react.useState)(JSON.stringify(myMessageTheme)),
118
+ var _useState = (0, _react.useState)(0),
119
119
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
120
- myMessageThemeString = _useState2[0],
121
- setMyMessageThemeString = _useState2[1];
122
- var _useState3 = (0, _react.useState)(0),
123
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
124
- reactionListHeight = _useState4[0],
125
- setReactionListHeight = _useState4[1];
126
- (0, _react.useEffect)(function () {
127
- if (myMessageTheme) {
128
- setMyMessageThemeString(JSON.stringify(myMessageTheme));
129
- }
120
+ reactionListHeight = _useState2[0],
121
+ setReactionListHeight = _useState2[1];
122
+ var myMessageThemeString = (0, _react.useMemo)(function () {
123
+ return JSON.stringify(myMessageTheme);
130
124
  }, [myMessageTheme]);
131
125
  var modifiedTheme = (0, _react.useMemo)(function () {
132
126
  return (0, _ThemeContext.mergeThemes)({
@@ -253,7 +247,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
253
247
  __self: _this,
254
248
  __source: {
255
249
  fileName: _jsxFileName,
256
- lineNumber: 310,
250
+ lineNumber: 305,
257
251
  columnNumber: 5
258
252
  }
259
253
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -261,7 +255,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
261
255
  __self: _this,
262
256
  __source: {
263
257
  fileName: _jsxFileName,
264
- lineNumber: 318,
258
+ lineNumber: 313,
265
259
  columnNumber: 7
266
260
  }
267
261
  }, message && _react["default"].createElement(_reactNative.View, {
@@ -271,7 +265,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
271
265
  __self: _this,
272
266
  __source: {
273
267
  fileName: _jsxFileName,
274
- lineNumber: 320,
268
+ lineNumber: 315,
275
269
  columnNumber: 11
276
270
  }
277
271
  }, handleReaction && ownCapabilities != null && ownCapabilities.sendReaction ? _react["default"].createElement(OverlayReactionList, {
@@ -284,7 +278,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
284
278
  __self: _this,
285
279
  __source: {
286
280
  fileName: _jsxFileName,
287
- lineNumber: 329,
281
+ lineNumber: 324,
288
282
  columnNumber: 15
289
283
  }
290
284
  }) : null, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -305,7 +299,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
305
299
  __self: _this,
306
300
  __source: {
307
301
  fileName: _jsxFileName,
308
- lineNumber: 336,
302
+ lineNumber: 331,
309
303
  columnNumber: 13
310
304
  }
311
305
  }, alignment === 'left' && MessageAvatar && _react["default"].createElement(MessageAvatar, {
@@ -315,7 +309,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
315
309
  __self: _this,
316
310
  __source: {
317
311
  fileName: _jsxFileName,
318
- lineNumber: 352,
312
+ lineNumber: 347,
319
313
  columnNumber: 17
320
314
  }
321
315
  }), _react["default"].createElement(_reactNative.View, {
@@ -331,7 +325,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
331
325
  __self: _this,
332
326
  __source: {
333
327
  fileName: _jsxFileName,
334
- lineNumber: 354,
328
+ lineNumber: 349,
335
329
  columnNumber: 15
336
330
  }
337
331
  }, messagesContext == null ? void 0 : (_messagesContext$mess = messagesContext.messageContentOrder) == null ? void 0 : _messagesContext$mess.map(function (messageContentType, messageContentOrderIndex) {
@@ -343,7 +337,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
343
337
  __self: _this,
344
338
  __source: {
345
339
  fileName: _jsxFileName,
346
- lineNumber: 396,
340
+ lineNumber: 391,
347
341
  columnNumber: 29
348
342
  }
349
343
  }, _react["default"].createElement(Reply, {
@@ -356,7 +350,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
356
350
  __self: _this,
357
351
  __source: {
358
352
  fileName: _jsxFileName,
359
- lineNumber: 400,
353
+ lineNumber: 395,
360
354
  columnNumber: 31
361
355
  }
362
356
  }));
@@ -368,7 +362,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
368
362
  __self: _this,
369
363
  __source: {
370
364
  fileName: _jsxFileName,
371
- lineNumber: 417,
365
+ lineNumber: 412,
372
366
  columnNumber: 31
373
367
  }
374
368
  });
@@ -381,7 +375,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
381
375
  __self: _this,
382
376
  __source: {
383
377
  fileName: _jsxFileName,
384
- lineNumber: 426,
378
+ lineNumber: 421,
385
379
  columnNumber: 29
386
380
  }
387
381
  });
@@ -398,7 +392,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
398
392
  __self: _this,
399
393
  __source: {
400
394
  fileName: _jsxFileName,
401
- lineNumber: 436,
395
+ lineNumber: 431,
402
396
  columnNumber: 29
403
397
  }
404
398
  });
@@ -413,7 +407,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
413
407
  __self: _this,
414
408
  __source: {
415
409
  fileName: _jsxFileName,
416
- lineNumber: 451,
410
+ lineNumber: 446,
417
411
  columnNumber: 27
418
412
  }
419
413
  });
@@ -426,7 +420,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
426
420
  __self: _this,
427
421
  __source: {
428
422
  fileName: _jsxFileName,
429
- lineNumber: 465,
423
+ lineNumber: 460,
430
424
  columnNumber: 15
431
425
  }
432
426
  })), !!messageReactionTitle && message.latest_reactions && message.latest_reactions.length > 0 ? _react["default"].createElement(OverlayReactions, {
@@ -448,7 +442,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
448
442
  __self: _this,
449
443
  __source: {
450
444
  fileName: _jsxFileName,
451
- lineNumber: 475,
445
+ lineNumber: 470,
452
446
  columnNumber: 15
453
447
  }
454
448
  }) : null)));
@@ -459,7 +453,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
459
453
  __self: _this,
460
454
  __source: {
461
455
  fileName: _jsxFileName,
462
- lineNumber: 504,
456
+ lineNumber: 499,
463
457
  columnNumber: 5
464
458
  }
465
459
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -467,7 +461,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
467
461
  __self: _this,
468
462
  __source: {
469
463
  fileName: _jsxFileName,
470
- lineNumber: 505,
464
+ lineNumber: 500,
471
465
  columnNumber: 7
472
466
  }
473
467
  }, _react["default"].createElement(_MessageContext.MessageProvider, {
@@ -475,7 +469,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
475
469
  __self: _this,
476
470
  __source: {
477
471
  fileName: _jsxFileName,
478
- lineNumber: 506,
472
+ lineNumber: 501,
479
473
  columnNumber: 9
480
474
  }
481
475
  }, _react["default"].createElement(_ThemeContext.ThemeProvider, {
@@ -483,7 +477,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
483
477
  __self: _this,
484
478
  __source: {
485
479
  fileName: _jsxFileName,
486
- lineNumber: 507,
480
+ lineNumber: 502,
487
481
  columnNumber: 11
488
482
  }
489
483
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -492,7 +486,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
492
486
  __self: _this,
493
487
  __source: {
494
488
  fileName: _jsxFileName,
495
- lineNumber: 508,
489
+ lineNumber: 503,
496
490
  columnNumber: 13
497
491
  }
498
492
  }, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
@@ -503,7 +497,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
503
497
  __self: _this,
504
498
  __source: {
505
499
  fileName: _jsxFileName,
506
- lineNumber: 512,
500
+ lineNumber: 507,
507
501
  columnNumber: 15
508
502
  }
509
503
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -511,7 +505,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
511
505
  __self: _this,
512
506
  __source: {
513
507
  fileName: _jsxFileName,
514
- lineNumber: 518,
508
+ lineNumber: 513,
515
509
  columnNumber: 17
516
510
  }
517
511
  }, _react["default"].createElement(_reactNative.SafeAreaView, {
@@ -519,7 +513,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
519
513
  __self: _this,
520
514
  __source: {
521
515
  fileName: _jsxFileName,
522
- lineNumber: 519,
516
+ lineNumber: 514,
523
517
  columnNumber: 19
524
518
  }
525
519
  }, isScrollEnabled ? _react["default"].createElement(_reactNativeGestureHandler.ScrollView, {
@@ -532,7 +526,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
532
526
  __self: _this,
533
527
  __source: {
534
528
  fileName: _jsxFileName,
535
- lineNumber: 521,
529
+ lineNumber: 516,
536
530
  columnNumber: 23
537
531
  }
538
532
  }, renderContent()) : renderContent(messageTextNumberOfLines)))))))));
@@ -582,7 +576,7 @@ var MessageOverlay = function MessageOverlay(props) {
582
576
  __self: _this,
583
577
  __source: {
584
578
  fileName: _jsxFileName,
585
- lineNumber: 623,
579
+ lineNumber: 618,
586
580
  columnNumber: 5
587
581
  }
588
582
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_MessageActionList","_OverlayReactionList","_OverlayReactionsAvatar","_ChatContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_useViewport2","_MessageTextContainer","_OverlayReactions","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","_message$user","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","chatContext","message","messageActions","_props$MessageActionL","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","_props$messageTextNum","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","_props$OverlayReactio","OverlayReactionList","OverlayReactionListDefault","_props$OverlayReactio2","OverlayReactions","DefaultOverlayReactions","_props$OverlayReactio3","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","theme","_useViewport","useViewport","vh","vw","screenHeight","halfScreenHeight","myMessageTheme","wrapMessageInTheme","user","id","_useState","useState","JSON","stringify","_useState2","_slicedToArray2","myMessageThemeString","setMyMessageThemeString","_useState3","_useState4","reactionListHeight","setReactionListHeight","useEffect","modifiedTheme","useMemo","mergeThemes","style","_ref","_ref$colors","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","_ref$messageSimple$co","messageSimple","content","_ref$messageSimple$co2","container","borderRadiusL","borderRadiusS","_ref$overlay","containerStyle","messageHeight","useSharedValue","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","withSpring","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","Keyboard","dismiss","onPan","useAnimatedGestureHandler","onActive","evt","translationY","interpolate","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","onStart","panStyle","useAnimatedStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","_ref2","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","renderContent","_message$own_reaction","_messagesContext$mess","createElement","TapGestureHandler","maxDist","onHandlerStateChange","_ref3","state","nativeEvent","State","END","__self","__source","fileName","lineNumber","columnNumber","View","sendReaction","ownReactionTypes","own_reactions","map","reaction","type","onLayout","_ref4","_ref4$nativeEvent$lay","layout","layoutHeight","height","layoutWidth","width","showAvatar","pointerEvents","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","quotedMessage","messageContainer","maxWidth","attachment","attachmentIndex","messageId","actions","MessageTextContainer","messageOverlay","_extends2","latest_reactions","reactions","_reaction$user","_reaction$user2","_reaction$user3","_reaction$user4","image","name","user_id","supportedReactions","title","isScrollEnabled","ChatProvider","MessagesProvider","MessageProvider","ThemeProvider","mergedStyle","absoluteFillObject","PanGestureHandler","enabled","maxPointers","minDist","onGestureEvent","SafeAreaView","ScrollView","alwaysBounceVertical","contentContainerStyle","showsVerticalScrollIndicator","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","_ref5","index","_nextMessage$latest_r","MemoizedMessageOverlay","React","memo","MessageOverlay","_useMessageOverlayCon","useMessageOverlayContext","data","_useOverlayContext","useOverlayContext","componentProps","exports"],"sources":["MessageOverlay.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n ScrollView,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n chatContext,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const { theme } = useTheme();\n const { vh, vw } = useViewport();\n\n const screenHeight = vh(100);\n const halfScreenHeight = vh(50);\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n const [reactionListHeight, setReactionListHeight] = useState(0);\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n const renderContent = (messageTextNumberOfLines?: number) => (\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={message?.own_reactions?.map((reaction) => reaction.type) || []}\n setReactionListHeight={setReactionListHeight}\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) || otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment: clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n );\n\n // Scroll will only be enabled for message overlay when we show actions.\n // When we show the reactions, we don't want to enable scroll since OverlayReactions component\n // in itself is scrollable (FlatList). FlatList inside a ScrollView is not a good idea and results in error from RN.\n const isScrollEnabled = !!messageActions && overlay === 'message';\n\n return (\n <ChatProvider value={chatContext}>\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n {isScrollEnabled ? (\n <ScrollView\n alwaysBounceVertical={false}\n contentContainerStyle={[\n styles.center,\n {\n paddingTop: reactionListHeight,\n },\n ]}\n showsVerticalScrollIndicator={false}\n style={[styles.flex, styles.scrollView]}\n >\n {renderContent()}\n </ScrollView>\n ) : (\n renderContent(messageTextNumberOfLines)\n )}\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n </ChatProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage?.latest_reactions) && Array.isArray(nextMessage?.latest_reactions)\n ? prevMessage?.latest_reactions.length === nextMessage?.latest_reactions.length &&\n prevMessage?.latest_reactions.every(\n ({ type }, index) => type === nextMessage?.latest_reactions?.[index].type,\n )\n : prevMessage?.latest_reactions === nextMessage?.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AAOA,IAAAG,sBAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAcA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,uBAAA,GAAAN,OAAA;AAEA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAT,OAAA;AAMA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,eAAA,GAAAX,OAAA;AAKA,IAAAY,aAAA,GAAAZ,OAAA;AAEA,IAAAa,aAAA,GAAAb,OAAA;AAEA,IAAAc,qBAAA,GAAAd,OAAA;AACA,IAAAe,iBAAA,GAAAf,OAAA;AAG4C,IAAAgB,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAApB,wBAAAwB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAG5C,IAAMW,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,QAAQ,EAAE;IAAEC,UAAU,EAAE;EAAW,CAAC;EACpCC,UAAU,EAAE;IAAED,UAAU,EAAE;EAAa,CAAC;EACxCE,MAAM,EAAE;IACNC,QAAQ,EAAE,CAAC;IACXC,cAAc,EAAE;EAClB,CAAC;EACDC,cAAc,EAAE;IACdC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBC,WAAW,EAAE,CAAC;IACdC,QAAQ,EAAE;EACZ,CAAC;EACDC,IAAI,EAAE;IACJA,IAAI,EAAE;EACR,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,cAAc,EAAE;IACdC,aAAa,EAAE,KAAK;IACpBC,iBAAiB,EAAE,CAAC;IACpBC,UAAU,EAAE;EACd,CAAC;EACDC,GAAG,EAAE;IAAEH,aAAa,EAAE;EAAM,CAAC;EAC7BI,UAAU,EAAE;IAAET,QAAQ,EAAEU,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,SAAS,GAAG;EAAS;AACvE,CAAC,CAAC;AAEF,IAAMC,+BAA+B,GAAG,CAAC;AA2BzC,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAG7BC,KAAyD,EACtD;EAAA,IAAAC,aAAA;EACH,IACEC,SAAS,GA8BPF,KAAK,CA9BPE,SAAS;IACTC,eAAe,GA6BbH,KAAK,CA7BPG,eAAe;IACfC,QAAQ,GA4BNJ,KAAK,CA5BPI,QAAQ;IACRC,KAAK,GA2BHL,KAAK,CA3BPK,KAAK;IACLC,WAAW,GA0BTN,KAAK,CA1BPM,WAAW;IACXC,cAAc,GAyBZP,KAAK,CAzBPO,cAAc;IACdC,MAAM,GAwBJR,KAAK,CAxBPQ,MAAM;IACNC,WAAW,GAuBTT,KAAK,CAvBPS,WAAW;IACXC,OAAO,GAsBLV,KAAK,CAtBPU,OAAO;IACPC,cAAc,GAqBZX,KAAK,CArBPW,cAAc;IAAAC,qBAAA,GAqBZZ,KAAK,CApBPa,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAGE,oCAAwB,GAAAF,qBAAA;IAC5CG,qBAAqB,GAmBnBf,KAAK,CAnBPe,qBAAqB;IACrBC,cAAc,GAkBZhB,KAAK,CAlBPgB,cAAc;IACdC,oBAAoB,GAiBlBjB,KAAK,CAjBPiB,oBAAoB;IAAAC,qBAAA,GAiBlBlB,KAAK,CAhBPmB,wBAAwB;IAAxBA,wBAAwB,GAAAD,qBAAA,cAAGpB,+BAA+B,GAAAoB,qBAAA;IAC1DE,eAAe,GAebpB,KAAK,CAfPoB,eAAe;IACfC,UAAU,GAcRrB,KAAK,CAdPqB,UAAU;IACVC,gBAAgB,GAadtB,KAAK,CAbPsB,gBAAgB;IAChBC,OAAO,GAYLvB,KAAK,CAZPuB,OAAO;IACPC,cAAc,GAWZxB,KAAK,CAXPwB,cAAc;IAAAC,qBAAA,GAWZzB,KAAK,CAVP0B,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAGE,wCAA0B,GAAAF,qBAAA;IAAAG,sBAAA,GAU9C5B,KAAK,CATP6B,gBAAgB;IAAhBA,gBAAgB,GAAAD,sBAAA,cAAGE,kCAAuB,GAAAF,sBAAA;IAAAG,sBAAA,GASxC/B,KAAK,CARPgC,sBAAsB;IAAtBA,sBAAsB,GAAAD,sBAAA,cAAGE,8CAA6B,GAAAF,sBAAA;IACtDG,UAAU,GAORlC,KAAK,CAPPkC,UAAU;IACVC,UAAU,GAMRnC,KAAK,CANPmC,UAAU;IACVC,MAAM,GAKJpC,KAAK,CALPoC,MAAM;IACNC,WAAW,GAITrC,KAAK,CAJPqC,WAAW;IACXC,gBAAgB,GAGdtC,KAAK,CAHPsC,gBAAgB;IAChBC,KAAK,GAEHvC,KAAK,CAFPuC,KAAK;IACLC,eAAe,GACbxC,KAAK,CADPwC,eAAe;EAGjB,IAAMC,kBAAkB,GAAG;IACzBF,KAAK,EAALA,KAAK;IACLF,WAAW,EAAXA,WAAW;IACXG,eAAe,EAAfA,eAAe;IACf9B,OAAO,EAAPA,OAAO;IACP4B,gBAAgB,EAAhBA;EACF,CAAC;EAED,IAAAI,SAAA,GAAkB,IAAAC,sBAAQ,EAAC,CAAC;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK;EACb,IAAAC,YAAA,GAAmB,IAAAC,yBAAW,EAAC,CAAC;IAAxBC,EAAE,GAAAF,YAAA,CAAFE,EAAE;IAAEC,EAAE,GAAAH,YAAA,CAAFG,EAAE;EAEd,IAAMC,YAAY,GAAGF,EAAE,CAAC,GAAG,CAAC;EAC5B,IAAMG,gBAAgB,GAAGH,EAAE,CAAC,EAAE,CAAC;EAE/B,IAAMI,cAAc,GAAG/B,eAAe,oBAAfA,eAAe,CAAE+B,cAAc;EACtD,IAAMC,kBAAkB,GAAGhD,QAAQ,MAAKM,OAAO,qBAAAT,aAAA,GAAPS,OAAO,CAAE2C,IAAI,qBAAbpD,aAAA,CAAeqD,EAAE,KAAI,CAAC,CAACH,cAAc;EAE7E,IAAAI,SAAA,GAAwD,IAAAC,eAAQ,EAACC,IAAI,CAACC,SAAS,CAACP,cAAc,CAAC,CAAC;IAAAQ,UAAA,OAAAC,eAAA,aAAAL,SAAA;IAAzFM,oBAAoB,GAAAF,UAAA;IAAEG,uBAAuB,GAAAH,UAAA;EACpD,IAAAI,UAAA,GAAoD,IAAAP,eAAQ,EAAC,CAAC,CAAC;IAAAQ,UAAA,OAAAJ,eAAA,aAAAG,UAAA;IAAxDE,kBAAkB,GAAAD,UAAA;IAAEE,qBAAqB,GAAAF,UAAA;EAEhD,IAAAG,gBAAS,EAAC,YAAM;IACd,IAAIhB,cAAc,EAAE;MAClBW,uBAAuB,CAACL,IAAI,CAACC,SAAS,CAACP,cAAc,CAAC,CAAC;IACzD;EACF,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,IAAMiB,aAAa,GAAG,IAAAC,cAAO,EAC3B;IAAA,OAAM,IAAAC,yBAAW,EAAC;MAAEC,KAAK,EAAEpB,cAAc;MAAEP,KAAK,EAALA;IAAM,CAAC,CAAC;EAAA,GACnD,CAACiB,oBAAoB,EAAEjB,KAAK,CAC9B,CAAC;EAED,IAAA4B,IAAA,GAUIpB,kBAAkB,GAAGgB,aAAa,GAAGxB,KAAK;IAAA6B,WAAA,GAAAD,IAAA,CAT5CE,MAAM;IAAIC,UAAU,GAAAF,WAAA,CAAVE,UAAU;IAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;IAAEC,YAAY,GAAAJ,WAAA,CAAZI,YAAY;IAAEC,WAAW,GAAAL,WAAA,CAAXK,WAAW;IAAEC,WAAW,GAAAN,WAAA,CAAXM,WAAW;IAAAC,qBAAA,GAAAR,IAAA,CAC5ES,aAAa,CACXC,OAAO;IAAAC,sBAAA,GAAAH,qBAAA,CACLI,SAAS;IAAIC,aAAa,GAAAF,sBAAA,CAAbE,aAAa;IAAEC,aAAa,GAAAH,sBAAA,CAAbG,aAAa;IACzCxG,cAAc,GAAAkG,qBAAA,CAAdlG,cAAc;IACdQ,cAAc,GAAA0F,qBAAA,CAAd1F,cAAc;IAAAiG,YAAA,GAAAf,IAAA,CAGlBjD,OAAO;IAAeiE,cAAc,GAAAD,YAAA,CAAzBH,SAAS;IAA2BhG,cAAc,GAAAmG,YAAA,CAAvBlG,OAAO;EAG/C,IAAMoG,aAAa,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACvC,IAAMC,aAAa,GAAG,IAAAD,qCAAc,EAAC;IAAEE,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC;EACpD,IAAMC,YAAY,GAAG,IAAAJ,qCAAc,EAAC,CAAC,CAAC;EAEtC,IAAMK,OAAO,GAAG,IAAAL,qCAAc,EAAC,CAAC,CAAC;EACjC,IAAMM,UAAU,GAAG,IAAAN,qCAAc,EAAC,CAAC,CAAC;EACpC,IAAMO,KAAK,GAAG,IAAAP,qCAAc,EAAC,CAAC,CAAC;EAE/B,IAAMQ,UAAU,GAAG,IAAAR,qCAAc,EAAC,CAAC,CAAC;EACpC,IAAMS,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;IACvB,SAAS;;IAETJ,OAAO,CAACK,KAAK,GAAG,CAAC;IACjBJ,UAAU,CAACI,KAAK,GAAG,CAAC;IACpBH,KAAK,CAACG,KAAK,GAAG,CAAC;IACfF,UAAU,CAACE,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAE;MAC/BC,OAAO,EAAE,GAAG;MACZC,IAAI,EAAE,GAAG;MACTC,yBAAyB,EAAE,IAAI;MAC/BC,kBAAkB,EAAE,IAAI;MACxBC,SAAS,EAAE,GAAG;MACdC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ,CAAC;EAED,IAAAxC,gBAAS,EAAC,YAAM;IACdyC,qBAAQ,CAACC,OAAO,CAAC,CAAC;IAClBV,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMW,KAAK,GAAG,IAAAC,gDAAyB,EAAgC;IACrEC,QAAQ,EAAE,SAAAA,SAACC,GAAG,EAAK;MACjBjB,UAAU,CAACI,KAAK,GAAGL,OAAO,CAACK,KAAK,GAAGa,GAAG,CAACC,YAAY;MACnD1F,cAAc,CAAC4E,KAAK,GAAG,IAAAe,kCAAW,EAChCnB,UAAU,CAACI,KAAK,EAChB,CAAC,CAAC,EAAElD,gBAAgB,CAAC,EACrB,CAAC,CAAC,EAAE,IAAI,CAAC,EACTkE,kCAAW,CAACC,KACd,CAAC;MACDpB,KAAK,CAACG,KAAK,GAAG,IAAAe,kCAAW,EACvBnB,UAAU,CAACI,KAAK,EAChB,CAAC,CAAC,EAAElD,gBAAgB,CAAC,EACrB,CAAC,CAAC,EAAE,IAAI,CAAC,EACTkE,kCAAW,CAACC,KACd,CAAC;IACH,CAAC;IACDC,QAAQ,EAAE,SAAAA,SAACL,GAAG,EAAK;MACjB,IAAMM,cAAc,GAAGN,GAAG,CAACC,YAAY,GAAGD,GAAG,CAACO,SAAS,GAAG,GAAG;MAE7D,IAAID,cAAc,GAAGrE,gBAAgB,IAAI8C,UAAU,CAACI,KAAK,GAAG,CAAC,EAAE;QAC7D,IAAAqB,sCAAe,EAACzB,UAAU,CAAC;QAC3BxE,cAAc,CAAC4E,KAAK,GAAG,IAAAsB,iCAAU,EAC/B,CAAC,EACD;UACEC,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEC,6BAAM,CAACC,GAAG,CAACD,6BAAM,CAACE,IAAI;QAChC,CAAC,EACD,YAAM;UACJ,IAAAC,8BAAO,EAAC9F,UAAU,CAAC,CAAC,MAAM,CAAC;QAC7B,CACF,CAAC;QACD8D,UAAU,CAACI,KAAK,GACda,GAAG,CAACO,SAAS,GAAG,IAAI,GAChB,IAAAS,gCAAS,EAAC;UACRtB,QAAQ,EAAEM,GAAG,CAACO;QAChB,CAAC,CAAC,GACF,IAAAE,iCAAU,EAACzE,YAAY,EAAE;UACvB0E,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEC,6BAAM,CAACC,GAAG,CAACD,6BAAM,CAACE,IAAI;QAChC,CAAC,CAAC;MACV,CAAC,MAAM;QACL/B,UAAU,CAACI,KAAK,GAAG,IAAAsB,iCAAU,EAAC,CAAC,CAAC;QAChCzB,KAAK,CAACG,KAAK,GAAG,IAAAsB,iCAAU,EAAC,CAAC,CAAC;QAC3BlG,cAAc,CAAC4E,KAAK,GAAG,IAAAsB,iCAAU,EAAC,CAAC,CAAC;MACtC;IACF,CAAC;IACDQ,OAAO,EAAE,SAAAA,QAAA,EAAM;MACb,IAAAT,sCAAe,EAACzB,UAAU,CAAC;MAC3BD,OAAO,CAACK,KAAK,GAAGJ,UAAU,CAACI,KAAK;IAClC;EACF,CAAC,CAAC;EAEF,IAAM+B,QAAQ,GAAG,IAAAC,uCAAgB,EAAY;IAAA,OAAO;MAClDC,SAAS,EAAE,CACT;QACErC,UAAU,EAAEA,UAAU,CAACI;MACzB,CAAC,EACD;QACEH,KAAK,EAAEA,KAAK,CAACG;MACf,CAAC;IAEL,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMkC,eAAe,GAAG,IAAAF,uCAAgB,EACtC;IAAA,OAAO;MACLC,SAAS,EAAE,CACT;QACErC,UAAU,EAAE,IAAAmB,kCAAW,EAACjB,UAAU,CAACE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAACX,aAAa,CAACW,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;MAChF,CAAC,EACD;QACEmC,UAAU,EAAE,IAAApB,kCAAW,EACrBjB,UAAU,CAACE,KAAK,EAChB,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAClG,SAAS,KAAK,MAAM,GAAG,CAAC4F,YAAY,CAACM,KAAK,GAAG,CAAC,GAAGN,YAAY,CAACM,KAAK,GAAG,CAAC,EAAE,CAAC,CAC7E;MACF,CAAC,EACD;QACEH,KAAK,EAAEC,UAAU,CAACE;MACpB,CAAC;IAEL,CAAC;EAAA,CAAC,EACF,CAAClG,SAAS,CACZ,CAAC;EAED,IAAMsI,UAAU,GAAMtI,SAAS,SAAI,CAAC,CAAAI,WAAW,oBAAXA,WAAW,CAAG,CAAC,CAAC,KAAI,QAAQ,EAAEmI,WAAW,CAAC,CAAG;EAEjF,IAAMC,gBAAgB,GAAG,CAAC,EAAChI,OAAO,YAAPA,OAAO,CAAEiI,WAAW;EAE/C,IAAAC,KAAA,GAA2ExH,eAAe,IAAI,CAAC,CAAC;IAAxFyH,UAAU,GAAAD,KAAA,CAAVC,UAAU;IAAEC,mBAAmB,GAAAF,KAAA,CAAnBE,mBAAmB;IAAEC,OAAO,GAAAH,KAAA,CAAPG,OAAO;IAAEC,aAAa,GAAAJ,KAAA,CAAbI,aAAa;IAAEC,KAAK,GAAAL,KAAA,CAALK,KAAK;EAEtE,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAI/H,wBAAiC;IAAA,IAAAgI,qBAAA,EAAAC,qBAAA;IAAA,OACtDzN,MAAA,YAAA0N,aAAA,CAACtN,0BAAA,CAAAuN,iBAAiB;MAChBC,OAAO,EAAE,EAAG;MACZC,oBAAoB,EAAE,SAAAA,qBAAAC,KAAA,EAAgC;QAAA,IAAdC,KAAK,GAAAD,KAAA,CAApBE,WAAW,CAAID,KAAK;QAC3C,IAAIA,KAAK,KAAKE,gCAAK,CAACC,GAAG,EAAE;UACvB3H,UAAU,CAAC,MAAM,CAAC;QACpB;MACF,CAAE;MAAA4H,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEFvO,MAAA,YAAA0N,aAAA,CAACrN,sBAAA,WAAQ,CAACmO,IAAI;MAAC5F,KAAK,EAAE,CAAClG,MAAM,CAACc,IAAI,EAAEgJ,QAAQ,CAAE;MAAA2B,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC3CxJ,OAAO,IACN/E,MAAA,YAAA0N,aAAA,CAACvN,YAAA,CAAAqO,IAAI;MACH5F,KAAK,EAAE,CACLlG,MAAM,CAACM,MAAM,EACbN,MAAM,CAACe,cAAc,EACrB;QAAEC,OAAO,EAAED;MAAe,CAAC,EAC3Bc,SAAS,KAAK,MAAM,GAAG7B,MAAM,CAACK,UAAU,GAAGL,MAAM,CAACG,QAAQ,CAC1D;MAAAsL,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,GAED3J,cAAc,IAAIJ,eAAe,YAAfA,eAAe,CAAEiK,YAAY,GAC9CzO,MAAA,YAAA0N,aAAA,CAAC3H,mBAAmB;MAClBiE,aAAa,EAAEA,aAAc;MAC7B0E,gBAAgB,EAAE,CAAA3J,OAAO,qBAAAyI,qBAAA,GAAPzI,OAAO,CAAE4J,aAAa,qBAAtBnB,qBAAA,CAAwBoB,GAAG,CAAC,UAACC,QAAQ;QAAA,OAAKA,QAAQ,CAACC,IAAI;MAAA,EAAC,KAAI,EAAG;MACjFvG,qBAAqB,EAAEA,qBAAsB;MAC7CgC,UAAU,EAAEA,UAAW;MAAA4D,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,CACxB,CAAC,GACA,IAAI,EACRvO,MAAA,YAAA0N,aAAA,CAACrN,sBAAA,WAAQ,CAACmO,IAAI;MACZO,QAAQ,EAAE,SAAAA,SAAAC,KAAA,EAIJ;QAAA,IAAAC,qBAAA,GAAAD,KAAA,CAHJhB,WAAW,CACTkB,MAAM;UAAYC,YAAY,GAAAF,qBAAA,CAApBG,MAAM;UAAuBC,WAAW,GAAAJ,qBAAA,CAAlBK,KAAK;UAAerF,CAAC,GAAAgF,qBAAA,CAADhF,CAAC;UAAEC,CAAC,GAAA+E,qBAAA,CAAD/E,CAAC;QAG1DF,aAAa,CAACS,KAAK,GAAG;UACpBR,CAAC,EAAE1F,SAAS,KAAK,MAAM,GAAG0F,CAAC,GAAGoF,WAAW,GAAGpF,CAAC;UAC7CC,CAAC,EAADA;QACF,CAAC;QACDC,YAAY,CAACM,KAAK,GAAG4E,WAAW;QAChCvF,aAAa,CAACW,KAAK,GAAG0E,YAAY;MACpC,CAAE;MACFvG,KAAK,EAAE,CAAClG,MAAM,CAACG,QAAQ,EAAEH,MAAM,CAACqB,GAAG,EAAE4I,eAAe,CAAE;MAAAwB,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,GAErDhK,SAAS,KAAK,MAAM,IAAI8I,aAAa,IACpCrN,MAAA,YAAA0N,aAAA,CAACL,aAAa;MAAO9I,SAAS,EAATA,SAAS;MAAEQ,OAAO,EAAPA,OAAO;MAAEwK,UAAU,EAAE,IAAI;MAAApB,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAK,CAC/D,EACDvO,MAAA,YAAA0N,aAAA,CAACvN,YAAA,CAAAqO,IAAI;MACHgB,aAAa,EAAC,MAAM;MACpB5G,KAAK,EAAE,CACLlG,MAAM,CAACS,cAAc,EACrB;QACEsM,eAAe,EACb/J,UAAU,IAAI,CAACX,OAAO,CAAC2K,cAAc,GACjCvG,WAAW,GACXxD,gBAAgB,YAAhBA,gBAAgB,CAAEgK,MAAM,GACxBhK,gBAAgB,CAAC,CAAC,CAAC,CAACmJ,IAAI,KAAK,OAAO,GAClC,CAAC/J,OAAO,CAAC2K,cAAc,GACrBvG,WAAW,GACXF,cAAc,GAChBD,UAAU,GACZzE,SAAS,KAAK,MAAM,GACpB6E,WAAW,GACXH,cAAc;QACpB2G,sBAAsB,EACpB,CAAC/C,UAAU,KAAK,aAAa,IAAIA,UAAU,KAAK,aAAa,MAC5D,CAACE,gBAAgB,IAAIvG,UAAU,CAAC,GAC7BmD,aAAa,GACbD,aAAa;QACnBmG,uBAAuB,EACrB,CAAChD,UAAU,KAAK,cAAc,IAAIA,UAAU,KAAK,cAAc,MAC9D,CAACE,gBAAgB,IAAIvG,UAAU,CAAC,GAC7BmD,aAAa,GACbD,aAAa;QACnBoG,WAAW,EAAE5G;MACf,CAAC,EACAxD,UAAU,IAAI,CAACX,OAAO,CAAC2K,cAAc,IAAK/J,gBAAgB,YAAhBA,gBAAgB,CAAEgK,MAAM,GAC/D;QAAErM,WAAW,EAAE;MAAE,CAAC,GAClB,CAAC,CAAC,EACNH,cAAc,CACd;MAAAgL,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,GAED9I,eAAe,qBAAAgI,qBAAA,GAAfhI,eAAe,CAAEsK,mBAAmB,qBAApCtC,qBAAA,CAAsCmB,GAAG,CACxC,UAACoB,kBAAkB,EAAEC,wBAAwB,EAAK;MAChD,QAAQD,kBAAkB;QACxB,KAAK,cAAc;UACjB,OACEjL,OAAO,CAAC2K,cAAc,IACtBpC,KAAK,IACHtN,MAAA,YAAA0N,aAAA,CAACvN,YAAA,CAAAqO,IAAI;YACHpM,GAAG,oBAAkB6N,wBAA2B;YAChDrH,KAAK,EAAE,CAAClG,MAAM,CAACiB,cAAc,EAAEA,cAAc,CAAE;YAAAwK,MAAA,EAAAjN,KAAA;YAAAkN,QAAA;cAAAC,QAAA,EAAAlN,YAAA;cAAAmN,UAAA;cAAAC,YAAA;YAAA;UAAA,GAE/CvO,MAAA,YAAA0N,aAAA,CAACJ,KAAK;YACJ4C,aAAa,EACXnL,OAAO,CAAC2K,cACT;YACDhN,MAAM,EAAE;cACNyN,gBAAgB,EAAE;gBAChBC,QAAQ,EAAE/I,EAAE,CAAC,EAAE;cACjB;YACF,CAAE;YAAA8G,MAAA,EAAAjN,KAAA;YAAAkN,QAAA;cAAAC,QAAA,EAAAlN,YAAA;cAAAmN,UAAA;cAAAC,YAAA;YAAA;UAAA,CACH,CACG,CACP;QAEL,KAAK,aAAa;UAChB,OAAO5I,gBAAgB,oBAAhBA,gBAAgB,CAAEiJ,GAAG,CAC1B,UAACyB,UAAU,EAAEC,eAAe;YAAA,OAC1BpD,UAAU,IACRlN,MAAA,YAAA0N,aAAA,CAACR,UAAU;cACTmD,UAAU,EAAEA,UAAW;cACvBjO,GAAG,EAAK2C,OAAO,CAAC4C,EAAE,SAAI2I,eAAkB;cAAAnC,MAAA,EAAAjN,KAAA;cAAAkN,QAAA;gBAAAC,QAAA,EAAAlN,YAAA;gBAAAmN,UAAA;gBAAAC,YAAA;cAAA;YAAA,CACzC,CACF;UAAA,CACL,CAAC;QACH,KAAK,OAAO;UACV,OACEpB,mBAAmB,IACjBnN,MAAA,YAAA0N,aAAA,CAACP,mBAAmB;YAClBzI,KAAK,EAAEA,KAAM;YACbtC,GAAG,6BAA2B6N,wBAA2B;YACzDM,SAAS,EAAExL,OAAO,CAAC4C,EAAG;YAAAwG,MAAA,EAAAjN,KAAA;YAAAkN,QAAA;cAAAC,QAAA,EAAAlN,YAAA;cAAAmN,UAAA;cAAAC,YAAA;YAAA;UAAA,CACvB,CACF;QAEL,KAAK,SAAS;UACZ,OACEnB,OAAO,IACLpN,MAAA,YAAA0N,aAAA,CAACN,OAAO;YACN7I,SAAS,EAAEA,SAAU;YACrBI,WAAW,EAAEA,WAAY;YACzBoI,gBAAgB,EAAE,CAAC,EAAChI,OAAO,YAAPA,OAAO,CAAEiI,WAAW,CAAC;YACzCnI,MAAM,EAAEA,MAAO;YACfzC,GAAG,eAAa6N,wBAA2B;YAC3ClL,OAAO,EAAEA,OAAQ;YACjByB,UAAU,EAAEA,UAAW;YACvBC,MAAM,EAAEA,MAAO;YAAA0H,MAAA,EAAAjN,KAAA;YAAAkN,QAAA;cAAAC,QAAA,EAAAlN,YAAA;cAAAmN,UAAA;cAAAC,YAAA;YAAA;UAAA,CAChB,CACF;QAEL,KAAK,MAAM;QACX;UACE,OAAO5I,gBAAgB,YAAhBA,gBAAgB,CAAEgK,MAAM,IAAIhK,gBAAgB,CAAC,CAAC,CAAC,CAAC6K,OAAO,GAAG,IAAI,GACnExQ,MAAA,YAAA0N,aAAA,CAAC1M,qBAAA,CAAAyP,oBAAoB;YACnBrO,GAAG,8BAA4B6N,wBAA2B;YAC1DlL,OAAO,EAAEA,OAAQ;YACjB2L,cAAc;YACdlL,wBAAwB,EAAEA,wBAAyB;YACnDE,UAAU,EAAEA,UAAW;YAAAyI,MAAA,EAAAjN,KAAA;YAAAkN,QAAA;cAAAC,QAAA,EAAAlN,YAAA;cAAAmN,UAAA;cAAAC,YAAA;YAAA;UAAA,CACxB,CACF;MACL;IACF,CACF,CACI,CACO,CAAC,EACfvJ,cAAc,IACbhF,MAAA,YAAA0N,aAAA,CAACxI,iBAAiB,MAAAyL,SAAA;MAChBvL,qBAAqB,EAAEA,qBAAsB;MAC7CmF,UAAU,EAAEA;IAAW,GACnBzD,kBAAkB;MACtB/B,OAAO,EAAEA,OAAQ;MAAAoJ,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,EAClB,CACF,EACA,CAAC,CAACjJ,oBAAoB,IACvBP,OAAO,CAAC6L,gBAAgB,IACxB7L,OAAO,CAAC6L,gBAAgB,CAACjB,MAAM,GAAG,CAAC,GACjC3P,MAAA,YAAA0N,aAAA,CAACxH,gBAAgB;MACf3B,SAAS,EAAEA,SAAU;MACrB8B,sBAAsB,EAAEA,sBAAuB;MAC/CwK,SAAS,EACP9L,OAAO,CAAC6L,gBAAgB,CAAChC,GAAG,CAAC,UAACC,QAAQ;QAAA,IAAAiC,cAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,eAAA;QAAA,OAAM;UAC1C1M,SAAS,EAAEE,QAAQ,IAAIA,QAAQ,OAAAqM,cAAA,GAAKjC,QAAQ,CAACnH,IAAI,qBAAboJ,cAAA,CAAenJ,EAAE,IAAG,OAAO,GAAG,MAAM;UACxEA,EAAE,EAAE,CAAAkH,QAAQ,qBAAAkC,eAAA,GAARlC,QAAQ,CAAEnH,IAAI,qBAAdqJ,eAAA,CAAgBpJ,EAAE,KAAI,EAAE;UAC5BuJ,KAAK,EAAErC,QAAQ,qBAAAmC,eAAA,GAARnC,QAAQ,CAAEnH,IAAI,qBAAdsJ,eAAA,CAAgBE,KAAK;UAC5BC,IAAI,EAAE,CAAAtC,QAAQ,qBAAAoC,eAAA,GAARpC,QAAQ,CAAEnH,IAAI,qBAAduJ,eAAA,CAAgBE,IAAI,KAAItC,QAAQ,CAACuC,OAAO,IAAI,EAAE;UACpDtC,IAAI,EAAED,QAAQ,CAACC;QACjB,CAAC;MAAA,CAAC,CACH;MACDvE,UAAU,EAAEA,UAAW;MACvB8G,kBAAkB,EAAE5L,eAAe,oBAAfA,eAAe,CAAE4L,kBAAmB;MACxDC,KAAK,EAAEhM,oBAAqB;MAAA6I,MAAA,EAAAjN,KAAA;MAAAkN,QAAA;QAAAC,QAAA,EAAAlN,YAAA;QAAAmN,UAAA;QAAAC,YAAA;MAAA;IAAA,CAC7B,CAAC,GACA,IACA,CAEK,CACE,CAAC;EAAA,CACrB;EAKD,IAAMgD,eAAe,GAAG,CAAC,CAACvM,cAAc,IAAIY,OAAO,KAAK,SAAS;EAEjE,OACE5F,MAAA,YAAA0N,aAAA,CAACjN,YAAA,CAAA+Q,YAAY;IAAC/G,KAAK,EAAE3F,WAAY;IAAAqJ,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC/BvO,MAAA,YAAA0N,aAAA,CAAC9M,gBAAA,CAAA6Q,gBAAgB;IAAChH,KAAK,EAAEhF,eAAgB;IAAA0I,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GACvCvO,MAAA,YAAA0N,aAAA,CAAChN,eAAA,CAAAgR,eAAe;IAACjH,KAAK,EAAEpF,cAAe;IAAA8I,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GACrCvO,MAAA,YAAA0N,aAAA,CAAC5M,aAAA,CAAA6Q,aAAa;IAACC,WAAW,EAAEnK,kBAAkB,GAAGgB,aAAa,GAAGxB,KAAM;IAAAkH,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GACrEvO,MAAA,YAAA0N,aAAA,CAACrN,sBAAA,WAAQ,CAACmO,IAAI;IACZgB,aAAa,EAAE,MAAO;IACtB5G,KAAK,EAAE,CAACjG,uBAAU,CAACkP,kBAAkB,EAAEhI,cAAc,CAAE;IAAAsE,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEvDvO,MAAA,YAAA0N,aAAA,CAACtN,0BAAA,CAAA0R,iBAAiB;IAChBC,OAAO,EAAEnM,OAAO,KAAK,SAAU;IAC/BoM,WAAW,EAAE,CAAE;IACfC,OAAO,EAAE,EAAG;IACZC,cAAc,EAAE/G,KAAM;IAAAgD,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEtBvO,MAAA,YAAA0N,aAAA,CAACrN,sBAAA,WAAQ,CAACmO,IAAI;IAAC5F,KAAK,EAAE,CAACjG,uBAAU,CAACkP,kBAAkB,CAAE;IAAA1D,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GACpDvO,MAAA,YAAA0N,aAAA,CAACvN,YAAA,CAAAgS,YAAY;IAACvJ,KAAK,EAAElG,MAAM,CAACc,IAAK;IAAA2K,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC9BgD,eAAe,GACdvR,MAAA,YAAA0N,aAAA,CAACtN,0BAAA,CAAAgS,UAAU;IACTC,oBAAoB,EAAE,KAAM;IAC5BC,qBAAqB,EAAE,CACrB5P,MAAM,CAACM,MAAM,EACb;MACEc,UAAU,EAAEwE;IACd,CAAC,CACD;IACFiK,4BAA4B,EAAE,KAAM;IACpC3J,KAAK,EAAE,CAAClG,MAAM,CAACc,IAAI,EAAEd,MAAM,CAACsB,UAAU,CAAE;IAAAmK,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEvChB,aAAa,CAAC,CACL,CAAC,GAEbA,aAAa,CAAC/H,wBAAwB,CAE5B,CACD,CACE,CACN,CACF,CACA,CACD,CACN,CAAC;AAEnB,CAAC;AAED,IAAMgN,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAA6D,EAC7DC,SAA6D,EAC1D;EACH,IACaC,aAAa,GAGtBF,SAAS,CAHXlO,SAAS;IACAqO,WAAW,GAElBH,SAAS,CAFX1N,OAAO;IACe8N,wBAAwB,GAC5CJ,SAAS,CADXnN,oBAAoB;EAEtB,IACawN,aAAa,GAGtBJ,SAAS,CAHXnO,SAAS;IACAwO,WAAW,GAElBL,SAAS,CAFX3N,OAAO;IACeiO,wBAAwB,GAC5CN,SAAS,CADXpN,oBAAoB;EAGtB,IAAM2N,cAAc,GAAGN,aAAa,KAAKG,aAAa;EACtD,IAAI,CAACG,cAAc,EAAE,OAAO,KAAK;EAEjC,IAAMC,yBAAyB,GAAGL,wBAAwB,KAAKG,wBAAwB;EACvF,IAAI,CAACE,yBAAyB,EAAE,OAAO,KAAK;EAE5C,IAAMC,oBAAoB,GACxBC,KAAK,CAACC,OAAO,CAACT,WAAW,oBAAXA,WAAW,CAAEhC,gBAAgB,CAAC,IAAIwC,KAAK,CAACC,OAAO,CAACN,WAAW,oBAAXA,WAAW,CAAEnC,gBAAgB,CAAC,GACxF,CAAAgC,WAAW,oBAAXA,WAAW,CAAEhC,gBAAgB,CAACjB,MAAM,OAAKoD,WAAW,oBAAXA,WAAW,CAAEnC,gBAAgB,CAACjB,MAAM,MAC7EiD,WAAW,oBAAXA,WAAW,CAAEhC,gBAAgB,CAAC0C,KAAK,CACjC,UAAAC,KAAA,EAAWC,KAAK;IAAA,IAAAC,qBAAA;IAAA,IAAb3E,IAAI,GAAAyE,KAAA,CAAJzE,IAAI;IAAA,OAAcA,IAAI,MAAKiE,WAAW,qBAAAU,qBAAA,GAAXV,WAAW,CAAEnC,gBAAgB,qBAA7B6C,qBAAA,CAAgCD,KAAK,CAAC,CAAC1E,IAAI;EAAA,CAC3E,CAAC,IACD,CAAA8D,WAAW,oBAAXA,WAAW,CAAEhC,gBAAgB,OAAKmC,WAAW,oBAAXA,WAAW,CAAEnC,gBAAgB;EACrE,IAAI,CAACuC,oBAAoB,EAAE,OAAO,KAAK;EAEvC,OAAO,IAAI;AACb,CAAC;AAED,IAAMO,sBAAsB,GAAGC,iBAAK,CAACC,IAAI,CACvCxP,yBAAyB,EACzBoO,QACF,CAAqC;AAc9B,IAAMqB,cAAc,GAAG,SAAjBA,cAAcA,CAGzBxP,KAA8C,EAC3C;EACH,IAAAyP,qBAAA,GAOI,IAAAC,+CAAwB,EAAqB,CAAC;IANhDC,IAAI,GAAAF,qBAAA,CAAJE,IAAI;IACJ9O,iBAAiB,GAAA4O,qBAAA,CAAjB5O,iBAAiB;IACjBE,qBAAqB,GAAA0O,qBAAA,CAArB1O,qBAAqB;IACrBW,mBAAmB,GAAA+N,qBAAA,CAAnB/N,mBAAmB;IACnBG,gBAAgB,GAAA4N,qBAAA,CAAhB5N,gBAAgB;IAChBG,sBAAsB,GAAAyN,qBAAA,CAAtBzN,sBAAsB;EAExB,IAAA4N,kBAAA,GAAgC,IAAAC,iCAAiB,EAAC,CAAC;IAA3CtO,OAAO,GAAAqO,kBAAA,CAAPrO,OAAO;IAAEW,UAAU,GAAA0N,kBAAA,CAAV1N,UAAU;EAE3B,IAAM4N,cAAc,GAAG;IACrBjP,iBAAiB,EAAEb,KAAK,CAACa,iBAAiB,IAAIA,iBAAiB;IAC/DE,qBAAqB,EAAEf,KAAK,CAACe,qBAAqB,IAAIA,qBAAqB;IAC3EW,mBAAmB,EACjB1B,KAAK,CAAC0B,mBAAmB,IAAIA,mBAAmB,KAAIiO,IAAI,oBAAJA,IAAI,CAAEjO,mBAAmB;IAC/EG,gBAAgB,EAAE7B,KAAK,CAAC6B,gBAAgB,IAAIA,gBAAgB;IAC5DG,sBAAsB,EAAEhC,KAAK,CAACgC,sBAAsB,IAAIA;EAC1D,CAAC;EAED,OACErG,MAAA,YAAA0N,aAAA,CAACgG,sBAAsB,MAAA/C,SAAA;IAEnB/K,OAAO,EAAPA,OAAO;IACPW,UAAU,EAAVA;EAAU,GAER4N,cAAc,EACbH,IAAI,IAAI,CAAC,CAAC,EACX3P,KAAK;IAAA8J,MAAA,EAAAjN,KAAA;IAAAkN,QAAA;MAAAC,QAAA,EAAAlN,YAAA;MAAAmN,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAAC6F,OAAA,CAAAP,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_MessageActionList","_OverlayReactionList","_OverlayReactionsAvatar","_ChatContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_useViewport2","_MessageTextContainer","_OverlayReactions","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","_message$user","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","chatContext","message","messageActions","_props$MessageActionL","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","_props$messageTextNum","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","_props$OverlayReactio","OverlayReactionList","OverlayReactionListDefault","_props$OverlayReactio2","OverlayReactions","DefaultOverlayReactions","_props$OverlayReactio3","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","theme","_useViewport","useViewport","vh","vw","screenHeight","halfScreenHeight","myMessageTheme","wrapMessageInTheme","user","id","_useState","useState","_useState2","_slicedToArray2","reactionListHeight","setReactionListHeight","myMessageThemeString","useMemo","JSON","stringify","modifiedTheme","mergeThemes","style","_ref","_ref$colors","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","_ref$messageSimple$co","messageSimple","content","_ref$messageSimple$co2","container","borderRadiusL","borderRadiusS","_ref$overlay","containerStyle","messageHeight","useSharedValue","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","withSpring","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","useEffect","Keyboard","dismiss","onPan","useAnimatedGestureHandler","onActive","evt","translationY","interpolate","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","onStart","panStyle","useAnimatedStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","_ref2","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","renderContent","_message$own_reaction","_messagesContext$mess","createElement","TapGestureHandler","maxDist","onHandlerStateChange","_ref3","state","nativeEvent","State","END","__self","__source","fileName","lineNumber","columnNumber","View","sendReaction","ownReactionTypes","own_reactions","map","reaction","type","onLayout","_ref4","_ref4$nativeEvent$lay","layout","layoutHeight","height","layoutWidth","width","showAvatar","pointerEvents","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","quotedMessage","messageContainer","maxWidth","attachment","attachmentIndex","messageId","actions","MessageTextContainer","messageOverlay","_extends2","latest_reactions","reactions","_reaction$user","_reaction$user2","_reaction$user3","_reaction$user4","image","name","user_id","supportedReactions","title","isScrollEnabled","ChatProvider","MessagesProvider","MessageProvider","ThemeProvider","mergedStyle","absoluteFillObject","PanGestureHandler","enabled","maxPointers","minDist","onGestureEvent","SafeAreaView","ScrollView","alwaysBounceVertical","contentContainerStyle","showsVerticalScrollIndicator","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","_ref5","index","_nextMessage$latest_r","MemoizedMessageOverlay","React","memo","MessageOverlay","_useMessageOverlayCon","useMessageOverlayContext","data","_useOverlayContext","useOverlayContext","componentProps","exports"],"sources":["MessageOverlay.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n ScrollView,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n chatContext,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const { theme } = useTheme();\n const { vh, vw } = useViewport();\n\n const screenHeight = vh(100);\n const halfScreenHeight = vh(50);\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [reactionListHeight, setReactionListHeight] = useState(0);\n\n const myMessageThemeString = useMemo(() => JSON.stringify(myMessageTheme), [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n const renderContent = (messageTextNumberOfLines?: number) => (\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={message?.own_reactions?.map((reaction) => reaction.type) || []}\n setReactionListHeight={setReactionListHeight}\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) || otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment: clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n );\n\n // Scroll will only be enabled for message overlay when we show actions.\n // When we show the reactions, we don't want to enable scroll since OverlayReactions component\n // in itself is scrollable (FlatList). FlatList inside a ScrollView is not a good idea and results in error from RN.\n const isScrollEnabled = !!messageActions && overlay === 'message';\n\n return (\n <ChatProvider value={chatContext}>\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n {isScrollEnabled ? (\n <ScrollView\n alwaysBounceVertical={false}\n contentContainerStyle={[\n styles.center,\n {\n paddingTop: reactionListHeight,\n },\n ]}\n showsVerticalScrollIndicator={false}\n style={[styles.flex, styles.scrollView]}\n >\n {renderContent()}\n </ScrollView>\n ) : (\n renderContent(messageTextNumberOfLines)\n )}\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n </ChatProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage?.latest_reactions) && Array.isArray(nextMessage?.latest_reactions)\n ? prevMessage?.latest_reactions.length === nextMessage?.latest_reactions.length &&\n prevMessage?.latest_reactions.every(\n ({ type }, index) => type === nextMessage?.latest_reactions?.[index].type,\n )\n : prevMessage?.latest_reactions === nextMessage?.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  "File type not supported": "File type not supported",
25
25
  "Flag": "Flag",
26
26
  "Flag Message": "Flag Message",
27
- "Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged.",
27
+ "Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged",
28
28
  "How about sending your first message to a friend?": "How about sending your first message to a friend?",
29
29
  "Instant Commands": "Instant Commands",
30
30
  "Let's start chatting!": "Let's start chatting!",
@@ -1,76 +1,76 @@
1
1
  {
2
2
  "1 Reply": "",
3
- "1 Thread Reply": "",
3
+ "1 Thread Reply": "Réponse à 1 fil",
4
4
  "Allow access to your Gallery": "",
5
5
  "Allow camera access in device settings": "",
6
6
  "Also send to channel": "Envoyer également à la chaîne",
7
- "Are you sure you want to permanently delete this message?": "Êtes-vous sûr de vouloir supprimer définitivement ce message?",
8
- "Block User": "Bloquer un utilisateur",
9
- "Cancel": "Annuler",
10
- "Cannot Flag Message": "Impossible de signaler le message",
11
- "Copy Message": "Copier le message",
12
- "Delete": "Supprimer",
13
- "Delete Message": "Supprimer un message",
7
+ "Are you sure you want to permanently delete this message?": "",
8
+ "Block User": "",
9
+ "Cancel": "",
10
+ "Cannot Flag Message": "",
11
+ "Copy Message": "",
12
+ "Delete": "",
13
+ "Delete Message": "",
14
14
  "Device camera is used to take photos or videos.": "",
15
- "Do you want to send a copy of this message to a moderator for further investigation?": "Voulez-vous envoyer une copie de ce message à un modérateur pour une enquête plus approfondie?",
16
- "Edit Message": "Éditer un message",
15
+ "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
+ "Edit Message": "",
17
17
  "Editing Message": "",
18
- "Emoji matching": "Correspondance Emoji",
18
+ "Emoji matching": "",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
21
21
  "Error loading channel list...": "",
22
22
  "Error loading messages for this channel...": "",
23
23
  "Error while loading, please reload/refresh": "",
24
- "File type not supported": "Le type de fichier n'est pas pris en charge",
25
- "Flag": "Signaler",
26
- "Flag Message": "Signaler le message",
27
- "Flag action failed either due to a network issue or the message is already flagged": "L'action de signalisation a échoué en raison d'un problème de réseau ou le message est déjà signalé.",
24
+ "File type not supported": "",
25
+ "Flag": "",
26
+ "Flag Message": "",
27
+ "Flag action failed either due to a network issue or the message is already flagged": "",
28
28
  "How about sending your first message to a friend?": "",
29
- "Instant Commands": "Commandes Instantanées",
29
+ "Instant Commands": "",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "",
32
- "Loading channels...": "Chargement des canaux...",
33
- "Loading messages...": "Chargement des messages...",
34
- "Loading...": "Chargement...",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
36
- "Message Reactions": "Réactions aux messages",
31
+ "Links are disabled": "Links are disabled",
32
+ "Loading channels...": "",
33
+ "Loading messages...": "",
34
+ "Loading...": "",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Taille maximale de téléchargement de fichier atteinte. Veuillez télécharger un fichier inférieur à {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} Mo.",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
- "Message flagged": "Message signalé",
39
- "Mute User": "Utilisateur muet",
38
+ "Message flagged": "",
39
+ "Mute User": "",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
- "Ok": "Ok",
42
+ "Ok": "",
43
43
  "Only visible to you": "Seulement visible par vous",
44
44
  "Open Settings": "",
45
- "Photo": "Photo",
45
+ "Photo": "",
46
46
  "Photos and Videos": "",
47
- "Pin to Conversation": "Épingler à la conversation",
47
+ "Pin to Conversation": "",
48
48
  "Pinned by": "Épinglé par",
49
49
  "Please enable access to your photos and videos so you can share them.": "",
50
- "Please select a channel first": "",
50
+ "Please select a channel first": "Veuillez d'abord selectionnez un canal",
51
51
  "Reconnecting...": "",
52
- "Reply": "Répondre",
52
+ "Reply": "",
53
53
  "Reply to Message": "",
54
- "Resend": "Renvoyer",
55
- "Search GIFs": "Rechercher des GIF",
54
+ "Resend": "",
55
+ "Search GIFs": "",
56
56
  "Select More Photos": "",
57
- "Send a message": "Envoyer un message",
58
- "Sending links is not allowed in this conversation": "",
59
- "Slow mode ON": "Mode lent activé",
60
- "The message has been reported to a moderator.": "Le message a été signalé à un modérateur.",
61
- "Thread Reply": "Réponse à la discussion",
62
- "Unblock User": "Débloquer Utilisateur",
57
+ "Send a message": "",
58
+ "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
59
+ "Slow mode ON": "",
60
+ "The message has been reported to a moderator.": "",
61
+ "Thread Reply": "",
62
+ "Unblock User": "",
63
63
  "Unknown User": "",
64
- "Unmute User": "Activer le son de Utilisateur",
65
- "Unpin from Conversation": "Décrocher de la conversation",
66
- "Unread Messages": "",
67
- "Video": "Vidéo",
64
+ "Unmute User": "",
65
+ "Unpin from Conversation": "",
66
+ "Unread Messages": "Messages non lus",
67
+ "Video": "",
68
68
  "You": "",
69
- "You can't send messages in this channel": "You can't send messages in this channel",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
69
+ "You can't send messages in this channel": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
71
71
  "{{ index }} of {{ photoLength }}": "",
72
72
  "{{ replyCount }} Replies": "",
73
- "{{ replyCount }} Thread Replies": "",
74
- "{{ user }} is typing": "{{ user }} est en train d'écrire",
73
+ "{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
74
+ "{{ user }} is typing": "",
75
75
  "🏙 Attachment...": ""
76
76
  }