stream-chat-react-native-core 5.26.1-beta.3 → 5.27.0-beta.10

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 (122) hide show
  1. package/lib/commonjs/components/Attachment/Gallery.js +6 -7
  2. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  3. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +7 -11
  4. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  5. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js +52 -0
  6. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js.map +1 -0
  7. package/lib/commonjs/components/Chat/Chat.js +25 -16
  8. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  9. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +18 -12
  10. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  11. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  12. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  13. package/lib/commonjs/components/Indicators/LoadingIndicator.js +8 -2
  14. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  15. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  16. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  17. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +3 -1
  18. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  19. package/lib/commonjs/components/MessageList/MessageList.js +45 -40
  20. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  21. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +73 -56
  22. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  23. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +15 -11
  24. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  25. package/lib/commonjs/i18n/es.json +28 -28
  26. package/lib/commonjs/i18n/fr.json +28 -28
  27. package/lib/commonjs/i18n/he.json +28 -28
  28. package/lib/commonjs/i18n/hi.json +28 -28
  29. package/lib/commonjs/i18n/it.json +28 -28
  30. package/lib/commonjs/i18n/ja.json +28 -28
  31. package/lib/commonjs/i18n/ko.json +28 -28
  32. package/lib/commonjs/i18n/nl.json +28 -28
  33. package/lib/commonjs/i18n/pt-BR.json +28 -28
  34. package/lib/commonjs/i18n/ru.json +28 -28
  35. package/lib/commonjs/i18n/tr.json +28 -28
  36. package/lib/commonjs/index.js +7 -0
  37. package/lib/commonjs/index.js.map +1 -1
  38. package/lib/commonjs/utils/addReactionToLocalState.js +3 -2
  39. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  40. package/lib/commonjs/version.json +1 -1
  41. package/lib/module/components/Attachment/Gallery.js +6 -7
  42. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  43. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +7 -11
  44. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  45. package/lib/module/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js +52 -0
  46. package/lib/module/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js.map +1 -0
  47. package/lib/module/components/Chat/Chat.js +25 -16
  48. package/lib/module/components/Chat/Chat.js.map +1 -1
  49. package/lib/module/components/Chat/hooks/useAppSettings.js +18 -12
  50. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  51. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  52. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  53. package/lib/module/components/Indicators/LoadingIndicator.js +8 -2
  54. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  55. package/lib/module/components/MessageInput/SendButton.js +1 -1
  56. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  57. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +3 -1
  58. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  59. package/lib/module/components/MessageList/MessageList.js +45 -40
  60. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  61. package/lib/module/contexts/messageInputContext/MessageInputContext.js +73 -56
  62. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  63. package/lib/module/contexts/overlayContext/OverlayProvider.js +15 -11
  64. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  65. package/lib/module/i18n/es.json +28 -28
  66. package/lib/module/i18n/fr.json +28 -28
  67. package/lib/module/i18n/he.json +28 -28
  68. package/lib/module/i18n/hi.json +28 -28
  69. package/lib/module/i18n/it.json +28 -28
  70. package/lib/module/i18n/ja.json +28 -28
  71. package/lib/module/i18n/ko.json +28 -28
  72. package/lib/module/i18n/nl.json +28 -28
  73. package/lib/module/i18n/pt-BR.json +28 -28
  74. package/lib/module/i18n/ru.json +28 -28
  75. package/lib/module/i18n/tr.json +28 -28
  76. package/lib/module/index.js +7 -0
  77. package/lib/module/index.js.map +1 -1
  78. package/lib/module/utils/addReactionToLocalState.js +3 -2
  79. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  80. package/lib/module/version.json +1 -1
  81. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts +4 -0
  82. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.d.ts +2 -0
  83. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +3 -1
  84. package/lib/typescript/i18n/es.json +28 -28
  85. package/lib/typescript/i18n/fr.json +28 -28
  86. package/lib/typescript/i18n/he.json +28 -28
  87. package/lib/typescript/i18n/hi.json +28 -28
  88. package/lib/typescript/i18n/it.json +28 -28
  89. package/lib/typescript/i18n/ja.json +28 -28
  90. package/lib/typescript/i18n/ko.json +28 -28
  91. package/lib/typescript/i18n/nl.json +28 -28
  92. package/lib/typescript/i18n/pt-BR.json +28 -28
  93. package/lib/typescript/i18n/ru.json +28 -28
  94. package/lib/typescript/i18n/tr.json +28 -28
  95. package/lib/typescript/index.d.ts +1 -1
  96. package/package.json +1 -1
  97. package/src/components/Attachment/Gallery.tsx +9 -9
  98. package/src/components/AttachmentPicker/AttachmentPicker.tsx +8 -19
  99. package/src/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.tsx +32 -0
  100. package/src/components/Chat/Chat.tsx +17 -6
  101. package/src/components/Chat/hooks/useAppSettings.ts +3 -1
  102. package/src/components/ImageGallery/ImageGallery.tsx +1 -1
  103. package/src/components/Indicators/LoadingIndicator.tsx +3 -3
  104. package/src/components/MessageInput/SendButton.tsx +1 -1
  105. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +2 -1
  106. package/src/components/MessageList/MessageList.tsx +19 -13
  107. package/src/contexts/messageInputContext/MessageInputContext.tsx +9 -3
  108. package/src/contexts/overlayContext/OverlayProvider.tsx +3 -0
  109. package/src/i18n/es.json +28 -28
  110. package/src/i18n/fr.json +28 -28
  111. package/src/i18n/he.json +28 -28
  112. package/src/i18n/hi.json +28 -28
  113. package/src/i18n/it.json +28 -28
  114. package/src/i18n/ja.json +28 -28
  115. package/src/i18n/ko.json +28 -28
  116. package/src/i18n/nl.json +28 -28
  117. package/src/i18n/pt-BR.json +28 -28
  118. package/src/i18n/ru.json +28 -28
  119. package/src/i18n/tr.json +28 -28
  120. package/src/index.ts +1 -1
  121. package/src/utils/addReactionToLocalState.ts +7 -2
  122. package/src/version.json +1 -1
@@ -1,9 +1,9 @@
1
1
  {
2
- "1 Reply": "1 Cevap",
3
- "1 Thread Reply": "1 Konu Yanıtı",
4
- "Allow access to your Gallery": "Galerinize erişime izin verin",
5
- "Allow camera access in device settings": "Cihaz ayarlarında kamera erişimine izin ver",
6
- "Also send to channel": "",
2
+ "1 Reply": "",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
+ "Also send to channel": "Kanala da gönder",
7
7
  "Are you sure you want to permanently delete this message?": "Bu mesajı kalıcı olarak silmek istediğinizden emin misiniz?",
8
8
  "Are you sure?": "",
9
9
  "Block User": "Kullanıcıyı engelle",
@@ -13,17 +13,17 @@
13
13
  "Copy Message": "Mesajı Kopyala",
14
14
  "Delete": "Sil",
15
15
  "Delete Message": "Mesajı Sil",
16
- "Device camera is used to take photos or videos.": "Cihaz kamerası fotoğraf veya video çekmek için kullanılır.",
16
+ "Device camera is used to take photos or videos.": "",
17
17
  "Do you want to send a copy of this message to a moderator for further investigation?": "Detaylı inceleme için bu mesajın kopyasını moderatöre göndermek istiyor musunuz?",
18
18
  "Edit Message": "Mesajı Düzenle",
19
19
  "Editing Message": "",
20
20
  "Emoji matching": "",
21
21
  "Empty message...": "",
22
- "Error loading": "",
22
+ "Error loading": "Yükleme hatası",
23
23
  "Error loading channel list...": "",
24
- "Error loading messages for this channel...": "",
24
+ "Error loading messages for this channel...": "Bu kanal için mesajlar yüklenirken hata oluştu...",
25
25
  "Error while loading, please reload/refresh": "",
26
- "File type not supported": "Dosya türü desteklenmiyor",
26
+ "File type not supported": "",
27
27
  "Flag": "Raporla",
28
28
  "Flag Message": "Mesajı Raporla",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "Mesajın daha önce raporlanmış olması veya bir ağ bağlantısı sorunu nedeniyle raporlama işlemi başarısız oldu.",
@@ -36,44 +36,44 @@
36
36
  "Loading...": "",
37
37
  "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
38
38
  "Message Reactions": "Mesaj Tepkileri",
39
- "Message deleted": "",
39
+ "Message deleted": "Mesaj silindi",
40
40
  "Message flagged": "Mesaj işaretlendi",
41
41
  "Mute User": "Kullanıcıyı sessize al",
42
42
  "Not supported": "",
43
43
  "Nothing yet...": "",
44
44
  "Ok": "Tamam",
45
45
  "Only visible to you": "",
46
- "Open Settings": "Ayarları aç",
47
- "Photo": "",
48
- "Photos and Videos": "Fotoğraflar ve Videolar",
46
+ "Open Settings": "",
47
+ "Photo": "Fotoğraf",
48
+ "Photos and Videos": "",
49
49
  "Pin to Conversation": "Konuşmaya sabitle",
50
50
  "Pinned by": "",
51
- "Please enable access to your photos and videos so you can share them.": "Paylaşım yapabilmek için lutfen fotoğraflarınıza ve videolarınıza erişimi etkinleştirin.",
52
- "Please select a channel first": "",
53
- "Reconnecting...": "",
51
+ "Please enable access to your photos and videos so you can share them.": "",
52
+ "Please select a channel first": "Lütfen önce bir kanal seçiniz",
53
+ "Reconnecting...": "Yeniden Bağlanılıyor...",
54
54
  "Reply": "Yanıtla",
55
- "Reply to Message": "Mesajı Yanıtla",
55
+ "Reply to Message": "",
56
56
  "Resend": "Yeniden gönder",
57
- "Search GIFs": "GIF Ara",
58
- "Select More Photos": "Daha Fazla Fotoğraf Seçin",
57
+ "Search GIFs": "",
58
+ "Select More Photos": "",
59
59
  "Send Anyway": "",
60
- "Send a message": "Mesaj gönder",
60
+ "Send a message": "",
61
61
  "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "Yavaş Mod Açık",
62
+ "Slow mode ON": "",
63
63
  "The message has been reported to a moderator.": "Mesaj moderatöre bildirildi.",
64
64
  "Thread Reply": "Konu Yanıtı",
65
65
  "Unblock User": "Kullanıcının engelini kaldır",
66
- "Unknown User": "Bilinmeyen kullanıcı",
66
+ "Unknown User": "",
67
67
  "Unmute User": "Kullanıcının sesini aç",
68
68
  "Unpin from Conversation": "Sabitlemeyi kaldır",
69
69
  "Unread Messages": "",
70
- "Video": "",
70
+ "Video": "Video",
71
71
  "You": "",
72
72
  "You can't send messages in this channel": "",
73
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
74
- "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
75
- "{{ replyCount }} Replies": "{{ replyCount }} Cevap",
76
- "{{ replyCount }} Thread Replies": "{{responseCount}} Konu Cevapı",
77
- "{{ user }} is typing": "",
73
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
74
+ "{{ index }} of {{ photoLength }}": "",
75
+ "{{ replyCount }} Replies": "",
76
+ "{{ replyCount }} Thread Replies": "",
77
+ "{{ user }} is typing": "{{ user }} yazıyor",
78
78
  "🏙 Attachment...": ""
79
79
  }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {
7
7
  registerNativeHandlers: true,
8
8
  NetInfo: true,
9
+ iOS14RefreshGallerySelection: true,
9
10
  enTranslations: true,
10
11
  frTranslations: true,
11
12
  hiTranslations: true,
@@ -55,6 +56,12 @@ Object.defineProperty(exports, "hiTranslations", {
55
56
  return _hi["default"];
56
57
  }
57
58
  });
59
+ Object.defineProperty(exports, "iOS14RefreshGallerySelection", {
60
+ enumerable: true,
61
+ get: function get() {
62
+ return _native.iOS14RefreshGallerySelection;
63
+ }
64
+ });
58
65
  Object.defineProperty(exports, "itTranslations", {
59
66
  enumerable: true,
60
67
  get: function get() {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_hooks","_native","_contexts","_emojiData","_icons","_types","_patchMessageTextCommand","_Streami18n","_utils","_StreamChatRN","_en","_interopRequireDefault","_fr","_hi","_it","_nl","_ru","_tr","_he","_QuickSqliteClient","_version","OfflineStoreApis","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["index.ts"],"sourcesContent":["export * from './components';\nexport * from './hooks';\nexport { registerNativeHandlers, NetInfo } from './native';\nexport * from './contexts';\nexport * from './emoji-data';\n\nexport * from './icons';\n\nexport * from './types/types';\n\nexport * from './utils/patchMessageTextCommand';\nexport * from './utils/Streami18n';\nexport * from './utils/utils';\nexport * from './utils/StreamChatRN';\n\nexport { default as enTranslations } from './i18n/en.json';\nexport { default as frTranslations } from './i18n/fr.json';\nexport { default as hiTranslations } from './i18n/hi.json';\nexport { default as itTranslations } from './i18n/it.json';\nexport { default as nlTranslations } from './i18n/nl.json';\nexport { default as ruTranslations } from './i18n/ru.json';\nexport { default as trTranslations } from './i18n/tr.json';\nexport { default as heTranslations } from './i18n/he.json';\n\nexport { QuickSqliteClient } from './store/QuickSqliteClient';\nexport { version } from './version.json';\n\nimport * as OfflineStoreApis from './store/apis';\nexport { OfflineStoreApis };\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_hooks","_native","_contexts","_emojiData","_icons","_types","_patchMessageTextCommand","_Streami18n","_utils","_StreamChatRN","_en","_interopRequireDefault","_fr","_hi","_it","_nl","_ru","_tr","_he","_QuickSqliteClient","_version","OfflineStoreApis","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["index.ts"],"sourcesContent":["export * from './components';\nexport * from './hooks';\nexport { registerNativeHandlers, NetInfo, iOS14RefreshGallerySelection } from './native';\nexport * from './contexts';\nexport * from './emoji-data';\n\nexport * from './icons';\n\nexport * from './types/types';\n\nexport * from './utils/patchMessageTextCommand';\nexport * from './utils/Streami18n';\nexport * from './utils/utils';\nexport * from './utils/StreamChatRN';\n\nexport { default as enTranslations } from './i18n/en.json';\nexport { default as frTranslations } from './i18n/fr.json';\nexport { default as hiTranslations } from './i18n/hi.json';\nexport { default as itTranslations } from './i18n/it.json';\nexport { default as nlTranslations } from './i18n/nl.json';\nexport { default as ruTranslations } from './i18n/ru.json';\nexport { default as trTranslations } from './i18n/tr.json';\nexport { default as heTranslations } from './i18n/he.json';\n\nexport { QuickSqliteClient } from './store/QuickSqliteClient';\nexport { version } from './version.json';\n\nimport * as OfflineStoreApis from './store/apis';\nexport { OfflineStoreApis };\n"],"mappings":"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"}
@@ -42,7 +42,7 @@ var addReactionToLocalState = function addReactionToLocalState(_ref) {
42
42
  message.latest_reactions = message.latest_reactions.filter(function (r) {
43
43
  return r.user_id !== user.id;
44
44
  });
45
- if (currentReaction && message.reaction_counts) {
45
+ if (currentReaction && message.reaction_counts && message.reaction_counts[currentReaction.type] && message.reaction_counts[currentReaction.type] > 0) {
46
46
  message.reaction_counts[currentReaction.type] = message.reaction_counts[currentReaction.type] - 1;
47
47
  }
48
48
  if (!message.reaction_counts) {
@@ -55,7 +55,8 @@ var addReactionToLocalState = function addReactionToLocalState(_ref) {
55
55
  if (!message.reaction_counts) {
56
56
  message.reaction_counts = (0, _defineProperty2["default"])({}, reactionType, 1);
57
57
  } else {
58
- message.reaction_counts[reactionType] = message.reaction_counts[reactionType] + 1;
58
+ var _message$reaction_cou4;
59
+ message.reaction_counts[reactionType] = (((_message$reaction_cou4 = message.reaction_counts) == null ? void 0 : _message$reaction_cou4[reactionType]) || 0) + 1;
59
60
  }
60
61
  }
61
62
  message.own_reactions = [].concat((0, _toConsumableArray2["default"])(message.own_reactions), [reaction]);
@@ -1 +1 @@
1
- {"version":3,"names":["_apis","require","_insertReaction","addReactionToLocalState","_ref","channel","enforceUniqueReaction","messageId","reactionType","user","message","state","messages","find","_ref2","id","reaction","created_at","Date","toISOString","message_id","type","updated_at","user_id","hasOwnReaction","own_reactions","length","latest_reactions","currentReaction","filter","r","reaction_counts","_defineProperty2","_message$reaction_cou2","concat","_toConsumableArray2","updateReaction","insertReaction","exports"],"sources":["addReactionToLocalState.ts"],"sourcesContent":["import type { Channel, ReactionResponse, UserResponse } from 'stream-chat';\n\nimport { updateReaction } from '../store/apis';\nimport { insertReaction } from '../store/apis/insertReaction';\n\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nexport const addReactionToLocalState = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n enforceUniqueReaction,\n messageId,\n reactionType,\n user,\n}: {\n channel: Channel<StreamChatGenerics>;\n enforceUniqueReaction: boolean;\n messageId: string;\n reactionType: string;\n user: UserResponse<StreamChatGenerics>;\n}) => {\n const message = channel.state.messages.find(({ id }) => id === messageId);\n\n if (!message) return;\n\n const reaction: ReactionResponse = {\n created_at: new Date().toISOString(),\n message_id: messageId,\n type: reactionType,\n updated_at: new Date().toISOString(),\n user,\n user_id: user?.id,\n };\n\n const hasOwnReaction = message.own_reactions && message.own_reactions.length > 0;\n if (!message.own_reactions) {\n message.own_reactions = [];\n }\n\n if (!message.latest_reactions) {\n message.latest_reactions = [];\n }\n\n if (enforceUniqueReaction) {\n const currentReaction = message.own_reactions[0];\n message.own_reactions = [];\n if (!message.latest_reactions) {\n message.latest_reactions = [];\n }\n message.latest_reactions = message.latest_reactions.filter((r) => r.user_id !== user.id);\n if (currentReaction && message.reaction_counts) {\n message.reaction_counts[currentReaction.type] =\n message.reaction_counts[currentReaction.type] - 1;\n }\n\n if (!message.reaction_counts) {\n message.reaction_counts = {\n [reactionType]: 1,\n };\n } else {\n message.reaction_counts[reactionType] = (message.reaction_counts?.[reactionType] || 0) + 1;\n }\n } else {\n if (!message.reaction_counts) {\n message.reaction_counts = {\n [reactionType]: 1,\n };\n } else {\n message.reaction_counts[reactionType] = message.reaction_counts[reactionType] + 1;\n }\n }\n\n message.own_reactions = [...message.own_reactions, reaction];\n message.latest_reactions = [...message.latest_reactions, reaction];\n\n if (enforceUniqueReaction && hasOwnReaction) {\n updateReaction({\n message,\n reaction,\n });\n } else {\n insertReaction({\n reaction,\n });\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_apis","require","_insertReaction","addReactionToLocalState","_ref","channel","enforceUniqueReaction","messageId","reactionType","user","message","state","messages","find","_ref2","id","reaction","created_at","Date","toISOString","message_id","type","updated_at","user_id","hasOwnReaction","own_reactions","length","latest_reactions","currentReaction","filter","r","reaction_counts","_defineProperty2","_message$reaction_cou2","_message$reaction_cou4","concat","_toConsumableArray2","updateReaction","insertReaction","exports"],"sources":["addReactionToLocalState.ts"],"sourcesContent":["import type { Channel, ReactionResponse, UserResponse } from 'stream-chat';\n\nimport { updateReaction } from '../store/apis';\nimport { insertReaction } from '../store/apis/insertReaction';\n\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nexport const addReactionToLocalState = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n enforceUniqueReaction,\n messageId,\n reactionType,\n user,\n}: {\n channel: Channel<StreamChatGenerics>;\n enforceUniqueReaction: boolean;\n messageId: string;\n reactionType: string;\n user: UserResponse<StreamChatGenerics>;\n}) => {\n const message = channel.state.messages.find(({ id }) => id === messageId);\n\n if (!message) return;\n\n const reaction: ReactionResponse = {\n created_at: new Date().toISOString(),\n message_id: messageId,\n type: reactionType,\n updated_at: new Date().toISOString(),\n user,\n user_id: user?.id,\n };\n\n const hasOwnReaction = message.own_reactions && message.own_reactions.length > 0;\n if (!message.own_reactions) {\n message.own_reactions = [];\n }\n\n if (!message.latest_reactions) {\n message.latest_reactions = [];\n }\n\n if (enforceUniqueReaction) {\n const currentReaction = message.own_reactions[0];\n message.own_reactions = [];\n if (!message.latest_reactions) {\n message.latest_reactions = [];\n }\n message.latest_reactions = message.latest_reactions.filter((r) => r.user_id !== user.id);\n if (\n currentReaction &&\n message.reaction_counts &&\n message.reaction_counts[currentReaction.type] &&\n message.reaction_counts[currentReaction.type] > 0\n ) {\n message.reaction_counts[currentReaction.type] =\n message.reaction_counts[currentReaction.type] - 1;\n }\n\n if (!message.reaction_counts) {\n message.reaction_counts = {\n [reactionType]: 1,\n };\n } else {\n message.reaction_counts[reactionType] = (message.reaction_counts?.[reactionType] || 0) + 1;\n }\n } else {\n if (!message.reaction_counts) {\n message.reaction_counts = {\n [reactionType]: 1,\n };\n } else {\n message.reaction_counts[reactionType] = (message.reaction_counts?.[reactionType] || 0) + 1;\n }\n }\n\n message.own_reactions = [...message.own_reactions, reaction];\n message.latest_reactions = [...message.latest_reactions, reaction];\n\n if (enforceUniqueReaction && hasOwnReaction) {\n updateReaction({\n message,\n reaction,\n });\n } else {\n insertReaction({\n reaction,\n });\n }\n};\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.26.1-beta.3"
2
+ "version": "5.27.0-beta.10"
3
3
  }
@@ -207,13 +207,12 @@ var GalleryThumbnail = function GalleryThumbnail(_ref) {
207
207
  }
208
208
  };
209
209
  var defaultOnPress = function defaultOnPress() {
210
- if (thumbnail.type === 'video' && !thumbnail.thumb_url || !thumbnail.url) {
211
- return;
212
- }
213
- if (thumbnail.type === 'video' && !(0, _native.isVideoPackageAvailable)()) {
214
- (0, _openUrlSafely.openUrlSafely)(thumbnail.url);
215
- } else {
216
- openImageViewer();
210
+ if (thumbnail.url) {
211
+ if (thumbnail.type === 'video' && !(0, _native.isVideoPackageAvailable)()) {
212
+ (0, _openUrlSafely.openUrlSafely)(thumbnail.url);
213
+ } else {
214
+ openImageViewer();
215
+ }
217
216
  }
218
217
  };
219
218
  return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_GalleryImage","_ImageReloadIndicator","_buildGallery","_getGalleryImageBorderRadius","_openUrlSafely","_ImageGalleryContext","_MessageContext","_MessagesContext","_OverlayContext","_ThemeContext","_useLoadingImage2","_native","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GalleryWithContext","props","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","ImageLoadingFailedIndicator","ImageLoadingIndicator","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setMessages","setOverlay","setSelectedMessage","threadList","videos","VideoThumbnail","_useTheme","useTheme","_useTheme$theme$messa","theme","messageSimple","gallery","galleryContainer","galleryItemColumn","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","imagesAndVideos","concat","_toConsumableArray2","imagesAndVideosValue","length","map","i","image_url","thumb_url","join","_useMemo","useMemo","buildGallery","height","invertedDirections","thumbnailGrid","width","numOfColumns","createElement","View","style","styles","flexDirection","testID","__self","__source","fileName","lineNumber","columnNumber","rows","colIndex","numOfRows","thumbnail","rowIndex","borderRadius","getGalleryImageBorderRadius","messageText","text","undefined","GalleryThumbnail","_ref","_useTheme2","_useTheme2$theme","overlay","colors","_useTheme2$theme$mess","image","imageContainer","moreImagesContainer","moreImagesText","openImageViewer","messageId","id","url","defaultOnPress","type","isVideoPackageAvailable","openUrlSafely","TouchableOpacity","_extends2","activeOpacity","disabled","event","emitter","defaultHandler","imageContainerStyle","GalleryImageThumbnail","StyleSheet","absoluteFillObject","backgroundColor","Text","_ref2","_useLoadingImage","useLoadingImage","isLoadingImage","isLoadingImageError","onReloadImage","setLoadingImage","setLoadingImageError","_useTheme3","Fragment","imageLoadingErrorIndicatorStyle","ImageReloadIndicator","imageReloadContainerStyle","GalleryImage","onError","_ref3","error","nativeEvent","console","warn","onLoadEnd","onLoadStart","resizeMode","uri","imageLoadingIndicatorContainer","imageLoadingIndicatorStyle","areEqual","prevProps","nextProps","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","prevMyMessageTheme","myMessageTheme","prevVideos","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","nextMyMessageTheme","nextVideos","messageEqual","updated_at","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","getUrlWithoutParams","videosEqual","messageThemeEqual","JSON","stringify","MemoizedGallery","React","memo","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","PropImageLoadingFailedIndicator","PropImageLoadingIndicator","propImages","propMessage","propMyMessageTheme","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetOverlay","propSetSelectedMessage","propThreadList","propVideos","PropVideoThumbnail","_useImageGalleryConte","useImageGalleryContext","contextSetSelectedMessage","_useMessageContext","useMessageContext","contextAlignment","contextGroupStyles","contextImages","contextMessage","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextVideos","_useMessagesContext","useMessagesContext","contextAdditionalTouchableProps","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","contextMyMessageTheme","ContextVideoThumnbnail","_useOverlayContext","useOverlayContext","contextSetOverlay","channelId","cid","reply_count","exports","create","errorTextSize","fontSize","borderTopLeftRadius","borderTopRightRadius","flexWrap","overflow","alignItems","display","justifyContent","padding","flex","bottom","left","position","margin","color","fontWeight","displayName"],"sources":["Gallery.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { GalleryImage } from './GalleryImage';\nimport { ImageReloadIndicator } from './ImageReloadIndicator';\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport type { Thumbnail } from './utils/buildGallery/types';\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { isVideoPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams } from '../../utils/utils';\n\nexport type GalleryPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'videos'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n | 'myMessageTheme'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"excessive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<StreamChatGenerics>;\n };\n\nconst GalleryWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n } = props;\n\n const {\n theme: {\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const imagesAndVideos = [...(images || []), ...(videos || [])];\n const imagesAndVideosValue = `${images?.length}${videos?.length}${images\n ?.map((i) => `${i.image_url}${i.thumb_url}`)\n .join('')}${videos?.map((i) => `${i.image_url}${i.thumb_url}`).join('')}`;\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images: imagesAndVideos,\n sizeConfig,\n }),\n [imagesAndVideosValue],\n );\n\n if (!imagesAndVideos?.length) return null;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n height,\n width,\n },\n galleryContainer,\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map((thumbnail, rowIndex) => {\n const borderRadius = getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText: message?.text,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n });\n\n if (message === undefined) {\n return null;\n }\n\n return (\n <GalleryThumbnail\n additionalTouchableProps={additionalTouchableProps}\n borderRadius={borderRadius}\n colIndex={colIndex}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n imagesAndVideos={imagesAndVideos}\n invertedDirections={invertedDirections || false}\n key={rowIndex}\n legacyImageViewerSwipeBehaviour={legacyImageViewerSwipeBehaviour}\n message={message}\n numOfColumns={numOfColumns}\n numOfRows={numOfRows}\n onLongPress={onLongPress}\n onPress={onPress}\n onPressIn={onPressIn}\n preventPress={preventPress}\n rowIndex={rowIndex}\n setMessages={setMessages}\n setOverlay={setOverlay}\n setSelectedMessage={setSelectedMessage}\n thumbnail={thumbnail}\n VideoThumbnail={VideoThumbnail}\n />\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\ntype GalleryThumbnailProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n borderRadius: {\n borderBottomLeftRadius: number;\n borderBottomRightRadius: number;\n borderTopLeftRadius: number;\n borderTopRightRadius: number;\n };\n colIndex: number;\n imagesAndVideos: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n message: MessageType<StreamChatGenerics>;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n thumbnail: Thumbnail;\n} & Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n> &\n Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GalleryThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n borderRadius,\n colIndex,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n imagesAndVideos,\n invertedDirections,\n legacyImageViewerSwipeBehaviour,\n message,\n numOfColumns,\n numOfRows,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n rowIndex,\n setMessages,\n setOverlay,\n setSelectedMessage,\n thumbnail,\n VideoThumbnail,\n}: GalleryThumbnailProps<StreamChatGenerics>) => {\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: { image, imageContainer, moreImagesContainer, moreImagesText },\n },\n },\n } = useTheme();\n\n const openImageViewer = () => {\n if (!legacyImageViewerSwipeBehaviour && message) {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n setMessages([message]);\n setSelectedMessage({ messageId: message.id, url: thumbnail.url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setSelectedMessage({ messageId: message?.id, url: thumbnail.url });\n setOverlay('gallery');\n }\n };\n\n const defaultOnPress = () => {\n if ((thumbnail.type === 'video' && !thumbnail.thumb_url) || !thumbnail.url) {\n return;\n }\n if (thumbnail.type === 'video' && !isVideoPackageAvailable()) {\n // This condition is kinda unreachable, since we render videos as file attachment if the video\n // library is not installed. But doesn't hurt to have extra safeguard, in case of some customizations.\n openUrlSafely(thumbnail.url);\n } else {\n openImageViewer();\n }\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${message.id}/${colIndex}/${rowIndex}/${imagesAndVideos.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height: thumbnail.height,\n width: thumbnail.width,\n },\n imageContainer,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n {thumbnail.type === 'video' ? (\n <VideoThumbnail\n style={[\n borderRadius,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n image,\n ]}\n thumb_url={thumbnail.thumb_url}\n />\n ) : (\n <View style={styles.imageContainerStyle}>\n <GalleryImageThumbnail\n borderRadius={borderRadius}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n thumbnail={thumbnail}\n />\n </View>\n )}\n {colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${imagesAndVideos.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n};\n\nconst GalleryImageThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n borderRadius,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n thumbnail,\n}: Pick<\n GalleryThumbnailProps<StreamChatGenerics>,\n 'ImageLoadingFailedIndicator' | 'ImageLoadingIndicator' | 'thumbnail' | 'borderRadius'\n>) => {\n const {\n isLoadingImage,\n isLoadingImageError,\n onReloadImage,\n setLoadingImage,\n setLoadingImageError,\n } = useLoadingImage();\n\n const {\n theme: {\n messageSimple: { gallery },\n },\n } = useTheme();\n\n return (\n <View\n style={[\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n gallery.thumbnail,\n ]}\n >\n {isLoadingImageError ? (\n <>\n <ImageLoadingFailedIndicator style={styles.imageLoadingErrorIndicatorStyle} />\n <ImageReloadIndicator\n onReloadImage={onReloadImage}\n style={styles.imageReloadContainerStyle}\n />\n </>\n ) : (\n <>\n <GalleryImage\n onError={({ nativeEvent: { error } }) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode={thumbnail.resizeMode}\n style={[\n borderRadius,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n gallery.image,\n ]}\n uri={thumbnail.url}\n />\n {isLoadingImage && (\n <View style={styles.imageLoadingIndicatorContainer}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n </>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GalleryPropsWithContext<StreamChatGenerics>,\n nextProps: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n myMessageTheme: prevMyMessageTheme,\n videos: prevVideos,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n myMessageTheme: nextMyMessageTheme,\n videos: nextVideos,\n } = nextProps;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n const videosEqual =\n prevVideos.length === nextVideos.length &&\n prevVideos.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextVideos[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextVideos[index].thumb_url),\n );\n if (!videosEqual) return false;\n\n const messageThemeEqual =\n JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);\n if (!messageThemeEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GalleryPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryProps<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator: PropImageLoadingFailedIndicator,\n ImageLoadingIndicator: PropImageLoadingIndicator,\n images: propImages,\n message: propMessage,\n myMessageTheme: propMyMessageTheme,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setOverlay: propSetOverlay,\n setSelectedMessage: propSetSelectedMessage,\n threadList: propThreadList,\n videos: propVideos,\n VideoThumbnail: PropVideoThumbnail,\n } = props;\n\n const { setMessages, setSelectedMessage: contextSetSelectedMessage } =\n useImageGalleryContext<StreamChatGenerics>();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message: contextMessage,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n videos: contextVideos,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n legacyImageViewerSwipeBehaviour,\n myMessageTheme: contextMyMessageTheme,\n VideoThumbnail: ContextVideoThumnbnail,\n } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n const videos = propVideos || contextVideos;\n const message = propMessage || contextMessage;\n\n if (!images.length && !videos.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setSelectedMessage = propSetSelectedMessage || contextSetSelectedMessage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n const VideoThumbnail = PropVideoThumbnail || ContextVideoThumnbnail;\n const ImageLoadingFailedIndicator =\n PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;\n const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;\n const myMessageTheme = propMyMessageTheme || contextMyMessageTheme;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n myMessageTheme,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n }}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n errorTextSize: { fontSize: 10 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n padding: 1,\n },\n imageContainerStyle: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n imageLoadingErrorIndicatorStyle: {\n bottom: 4,\n left: 4,\n position: 'absolute',\n },\n imageLoadingIndicatorContainer: {\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n },\n imageReloadContainerStyle: {\n ...StyleSheet.absoluteFillObject,\n alignItems: 'center',\n justifyContent: 'center',\n },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_GalleryImage","_ImageReloadIndicator","_buildGallery","_getGalleryImageBorderRadius","_openUrlSafely","_ImageGalleryContext","_MessageContext","_MessagesContext","_OverlayContext","_ThemeContext","_useLoadingImage2","_native","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GalleryWithContext","props","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","ImageLoadingFailedIndicator","ImageLoadingIndicator","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setMessages","setOverlay","setSelectedMessage","threadList","videos","VideoThumbnail","_useTheme","useTheme","_useTheme$theme$messa","theme","messageSimple","gallery","galleryContainer","galleryItemColumn","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","imagesAndVideos","concat","_toConsumableArray2","imagesAndVideosValue","length","map","i","image_url","thumb_url","join","_useMemo","useMemo","buildGallery","height","invertedDirections","thumbnailGrid","width","numOfColumns","createElement","View","style","styles","flexDirection","testID","__self","__source","fileName","lineNumber","columnNumber","rows","colIndex","numOfRows","thumbnail","rowIndex","borderRadius","getGalleryImageBorderRadius","messageText","text","undefined","GalleryThumbnail","_ref","_useTheme2","_useTheme2$theme","overlay","colors","_useTheme2$theme$mess","image","imageContainer","moreImagesContainer","moreImagesText","openImageViewer","messageId","id","url","defaultOnPress","type","isVideoPackageAvailable","openUrlSafely","TouchableOpacity","_extends2","activeOpacity","disabled","event","emitter","defaultHandler","imageContainerStyle","GalleryImageThumbnail","StyleSheet","absoluteFillObject","backgroundColor","Text","_ref2","_useLoadingImage","useLoadingImage","isLoadingImage","isLoadingImageError","onReloadImage","setLoadingImage","setLoadingImageError","_useTheme3","Fragment","imageLoadingErrorIndicatorStyle","ImageReloadIndicator","imageReloadContainerStyle","GalleryImage","onError","_ref3","error","nativeEvent","console","warn","onLoadEnd","onLoadStart","resizeMode","uri","imageLoadingIndicatorContainer","imageLoadingIndicatorStyle","areEqual","prevProps","nextProps","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","prevMyMessageTheme","myMessageTheme","prevVideos","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","nextMyMessageTheme","nextVideos","messageEqual","updated_at","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","getUrlWithoutParams","videosEqual","messageThemeEqual","JSON","stringify","MemoizedGallery","React","memo","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","PropImageLoadingFailedIndicator","PropImageLoadingIndicator","propImages","propMessage","propMyMessageTheme","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetOverlay","propSetSelectedMessage","propThreadList","propVideos","PropVideoThumbnail","_useImageGalleryConte","useImageGalleryContext","contextSetSelectedMessage","_useMessageContext","useMessageContext","contextAlignment","contextGroupStyles","contextImages","contextMessage","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextVideos","_useMessagesContext","useMessagesContext","contextAdditionalTouchableProps","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","contextMyMessageTheme","ContextVideoThumnbnail","_useOverlayContext","useOverlayContext","contextSetOverlay","channelId","cid","reply_count","exports","create","errorTextSize","fontSize","borderTopLeftRadius","borderTopRightRadius","flexWrap","overflow","alignItems","display","justifyContent","padding","flex","bottom","left","position","margin","color","fontWeight","displayName"],"sources":["Gallery.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { GalleryImage } from './GalleryImage';\nimport { ImageReloadIndicator } from './ImageReloadIndicator';\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport type { Thumbnail } from './utils/buildGallery/types';\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { isVideoPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams } from '../../utils/utils';\n\nexport type GalleryPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'videos'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n | 'myMessageTheme'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"excessive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<StreamChatGenerics>;\n };\n\nconst GalleryWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n } = props;\n\n const {\n theme: {\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const imagesAndVideos = [...(images || []), ...(videos || [])];\n const imagesAndVideosValue = `${images?.length}${videos?.length}${images\n ?.map((i) => `${i.image_url}${i.thumb_url}`)\n .join('')}${videos?.map((i) => `${i.image_url}${i.thumb_url}`).join('')}`;\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images: imagesAndVideos,\n sizeConfig,\n }),\n [imagesAndVideosValue],\n );\n\n if (!imagesAndVideos?.length) return null;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n height,\n width,\n },\n galleryContainer,\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map((thumbnail, rowIndex) => {\n const borderRadius = getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText: message?.text,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n });\n\n if (message === undefined) {\n return null;\n }\n\n return (\n <GalleryThumbnail\n additionalTouchableProps={additionalTouchableProps}\n borderRadius={borderRadius}\n colIndex={colIndex}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n imagesAndVideos={imagesAndVideos}\n invertedDirections={invertedDirections || false}\n key={rowIndex}\n legacyImageViewerSwipeBehaviour={legacyImageViewerSwipeBehaviour}\n message={message}\n numOfColumns={numOfColumns}\n numOfRows={numOfRows}\n onLongPress={onLongPress}\n onPress={onPress}\n onPressIn={onPressIn}\n preventPress={preventPress}\n rowIndex={rowIndex}\n setMessages={setMessages}\n setOverlay={setOverlay}\n setSelectedMessage={setSelectedMessage}\n thumbnail={thumbnail}\n VideoThumbnail={VideoThumbnail}\n />\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\ntype GalleryThumbnailProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n borderRadius: {\n borderBottomLeftRadius: number;\n borderBottomRightRadius: number;\n borderTopLeftRadius: number;\n borderTopRightRadius: number;\n };\n colIndex: number;\n imagesAndVideos: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n message: MessageType<StreamChatGenerics>;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n thumbnail: Thumbnail;\n} & Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n> &\n Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GalleryThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n borderRadius,\n colIndex,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n imagesAndVideos,\n invertedDirections,\n legacyImageViewerSwipeBehaviour,\n message,\n numOfColumns,\n numOfRows,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n rowIndex,\n setMessages,\n setOverlay,\n setSelectedMessage,\n thumbnail,\n VideoThumbnail,\n}: GalleryThumbnailProps<StreamChatGenerics>) => {\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: { image, imageContainer, moreImagesContainer, moreImagesText },\n },\n },\n } = useTheme();\n\n const openImageViewer = () => {\n if (!legacyImageViewerSwipeBehaviour && message) {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n setMessages([message]);\n setSelectedMessage({ messageId: message.id, url: thumbnail.url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setSelectedMessage({ messageId: message?.id, url: thumbnail.url });\n setOverlay('gallery');\n }\n };\n\n const defaultOnPress = () => {\n // If the url is defined then only try to open the file.\n if (thumbnail.url) {\n if (thumbnail.type === 'video' && !isVideoPackageAvailable()) {\n // This condition is kinda unreachable, since we render videos as file attachment if the video\n // library is not installed. But doesn't hurt to have extra safeguard, in case of some customizations.\n openUrlSafely(thumbnail.url);\n } else {\n openImageViewer();\n }\n }\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${message.id}/${colIndex}/${rowIndex}/${imagesAndVideos.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height: thumbnail.height,\n width: thumbnail.width,\n },\n imageContainer,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n {thumbnail.type === 'video' ? (\n <VideoThumbnail\n style={[\n borderRadius,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n image,\n ]}\n thumb_url={thumbnail.thumb_url}\n />\n ) : (\n <View style={styles.imageContainerStyle}>\n <GalleryImageThumbnail\n borderRadius={borderRadius}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n thumbnail={thumbnail}\n />\n </View>\n )}\n {colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${imagesAndVideos.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n};\n\nconst GalleryImageThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n borderRadius,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n thumbnail,\n}: Pick<\n GalleryThumbnailProps<StreamChatGenerics>,\n 'ImageLoadingFailedIndicator' | 'ImageLoadingIndicator' | 'thumbnail' | 'borderRadius'\n>) => {\n const {\n isLoadingImage,\n isLoadingImageError,\n onReloadImage,\n setLoadingImage,\n setLoadingImageError,\n } = useLoadingImage();\n\n const {\n theme: {\n messageSimple: { gallery },\n },\n } = useTheme();\n\n return (\n <View\n style={[\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n gallery.thumbnail,\n ]}\n >\n {isLoadingImageError ? (\n <>\n <ImageLoadingFailedIndicator style={styles.imageLoadingErrorIndicatorStyle} />\n <ImageReloadIndicator\n onReloadImage={onReloadImage}\n style={styles.imageReloadContainerStyle}\n />\n </>\n ) : (\n <>\n <GalleryImage\n onError={({ nativeEvent: { error } }) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode={thumbnail.resizeMode}\n style={[\n borderRadius,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n gallery.image,\n ]}\n uri={thumbnail.url}\n />\n {isLoadingImage && (\n <View style={styles.imageLoadingIndicatorContainer}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n </>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GalleryPropsWithContext<StreamChatGenerics>,\n nextProps: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n myMessageTheme: prevMyMessageTheme,\n videos: prevVideos,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n myMessageTheme: nextMyMessageTheme,\n videos: nextVideos,\n } = nextProps;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n const videosEqual =\n prevVideos.length === nextVideos.length &&\n prevVideos.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextVideos[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextVideos[index].thumb_url),\n );\n if (!videosEqual) return false;\n\n const messageThemeEqual =\n JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);\n if (!messageThemeEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GalleryPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryProps<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator: PropImageLoadingFailedIndicator,\n ImageLoadingIndicator: PropImageLoadingIndicator,\n images: propImages,\n message: propMessage,\n myMessageTheme: propMyMessageTheme,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setOverlay: propSetOverlay,\n setSelectedMessage: propSetSelectedMessage,\n threadList: propThreadList,\n videos: propVideos,\n VideoThumbnail: PropVideoThumbnail,\n } = props;\n\n const { setMessages, setSelectedMessage: contextSetSelectedMessage } =\n useImageGalleryContext<StreamChatGenerics>();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message: contextMessage,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n videos: contextVideos,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n legacyImageViewerSwipeBehaviour,\n myMessageTheme: contextMyMessageTheme,\n VideoThumbnail: ContextVideoThumnbnail,\n } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n const videos = propVideos || contextVideos;\n const message = propMessage || contextMessage;\n\n if (!images.length && !videos.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setSelectedMessage = propSetSelectedMessage || contextSetSelectedMessage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n const VideoThumbnail = PropVideoThumbnail || ContextVideoThumnbnail;\n const ImageLoadingFailedIndicator =\n PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;\n const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;\n const myMessageTheme = propMyMessageTheme || contextMyMessageTheme;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n myMessageTheme,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n }}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n errorTextSize: { fontSize: 10 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n padding: 1,\n },\n imageContainerStyle: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n imageLoadingErrorIndicatorStyle: {\n bottom: 4,\n left: 4,\n position: 'absolute',\n },\n imageLoadingIndicatorContainer: {\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n },\n imageReloadContainerStyle: {\n ...StyleSheet.absoluteFillObject,\n alignItems: 'center',\n justifyContent: 'center',\n },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAGA,IAAAK,4BAAA,GAAAL,OAAA;AAEA,IAAAM,cAAA,GAAAN,OAAA;AAGA,IAAAO,oBAAA,GAAAP,OAAA;AAIA,IAAAQ,eAAA,GAAAR,OAAA;AAIA,IAAAS,gBAAA,GAAAT,OAAA;AAIA,IAAAU,eAAA,GAAAV,OAAA;AAIA,IAAAW,aAAA,GAAAX,OAAA;AACA,IAAAY,iBAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAEA,IAAAc,MAAA,GAAAd,OAAA;AAAwD,IAAAe,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,SAAAnB,wBAAAuB,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;AA4CxD,IAAMW,kBAAkB,GAAG,SAArBA,kBAAkBA,CAGtBC,KAAkD,EAC/C;EACH,IACEC,wBAAwB,GAmBtBD,KAAK,CAnBPC,wBAAwB;IACxBC,SAAS,GAkBPF,KAAK,CAlBPE,SAAS;IACTC,WAAW,GAiBTH,KAAK,CAjBPG,WAAW;IACXC,gBAAgB,GAgBdJ,KAAK,CAhBPI,gBAAgB;IAChBC,2BAA2B,GAezBL,KAAK,CAfPK,2BAA2B;IAC3BC,qBAAqB,GAcnBN,KAAK,CAdPM,qBAAqB;IACrBC,MAAM,GAaJP,KAAK,CAbPO,MAAM;IACNC,+BAA+B,GAY7BR,KAAK,CAZPQ,+BAA+B;IAC/BC,OAAO,GAWLT,KAAK,CAXPS,OAAO;IACPC,WAAW,GAUTV,KAAK,CAVPU,WAAW;IACXC,OAAO,GASLX,KAAK,CATPW,OAAO;IACPC,SAAS,GAQPZ,KAAK,CARPY,SAAS;IACTC,YAAY,GAOVb,KAAK,CAPPa,YAAY;IACZC,WAAW,GAMTd,KAAK,CANPc,WAAW;IACXC,UAAU,GAKRf,KAAK,CALPe,UAAU;IACVC,kBAAkB,GAIhBhB,KAAK,CAJPgB,kBAAkB;IAClBC,UAAU,GAGRjB,KAAK,CAHPiB,UAAU;IACVC,MAAM,GAEJlB,KAAK,CAFPkB,MAAM;IACNC,cAAc,GACZnB,KAAK,CADPmB,cAAc;EAGhB,IAAAC,SAAA,GAeI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,qBAAA,GAAAF,SAAA,CAdZG,KAAK,CACHC,aAAa,CACXC,OAAO;IACLC,gBAAgB,GAAAJ,qBAAA,CAAhBI,gBAAgB;IAChBC,iBAAiB,GAAAL,qBAAA,CAAjBK,iBAAiB;IACjBC,UAAU,GAAAN,qBAAA,CAAVM,UAAU;IACVC,SAAS,GAAAP,qBAAA,CAATO,SAAS;IACTC,SAAS,GAAAR,qBAAA,CAATQ,SAAS;IACTC,QAAQ,GAAAT,qBAAA,CAARS,QAAQ;IACRC,SAAS,GAAAV,qBAAA,CAATU,SAAS;IACTC,QAAQ,GAAAX,qBAAA,CAARW,QAAQ;EAMhB,IAAMC,UAAU,GAAG;IACjBN,UAAU,EAAVA,UAAU;IACVC,SAAS,EAATA,SAAS;IACTC,SAAS,EAATA,SAAS;IACTC,QAAQ,EAARA,QAAQ;IACRC,SAAS,EAATA,SAAS;IACTC,QAAQ,EAARA;EACF,CAAC;EAED,IAAME,eAAe,MAAAC,MAAA,KAAAC,mBAAA,aAAQ9B,MAAM,IAAI,EAAE,OAAA8B,mBAAA,aAAOnB,MAAM,IAAI,EAAE,EAAE;EAC9D,IAAMoB,oBAAoB,SAAM/B,MAAM,oBAANA,MAAM,CAAEgC,MAAM,KAAGrB,MAAM,oBAANA,MAAM,CAAEqB,MAAM,KAAGhC,MAAM,oBAANA,MAAM,CACpEiC,GAAG,CAAC,UAACC,CAAC;IAAA,YAAQA,CAAC,CAACC,SAAS,GAAGD,CAAC,CAACE,SAAS;EAAA,CAAE,CAAC,CAC3CC,IAAI,CAAC,EAAE,CAAC,KAAG1B,MAAM,oBAANA,MAAM,CAAEsB,GAAG,CAAC,UAACC,CAAC;IAAA,YAAQA,CAAC,CAACC,SAAS,GAAGD,CAAC,CAACE,SAAS;EAAA,CAAE,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAE;EAE3E,IAAAC,QAAA,GAA6D,IAAAC,cAAO,EAClE;MAAA,OACE,IAAAC,0BAAY,EAAC;QACXxC,MAAM,EAAE4B,eAAe;QACvBD,UAAU,EAAVA;MACF,CAAC,CAAC;IAAA,GACJ,CAACI,oBAAoB,CACvB,CAAC;IAPOU,MAAM,GAAAH,QAAA,CAANG,MAAM;IAAEC,kBAAkB,GAAAJ,QAAA,CAAlBI,kBAAkB;IAAEC,aAAa,GAAAL,QAAA,CAAbK,aAAa;IAAEC,KAAK,GAAAN,QAAA,CAALM,KAAK;EASxD,IAAI,EAAChB,eAAe,YAAfA,eAAe,CAAEI,MAAM,GAAE,OAAO,IAAI;EACzC,IAAMa,YAAY,GAAGF,aAAa,CAACX,MAAM;EAEzC,OACEjF,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAA6F,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAAC9B,gBAAgB,EACvB;MACE+B,aAAa,EAAER,kBAAkB,GAAG,QAAQ,GAAG,KAAK;MACpDD,MAAM,EAANA,MAAM;MACNG,KAAK,EAALA;IACF,CAAC,EACDzB,gBAAgB,CAChB;IACFgC,MAAM,EAAC,mBAAmB;IAAAC,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEzBb,aAAa,CAACV,GAAG,CAAC,UAACwB,IAAI,EAAEC,QAAQ,EAAK;IACrC,IAAMC,SAAS,GAAGF,IAAI,CAACzB,MAAM;IAC7B,OACEjF,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAA6F,IAAI;MACH7D,GAAG,gBAAawD,kBAAkB,GAAG,KAAK,GAAG,QAAQ,UAAIgB,QAAW;MACpEV,KAAK,EAAE,CACL;QACEE,aAAa,EAAER,kBAAkB,GAAG,KAAK,GAAG;MAC9C,CAAC,EACDtB,iBAAiB,CACjB;MACF+B,MAAM,gBAAaT,kBAAkB,GAAG,KAAK,GAAG,QAAQ,UAAIgB,QAAW;MAAAN,MAAA,EAAApF,KAAA;MAAAqF,QAAA;QAAAC,QAAA,EAAArF,YAAA;QAAAsF,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEtEC,IAAI,CAACxB,GAAG,CAAC,UAAC2B,SAAS,EAAEC,QAAQ,EAAK;MACjC,IAAMC,YAAY,GAAG,IAAAC,wDAA2B,EAAC;QAC/CpE,SAAS,EAATA,SAAS;QACT+D,QAAQ,EAARA,QAAQ;QACR9D,WAAW,EAAXA,WAAW;QACXC,gBAAgB,EAAhBA,gBAAgB;QAChB4C,MAAM,EAANA,MAAM;QACNC,kBAAkB,EAAlBA,kBAAkB;QAClBsB,WAAW,EAAE9D,OAAO,oBAAPA,OAAO,CAAE+D,IAAI;QAC1BpB,YAAY,EAAZA,YAAY;QACZc,SAAS,EAATA,SAAS;QACTE,QAAQ,EAARA,QAAQ;QACRlC,UAAU,EAAVA,UAAU;QACVjB,UAAU,EAAVA,UAAU;QACVkC,KAAK,EAALA;MACF,CAAC,CAAC;MAEF,IAAI1C,OAAO,KAAKgE,SAAS,EAAE;QACzB,OAAO,IAAI;MACb;MAEA,OACEnH,MAAA,YAAA+F,aAAA,CAACqB,gBAAgB;QACfzE,wBAAwB,EAAEA,wBAAyB;QACnDoE,YAAY,EAAEA,YAAa;QAC3BJ,QAAQ,EAAEA,QAAS;QACnB5D,2BAA2B,EAAEA,2BAA4B;QACzDC,qBAAqB,EAAEA,qBAAsB;QAC7C6B,eAAe,EAAEA,eAAgB;QACjCc,kBAAkB,EAAEA,kBAAkB,IAAI,KAAM;QAChDxD,GAAG,EAAE2E,QAAS;QACd5D,+BAA+B,EAAEA,+BAAgC;QACjEC,OAAO,EAAEA,OAAQ;QACjB2C,YAAY,EAAEA,YAAa;QAC3Bc,SAAS,EAAEA,SAAU;QACrBxD,WAAW,EAAEA,WAAY;QACzBC,OAAO,EAAEA,OAAQ;QACjBC,SAAS,EAAEA,SAAU;QACrBC,YAAY,EAAEA,YAAa;QAC3BuD,QAAQ,EAAEA,QAAS;QACnBtD,WAAW,EAAEA,WAAY;QACzBC,UAAU,EAAEA,UAAW;QACvBC,kBAAkB,EAAEA,kBAAmB;QACvCmD,SAAS,EAAEA,SAAU;QACrBhD,cAAc,EAAEA,cAAe;QAAAwC,MAAA,EAAApF,KAAA;QAAAqF,QAAA;UAAAC,QAAA,EAAArF,YAAA;UAAAsF,UAAA;UAAAC,YAAA;QAAA;MAAA,CAChC,CAAC;IAEN,CAAC,CACG,CAAC;EAEX,CAAC,CACG,CAAC;AAEX,CAAC;AAkCD,IAAMW,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAwB2B;EAAA,IArB/C1E,wBAAwB,GAAA0E,IAAA,CAAxB1E,wBAAwB;IACxBoE,YAAY,GAAAM,IAAA,CAAZN,YAAY;IACZJ,QAAQ,GAAAU,IAAA,CAARV,QAAQ;IACR5D,2BAA2B,GAAAsE,IAAA,CAA3BtE,2BAA2B;IAC3BC,qBAAqB,GAAAqE,IAAA,CAArBrE,qBAAqB;IACrB6B,eAAe,GAAAwC,IAAA,CAAfxC,eAAe;IACfc,kBAAkB,GAAA0B,IAAA,CAAlB1B,kBAAkB;IAClBzC,+BAA+B,GAAAmE,IAAA,CAA/BnE,+BAA+B;IAC/BC,OAAO,GAAAkE,IAAA,CAAPlE,OAAO;IACP2C,YAAY,GAAAuB,IAAA,CAAZvB,YAAY;IACZc,SAAS,GAAAS,IAAA,CAATT,SAAS;IACTxD,YAAW,GAAAiE,IAAA,CAAXjE,WAAW;IACXC,QAAO,GAAAgE,IAAA,CAAPhE,OAAO;IACPC,UAAS,GAAA+D,IAAA,CAAT/D,SAAS;IACTC,YAAY,GAAA8D,IAAA,CAAZ9D,YAAY;IACZuD,QAAQ,GAAAO,IAAA,CAARP,QAAQ;IACRtD,WAAW,GAAA6D,IAAA,CAAX7D,WAAW;IACXC,UAAU,GAAA4D,IAAA,CAAV5D,UAAU;IACVC,kBAAkB,GAAA2D,IAAA,CAAlB3D,kBAAkB;IAClBmD,SAAS,GAAAQ,IAAA,CAATR,SAAS;IACThD,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;EAEd,IAAAyD,UAAA,GAOI,IAAAvD,sBAAQ,EAAC,CAAC;IAAAwD,gBAAA,GAAAD,UAAA,CANZrD,KAAK;IACOuD,OAAO,GAAAD,gBAAA,CAAjBE,MAAM,CAAID,OAAO;IAAAE,qBAAA,GAAAH,gBAAA,CACjBrD,aAAa,CACXC,OAAO;IAAIwD,KAAK,GAAAD,qBAAA,CAALC,KAAK;IAAEC,cAAc,GAAAF,qBAAA,CAAdE,cAAc;IAAEC,mBAAmB,GAAAH,qBAAA,CAAnBG,mBAAmB;IAAEC,cAAc,GAAAJ,qBAAA,CAAdI,cAAc;EAK3E,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;IAC5B,IAAI,CAAC7E,+BAA+B,IAAIC,OAAO,EAAE;MAI/CK,WAAW,CAAC,CAACL,OAAO,CAAC,CAAC;MACtBO,kBAAkB,CAAC;QAAEsE,SAAS,EAAE7E,OAAO,CAAC8E,EAAE;QAAEC,GAAG,EAAErB,SAAS,CAACqB;MAAI,CAAC,CAAC;MACjEzE,UAAU,CAAC,SAAS,CAAC;IACvB,CAAC,MAAM,IAAIP,+BAA+B,EAAE;MAC1CQ,kBAAkB,CAAC;QAAEsE,SAAS,EAAE7E,OAAO,oBAAPA,OAAO,CAAE8E,EAAE;QAAEC,GAAG,EAAErB,SAAS,CAACqB;MAAI,CAAC,CAAC;MAClEzE,UAAU,CAAC,SAAS,CAAC;IACvB;EACF,CAAC;EAED,IAAM0E,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;IAE3B,IAAItB,SAAS,CAACqB,GAAG,EAAE;MACjB,IAAIrB,SAAS,CAACuB,IAAI,KAAK,OAAO,IAAI,CAAC,IAAAC,+BAAuB,EAAC,CAAC,EAAE;QAG5D,IAAAC,4BAAa,EAACzB,SAAS,CAACqB,GAAG,CAAC;MAC9B,CAAC,MAAM;QACLH,eAAe,CAAC,CAAC;MACnB;IACF;EACF,CAAC;EAED,OACE/H,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAAoI,gBAAgB,MAAAC,SAAA;IACfC,aAAa,EAAE,GAAI;IACnBC,QAAQ,EAAEnF,YAAa;IACvBpB,GAAG,oBAAkBgB,OAAO,CAAC8E,EAAE,SAAItB,QAAQ,SAAIG,QAAQ,SAAIjC,eAAe,CAACI,MAAS;IACpF7B,WAAW,EAAE,SAAAA,YAACuF,KAAK,EAAK;MACtB,IAAIvF,YAAW,EAAE;QACfA,YAAW,CAAC;UACVwF,OAAO,EAAE,SAAS;UAClBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFtF,OAAO,EAAE,SAAAA,QAACsF,KAAK,EAAK;MAClB,IAAItF,QAAO,EAAE;QACXA,QAAO,CAAC;UACNwF,cAAc,EAAEV,cAAc;UAC9BS,OAAO,EAAE,SAAS;UAClBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFrF,SAAS,EAAE,SAAAA,UAACqF,KAAK,EAAK;MACpB,IAAIrF,UAAS,EAAE;QACbA,UAAS,CAAC;UACRuF,cAAc,EAAEV,cAAc;UAC9BS,OAAO,EAAE,SAAS;UAClBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACF1C,KAAK,EAAE,CACLC,MAAM,CAAC0B,cAAc,EACrB;MACElC,MAAM,EAAEmB,SAAS,CAACnB,MAAM;MACxBG,KAAK,EAAEgB,SAAS,CAAChB;IACnB,CAAC,EACD+B,cAAc,CACd;IACFxB,MAAM,gBAAaT,kBAAkB,GAAG,KAAK,GAAG,QAAQ,UAAIgB,QAAQ,cAASG;EAAW,GACpFnE,wBAAwB;IAAA0D,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,IAE3BI,SAAS,CAACuB,IAAI,KAAK,OAAO,GACzBpI,MAAA,YAAA+F,aAAA,CAAClC,cAAc;IACboC,KAAK,EAAE,CACLc,YAAY,EACZ;MACErB,MAAM,EAAEmB,SAAS,CAACnB,MAAM,GAAG,CAAC;MAC5BG,KAAK,EAAEgB,SAAS,CAAChB,KAAK,GAAG;IAC3B,CAAC,EACD8B,KAAK,CACL;IACFtC,SAAS,EAAEwB,SAAS,CAACxB,SAAU;IAAAgB,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,CAChC,CAAC,GAEFzG,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAA6F,IAAI;IAACC,KAAK,EAAEC,MAAM,CAAC4C,mBAAoB;IAAAzC,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,GACtCzG,MAAA,YAAA+F,aAAA,CAACgD,qBAAqB;IACpBhC,YAAY,EAAEA,YAAa;IAC3BhE,2BAA2B,EAAEA,2BAA4B;IACzDC,qBAAqB,EAAEA,qBAAsB;IAC7C6D,SAAS,EAAEA,SAAU;IAAAR,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,CACtB,CACG,CACP,EACAE,QAAQ,KAAKb,YAAY,GAAG,CAAC,IAAIgB,QAAQ,KAAKF,SAAS,GAAG,CAAC,IAAI/B,eAAe,CAACI,MAAM,GAAG,CAAC,GACxFjF,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAA6F,IAAI;IACHC,KAAK,EAAE,CACL+C,uBAAU,CAACC,kBAAkB,EAC7B/C,MAAM,CAAC2B,mBAAmB,EAC1B;MAAEqB,eAAe,EAAE1B;IAAQ,CAAC,EAC5BK,mBAAmB,CACnB;IAAAxB,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEFzG,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAAgJ,IAAI;IAAClD,KAAK,EAAE,CAACC,MAAM,CAAC4B,cAAc,EAAEA,cAAc,CAAE;IAAAzB,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,UAC9C5B,eAAe,CAACI,MAAM,GAAG,CAAC,CAC3B,CACF,CAAC,GACL,IACY,CAAC;AAEvB,CAAC;AAED,IAAM8D,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAK,KAAA,EAUrB;EAAA,IAPJrC,YAAY,GAAAqC,KAAA,CAAZrC,YAAY;IACZhE,2BAA2B,GAAAqG,KAAA,CAA3BrG,2BAA2B;IAC3BC,qBAAqB,GAAAoG,KAAA,CAArBpG,qBAAqB;IACrB6D,SAAS,GAAAuC,KAAA,CAATvC,SAAS;EAKT,IAAAwC,gBAAA,GAMI,IAAAC,iCAAe,EAAC,CAAC;IALnBC,cAAc,GAAAF,gBAAA,CAAdE,cAAc;IACdC,mBAAmB,GAAAH,gBAAA,CAAnBG,mBAAmB;IACnBC,aAAa,GAAAJ,gBAAA,CAAbI,aAAa;IACbC,eAAe,GAAAL,gBAAA,CAAfK,eAAe;IACfC,oBAAoB,GAAAN,gBAAA,CAApBM,oBAAoB;EAGtB,IAAAC,UAAA,GAII,IAAA7F,sBAAQ,EAAC,CAAC;IAFOI,OAAO,GAAAyF,UAAA,CAD1B3F,KAAK,CACHC,aAAa,CAAIC,OAAO;EAI5B,OACEnE,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAA6F,IAAI;IACHC,KAAK,EAAE,CACL;MACEP,MAAM,EAAEmB,SAAS,CAACnB,MAAM,GAAG,CAAC;MAC5BG,KAAK,EAAEgB,SAAS,CAAChB,KAAK,GAAG;IAC3B,CAAC,EACD1B,OAAO,CAAC0C,SAAS,CACjB;IAAAR,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,GAED+C,mBAAmB,GAClBxJ,MAAA,YAAA+F,aAAA,CAAA/F,MAAA,YAAA6J,QAAA,QACE7J,MAAA,YAAA+F,aAAA,CAAChD,2BAA2B;IAACkD,KAAK,EAAEC,MAAM,CAAC4D,+BAAgC;IAAAzD,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EAC9EzG,MAAA,YAAA+F,aAAA,CAAC1F,qBAAA,CAAA0J,oBAAoB;IACnBN,aAAa,EAAEA,aAAc;IAC7BxD,KAAK,EAAEC,MAAM,CAAC8D,yBAA0B;IAAA3D,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,CACzC,CACD,CAAC,GAEHzG,MAAA,YAAA+F,aAAA,CAAA/F,MAAA,YAAA6J,QAAA,QACE7J,MAAA,YAAA+F,aAAA,CAAC3F,aAAA,CAAA6J,YAAY;IACXC,OAAO,EAAE,SAAAA,QAAAC,KAAA,EAAgC;MAAA,IAAdC,KAAK,GAAAD,KAAA,CAApBE,WAAW,CAAID,KAAK;MAC9BE,OAAO,CAACC,IAAI,CAACH,KAAK,CAAC;MACnBV,eAAe,CAAC,KAAK,CAAC;MACtBC,oBAAoB,CAAC,IAAI,CAAC;IAC5B,CAAE;IACFa,SAAS,EAAE,SAAAA,UAAA;MAAA,OAAMd,eAAe,CAAC,KAAK,CAAC;IAAA,CAAC;IACxCe,WAAW,EAAE,SAAAA,YAAA;MAAA,OAAMf,eAAe,CAAC,IAAI,CAAC;IAAA,CAAC;IACzCgB,UAAU,EAAE7D,SAAS,CAAC6D,UAAW;IACjCzE,KAAK,EAAE,CACLc,YAAY,EACZ;MACErB,MAAM,EAAEmB,SAAS,CAACnB,MAAM,GAAG,CAAC;MAC5BG,KAAK,EAAEgB,SAAS,CAAChB,KAAK,GAAG;IAC3B,CAAC,EACD1B,OAAO,CAACwD,KAAK,CACb;IACFgD,GAAG,EAAE9D,SAAS,CAACqB,GAAI;IAAA7B,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,CACpB,CAAC,EACD8C,cAAc,IACbvJ,MAAA,YAAA+F,aAAA,CAAC5F,YAAA,CAAA6F,IAAI;IAACC,KAAK,EAAEC,MAAM,CAAC0E,8BAA+B;IAAAvE,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,GACjDzG,MAAA,YAAA+F,aAAA,CAAC/C,qBAAqB;IAACiD,KAAK,EAAEC,MAAM,CAAC2E,0BAA2B;IAAAxE,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC9D,CAER,CAEA,CAAC;AAEX,CAAC;AAED,IAAMqE,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAAsD,EACtDC,SAAsD,EACnD;EACH,IACeC,eAAe,GAM1BF,SAAS,CANXlI,WAAW;IACOqI,oBAAoB,GAKpCH,SAAS,CALXjI,gBAAgB;IACRqI,UAAU,GAIhBJ,SAAS,CAJX9H,MAAM;IACGmI,WAAW,GAGlBL,SAAS,CAHX5H,OAAO;IACSkI,kBAAkB,GAEhCN,SAAS,CAFXO,cAAc;IACNC,UAAU,GAChBR,SAAS,CADXnH,MAAM;EAER,IACe4H,eAAe,GAM1BR,SAAS,CANXnI,WAAW;IACO4I,oBAAoB,GAKpCT,SAAS,CALXlI,gBAAgB;IACR4I,UAAU,GAIhBV,SAAS,CAJX/H,MAAM;IACG0I,WAAW,GAGlBX,SAAS,CAHX7H,OAAO;IACSyI,kBAAkB,GAEhCZ,SAAS,CAFXM,cAAc;IACNO,UAAU,GAChBb,SAAS,CADXpH,MAAM;EAGR,IAAMkI,YAAY,GAChB,CAAAV,WAAW,oBAAXA,WAAW,CAAEnD,EAAE,OAAK0D,WAAW,oBAAXA,WAAW,CAAE1D,EAAE,KACnC,MAAGmD,WAAW,oBAAXA,WAAW,CAAEW,UAAU,YAAUJ,WAAW,oBAAXA,WAAW,CAAEI,UAAU,CAAE;EAC/D,IAAI,CAACD,YAAY,EAAE,OAAO,KAAK;EAE/B,IAAME,gBAAgB,GACpBf,eAAe,CAAChG,MAAM,KAAKuG,eAAe,CAACvG,MAAM,IAAIgG,eAAe,CAAC,CAAC,CAAC,KAAKO,eAAe,CAAC,CAAC,CAAC;EAChG,IAAI,CAACQ,gBAAgB,EAAE,OAAO,KAAK;EAEnC,IAAMC,qBAAqB,GAAGf,oBAAoB,KAAKO,oBAAoB;EAC3E,IAAI,CAACQ,qBAAqB,EAAE,OAAO,KAAK;EAExC,IAAMC,WAAW,GACff,UAAU,CAAClG,MAAM,KAAKyG,UAAU,CAACzG,MAAM,IACvCkG,UAAU,CAACgB,KAAK,CACd,UAACxE,KAAK,EAAEyE,KAAK;IAAA,OACX,IAAAC,0BAAmB,EAAC1E,KAAK,CAACvC,SAAS,CAAC,KAAK,IAAAiH,0BAAmB,EAACX,UAAU,CAACU,KAAK,CAAC,CAAChH,SAAS,CAAC,IACzF,IAAAiH,0BAAmB,EAAC1E,KAAK,CAACtC,SAAS,CAAC,KAAK,IAAAgH,0BAAmB,EAACX,UAAU,CAACU,KAAK,CAAC,CAAC/G,SAAS,CAAC;EAAA,CAC7F,CAAC;EACH,IAAI,CAAC6G,WAAW,EAAE,OAAO,KAAK;EAE9B,IAAMI,WAAW,GACff,UAAU,CAACtG,MAAM,KAAK4G,UAAU,CAAC5G,MAAM,IACvCsG,UAAU,CAACY,KAAK,CACd,UAACxE,KAAK,EAAEyE,KAAK;IAAA,OACX,IAAAC,0BAAmB,EAAC1E,KAAK,CAACvC,SAAS,CAAC,KAAK,IAAAiH,0BAAmB,EAACR,UAAU,CAACO,KAAK,CAAC,CAAChH,SAAS,CAAC,IACzF,IAAAiH,0BAAmB,EAAC1E,KAAK,CAACtC,SAAS,CAAC,KAAK,IAAAgH,0BAAmB,EAACR,UAAU,CAACO,KAAK,CAAC,CAAC/G,SAAS,CAAC;EAAA,CAC7F,CAAC;EACH,IAAI,CAACiH,WAAW,EAAE,OAAO,KAAK;EAE9B,IAAMC,iBAAiB,GACrBC,IAAI,CAACC,SAAS,CAACpB,kBAAkB,CAAC,KAAKmB,IAAI,CAACC,SAAS,CAACb,kBAAkB,CAAC;EAC3E,IAAI,CAACW,iBAAiB,EAAE,OAAO,KAAK;EAEpC,OAAO,IAAI;AACb,CAAC;AAED,IAAMG,eAAe,GAAGC,iBAAK,CAACC,IAAI,CAACnK,kBAAkB,EAAEqI,QAAQ,CAA8B;AAStF,IAAM+B,OAAO,GAAG,SAAVA,OAAOA,CAGlBnK,KAAuC,EACpC;EACH,IAC4BoK,4BAA4B,GAkBpDpK,KAAK,CAlBPC,wBAAwB;IACboK,aAAa,GAiBtBrK,KAAK,CAjBPE,SAAS;IACIoK,eAAe,GAgB1BtK,KAAK,CAhBPG,WAAW;IACXC,gBAAgB,GAedJ,KAAK,CAfPI,gBAAgB;IACamK,+BAA+B,GAc1DvK,KAAK,CAdPK,2BAA2B;IACJmK,yBAAyB,GAa9CxK,KAAK,CAbPM,qBAAqB;IACbmK,UAAU,GAYhBzK,KAAK,CAZPO,MAAM;IACGmK,WAAW,GAWlB1K,KAAK,CAXPS,OAAO;IACSkK,kBAAkB,GAUhC3K,KAAK,CAVP4I,cAAc;IACDgC,eAAe,GAS1B5K,KAAK,CATPU,WAAW;IACFmK,WAAW,GAQlB7K,KAAK,CARPW,OAAO;IACImK,aAAa,GAOtB9K,KAAK,CAPPY,SAAS;IACKmK,gBAAgB,GAM5B/K,KAAK,CANPa,YAAY;IACAmK,cAAc,GAKxBhL,KAAK,CALPe,UAAU;IACUkK,sBAAsB,GAIxCjL,KAAK,CAJPgB,kBAAkB;IACNkK,cAAc,GAGxBlL,KAAK,CAHPiB,UAAU;IACFkK,UAAU,GAEhBnL,KAAK,CAFPkB,MAAM;IACUkK,kBAAkB,GAChCpL,KAAK,CADPmB,cAAc;EAGhB,IAAAkK,qBAAA,GACE,IAAAC,2CAAsB,EAAqB,CAAC;IADtCxK,WAAW,GAAAuK,qBAAA,CAAXvK,WAAW;IAAsByK,yBAAyB,GAAAF,qBAAA,CAA7CrK,kBAAkB;EAEvC,IAAAwK,kBAAA,GAWI,IAAAC,iCAAiB,EAAqB,CAAC;IAV9BC,gBAAgB,GAAAF,kBAAA,CAA3BtL,SAAS;IACIyL,kBAAkB,GAAAH,kBAAA,CAA/BrL,WAAW;IACHyL,aAAa,GAAAJ,kBAAA,CAArBjL,MAAM;IACGsL,cAAc,GAAAL,kBAAA,CAAvB/K,OAAO;IACMqL,kBAAkB,GAAAN,kBAAA,CAA/B9K,WAAW;IACFqL,cAAc,GAAAP,kBAAA,CAAvB7K,OAAO;IACIqL,gBAAgB,GAAAR,kBAAA,CAA3B5K,SAAS;IACKqL,mBAAmB,GAAAT,kBAAA,CAAjC3K,YAAY;IACAqL,iBAAiB,GAAAV,kBAAA,CAA7BvK,UAAU;IACFkL,aAAa,GAAAX,kBAAA,CAArBtK,MAAM;EAER,IAAAkL,mBAAA,GAOI,IAAAC,mCAAkB,EAAqB,CAAC;IANhBC,+BAA+B,GAAAF,mBAAA,CAAzDnM,wBAAwB;IACKsM,kCAAkC,GAAAH,mBAAA,CAA/D/L,2BAA2B;IACJmM,4BAA4B,GAAAJ,mBAAA,CAAnD9L,qBAAqB;IACrBE,+BAA+B,GAAA4L,mBAAA,CAA/B5L,+BAA+B;IACfiM,qBAAqB,GAAAL,mBAAA,CAArCxD,cAAc;IACE8D,sBAAsB,GAAAN,mBAAA,CAAtCjL,cAAc;EAEhB,IAAAwL,kBAAA,GAA0C,IAAAC,iCAAiB,EAAC,CAAC;IAAzCC,iBAAiB,GAAAF,kBAAA,CAA7B5L,UAAU;EAElB,IAAMR,MAAM,GAAGkK,UAAU,IAAImB,aAAa;EAC1C,IAAM1K,MAAM,GAAGiK,UAAU,IAAIgB,aAAa;EAC1C,IAAM1L,OAAO,GAAGiK,WAAW,IAAImB,cAAc;EAE7C,IAAI,CAACtL,MAAM,CAACgC,MAAM,IAAI,CAACrB,MAAM,CAACqB,MAAM,EAAE,OAAO,IAAI;EAEjD,IAAMtC,wBAAwB,GAAGmK,4BAA4B,IAAIkC,+BAA+B;EAChG,IAAMpM,SAAS,GAAGmK,aAAa,IAAIqB,gBAAgB;EACnD,IAAMvL,WAAW,GAAGmK,eAAe,IAAIqB,kBAAkB;EACzD,IAAMjL,WAAW,GAAGkK,eAAe,IAAIkB,kBAAkB;EACzD,IAAMlL,SAAS,GAAGkK,aAAa,IAAIkB,gBAAgB;EACnD,IAAMrL,OAAO,GAAGkK,WAAW,IAAIkB,cAAc;EAC7C,IAAMlL,YAAY,GAChB,OAAOkK,gBAAgB,KAAK,SAAS,GAAGA,gBAAgB,GAAGkB,mBAAmB;EAChF,IAAMjL,kBAAkB,GAAGiK,sBAAsB,IAAIM,yBAAyB;EAC9E,IAAMxK,UAAU,GAAGiK,cAAc,IAAI6B,iBAAiB;EACtD,IAAM5L,UAAU,GAAGiK,cAAc,IAAIgB,iBAAiB;EACtD,IAAM/K,cAAc,GAAGiK,kBAAkB,IAAIsB,sBAAsB;EACnE,IAAMrM,2BAA2B,GAC/BkK,+BAA+B,IAAIgC,kCAAkC;EACvE,IAAMjM,qBAAqB,GAAGkK,yBAAyB,IAAIgC,4BAA4B;EACvF,IAAM5D,cAAc,GAAG+B,kBAAkB,IAAI8B,qBAAqB;EAElE,OACEnP,MAAA,YAAA+F,aAAA,CAAC2G,eAAe;IAEZ/J,wBAAwB,EAAxBA,wBAAwB;IACxBC,SAAS,EAATA,SAAS;IACT4M,SAAS,EAAErM,OAAO,oBAAPA,OAAO,CAAEsM,GAAG;IACvB5M,WAAW,EAAXA,WAAW;IACXC,gBAAgB,EAAEA,gBAAgB,IAAI,CAAC,EAACK,OAAO,YAAPA,OAAO,CAAEuM,WAAW;IAC5D3M,2BAA2B,EAA3BA,2BAA2B;IAC3BC,qBAAqB,EAArBA,qBAAqB;IACrBC,MAAM,EAANA,MAAM;IACNC,+BAA+B,EAA/BA,+BAA+B;IAC/BC,OAAO,EAAPA,OAAO;IACPmI,cAAc,EAAdA,cAAc;IACdlI,WAAW,EAAXA,WAAW;IACXC,OAAO,EAAPA,OAAO;IACPC,SAAS,EAATA,SAAS;IACTC,YAAY,EAAZA,YAAY;IACZC,WAAW,EAAXA,WAAW;IACXC,UAAU,EAAVA,UAAU;IACVC,kBAAkB,EAAlBA,kBAAkB;IAClBC,UAAU,EAAVA,UAAU;IACVC,MAAM,EAANA,MAAM;IACNC,cAAc,EAAdA,cAAc;IAAAwC,MAAA,EAAApF,KAAA;IAAAqF,QAAA;MAAAC,QAAA,EAAArF,YAAA;MAAAsF,UAAA;MAAAC,YAAA;IAAA;EAAA,CAEjB,CAAC;AAEN,CAAC;AAACkJ,OAAA,CAAA9C,OAAA,GAAAA,OAAA;AAEF,IAAM3G,MAAM,GAAG8C,uBAAU,CAAC4G,MAAM,CAAC;EAC/BC,aAAa,EAAE;IAAEC,QAAQ,EAAE;EAAG,CAAC;EAC/B1L,gBAAgB,EAAE;IAChB2L,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxB7J,aAAa,EAAE,KAAK;IACpB8J,QAAQ,EAAE,MAAM;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDtI,cAAc,EAAE;IACduI,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,MAAM;IACfjK,aAAa,EAAE,KAAK;IACpBkK,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE;EACX,CAAC;EACDxH,mBAAmB,EAAE;IAAEqH,UAAU,EAAE,QAAQ;IAAEI,IAAI,EAAE,CAAC;IAAEF,cAAc,EAAE;EAAS,CAAC;EAChFvG,+BAA+B,EAAE;IAC/B0G,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ,CAAC;EACD9F,8BAA8B,EAAE;IAC9BlF,MAAM,EAAE,MAAM;IACd2K,cAAc,EAAE,QAAQ;IACxBK,QAAQ,EAAE,UAAU;IACpB7K,KAAK,EAAE;EACT,CAAC;EACDgF,0BAA0B,EAAE;IAC1BsF,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE,QAAQ;IACxBK,QAAQ,EAAE;EACZ,CAAC;EACD1G,yBAAyB,MAAAxB,SAAA,iBACpBQ,uBAAU,CAACC,kBAAkB;IAChCkH,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAAQ,EACzB;EACDxI,mBAAmB,EAAE;IACnBsI,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE,QAAQ;IACxBM,MAAM,EAAE;EACV,CAAC;EACD7I,cAAc,EAAE;IAAE8I,KAAK,EAAE,SAAS;IAAEd,QAAQ,EAAE,EAAE;IAAEe,UAAU,EAAE;EAAM;AACtE,CAAC,CAAC;AAEFhE,OAAO,CAACiE,WAAW,GAAG,iCAAiC"}
@@ -16,7 +16,6 @@ var _duration = _interopRequireDefault(require("dayjs/plugin/duration"));
16
16
  var _AttachmentPickerItem = require("./components/AttachmentPickerItem");
17
17
  var _AttachmentPickerContext = require("../../contexts/attachmentPickerContext/AttachmentPickerContext");
18
18
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
19
- var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
20
19
  var _useViewport2 = require("../../hooks/useViewport");
21
20
  var _native = require("../../native");
22
21
  var _this = this,
@@ -38,6 +37,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
38
37
  attachmentPickerErrorButtonText = props.attachmentPickerErrorButtonText,
39
38
  AttachmentPickerErrorImage = props.AttachmentPickerErrorImage,
40
39
  attachmentPickerErrorText = props.attachmentPickerErrorText,
40
+ AttachmentPickerIOSSelectMorePhotos = props.AttachmentPickerIOSSelectMorePhotos,
41
41
  ImageOverlaySelectedComponent = props.ImageOverlaySelectedComponent,
42
42
  numberOfAttachmentImagesToLoadPerCall = props.numberOfAttachmentImagesToLoadPerCall,
43
43
  numberOfAttachmentPickerImageColumns = props.numberOfAttachmentPickerImageColumns,
@@ -82,8 +82,6 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
82
82
  photos = _useState10[0],
83
83
  setPhotos = _useState10[1];
84
84
  var attemptedToLoadPhotosOnOpenRef = (0, _react.useRef)(false);
85
- var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
86
- t = _useTranslationContex.t;
87
85
  var getMorePhotos = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
88
86
  var endCursor, results;
89
87
  return _regenerator["default"].wrap(function _callee$(_context) {
@@ -251,17 +249,15 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
251
249
  __self: _this,
252
250
  __source: {
253
251
  fileName: _jsxFileName,
254
- lineNumber: 310,
252
+ lineNumber: 301,
255
253
  columnNumber: 9
256
254
  }
257
- }, iOSLimited && _react["default"].createElement(_reactNative.Button, {
258
- onPress: _native.iOS14RefreshGallerySelection,
259
- title: t('Select More Photos'),
255
+ }, iOSLimited && _react["default"].createElement(AttachmentPickerIOSSelectMorePhotos, {
260
256
  __self: _this,
261
257
  __source: {
262
258
  fileName: _jsxFileName,
263
- lineNumber: 327,
264
- columnNumber: 13
259
+ lineNumber: 317,
260
+ columnNumber: 26
265
261
  }
266
262
  }), _react["default"].createElement(_bottomSheet.BottomSheetFlatList, {
267
263
  contentContainerStyle: [styles.container, {
@@ -279,7 +275,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
279
275
  __self: _this,
280
276
  __source: {
281
277
  fileName: _jsxFileName,
282
- lineNumber: 329,
278
+ lineNumber: 318,
283
279
  columnNumber: 11
284
280
  }
285
281
  })), selectedPicker === 'images' && photoError && _react["default"].createElement(AttachmentPickerError, {
@@ -290,7 +286,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
290
286
  __self: _this,
291
287
  __source: {
292
288
  fileName: _jsxFileName,
293
- lineNumber: 344,
289
+ lineNumber: 333,
294
290
  columnNumber: 11
295
291
  }
296
292
  }));