stream-chat-react-native-core 5.22.0-beta.2 → 5.22.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Attachment/FileAttachment.js +10 -7
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +28 -25
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +0 -4
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/hooks/useViewport.js +47 -0
- package/lib/commonjs/hooks/useViewport.js.map +1 -0
- package/lib/commonjs/i18n/fr.json +30 -30
- package/lib/commonjs/i18n/hi.json +30 -30
- package/lib/commonjs/i18n/it.json +30 -30
- package/lib/commonjs/i18n/nl.json +30 -30
- package/lib/commonjs/i18n/ru.json +30 -30
- package/lib/commonjs/i18n/tr.json +30 -30
- package/lib/commonjs/utils/utils.js +1 -15
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +10 -7
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +28 -25
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +0 -4
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/hooks/useViewport.js +47 -0
- package/lib/module/hooks/useViewport.js.map +1 -0
- package/lib/module/i18n/fr.json +30 -30
- package/lib/module/i18n/hi.json +30 -30
- package/lib/module/i18n/it.json +30 -30
- package/lib/module/i18n/nl.json +30 -30
- package/lib/module/i18n/ru.json +30 -30
- package/lib/module/i18n/tr.json +30 -30
- package/lib/module/utils/utils.js +1 -15
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +0 -3
- package/lib/typescript/hooks/useViewport.d.ts +11 -0
- package/lib/typescript/i18n/fr.json +30 -30
- package/lib/typescript/i18n/hi.json +30 -30
- package/lib/typescript/i18n/it.json +30 -30
- package/lib/typescript/i18n/nl.json +30 -30
- package/lib/typescript/i18n/ru.json +30 -30
- package/lib/typescript/i18n/tr.json +30 -30
- package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
- package/lib/typescript/utils/utils.d.ts +0 -2
- package/package.json +1 -1
- package/src/components/Attachment/FileAttachment.tsx +12 -3
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +3 -1
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -3
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +4 -3
- package/src/components/ImageGallery/ImageGallery.tsx +8 -4
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +5 -3
- package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +5 -3
- package/src/components/ImageGallery/components/ImageGrid.tsx +2 -1
- package/src/components/Indicators/EmptyStateIndicator.tsx +4 -5
- package/src/components/Message/MessageSimple/MessageContent.tsx +3 -1
- package/src/components/MessageList/InlineUnreadIndicator.tsx +2 -1
- package/src/components/MessageOverlay/MessageActionList.tsx +3 -11
- package/src/components/MessageOverlay/MessageActionListItem.tsx +5 -2
- package/src/components/MessageOverlay/MessageOverlay.tsx +5 -3
- package/src/components/Thread/components/ThreadFooterComponent.tsx +2 -1
- package/src/contexts/themeContext/utils/theme.ts +0 -7
- package/src/hooks/useViewport.ts +41 -0
- package/src/i18n/fr.json +30 -30
- package/src/i18n/hi.json +30 -30
- package/src/i18n/it.json +30 -30
- package/src/i18n/nl.json +30 -30
- package/src/i18n/ru.json +30 -30
- package/src/i18n/tr.json +30 -30
- package/src/utils/utils.ts +0 -13
- package/src/version.json +1 -1
package/lib/module/i18n/nl.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"1 Reply": "1 Antwoord",
|
|
3
3
|
"1 Thread Reply": "1 thread antwoord",
|
|
4
4
|
"Allow access to your Gallery": "Geef toegang tot uw galerij",
|
|
5
|
-
"Also send to channel": "",
|
|
5
|
+
"Also send to channel": "Stuur ook naar kanaal",
|
|
6
6
|
"Are you sure you want to permanently delete this message?": "Weet u zeker dat u dit bericht definitief wilt verwijderen?",
|
|
7
7
|
"Block User": "Blokkeer Gebruiker",
|
|
8
8
|
"Cancel": "Annuleer",
|
|
@@ -12,62 +12,62 @@
|
|
|
12
12
|
"Delete Message": "Verwijder bericht",
|
|
13
13
|
"Do you want to send a copy of this message to a moderator for further investigation?": "Wil je een kopie van dit bericht naar een moderator sturen voor verder onderzoek?",
|
|
14
14
|
"Edit Message": "Pas bericht aan",
|
|
15
|
-
"Editing Message": "",
|
|
15
|
+
"Editing Message": "Bericht aanpassen",
|
|
16
16
|
"Emoji matching": "Emoji-overeenkomsten",
|
|
17
|
-
"Empty message...": "",
|
|
18
|
-
"Error loading": "",
|
|
19
|
-
"Error loading channel list...": "",
|
|
20
|
-
"Error loading messages for this channel...": "",
|
|
21
|
-
"Error while loading, please reload/refresh": "",
|
|
17
|
+
"Empty message...": "Leeg bericht...",
|
|
18
|
+
"Error loading": "Probleem bij het laden",
|
|
19
|
+
"Error loading channel list...": "Probleem bij het laden van de kanalen...",
|
|
20
|
+
"Error loading messages for this channel...": "Probleem bij het laden van de berichten in dit kanaal...",
|
|
21
|
+
"Error while loading, please reload/refresh": "Probleem bij het laden, probeer opnieuw",
|
|
22
22
|
"File type not supported": "Bestandstype niet ondersteund",
|
|
23
23
|
"Flag": "Markeer",
|
|
24
24
|
"Flag Message": "Markeer bericht",
|
|
25
25
|
"Flag action failed either due to a network issue or the message is already flagged": "Rapporteren mislukt door een netwerk fout of het berich is al gerapporteerd",
|
|
26
|
-
"How about sending your first message to a friend?": "",
|
|
26
|
+
"How about sending your first message to a friend?": "Wat dacht je ervan om je eerste bericht naar een vriend te sturen?",
|
|
27
27
|
"Instant Commands": "Directe Opdrachten",
|
|
28
|
-
"Let's start chatting!": "",
|
|
29
|
-
"Links are disabled": "",
|
|
30
|
-
"Loading channels...": "",
|
|
31
|
-
"Loading messages...": "",
|
|
32
|
-
"Loading...": "",
|
|
33
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
34
|
-
"Message Reactions": "",
|
|
35
|
-
"Message deleted": "",
|
|
28
|
+
"Let's start chatting!": "Laten we beginnen met chatten!",
|
|
29
|
+
"Links are disabled": "Het versturen van links staat uit",
|
|
30
|
+
"Loading channels...": "Kanalen aan het laden...",
|
|
31
|
+
"Loading messages...": "Berichten aan het laden...",
|
|
32
|
+
"Loading...": "Aan het laden...",
|
|
33
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Maximale uploadlimiet voor bestandsgrootte bereikt. Upload een bestand van minder dan {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
|
|
34
|
+
"Message Reactions": "Bericht Reacties",
|
|
35
|
+
"Message deleted": "Bericht verwijderd",
|
|
36
36
|
"Message flagged": "Bericht gemarkeerd",
|
|
37
37
|
"Mute User": "Gebruiker dempen",
|
|
38
|
-
"Not supported": "",
|
|
39
|
-
"Nothing yet...": "",
|
|
38
|
+
"Not supported": "niet ondersteund",
|
|
39
|
+
"Nothing yet...": "Nog niets...",
|
|
40
40
|
"Ok": "Oké",
|
|
41
|
-
"Only visible to you": "",
|
|
41
|
+
"Only visible to you": "Alleen zichtbaar voor jou",
|
|
42
42
|
"Photo": "Foto",
|
|
43
43
|
"Photos and Videos": "Foto's en video's",
|
|
44
44
|
"Pin to Conversation": "Vastmaken aan gesprek",
|
|
45
45
|
"Pinned by": "Vastgemaakt door",
|
|
46
46
|
"Please enable access to your photos and videos so you can share them.": "Schakel toegang tot uw foto's en video's in zodat u ze kunt delen.",
|
|
47
|
-
"Please select a channel first": "",
|
|
48
|
-
"Reconnecting...": "",
|
|
47
|
+
"Please select a channel first": "Selecteer eerst een kanaal",
|
|
48
|
+
"Reconnecting...": "Opnieuw Verbinding Maken...",
|
|
49
49
|
"Reply": "Antwoord",
|
|
50
|
-
"Reply to Message": "",
|
|
50
|
+
"Reply to Message": "Beantwoord bericht",
|
|
51
51
|
"Resend": "Opnieuw versturen",
|
|
52
|
-
"Search GIFs": "",
|
|
52
|
+
"Search GIFs": "Zoek GIF's",
|
|
53
53
|
"Select More Photos": "Selecteer Meer foto's",
|
|
54
|
-
"Send a message": "",
|
|
55
|
-
"Sending links is not allowed in this conversation": "",
|
|
56
|
-
"Slow mode ON": "",
|
|
54
|
+
"Send a message": "Stuur een bericht",
|
|
55
|
+
"Sending links is not allowed in this conversation": "In dit gesprek is het niet toegestaan links te versturen",
|
|
56
|
+
"Slow mode ON": "Langzame modus aan",
|
|
57
57
|
"The message has been reported to a moderator.": "Het bericht is gerapporteerd aan een moderator.",
|
|
58
58
|
"Thread Reply": "Discussie beantwoorden",
|
|
59
59
|
"Unblock User": "Deblokkeer gebruiker",
|
|
60
60
|
"Unknown User": "Onbekende gebruiker",
|
|
61
61
|
"Unmute User": "Dempen van gebruiker opheffen",
|
|
62
62
|
"Unpin from Conversation": "Losmaken van gesprek",
|
|
63
|
-
"Unread Messages": "",
|
|
63
|
+
"Unread Messages": "Ongelezen Berichten",
|
|
64
64
|
"Video": "Video",
|
|
65
|
-
"You": "",
|
|
66
|
-
"You can't send messages in this channel": "",
|
|
65
|
+
"You": "U",
|
|
66
|
+
"You can't send messages in this channel": "Je kan geen berichten sturen in dit kanaal",
|
|
67
67
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} en {{ nonSelfUserLength }} anderen zijn aan het typen",
|
|
68
68
|
"{{ index }} of {{ photoLength }}": "{{ index }} van {{ photoLength }}",
|
|
69
69
|
"{{ replyCount }} Replies": "{{ replyCount }} Antwoorden",
|
|
70
70
|
"{{ replyCount }} Thread Replies": "{{replyCount}} Discussiereacties",
|
|
71
71
|
"{{ user }} is typing": "{{ user }} is aan het typen",
|
|
72
|
-
"🏙 Attachment...": ""
|
|
72
|
+
"🏙 Attachment...": "🏙 Bijlage..."
|
|
73
73
|
}
|
package/lib/module/i18n/ru.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"1 Reply": "1 Ответ",
|
|
3
3
|
"1 Thread Reply": "1 тема Ответить",
|
|
4
4
|
"Allow access to your Gallery": "Разрешить доступ к вашей галерее",
|
|
5
|
-
"Also send to channel": "",
|
|
5
|
+
"Also send to channel": "Также отправить на канал",
|
|
6
6
|
"Are you sure you want to permanently delete this message?": "Вы действительно хотите удалить это сообщение без возможности восстановления?",
|
|
7
7
|
"Block User": "Заблокировать пользователя",
|
|
8
8
|
"Cancel": "Отмена",
|
|
@@ -12,62 +12,62 @@
|
|
|
12
12
|
"Delete Message": "Удалить сообщение",
|
|
13
13
|
"Do you want to send a copy of this message to a moderator for further investigation?": "Вы хотите отправить копию этого сообщения модератору для дальнейшего изучения?",
|
|
14
14
|
"Edit Message": "Редактировать сообщение",
|
|
15
|
-
"Editing Message": "",
|
|
15
|
+
"Editing Message": "Редактирование сообщения",
|
|
16
16
|
"Emoji matching": "Соответствие эмодзи",
|
|
17
|
-
"Empty message...": "",
|
|
18
|
-
"Error loading": "",
|
|
19
|
-
"Error loading channel list...": "",
|
|
20
|
-
"Error loading messages for this channel...": "",
|
|
21
|
-
"Error while loading, please reload/refresh": "",
|
|
17
|
+
"Empty message...": "Пустое сообщение...",
|
|
18
|
+
"Error loading": "Ошибка при загрузке",
|
|
19
|
+
"Error loading channel list...": "Ошибка загрузки списка каналов...",
|
|
20
|
+
"Error loading messages for this channel...": "Ошибка загрузки сообщений для этого канала...",
|
|
21
|
+
"Error while loading, please reload/refresh": "Ошибка загрузки, пожалуйста перезагрузите или обновите",
|
|
22
22
|
"File type not supported": "Тип файла не поддерживается",
|
|
23
23
|
"Flag": "Пометить",
|
|
24
24
|
"Flag Message": "Пометить сообщение",
|
|
25
25
|
"Flag action failed either due to a network issue or the message is already flagged": "Не удалось отправить жалобу. Возможные причины: проблема с подключением к интернету или ваша жалоба уже была принята.",
|
|
26
|
-
"How about sending your first message to a friend?": "",
|
|
26
|
+
"How about sending your first message to a friend?": "Как насчет отправки первого сообщения другу?",
|
|
27
27
|
"Instant Commands": "Мгновенные Команды",
|
|
28
|
-
"Let's start chatting!": "",
|
|
29
|
-
"Links are disabled": "",
|
|
30
|
-
"Loading channels...": "",
|
|
31
|
-
"Loading messages...": "",
|
|
32
|
-
"Loading...": "",
|
|
33
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
34
|
-
"Message Reactions": "",
|
|
35
|
-
"Message deleted": "",
|
|
28
|
+
"Let's start chatting!": "Давайте начнем общаться!",
|
|
29
|
+
"Links are disabled": "Ссылки отключены",
|
|
30
|
+
"Loading channels...": "Загружаю каналы...",
|
|
31
|
+
"Loading messages...": "Загружаю сообщения...",
|
|
32
|
+
"Loading...": "Загружаю...",
|
|
33
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Достигнут предел максимального размера файла для загрузки. Загрузите файл размером менее {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} МБ.",
|
|
34
|
+
"Message Reactions": "Сообщения Реакции",
|
|
35
|
+
"Message deleted": "Сообщение удалено",
|
|
36
36
|
"Message flagged": "Сообщение отмечено",
|
|
37
37
|
"Mute User": "Отключить пользователя",
|
|
38
|
-
"Not supported": "",
|
|
39
|
-
"Nothing yet...": "",
|
|
38
|
+
"Not supported": "не поддерживается",
|
|
39
|
+
"Nothing yet...": "Пока ничего нет...",
|
|
40
40
|
"Ok": "Oк",
|
|
41
|
-
"Only visible to you": "",
|
|
41
|
+
"Only visible to you": "Видно только вам",
|
|
42
42
|
"Photo": "Фото",
|
|
43
43
|
"Photos and Videos": "Фото и видео",
|
|
44
44
|
"Pin to Conversation": "Закрепить к беседе",
|
|
45
45
|
"Pinned by": "Закреплено пользователем",
|
|
46
46
|
"Please enable access to your photos and videos so you can share them.": "Разрешите доступ к своим фотографиям и видео, чтобы вы могли ими поделиться.",
|
|
47
|
-
"Please select a channel first": "",
|
|
48
|
-
"Reconnecting...": "",
|
|
47
|
+
"Please select a channel first": "Пожалуйста, сначала выберите канал",
|
|
48
|
+
"Reconnecting...": "Переподключение...",
|
|
49
49
|
"Reply": "Ответить",
|
|
50
|
-
"Reply to Message": "",
|
|
50
|
+
"Reply to Message": "Ответить на сообщение",
|
|
51
51
|
"Resend": "Отправить",
|
|
52
|
-
"Search GIFs": "",
|
|
52
|
+
"Search GIFs": "Поиск GIF",
|
|
53
53
|
"Select More Photos": "Выбрать больше фотографий",
|
|
54
|
-
"Send a message": "",
|
|
55
|
-
"Sending links is not allowed in this conversation": "",
|
|
56
|
-
"Slow mode ON": "",
|
|
54
|
+
"Send a message": "Отправить сообщение",
|
|
55
|
+
"Sending links is not allowed in this conversation": "Отправка ссылок недоступна в этом чате",
|
|
56
|
+
"Slow mode ON": "Медленный режим включен",
|
|
57
57
|
"The message has been reported to a moderator.": "Сообщение отправлено модератору.",
|
|
58
58
|
"Thread Reply": "Тема Ответить",
|
|
59
59
|
"Unblock User": "Разблокировать пользователя",
|
|
60
60
|
"Unknown User": "Неизвестный пользователь",
|
|
61
61
|
"Unmute User": "Включить микрофон",
|
|
62
62
|
"Unpin from Conversation": "Открепить от беседы",
|
|
63
|
-
"Unread Messages": "",
|
|
63
|
+
"Unread Messages": "Непрочитанные Сообщения",
|
|
64
64
|
"Video": "видео",
|
|
65
|
-
"You": "",
|
|
66
|
-
"You can't send messages in this channel": "",
|
|
65
|
+
"You": "Вы",
|
|
66
|
+
"You can't send messages in this channel": "Вы не можете отправлять сообщения в этот канал",
|
|
67
67
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} и еще {{ nonSelfUserLength }} пишут",
|
|
68
68
|
"{{ index }} of {{ photoLength }}": "{{ index }} из {{ photoLength }}",
|
|
69
69
|
"{{ replyCount }} Replies": "{{ replyCount }} Ответов",
|
|
70
70
|
"{{ replyCount }} Thread Replies": "{{replyCount}} Ответы в темах",
|
|
71
71
|
"{{ user }} is typing": "{{ user }} пишет",
|
|
72
|
-
"🏙 Attachment...": ""
|
|
72
|
+
"🏙 Attachment...": "🏙 Вложение..."
|
|
73
73
|
}
|
package/lib/module/i18n/tr.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"1 Reply": "1 Cevap",
|
|
3
3
|
"1 Thread Reply": "1 Konu Yanıtı",
|
|
4
4
|
"Allow access to your Gallery": "Galerinize erişime izin verin",
|
|
5
|
-
"Also send to channel": "",
|
|
5
|
+
"Also send to channel": "Kanala da gönder",
|
|
6
6
|
"Are you sure you want to permanently delete this message?": "Bu mesajı kalıcı olarak silmek istediğinizden emin misiniz?",
|
|
7
7
|
"Block User": "Kullanıcıyı engelle",
|
|
8
8
|
"Cancel": "İptal",
|
|
@@ -12,62 +12,62 @@
|
|
|
12
12
|
"Delete Message": "Mesajı Sil",
|
|
13
13
|
"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?",
|
|
14
14
|
"Edit Message": "Mesajı Düzenle",
|
|
15
|
-
"Editing Message": "",
|
|
15
|
+
"Editing Message": "Mesaj Düzenleniyor",
|
|
16
16
|
"Emoji matching": "Emoji eşleştirme",
|
|
17
|
-
"Empty message...": "",
|
|
18
|
-
"Error loading": "",
|
|
19
|
-
"Error loading channel list...": "",
|
|
20
|
-
"Error loading messages for this channel...": "",
|
|
21
|
-
"Error while loading, please reload/refresh": "",
|
|
17
|
+
"Empty message...": "Boş mesaj...",
|
|
18
|
+
"Error loading": "Yükleme hatası",
|
|
19
|
+
"Error loading channel list...": "Kanal listesi yüklenirken hata oluştu...",
|
|
20
|
+
"Error loading messages for this channel...": "Bu kanal için mesajlar yüklenirken hata oluştu...",
|
|
21
|
+
"Error while loading, please reload/refresh": "Yüklenirken hata oluştu, lütfen tekrar deneyiniz",
|
|
22
22
|
"File type not supported": "Dosya türü desteklenmiyor",
|
|
23
23
|
"Flag": "Raporla",
|
|
24
24
|
"Flag Message": "Mesajı Raporla",
|
|
25
25
|
"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.",
|
|
26
|
-
"How about sending your first message to a friend?": "",
|
|
26
|
+
"How about sending your first message to a friend?": "İlk mesajınızı bir arkadaşınıza göndermeye ne dersiniz?",
|
|
27
27
|
"Instant Commands": "Anlık Komutlar",
|
|
28
|
-
"Let's start chatting!": "",
|
|
29
|
-
"Links are disabled": "",
|
|
30
|
-
"Loading channels...": "",
|
|
31
|
-
"Loading messages...": "",
|
|
32
|
-
"Loading...": "",
|
|
33
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
34
|
-
"Message Reactions": "",
|
|
35
|
-
"Message deleted": "",
|
|
28
|
+
"Let's start chatting!": "Haydi sohbete başlayalım!",
|
|
29
|
+
"Links are disabled": "Bağlantılar devre dışı",
|
|
30
|
+
"Loading channels...": "Kanallar yükleniyor...",
|
|
31
|
+
"Loading messages...": "Mesajlar yükleniyor...",
|
|
32
|
+
"Loading...": "Yükleniyor...",
|
|
33
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Maksimum dosya boyutu yükleme sınırına ulaşıldı. Lütfen {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB'ın altında bir dosya yükleyin.",
|
|
34
|
+
"Message Reactions": "Mesaj Tepkileri",
|
|
35
|
+
"Message deleted": "Mesaj silindi",
|
|
36
36
|
"Message flagged": "Mesaj işaretlendi",
|
|
37
37
|
"Mute User": "Kullanıcıyı sessize al",
|
|
38
|
-
"Not supported": "",
|
|
39
|
-
"Nothing yet...": "",
|
|
38
|
+
"Not supported": "Desteklenmiyor",
|
|
39
|
+
"Nothing yet...": "Henüz değil...",
|
|
40
40
|
"Ok": "Tamam",
|
|
41
|
-
"Only visible to you": "",
|
|
41
|
+
"Only visible to you": "Sadece siz görebilirsiniz",
|
|
42
42
|
"Photo": "Fotoğraf",
|
|
43
43
|
"Photos and Videos": "Fotoğraflar ve Videolar",
|
|
44
44
|
"Pin to Conversation": "Konuşmaya sabitle",
|
|
45
45
|
"Pinned by": "Tarafından sabitlendi",
|
|
46
46
|
"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.",
|
|
47
|
-
"Please select a channel first": "",
|
|
48
|
-
"Reconnecting...": "",
|
|
47
|
+
"Please select a channel first": "Lütfen önce bir kanal seçiniz",
|
|
48
|
+
"Reconnecting...": "Yeniden Bağlanılıyor...",
|
|
49
49
|
"Reply": "Yanıtla",
|
|
50
|
-
"Reply to Message": "",
|
|
50
|
+
"Reply to Message": "Mesajı Yanıtla",
|
|
51
51
|
"Resend": "Yeniden gönder",
|
|
52
|
-
"Search GIFs": "",
|
|
52
|
+
"Search GIFs": "GIF Ara",
|
|
53
53
|
"Select More Photos": "Daha Fazla Fotoğraf Seçin",
|
|
54
|
-
"Send a message": "",
|
|
55
|
-
"Sending links is not allowed in this conversation": "",
|
|
56
|
-
"Slow mode ON": "",
|
|
54
|
+
"Send a message": "Mesaj gönder",
|
|
55
|
+
"Sending links is not allowed in this conversation": "Bu konuşmada bağlantı göndermek desteklenmiyor",
|
|
56
|
+
"Slow mode ON": "Yavaş Mod Açık",
|
|
57
57
|
"The message has been reported to a moderator.": "Mesaj moderatöre bildirildi.",
|
|
58
58
|
"Thread Reply": "Konu Yanıtı",
|
|
59
59
|
"Unblock User": "Kullanıcının engelini kaldır",
|
|
60
60
|
"Unknown User": "Bilinmeyen kullanıcı",
|
|
61
61
|
"Unmute User": "Kullanıcının sesini aç",
|
|
62
62
|
"Unpin from Conversation": "Sabitlemeyi kaldır",
|
|
63
|
-
"Unread Messages": "",
|
|
63
|
+
"Unread Messages": "Okunmamış Mesajlar",
|
|
64
64
|
"Video": "Video",
|
|
65
|
-
"You": "",
|
|
66
|
-
"You can't send messages in this channel": "",
|
|
65
|
+
"You": "Sen",
|
|
66
|
+
"You can't send messages in this channel": "Bu konuşmaya mesaj gönderemezsiniz",
|
|
67
67
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
|
|
68
68
|
"{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
|
|
69
69
|
"{{ replyCount }} Replies": "{{ replyCount }} Cevap",
|
|
70
70
|
"{{ replyCount }} Thread Replies": "{{responseCount}} Konu Cevapı",
|
|
71
71
|
"{{ user }} is typing": "{{ user }} yazıyor",
|
|
72
|
-
"🏙 Attachment...": ""
|
|
72
|
+
"🏙 Attachment...": "🏙 Ek..."
|
|
73
73
|
}
|
|
@@ -2,13 +2,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.
|
|
5
|
+
exports.urlRegex = exports.reduceMessagesToString = exports.queryUsersDebounced = exports.queryMembersDebounced = exports.makeImageCompatibleUrl = exports.isMentionTrigger = exports.isLocalUrl = exports.isEmojiTrigger = exports.isCommandTrigger = exports.getUrlWithoutParams = exports.getIndicatorTypeForFileState = exports.generateRandomId = exports.emojiRegex = exports.ProgressIndicatorTypes = exports.MessageStatusTypes = exports.FileState = exports.ACITriggerSettings = void 0;
|
|
6
6
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
7
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
8
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _reactNative = require("react-native");
|
|
12
11
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
13
12
|
var _compiled = require("../emoji-data/compiled");
|
|
14
13
|
var FileState = Object.freeze({
|
|
@@ -358,19 +357,6 @@ var isLocalUrl = function isLocalUrl(url) {
|
|
|
358
357
|
return url.indexOf('http') !== 0;
|
|
359
358
|
};
|
|
360
359
|
exports.isLocalUrl = isLocalUrl;
|
|
361
|
-
var vw = function vw(percentageWidth) {
|
|
362
|
-
var rounded = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
363
|
-
var value = _reactNative.Dimensions.get('window').width * (percentageWidth / 100);
|
|
364
|
-
return rounded ? Math.round(value) : value;
|
|
365
|
-
};
|
|
366
|
-
exports.vw = vw;
|
|
367
|
-
var vh = function vh(percentageHeight) {
|
|
368
|
-
var rounded = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
369
|
-
var height = _reactNative.Dimensions.get('window').height;
|
|
370
|
-
var value = height * (percentageHeight / 100);
|
|
371
|
-
return rounded ? Math.round(value) : value;
|
|
372
|
-
};
|
|
373
|
-
exports.vh = vh;
|
|
374
360
|
var generateRandomId = function generateRandomId() {
|
|
375
361
|
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
376
362
|
return a ? ((Number(a) ^ Math.random() * 16) >> Number(a) / 4).toString(16) : (1e7 + "-" + 1e3 + "-" + 4e3 + "-" + 8e3 + "-" + 1e11).replace(/[018]/g, generateRandomId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_debounce","_interopRequireDefault","_compiled","FileState","Object","freeze","FINISHED","NOT_SUPPORTED","UPLOAD_FAILED","UPLOADED","UPLOADING","exports","ProgressIndicatorTypes","IN_PROGRESS","INACTIVE","RETRY","MessageStatusTypes","FAILED","RECEIVED","SENDING","getIndicatorTypeForFileState","fileState","enableOfflineSupport","_indicatorMap","indicatorMap","_defineProperty2","defaultAutoCompleteSuggestionsLimit","defaultMentionAllAppUsersQuery","filters","options","sort","isUserResponse","user","undefined","getCommands","channel","_channel$getConfig","getConfig","commands","getMembers","members","state","values","length","filter","member","map","getWatchers","watchers","_toConsumableArray2","getMembersAndWatchers","users","concat","reduce","acc","cur","id","queryMembers","_ref","_asyncToGenerator2","_regenerator","mark","_callee","query","onReady","_options$limit","limit","response","_users","_args","arguments","wrap","_callee$","_context","prev","next","name","$autocomplete","sent","forEach","push","stop","_x","_x2","_x3","apply","queryMembersDebounced","debounce","leading","trailing","queryUsers","_ref2","_callee2","client","_options$limit2","_options$mentionAllAp","mentionAllAppUsersQuery","_users2","_args2","_callee2$","_context2","_extends2","$ne","userID","$or","_x4","_x5","_x6","queryUsersDebounced","isCommandTrigger","trigger","isEmojiTrigger","isMentionTrigger","ACITriggerSettings","_ref3","onMentionSelectItem","dataProvider","text","indexOf","_options$limit3","selectedCommands","command","_command$name","a","b","_a$name","_b$name","nameA","toLowerCase","nameB","result","slice","output","entity","caretPosition","key","type","_","compiledEmojis","emojiArray","names","some","includes","emoji","emojiLib","skin_variations","tone","index","unicode","callback","item","mentionAllAppUsersEnabled","data","matchingUsers","_user$name","makeImageCompatibleUrl","url","trim","getUrlWithoutParams","indexOfQuestion","substring","isLocalUrl","vw","percentageWidth","rounded","value","Dimensions","get","width","Math","round","vh","percentageHeight","height","generateRandomId","Number","random","toString","replace","emojiRegex","urlRegex","stringifyMessage","_ref4","deleted_at","latest_reactions","reply_count","status","updated_at","_ref5","join","toISOString","reduceMessagesToString","messages"],"sources":["utils.ts"],"sourcesContent":["import type React from 'react';\nimport { Dimensions } from 'react-native';\n\nimport type { DebouncedFunc } from 'lodash';\nimport debounce from 'lodash/debounce';\nimport type {\n Channel,\n ChannelMemberAPIResponse,\n ChannelMemberResponse,\n CommandResponse,\n FormatMessageResponse,\n StreamChat,\n UserResponse,\n} from 'stream-chat';\n\nimport type { MentionAllAppUsersQuery } from '../contexts/messageInputContext/MessageInputContext';\nimport type {\n SuggestionCommand,\n SuggestionComponentType,\n SuggestionUser,\n} from '../contexts/suggestionsContext/SuggestionsContext';\nimport { compiledEmojis, Emoji } from '../emoji-data/compiled';\nimport type { IconProps } from '../icons/utils/base';\nimport type { DefaultStreamChatGenerics, ValueOf } from '../types/types';\n\nexport type ReactionData = {\n Icon: React.FC<IconProps>;\n type: string;\n};\n\nexport const FileState = Object.freeze({\n // finished and uploaded state are the same thing. First is set on frontend,\n // while later is set on backend side\n // TODO: Unify both of them\n FINISHED: 'finished',\n NOT_SUPPORTED: 'not_supported',\n UPLOAD_FAILED: 'upload_failed',\n UPLOADED: 'uploaded',\n UPLOADING: 'uploading',\n});\n\nexport const ProgressIndicatorTypes: {\n IN_PROGRESS: 'in_progress';\n INACTIVE: 'inactive';\n NOT_SUPPORTED: 'not_supported';\n RETRY: 'retry';\n} = Object.freeze({\n IN_PROGRESS: 'in_progress',\n INACTIVE: 'inactive',\n NOT_SUPPORTED: 'not_supported',\n RETRY: 'retry',\n});\n\nexport const MessageStatusTypes = {\n FAILED: 'failed',\n RECEIVED: 'received',\n SENDING: 'sending',\n};\n\nexport type FileStateValue = typeof FileState[keyof typeof FileState];\n\ntype Progress = ValueOf<typeof ProgressIndicatorTypes>;\ntype IndicatorStatesMap = Record<ValueOf<typeof FileState>, Progress | null>;\n\nexport const getIndicatorTypeForFileState = (\n fileState: FileStateValue,\n enableOfflineSupport: boolean,\n): Progress | null => {\n const indicatorMap: IndicatorStatesMap = {\n [FileState.UPLOADING]: enableOfflineSupport\n ? ProgressIndicatorTypes.INACTIVE\n : ProgressIndicatorTypes.IN_PROGRESS,\n // If offline support is disabled, then there is no need\n [FileState.UPLOAD_FAILED]: enableOfflineSupport\n ? ProgressIndicatorTypes.INACTIVE\n : ProgressIndicatorTypes.RETRY,\n [FileState.NOT_SUPPORTED]: ProgressIndicatorTypes.NOT_SUPPORTED,\n [FileState.UPLOADED]: ProgressIndicatorTypes.INACTIVE,\n [FileState.FINISHED]: ProgressIndicatorTypes.INACTIVE,\n };\n\n return indicatorMap[fileState];\n};\n\nconst defaultAutoCompleteSuggestionsLimit = 10;\nconst defaultMentionAllAppUsersQuery = {\n filters: {},\n options: {},\n sort: {},\n};\n\nconst isUserResponse = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n user: SuggestionUser<StreamChatGenerics> | undefined,\n): user is SuggestionUser<StreamChatGenerics> =>\n (user as SuggestionUser<StreamChatGenerics>) !== undefined;\n\nconst getCommands = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => channel.getConfig()?.commands || [];\n\nconst getMembers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const members = channel.state.members;\n\n return Object.values(members).length\n ? (\n Object.values(members).filter((member) => member.user) as Array<\n ChannelMemberResponse<StreamChatGenerics> & { user: UserResponse<StreamChatGenerics> }\n >\n ).map((member) => member.user)\n : [];\n};\n\nconst getWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const watchers = channel.state.watchers;\n return Object.values(watchers).length ? [...Object.values(watchers)] : [];\n};\n\nconst getMembersAndWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const users = [...getMembers(channel), ...getWatchers(channel)];\n\n return Object.values(\n users.reduce((acc, cur) => {\n if (!acc[cur.id]) {\n acc[cur.id] = cur;\n }\n\n return acc;\n }, {} as { [key: string]: SuggestionUser<StreamChatGenerics> }),\n );\n};\n\nconst queryMembers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n } = {},\n): Promise<void> => {\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n\n if (typeof query === 'string') {\n const response = (await (channel as unknown as Channel).queryMembers(\n {\n name: { $autocomplete: query },\n },\n {},\n { limit },\n )) as ChannelMemberAPIResponse<StreamChatGenerics>;\n\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.members.forEach((member) => isUserResponse(member.user) && users.push(member.user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryMembersDebounced = debounce(queryMembers, 200, {\n leading: false,\n trailing: true,\n});\n\nconst queryUsers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n } = {},\n): Promise<void> => {\n if (typeof query === 'string') {\n const {\n limit = defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersQuery = defaultMentionAllAppUsersQuery,\n } = options;\n const filters = {\n id: { $ne: client.userID },\n ...mentionAllAppUsersQuery?.filters,\n };\n\n if (query) {\n // @ts-ignore\n filters.$or = [{ id: { $autocomplete: query } }, { name: { $autocomplete: query } }];\n }\n\n const response = await client.queryUsers(\n // @ts-ignore\n filters,\n { id: 1, ...mentionAllAppUsersQuery?.sort },\n { limit, ...mentionAllAppUsersQuery?.options },\n );\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.users.forEach((user) => isUserResponse(user) && users.push(user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryUsersDebounced = debounce(queryUsers, 200, {\n leading: false,\n trailing: true,\n});\n\nexport const isCommandTrigger = (trigger: Trigger): trigger is '/' => trigger === '/';\n\nexport const isEmojiTrigger = (trigger: Trigger): trigger is ':' => trigger === ':';\n\nexport const isMentionTrigger = (trigger: Trigger): trigger is '@' => trigger === '@';\n\nexport type Trigger = '/' | '@' | ':';\n\nexport type TriggerSettings<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n '/'?: {\n dataProvider: (\n query: CommandResponse<StreamChatGenerics>['name'],\n text: string,\n onReady?: (\n data: CommandResponse<StreamChatGenerics>[],\n q: CommandResponse<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n },\n ) => SuggestionCommand<StreamChatGenerics>[];\n output: (entity: CommandResponse<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n ':'?: {\n dataProvider: (\n query: Emoji['name'],\n _: string,\n onReady?: (data: Emoji[], q: Emoji['name']) => void,\n ) => Emoji[];\n output: (entity: Emoji) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n '@'?: {\n callback: (item: SuggestionUser<StreamChatGenerics>) => void;\n dataProvider: (\n query: SuggestionUser<StreamChatGenerics>['name'],\n _: string,\n onReady?: (\n data: SuggestionUser<StreamChatGenerics>[],\n q: SuggestionUser<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersEnabled?: boolean;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n ) => SuggestionUser<StreamChatGenerics>[] | Promise<void> | void;\n output: (entity: SuggestionUser<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n};\n\nexport type ACITriggerSettingsParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n channel: Channel<StreamChatGenerics>;\n client: StreamChat<StreamChatGenerics>;\n onMentionSelectItem: (item: SuggestionUser<StreamChatGenerics>) => void;\n};\n\nexport type QueryUsersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n) => Promise<void>;\n\nexport type QueryMembersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n },\n) => Promise<void>;\n\n/**\n * ACI = AutoCompleteInput\n *\n * DataProvider accepts `onReady` function, which will execute once the data is ready.\n * Another approach would have been to simply return the data from dataProvider and let the\n * component await for it and then execute the required logic. We are going for callback instead\n * of async-await since we have debounce function in dataProvider. Which will delay the execution\n * of api call on trailing end of debounce (lets call it a1) but will return with result of\n * previous call without waiting for a1. So in this case, we want to execute onReady, when trailing\n * end of debounce executes.\n */\nexport const ACITriggerSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n client,\n onMentionSelectItem,\n}: ACITriggerSettingsParams<StreamChatGenerics>): TriggerSettings<StreamChatGenerics> => ({\n '/': {\n dataProvider: (query, text, onReady, options = {}) => {\n if (text.indexOf('/') !== 0) return [];\n\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n const selectedCommands = !query\n ? getCommands(channel)\n : getCommands(channel).filter((command) => query && command.name?.indexOf(query) !== -1);\n\n // sort alphabetically unless the you're matching the first char\n selectedCommands.sort((a, b) => {\n let nameA = a.name?.toLowerCase() || '';\n let nameB = b.name?.toLowerCase() || '';\n if (query && nameA.indexOf(query) === 0) {\n nameA = `0${nameA}`;\n }\n if (query && nameB.indexOf(query) === 0) {\n nameB = `0${nameB}`;\n }\n if (nameA < nameB) return -1;\n if (nameA > nameB) return 1;\n\n return 0;\n });\n\n const result = selectedCommands.slice(0, limit);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: `${entity.name}`,\n text: `/${entity.name}`,\n }),\n type: 'command',\n },\n ':': {\n dataProvider: (query, _, onReady) => {\n if (!query) return [];\n\n const result = compiledEmojis.emojiArray.reduce((acc, cur) => {\n if (acc.length >= 10) return acc;\n\n if (cur.names.some((name) => name.includes(query))) {\n const emoji = compiledEmojis.emojiLib[cur.name];\n if (emoji.skin_variations) {\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-1`,\n skin_variations: undefined,\n });\n emoji.skin_variations.forEach((tone, index) =>\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-${index + 2}`,\n skin_variations: undefined,\n unicode: tone,\n }),\n );\n } else {\n acc.push(emoji);\n }\n }\n\n return acc;\n }, [] as Emoji[]);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.name,\n text: entity.unicode,\n }),\n type: 'emoji',\n },\n '@': {\n callback: (item) => {\n onMentionSelectItem(item);\n },\n dataProvider: (\n query,\n _,\n onReady,\n options = {\n limit: defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled: false,\n mentionAllAppUsersQuery: defaultMentionAllAppUsersQuery,\n },\n ) => {\n if (options?.mentionAllAppUsersEnabled) {\n return (queryUsersDebounced as DebouncedFunc<QueryUsersFunction<StreamChatGenerics>>)(\n client,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n mentionAllAppUsersQuery: options.mentionAllAppUsersQuery,\n },\n );\n }\n\n /**\n * By default, we return maximum 100 members via queryChannels api call.\n * Thus it is safe to assume, that if number of members in channel.state is < 100,\n * then all the members are already available on client side and we don't need to\n * make any api call to queryMembers endpoint.\n */\n if (!query || Object.values(channel.state.members).length < 100) {\n const users = getMembersAndWatchers(channel);\n\n const matchingUsers = users.filter((user) => {\n if (!query) return true;\n if (user.name?.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n if (user.id.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n return false;\n });\n\n const data = matchingUsers.slice(0, options?.limit);\n\n if (onReady) {\n onReady(data, query);\n }\n\n return data;\n }\n\n return (queryMembersDebounced as DebouncedFunc<QueryMembersFunction<StreamChatGenerics>>)(\n channel,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n },\n );\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.id,\n text: `@${entity.name || entity.id}`,\n }),\n type: 'mention',\n },\n});\n\nexport const makeImageCompatibleUrl = (url: string) =>\n (url.indexOf('//') === 0 ? `https:${url}` : url).trim();\n\nexport const getUrlWithoutParams = (url?: string) => {\n if (!url) return url;\n\n const indexOfQuestion = url.indexOf('?');\n if (indexOfQuestion === -1) return url;\n\n return url.substring(0, url.indexOf('?'));\n};\n\nexport const isLocalUrl = (url: string) => url.indexOf('http') !== 0;\n\nexport const vw = (percentageWidth: number, rounded = false) => {\n const value = Dimensions.get('window').width * (percentageWidth / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const vh = (percentageHeight: number, rounded = false) => {\n const height = Dimensions.get('window').height;\n\n const value = height * (percentageHeight / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const generateRandomId = (a = ''): string =>\n a\n ? /* eslint-disable no-bitwise */\n ((Number(a) ^ (Math.random() * 16)) >> (Number(a) / 4)).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateRandomId);\n\n// source: https://raw.githubusercontent.com/mathiasbynens/emoji-regex/master/RGI_Emoji.js\n// [#\\*0-9]\\uFE0F\\u20E3 was replaced with [#*0-9]\\uFE0F\\u20E3 due to a lint warning\nexport const emojiRegex =\n /^(\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC68(?:\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u2764\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#*0-9]\\uFE0F\\u20E3|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])+$/;\n\nexport const urlRegex =\n /(?:\\s|^)((?:https?:\\/\\/)?(?:[a-z0-9-]+(?:\\.[a-z0-9-]+)+)(?::[0-9]+)?(?:\\/(?:[^\\s]+)?)?)/g;\n\n/**\n * Stringifies a message object\n * @param {FormatMessageResponse<StreamChatGenerics>} message - the message object to be stringified\n * @returns {string} The stringified message\n */\nconst stringifyMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n deleted_at,\n latest_reactions,\n reply_count,\n status,\n type,\n updated_at,\n}: FormatMessageResponse<StreamChatGenerics>): string =>\n `${type}${deleted_at}${\n latest_reactions ? latest_reactions.map(({ type }) => type).join() : ''\n }${reply_count}${status}${updated_at?.toISOString?.() || updated_at}`;\n\n/**\n * Reduces a list of messages to strings that are used in useEffect & useMemo\n * @param {messages} messages - the array of messages to be compared\n * @returns {string} The mapped message string\n */\nexport const reduceMessagesToString = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n messages: FormatMessageResponse<StreamChatGenerics>[],\n): string => messages.map(stringifyMessage).join();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_debounce","_interopRequireDefault","require","_compiled","FileState","Object","freeze","FINISHED","NOT_SUPPORTED","UPLOAD_FAILED","UPLOADED","UPLOADING","exports","ProgressIndicatorTypes","IN_PROGRESS","INACTIVE","RETRY","MessageStatusTypes","FAILED","RECEIVED","SENDING","getIndicatorTypeForFileState","fileState","enableOfflineSupport","_indicatorMap","indicatorMap","_defineProperty2","defaultAutoCompleteSuggestionsLimit","defaultMentionAllAppUsersQuery","filters","options","sort","isUserResponse","user","undefined","getCommands","channel","_channel$getConfig","getConfig","commands","getMembers","members","state","values","length","filter","member","map","getWatchers","watchers","_toConsumableArray2","getMembersAndWatchers","users","concat","reduce","acc","cur","id","queryMembers","_ref","_asyncToGenerator2","_regenerator","mark","_callee","query","onReady","_options$limit","limit","response","_users","_args","arguments","wrap","_callee$","_context","prev","next","name","$autocomplete","sent","forEach","push","stop","_x","_x2","_x3","apply","queryMembersDebounced","debounce","leading","trailing","queryUsers","_ref2","_callee2","client","_options$limit2","_options$mentionAllAp","mentionAllAppUsersQuery","_users2","_args2","_callee2$","_context2","_extends2","$ne","userID","$or","_x4","_x5","_x6","queryUsersDebounced","isCommandTrigger","trigger","isEmojiTrigger","isMentionTrigger","ACITriggerSettings","_ref3","onMentionSelectItem","dataProvider","text","indexOf","_options$limit3","selectedCommands","command","_command$name","a","b","_a$name","_b$name","nameA","toLowerCase","nameB","result","slice","output","entity","caretPosition","key","type","_","compiledEmojis","emojiArray","names","some","includes","emoji","emojiLib","skin_variations","tone","index","unicode","callback","item","mentionAllAppUsersEnabled","data","matchingUsers","_user$name","makeImageCompatibleUrl","url","trim","getUrlWithoutParams","indexOfQuestion","substring","isLocalUrl","generateRandomId","Number","Math","random","toString","replace","emojiRegex","urlRegex","stringifyMessage","_ref4","deleted_at","latest_reactions","reply_count","status","updated_at","_ref5","join","toISOString","reduceMessagesToString","messages"],"sources":["utils.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { DebouncedFunc } from 'lodash';\nimport debounce from 'lodash/debounce';\nimport type {\n Channel,\n ChannelMemberAPIResponse,\n ChannelMemberResponse,\n CommandResponse,\n FormatMessageResponse,\n StreamChat,\n UserResponse,\n} from 'stream-chat';\n\nimport type { MentionAllAppUsersQuery } from '../contexts/messageInputContext/MessageInputContext';\nimport type {\n SuggestionCommand,\n SuggestionComponentType,\n SuggestionUser,\n} from '../contexts/suggestionsContext/SuggestionsContext';\nimport { compiledEmojis, Emoji } from '../emoji-data/compiled';\nimport type { IconProps } from '../icons/utils/base';\nimport type { DefaultStreamChatGenerics, ValueOf } from '../types/types';\n\nexport type ReactionData = {\n Icon: React.FC<IconProps>;\n type: string;\n};\n\nexport const FileState = Object.freeze({\n // finished and uploaded state are the same thing. First is set on frontend,\n // while later is set on backend side\n // TODO: Unify both of them\n FINISHED: 'finished',\n NOT_SUPPORTED: 'not_supported',\n UPLOAD_FAILED: 'upload_failed',\n UPLOADED: 'uploaded',\n UPLOADING: 'uploading',\n});\n\nexport const ProgressIndicatorTypes: {\n IN_PROGRESS: 'in_progress';\n INACTIVE: 'inactive';\n NOT_SUPPORTED: 'not_supported';\n RETRY: 'retry';\n} = Object.freeze({\n IN_PROGRESS: 'in_progress',\n INACTIVE: 'inactive',\n NOT_SUPPORTED: 'not_supported',\n RETRY: 'retry',\n});\n\nexport const MessageStatusTypes = {\n FAILED: 'failed',\n RECEIVED: 'received',\n SENDING: 'sending',\n};\n\nexport type FileStateValue = typeof FileState[keyof typeof FileState];\n\ntype Progress = ValueOf<typeof ProgressIndicatorTypes>;\ntype IndicatorStatesMap = Record<ValueOf<typeof FileState>, Progress | null>;\n\nexport const getIndicatorTypeForFileState = (\n fileState: FileStateValue,\n enableOfflineSupport: boolean,\n): Progress | null => {\n const indicatorMap: IndicatorStatesMap = {\n [FileState.UPLOADING]: enableOfflineSupport\n ? ProgressIndicatorTypes.INACTIVE\n : ProgressIndicatorTypes.IN_PROGRESS,\n // If offline support is disabled, then there is no need\n [FileState.UPLOAD_FAILED]: enableOfflineSupport\n ? ProgressIndicatorTypes.INACTIVE\n : ProgressIndicatorTypes.RETRY,\n [FileState.NOT_SUPPORTED]: ProgressIndicatorTypes.NOT_SUPPORTED,\n [FileState.UPLOADED]: ProgressIndicatorTypes.INACTIVE,\n [FileState.FINISHED]: ProgressIndicatorTypes.INACTIVE,\n };\n\n return indicatorMap[fileState];\n};\n\nconst defaultAutoCompleteSuggestionsLimit = 10;\nconst defaultMentionAllAppUsersQuery = {\n filters: {},\n options: {},\n sort: {},\n};\n\nconst isUserResponse = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n user: SuggestionUser<StreamChatGenerics> | undefined,\n): user is SuggestionUser<StreamChatGenerics> =>\n (user as SuggestionUser<StreamChatGenerics>) !== undefined;\n\nconst getCommands = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => channel.getConfig()?.commands || [];\n\nconst getMembers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const members = channel.state.members;\n\n return Object.values(members).length\n ? (\n Object.values(members).filter((member) => member.user) as Array<\n ChannelMemberResponse<StreamChatGenerics> & { user: UserResponse<StreamChatGenerics> }\n >\n ).map((member) => member.user)\n : [];\n};\n\nconst getWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const watchers = channel.state.watchers;\n return Object.values(watchers).length ? [...Object.values(watchers)] : [];\n};\n\nconst getMembersAndWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const users = [...getMembers(channel), ...getWatchers(channel)];\n\n return Object.values(\n users.reduce((acc, cur) => {\n if (!acc[cur.id]) {\n acc[cur.id] = cur;\n }\n\n return acc;\n }, {} as { [key: string]: SuggestionUser<StreamChatGenerics> }),\n );\n};\n\nconst queryMembers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n } = {},\n): Promise<void> => {\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n\n if (typeof query === 'string') {\n const response = (await (channel as unknown as Channel).queryMembers(\n {\n name: { $autocomplete: query },\n },\n {},\n { limit },\n )) as ChannelMemberAPIResponse<StreamChatGenerics>;\n\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.members.forEach((member) => isUserResponse(member.user) && users.push(member.user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryMembersDebounced = debounce(queryMembers, 200, {\n leading: false,\n trailing: true,\n});\n\nconst queryUsers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n } = {},\n): Promise<void> => {\n if (typeof query === 'string') {\n const {\n limit = defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersQuery = defaultMentionAllAppUsersQuery,\n } = options;\n const filters = {\n id: { $ne: client.userID },\n ...mentionAllAppUsersQuery?.filters,\n };\n\n if (query) {\n // @ts-ignore\n filters.$or = [{ id: { $autocomplete: query } }, { name: { $autocomplete: query } }];\n }\n\n const response = await client.queryUsers(\n // @ts-ignore\n filters,\n { id: 1, ...mentionAllAppUsersQuery?.sort },\n { limit, ...mentionAllAppUsersQuery?.options },\n );\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.users.forEach((user) => isUserResponse(user) && users.push(user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryUsersDebounced = debounce(queryUsers, 200, {\n leading: false,\n trailing: true,\n});\n\nexport const isCommandTrigger = (trigger: Trigger): trigger is '/' => trigger === '/';\n\nexport const isEmojiTrigger = (trigger: Trigger): trigger is ':' => trigger === ':';\n\nexport const isMentionTrigger = (trigger: Trigger): trigger is '@' => trigger === '@';\n\nexport type Trigger = '/' | '@' | ':';\n\nexport type TriggerSettings<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n '/'?: {\n dataProvider: (\n query: CommandResponse<StreamChatGenerics>['name'],\n text: string,\n onReady?: (\n data: CommandResponse<StreamChatGenerics>[],\n q: CommandResponse<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n },\n ) => SuggestionCommand<StreamChatGenerics>[];\n output: (entity: CommandResponse<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n ':'?: {\n dataProvider: (\n query: Emoji['name'],\n _: string,\n onReady?: (data: Emoji[], q: Emoji['name']) => void,\n ) => Emoji[];\n output: (entity: Emoji) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n '@'?: {\n callback: (item: SuggestionUser<StreamChatGenerics>) => void;\n dataProvider: (\n query: SuggestionUser<StreamChatGenerics>['name'],\n _: string,\n onReady?: (\n data: SuggestionUser<StreamChatGenerics>[],\n q: SuggestionUser<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersEnabled?: boolean;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n ) => SuggestionUser<StreamChatGenerics>[] | Promise<void> | void;\n output: (entity: SuggestionUser<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n};\n\nexport type ACITriggerSettingsParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n channel: Channel<StreamChatGenerics>;\n client: StreamChat<StreamChatGenerics>;\n onMentionSelectItem: (item: SuggestionUser<StreamChatGenerics>) => void;\n};\n\nexport type QueryUsersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n) => Promise<void>;\n\nexport type QueryMembersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n },\n) => Promise<void>;\n\n/**\n * ACI = AutoCompleteInput\n *\n * DataProvider accepts `onReady` function, which will execute once the data is ready.\n * Another approach would have been to simply return the data from dataProvider and let the\n * component await for it and then execute the required logic. We are going for callback instead\n * of async-await since we have debounce function in dataProvider. Which will delay the execution\n * of api call on trailing end of debounce (lets call it a1) but will return with result of\n * previous call without waiting for a1. So in this case, we want to execute onReady, when trailing\n * end of debounce executes.\n */\nexport const ACITriggerSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n client,\n onMentionSelectItem,\n}: ACITriggerSettingsParams<StreamChatGenerics>): TriggerSettings<StreamChatGenerics> => ({\n '/': {\n dataProvider: (query, text, onReady, options = {}) => {\n if (text.indexOf('/') !== 0) return [];\n\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n const selectedCommands = !query\n ? getCommands(channel)\n : getCommands(channel).filter((command) => query && command.name?.indexOf(query) !== -1);\n\n // sort alphabetically unless the you're matching the first char\n selectedCommands.sort((a, b) => {\n let nameA = a.name?.toLowerCase() || '';\n let nameB = b.name?.toLowerCase() || '';\n if (query && nameA.indexOf(query) === 0) {\n nameA = `0${nameA}`;\n }\n if (query && nameB.indexOf(query) === 0) {\n nameB = `0${nameB}`;\n }\n if (nameA < nameB) return -1;\n if (nameA > nameB) return 1;\n\n return 0;\n });\n\n const result = selectedCommands.slice(0, limit);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: `${entity.name}`,\n text: `/${entity.name}`,\n }),\n type: 'command',\n },\n ':': {\n dataProvider: (query, _, onReady) => {\n if (!query) return [];\n\n const result = compiledEmojis.emojiArray.reduce((acc, cur) => {\n if (acc.length >= 10) return acc;\n\n if (cur.names.some((name) => name.includes(query))) {\n const emoji = compiledEmojis.emojiLib[cur.name];\n if (emoji.skin_variations) {\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-1`,\n skin_variations: undefined,\n });\n emoji.skin_variations.forEach((tone, index) =>\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-${index + 2}`,\n skin_variations: undefined,\n unicode: tone,\n }),\n );\n } else {\n acc.push(emoji);\n }\n }\n\n return acc;\n }, [] as Emoji[]);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.name,\n text: entity.unicode,\n }),\n type: 'emoji',\n },\n '@': {\n callback: (item) => {\n onMentionSelectItem(item);\n },\n dataProvider: (\n query,\n _,\n onReady,\n options = {\n limit: defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled: false,\n mentionAllAppUsersQuery: defaultMentionAllAppUsersQuery,\n },\n ) => {\n if (options?.mentionAllAppUsersEnabled) {\n return (queryUsersDebounced as DebouncedFunc<QueryUsersFunction<StreamChatGenerics>>)(\n client,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n mentionAllAppUsersQuery: options.mentionAllAppUsersQuery,\n },\n );\n }\n\n /**\n * By default, we return maximum 100 members via queryChannels api call.\n * Thus it is safe to assume, that if number of members in channel.state is < 100,\n * then all the members are already available on client side and we don't need to\n * make any api call to queryMembers endpoint.\n */\n if (!query || Object.values(channel.state.members).length < 100) {\n const users = getMembersAndWatchers(channel);\n\n const matchingUsers = users.filter((user) => {\n if (!query) return true;\n if (user.name?.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n if (user.id.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n return false;\n });\n\n const data = matchingUsers.slice(0, options?.limit);\n\n if (onReady) {\n onReady(data, query);\n }\n\n return data;\n }\n\n return (queryMembersDebounced as DebouncedFunc<QueryMembersFunction<StreamChatGenerics>>)(\n channel,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n },\n );\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.id,\n text: `@${entity.name || entity.id}`,\n }),\n type: 'mention',\n },\n});\n\nexport const makeImageCompatibleUrl = (url: string) =>\n (url.indexOf('//') === 0 ? `https:${url}` : url).trim();\n\nexport const getUrlWithoutParams = (url?: string) => {\n if (!url) return url;\n\n const indexOfQuestion = url.indexOf('?');\n if (indexOfQuestion === -1) return url;\n\n return url.substring(0, url.indexOf('?'));\n};\n\nexport const isLocalUrl = (url: string) => url.indexOf('http') !== 0;\n\nexport const generateRandomId = (a = ''): string =>\n a\n ? /* eslint-disable no-bitwise */\n ((Number(a) ^ (Math.random() * 16)) >> (Number(a) / 4)).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateRandomId);\n\n// source: https://raw.githubusercontent.com/mathiasbynens/emoji-regex/master/RGI_Emoji.js\n// [#\\*0-9]\\uFE0F\\u20E3 was replaced with [#*0-9]\\uFE0F\\u20E3 due to a lint warning\nexport const emojiRegex =\n /^(\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC68(?:\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u2764\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#*0-9]\\uFE0F\\u20E3|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])+$/;\n\nexport const urlRegex =\n /(?:\\s|^)((?:https?:\\/\\/)?(?:[a-z0-9-]+(?:\\.[a-z0-9-]+)+)(?::[0-9]+)?(?:\\/(?:[^\\s]+)?)?)/g;\n\n/**\n * Stringifies a message object\n * @param {FormatMessageResponse<StreamChatGenerics>} message - the message object to be stringified\n * @returns {string} The stringified message\n */\nconst stringifyMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n deleted_at,\n latest_reactions,\n reply_count,\n status,\n type,\n updated_at,\n}: FormatMessageResponse<StreamChatGenerics>): string =>\n `${type}${deleted_at}${\n latest_reactions ? latest_reactions.map(({ type }) => type).join() : ''\n }${reply_count}${status}${updated_at?.toISOString?.() || updated_at}`;\n\n/**\n * Reduces a list of messages to strings that are used in useEffect & useMemo\n * @param {messages} messages - the array of messages to be compared\n * @returns {string} The mapped message string\n */\nexport const reduceMessagesToString = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n messages: FormatMessageResponse<StreamChatGenerics>[],\n): string => messages.map(stringifyMessage).join();\n"],"mappings":"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"}
|
package/lib/module/version.json
CHANGED
|
@@ -3,7 +3,7 @@ import type { ChatContextValue } from '../../../contexts/chatContext/ChatContext
|
|
|
3
3
|
import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';
|
|
4
4
|
import type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';
|
|
5
5
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
6
|
-
export declare const useMessageActionHandlers: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channel, client, deleteMessage, deleteReaction, message, retrySendMessage, sendReaction, setEditingState, setQuotedMessageState, }: Pick<MessagesContextValue<StreamChatGenerics>, "
|
|
6
|
+
export declare const useMessageActionHandlers: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channel, client, deleteMessage, deleteReaction, message, retrySendMessage, sendReaction, setEditingState, setQuotedMessageState, }: Pick<MessagesContextValue<StreamChatGenerics>, "sendReaction" | "deleteMessage" | "deleteReaction" | "supportedReactions" | "setQuotedMessageState" | "retrySendMessage" | "setEditingState"> & Pick<ChannelContextValue<StreamChatGenerics>, "channel" | "enforceUniqueReaction"> & Pick<ChatContextValue<StreamChatGenerics>, "client"> & Pick<MessageContextValue<StreamChatGenerics>, "message">) => {
|
|
7
7
|
handleDeleteMessage: () => Promise<void>;
|
|
8
8
|
handleEditMessage: () => void;
|
|
9
9
|
handleQuotedReplyMessage: () => void;
|