stream-chat-react-native-core 5.23.1 → 5.23.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +94 -93
  2. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  3. package/lib/commonjs/components/Channel/Channel.js +33 -32
  4. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  5. package/lib/commonjs/components/MessageInput/MessageInput.js +30 -37
  6. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  7. package/lib/commonjs/components/MessageList/MessageList.js +41 -43
  8. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  9. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +1 -2
  10. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  11. package/lib/commonjs/i18n/en.json +1 -1
  12. package/lib/commonjs/i18n/fr.json +50 -50
  13. package/lib/commonjs/i18n/hi.json +50 -50
  14. package/lib/commonjs/i18n/it.json +50 -50
  15. package/lib/commonjs/i18n/nl.json +50 -50
  16. package/lib/commonjs/i18n/ru.json +50 -50
  17. package/lib/commonjs/i18n/tr.json +50 -50
  18. package/lib/commonjs/version.json +1 -1
  19. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +94 -93
  20. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  21. package/lib/module/components/Channel/Channel.js +33 -32
  22. package/lib/module/components/Channel/Channel.js.map +1 -1
  23. package/lib/module/components/MessageInput/MessageInput.js +30 -37
  24. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  25. package/lib/module/components/MessageList/MessageList.js +41 -43
  26. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  27. package/lib/module/components/MessageList/hooks/useMessageList.js +1 -2
  28. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  29. package/lib/module/i18n/en.json +1 -1
  30. package/lib/module/i18n/fr.json +50 -50
  31. package/lib/module/i18n/hi.json +50 -50
  32. package/lib/module/i18n/it.json +50 -50
  33. package/lib/module/i18n/nl.json +50 -50
  34. package/lib/module/i18n/ru.json +50 -50
  35. package/lib/module/i18n/tr.json +50 -50
  36. package/lib/module/version.json +1 -1
  37. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -3
  38. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -5
  39. package/lib/typescript/i18n/en.json +1 -1
  40. package/lib/typescript/i18n/fr.json +50 -50
  41. package/lib/typescript/i18n/hi.json +50 -50
  42. package/lib/typescript/i18n/it.json +50 -50
  43. package/lib/typescript/i18n/nl.json +50 -50
  44. package/lib/typescript/i18n/ru.json +50 -50
  45. package/lib/typescript/i18n/tr.json +50 -50
  46. package/package.json +1 -1
  47. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +83 -74
  48. package/src/components/Channel/Channel.tsx +22 -17
  49. package/src/components/MessageInput/MessageInput.tsx +14 -16
  50. package/src/components/MessageList/MessageList.tsx +12 -15
  51. package/src/components/MessageList/hooks/useMessageList.ts +2 -2
  52. package/src/i18n/en.json +1 -1
  53. package/src/i18n/fr.json +50 -50
  54. package/src/i18n/hi.json +50 -50
  55. package/src/i18n/it.json +50 -50
  56. package/src/i18n/nl.json +50 -50
  57. package/src/i18n/ru.json +50 -50
  58. package/src/i18n/tr.json +50 -50
  59. package/src/version.json +1 -1
@@ -4,73 +4,73 @@
4
4
  "Allow access to your Gallery": "Разрешить доступ к вашей галерее",
5
5
  "Allow camera access in device settings": "Разрешите доступ к камере в настройках устройства.",
6
6
  "Also send to channel": "Также отправить на канал",
7
- "Are you sure you want to permanently delete this message?": "Вы действительно хотите удалить это сообщение без возможности восстановления?",
8
- "Block User": "Заблокировать пользователя",
9
- "Cancel": "Отмена",
10
- "Cannot Flag Message": "Невозможно пожаловаться на сообщение",
11
- "Copy Message": "Копировать сообщение",
12
- "Delete": "удалять",
13
- "Delete Message": "Удалить сообщение",
7
+ "Are you sure you want to permanently delete this message?": "",
8
+ "Block User": "",
9
+ "Cancel": "",
10
+ "Cannot Flag Message": "",
11
+ "Copy Message": "",
12
+ "Delete": "",
13
+ "Delete Message": "",
14
14
  "Device camera is used to take photos or videos.": "Камера устройства используется для съемки фотографий или видео.",
15
- "Do you want to send a copy of this message to a moderator for further investigation?": "Вы хотите отправить копию этого сообщения модератору для дальнейшего изучения?",
16
- "Edit Message": "Редактировать сообщение",
17
- "Editing Message": "Редактирование сообщения",
15
+ "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
+ "Edit Message": "",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "Соответствие эмодзи",
19
- "Empty message...": "Пустое сообщение...",
20
- "Error loading": "Ошибка при загрузке",
21
- "Error loading channel list...": "Ошибка загрузки списка каналов...",
22
- "Error loading messages for this channel...": "Ошибка загрузки сообщений для этого канала...",
23
- "Error while loading, please reload/refresh": "Ошибка загрузки, пожалуйста перезагрузите или обновите",
24
- "File type not supported": "Тип файла не поддерживается",
25
- "Flag": "Пометить",
26
- "Flag Message": "Пометить сообщение",
27
- "Flag action failed either due to a network issue or the message is already flagged": "Не удалось отправить жалобу. Возможные причины: проблема с подключением к интернету или ваша жалоба уже была принята.",
28
- "How about sending your first message to a friend?": "Как насчет отправки первого сообщения другу?",
19
+ "Empty message...": "",
20
+ "Error loading": "",
21
+ "Error loading channel list...": "",
22
+ "Error loading messages for this channel...": "",
23
+ "Error while loading, please reload/refresh": "",
24
+ "File type not supported": "",
25
+ "Flag": "",
26
+ "Flag Message": "",
27
+ "Flag action failed either due to a network issue or the message is already flagged": "",
28
+ "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "Мгновенные Команды",
30
- "Let's start chatting!": "Давайте начнем общаться!",
30
+ "Let's start chatting!": "",
31
31
  "Links are disabled": "Ссылки отключены",
32
32
  "Loading channels...": "Загружаю каналы...",
33
33
  "Loading messages...": "Загружаю сообщения...",
34
34
  "Loading...": "Загружаю...",
35
35
  "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}} МБ.",
36
- "Message Reactions": "Сообщения Реакции",
37
- "Message deleted": "Сообщение удалено",
38
- "Message flagged": "Сообщение отмечено",
39
- "Mute User": "Отключить пользователя",
36
+ "Message Reactions": "",
37
+ "Message deleted": "",
38
+ "Message flagged": "",
39
+ "Mute User": "",
40
40
  "Not supported": "не поддерживается",
41
- "Nothing yet...": "Пока ничего нет...",
42
- "Ok": "",
43
- "Only visible to you": "Видно только вам",
41
+ "Nothing yet...": "",
42
+ "Ok": "",
43
+ "Only visible to you": "",
44
44
  "Open Settings": "Открыть настройки",
45
- "Photo": "Фото",
45
+ "Photo": "",
46
46
  "Photos and Videos": "Фото и видео",
47
- "Pin to Conversation": "Закрепить к беседе",
48
- "Pinned by": "Закреплено пользователем",
47
+ "Pin to Conversation": "",
48
+ "Pinned by": "",
49
49
  "Please enable access to your photos and videos so you can share them.": "Разрешите доступ к своим фотографиям и видео, чтобы вы могли ими поделиться.",
50
- "Please select a channel first": "Пожалуйста, сначала выберите канал",
51
- "Reconnecting...": "Переподключение...",
52
- "Reply": "Ответить",
53
- "Reply to Message": "Ответить на сообщение",
54
- "Resend": "Отправить",
55
- "Search GIFs": "Поиск GIF",
50
+ "Please select a channel first": "",
51
+ "Reconnecting...": "",
52
+ "Reply": "",
53
+ "Reply to Message": "",
54
+ "Resend": "",
55
+ "Search GIFs": "",
56
56
  "Select More Photos": "Выбрать больше фотографий",
57
- "Send a message": "Отправить сообщение",
57
+ "Send a message": "",
58
58
  "Sending links is not allowed in this conversation": "Отправка ссылок недоступна в этом чате",
59
- "Slow mode ON": "Медленный режим включен",
60
- "The message has been reported to a moderator.": "Сообщение отправлено модератору.",
61
- "Thread Reply": "Тема Ответить",
62
- "Unblock User": "Разблокировать пользователя",
59
+ "Slow mode ON": "",
60
+ "The message has been reported to a moderator.": "",
61
+ "Thread Reply": "",
62
+ "Unblock User": "",
63
63
  "Unknown User": "Неизвестный пользователь",
64
- "Unmute User": "Включить микрофон",
65
- "Unpin from Conversation": "Открепить от беседы",
64
+ "Unmute User": "",
65
+ "Unpin from Conversation": "",
66
66
  "Unread Messages": "Непрочитанные Сообщения",
67
- "Video": "видео",
68
- "You": "Вы",
69
- "You can't send messages in this channel": "Вы не можете отправлять сообщения в этот канал",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} и еще {{ nonSelfUserLength }} пишут",
67
+ "Video": "",
68
+ "You": "",
69
+ "You can't send messages in this channel": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
71
71
  "{{ index }} of {{ photoLength }}": "{{ index }} из {{ photoLength }}",
72
72
  "{{ replyCount }} Replies": "{{ replyCount }} Ответов",
73
73
  "{{ replyCount }} Thread Replies": "{{replyCount}} Ответы в темах",
74
- "{{ user }} is typing": "{{ user }} пишет",
75
- "🏙 Attachment...": "🏙 Вложение..."
74
+ "{{ user }} is typing": "",
75
+ "🏙 Attachment...": ""
76
76
  }
@@ -4,73 +4,73 @@
4
4
  "Allow access to your Gallery": "Galerinize erişime izin verin",
5
5
  "Allow camera access in device settings": "Cihaz ayarlarında kamera erişimine izin ver",
6
6
  "Also send to channel": "Kanala da gönder",
7
- "Are you sure you want to permanently delete this message?": "Bu mesajı kalıcı olarak silmek istediğinizden emin misiniz?",
8
- "Block User": "Kullanıcıyı engelle",
9
- "Cancel": "İptal",
10
- "Cannot Flag Message": "Raporlama Başarısız",
11
- "Copy Message": "Mesajı Kopyala",
12
- "Delete": "Sil",
13
- "Delete Message": "Mesajı Sil",
7
+ "Are you sure you want to permanently delete this message?": "",
8
+ "Block User": "",
9
+ "Cancel": "",
10
+ "Cannot Flag Message": "",
11
+ "Copy Message": "",
12
+ "Delete": "",
13
+ "Delete Message": "",
14
14
  "Device camera is used to take photos or videos.": "Cihaz kamerası fotoğraf veya video çekmek için kullanılır.",
15
- "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?",
16
- "Edit Message": "Mesajı Düzenle",
17
- "Editing Message": "Mesaj Düzenleniyor",
15
+ "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
+ "Edit Message": "",
17
+ "Editing Message": "",
18
18
  "Emoji matching": "Emoji eşleştirme",
19
- "Empty message...": "Boş mesaj...",
20
- "Error loading": "Yükleme hatası",
21
- "Error loading channel list...": "Kanal listesi yüklenirken hata oluştu...",
22
- "Error loading messages for this channel...": "Bu kanal için mesajlar yüklenirken hata oluştu...",
23
- "Error while loading, please reload/refresh": "Yüklenirken hata oluştu, lütfen tekrar deneyiniz",
24
- "File type not supported": "Dosya türü desteklenmiyor",
25
- "Flag": "Raporla",
26
- "Flag Message": "Mesajı Raporla",
27
- "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.",
28
- "How about sending your first message to a friend?": "İlk mesajınızı bir arkadaşınıza göndermeye ne dersiniz?",
19
+ "Empty message...": "",
20
+ "Error loading": "",
21
+ "Error loading channel list...": "",
22
+ "Error loading messages for this channel...": "",
23
+ "Error while loading, please reload/refresh": "",
24
+ "File type not supported": "",
25
+ "Flag": "",
26
+ "Flag Message": "",
27
+ "Flag action failed either due to a network issue or the message is already flagged": "",
28
+ "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "Anlık Komutlar",
30
- "Let's start chatting!": "Haydi sohbete başlayalım!",
30
+ "Let's start chatting!": "",
31
31
  "Links are disabled": "Bağlantılar devre dışı",
32
32
  "Loading channels...": "Kanallar yükleniyor...",
33
33
  "Loading messages...": "Mesajlar yükleniyor...",
34
34
  "Loading...": "Yükleniyor...",
35
35
  "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.",
36
- "Message Reactions": "Mesaj Tepkileri",
37
- "Message deleted": "Mesaj silindi",
38
- "Message flagged": "Mesaj işaretlendi",
39
- "Mute User": "Kullanıcıyı sessize al",
36
+ "Message Reactions": "",
37
+ "Message deleted": "",
38
+ "Message flagged": "",
39
+ "Mute User": "",
40
40
  "Not supported": "Desteklenmiyor",
41
- "Nothing yet...": "Henüz değil...",
42
- "Ok": "Tamam",
43
- "Only visible to you": "Sadece siz görebilirsiniz",
41
+ "Nothing yet...": "",
42
+ "Ok": "",
43
+ "Only visible to you": "",
44
44
  "Open Settings": "Ayarları aç",
45
- "Photo": "Fotoğraf",
45
+ "Photo": "",
46
46
  "Photos and Videos": "Fotoğraflar ve Videolar",
47
- "Pin to Conversation": "Konuşmaya sabitle",
48
- "Pinned by": "Tarafından sabitlendi",
47
+ "Pin to Conversation": "",
48
+ "Pinned by": "",
49
49
  "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.",
50
- "Please select a channel first": "Lütfen önce bir kanal seçiniz",
51
- "Reconnecting...": "Yeniden Bağlanılıyor...",
52
- "Reply": "Yanıtla",
53
- "Reply to Message": "Mesajı Yanıtla",
54
- "Resend": "Yeniden gönder",
55
- "Search GIFs": "GIF Ara",
50
+ "Please select a channel first": "",
51
+ "Reconnecting...": "",
52
+ "Reply": "",
53
+ "Reply to Message": "",
54
+ "Resend": "",
55
+ "Search GIFs": "",
56
56
  "Select More Photos": "Daha Fazla Fotoğraf Seçin",
57
- "Send a message": "Mesaj gönder",
57
+ "Send a message": "",
58
58
  "Sending links is not allowed in this conversation": "Bu konuşmada bağlantı göndermek desteklenmiyor",
59
- "Slow mode ON": "Yavaş Mod Açık",
60
- "The message has been reported to a moderator.": "Mesaj moderatöre bildirildi.",
61
- "Thread Reply": "Konu Yanıtı",
62
- "Unblock User": "Kullanıcının engelini kaldır",
59
+ "Slow mode ON": "",
60
+ "The message has been reported to a moderator.": "",
61
+ "Thread Reply": "",
62
+ "Unblock User": "",
63
63
  "Unknown User": "Bilinmeyen kullanıcı",
64
- "Unmute User": "Kullanıcının sesini aç",
65
- "Unpin from Conversation": "Sabitlemeyi kaldır",
64
+ "Unmute User": "",
65
+ "Unpin from Conversation": "",
66
66
  "Unread Messages": "Okunmamış Mesajlar",
67
- "Video": "Video",
68
- "You": "Sen",
69
- "You can't send messages in this channel": "Bu konuşmaya mesaj gönderemezsiniz",
70
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
67
+ "Video": "",
68
+ "You": "",
69
+ "You can't send messages in this channel": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
71
71
  "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
72
72
  "{{ replyCount }} Replies": "{{ replyCount }} Cevap",
73
73
  "{{ replyCount }} Thread Replies": "{{responseCount}} Konu Cevapı",
74
- "{{ user }} is typing": "{{ user }} yazıyor",
75
- "🏙 Attachment...": "🏙 Ek..."
74
+ "{{ user }} is typing": "",
75
+ "🏙 Attachment...": ""
76
76
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.23.1"
2
+ "version": "5.23.2-beta.2"
3
3
  }
@@ -1,31 +1,49 @@
1
1
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ var _typeof = require("@babel/runtime/helpers/typeof");
2
3
  Object.defineProperty(exports, "__esModule", {
3
4
  value: true
4
5
  });
5
6
  exports.AutoCompleteSuggestionListWithContext = exports.AutoCompleteSuggestionList = void 0;
7
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
6
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
  var _reactNative = require("react-native");
10
12
  var _SuggestionsContext = require("../../contexts/suggestionsContext/SuggestionsContext");
11
13
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
12
- var _excluded = ["children"];
14
+ var _native = require("../../native");
15
+ var _excluded = ["children", "style"];
13
16
  var _this = this,
14
17
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx";
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ var AUTO_COMPLETE_SUGGESTION_LIST_HEADER_HEIGHT = 30;
15
21
  var SuggestionsItem = function SuggestionsItem(props) {
16
22
  var children = props.children,
17
- touchableOpacityProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
18
- return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({}, touchableOpacityProps, {
23
+ propsStyle = props.style,
24
+ pressableProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
25
+ var style = function style(_ref) {
26
+ var pressed = _ref.pressed;
27
+ return [propsStyle, {
28
+ opacity: pressed ? 0.2 : 1
29
+ }];
30
+ };
31
+ return _react["default"].createElement(_reactNative.Pressable, (0, _extends2["default"])({}, pressableProps, {
32
+ style: style,
19
33
  __self: _this,
20
34
  __source: {
21
35
  fileName: _jsxFileName,
22
- lineNumber: 36,
23
- columnNumber: 10
36
+ lineNumber: 52,
37
+ columnNumber: 5
24
38
  }
25
39
  }), children);
26
40
  };
27
41
  SuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';
28
42
  var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListWithContext(props) {
43
+ var _useState = (0, _react.useState)(0),
44
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
45
+ itemHeight = _useState2[0],
46
+ setItemHeight = _useState2[1];
29
47
  var active = props.active,
30
48
  AutoCompleteSuggestionHeader = props.AutoCompleteSuggestionHeader,
31
49
  AutoCompleteSuggestionItem = props.AutoCompleteSuggestionItem,
@@ -34,98 +52,68 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
34
52
  queryText = props.queryText,
35
53
  triggerType = props.triggerType;
36
54
  var _useTheme = (0, _ThemeContext.useTheme)(),
37
- _useTheme$theme$messa = _useTheme.theme.messageInput,
55
+ _useTheme$theme = _useTheme.theme,
56
+ white = _useTheme$theme.colors.white,
57
+ _useTheme$theme$messa = _useTheme$theme.messageInput,
38
58
  maxHeight = _useTheme$theme$messa.container.maxHeight,
39
59
  itemStyle = _useTheme$theme$messa.suggestions.item,
40
60
  flatlist = _useTheme$theme$messa.suggestionsListContainer.flatlist;
41
- var renderItem = function renderItem(_ref) {
42
- var index = _ref.index,
43
- item = _ref.item;
61
+ var flatlistHeight = (0, _react.useMemo)(function () {
62
+ var totalItemHeight;
63
+ if (triggerType === 'emoji') {
64
+ totalItemHeight = data.length < 7 ? data.length * itemHeight : itemHeight * 6;
65
+ } else {
66
+ totalItemHeight = data.length < 4 ? data.length * itemHeight : itemHeight * 3;
67
+ }
68
+ return triggerType === 'emoji' || triggerType === 'command' ? totalItemHeight + AUTO_COMPLETE_SUGGESTION_LIST_HEADER_HEIGHT : totalItemHeight;
69
+ }, [itemHeight, data.length]);
70
+ var renderItem = function renderItem(_ref2) {
71
+ var item = _ref2.item;
44
72
  switch (triggerType) {
45
- case 'mention':
46
- if ((0, _SuggestionsContext.isSuggestionUser)(item)) {
47
- return _react["default"].createElement(SuggestionsItem, {
48
- onPress: function onPress() {
49
- onSelect(item);
50
- },
51
- style: [{
52
- paddingBottom: index === data.length - 1 ? 8 : 0,
53
- paddingTop: index === 0 ? 8 : 0
54
- }, itemStyle],
55
- __self: _this,
56
- __source: {
57
- fileName: _jsxFileName,
58
- lineNumber: 71,
59
- columnNumber: 13
60
- }
61
- }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
62
- itemProps: item,
63
- triggerType: triggerType,
64
- __self: _this,
65
- __source: {
66
- fileName: _jsxFileName,
67
- lineNumber: 84,
68
- columnNumber: 17
69
- }
70
- }));
71
- }
72
- return null;
73
73
  case 'command':
74
- if ((0, _SuggestionsContext.isSuggestionCommand)(item)) {
75
- return _react["default"].createElement(SuggestionsItem, {
76
- onPress: function onPress() {
77
- onSelect(item);
78
- },
79
- style: [itemStyle],
80
- __self: _this,
81
- __source: {
82
- fileName: _jsxFileName,
83
- lineNumber: 93,
84
- columnNumber: 13
85
- }
86
- }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
87
- itemProps: item,
88
- triggerType: triggerType,
89
- __self: _this,
90
- __source: {
91
- fileName: _jsxFileName,
92
- lineNumber: 100,
93
- columnNumber: 17
94
- }
95
- }));
96
- }
97
- return null;
74
+ case 'mention':
98
75
  case 'emoji':
99
- if ((0, _SuggestionsContext.isSuggestionEmoji)(item)) {
100
- return _react["default"].createElement(SuggestionsItem, {
101
- onPress: function onPress() {
102
- onSelect(item);
103
- },
104
- style: [itemStyle],
105
- __self: _this,
106
- __source: {
107
- fileName: _jsxFileName,
108
- lineNumber: 109,
109
- columnNumber: 13
110
- }
111
- }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
112
- itemProps: item,
113
- triggerType: triggerType,
114
- __self: _this,
115
- __source: {
116
- fileName: _jsxFileName,
117
- lineNumber: 116,
118
- columnNumber: 17
119
- }
120
- }));
121
- }
122
- return null;
76
+ return _react["default"].createElement(SuggestionsItem, {
77
+ onLayout: function onLayout(event) {
78
+ return setItemHeight(event.nativeEvent.layout.height);
79
+ },
80
+ onPress: function onPress() {
81
+ onSelect(item);
82
+ },
83
+ style: itemStyle,
84
+ __self: _this,
85
+ __source: {
86
+ fileName: _jsxFileName,
87
+ lineNumber: 106,
88
+ columnNumber: 11
89
+ }
90
+ }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
91
+ itemProps: item,
92
+ triggerType: triggerType,
93
+ __self: _this,
94
+ __source: {
95
+ fileName: _jsxFileName,
96
+ lineNumber: 114,
97
+ columnNumber: 15
98
+ }
99
+ }));
123
100
  default:
124
101
  return null;
125
102
  }
126
103
  };
127
104
  if (!active || data.length === 0) return null;
128
- return _react["default"].createElement(_reactNative.FlatList, {
105
+ return _react["default"].createElement(_reactNative.View, {
106
+ style: [styles.container, {
107
+ backgroundColor: white,
108
+ height: flatlistHeight
109
+ }],
110
+ __self: _this,
111
+ __source: {
112
+ fileName: _jsxFileName,
113
+ lineNumber: 126,
114
+ columnNumber: 5
115
+ }
116
+ }, _react["default"].createElement(_native.FlatList, {
129
117
  data: data,
130
118
  keyboardShouldPersistTaps: "always",
131
119
  keyExtractor: function keyExtractor(item, index) {
@@ -137,8 +125,8 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
137
125
  __self: _this,
138
126
  __source: {
139
127
  fileName: _jsxFileName,
140
- lineNumber: 138,
141
- columnNumber: 11
128
+ lineNumber: 135,
129
+ columnNumber: 13
142
130
  }
143
131
  }) : null,
144
132
  renderItem: renderItem,
@@ -148,10 +136,10 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
148
136
  __self: _this,
149
137
  __source: {
150
138
  fileName: _jsxFileName,
151
- lineNumber: 130,
152
- columnNumber: 5
139
+ lineNumber: 127,
140
+ columnNumber: 7
153
141
  }
154
- });
142
+ }));
155
143
  };
156
144
  exports.AutoCompleteSuggestionListWithContext = AutoCompleteSuggestionListWithContext;
157
145
  var areEqual = function areEqual(prevProps, nextProps) {
@@ -185,11 +173,24 @@ var AutoCompleteSuggestionList = function AutoCompleteSuggestionList(props) {
185
173
  __self: _this,
186
174
  __source: {
187
175
  fileName: _jsxFileName,
188
- lineNumber: 202,
176
+ lineNumber: 200,
189
177
  columnNumber: 5
190
178
  }
191
179
  }));
192
180
  };
193
181
  exports.AutoCompleteSuggestionList = AutoCompleteSuggestionList;
182
+ var styles = _reactNative.StyleSheet.create({
183
+ container: {
184
+ borderRadius: 8,
185
+ elevation: 3,
186
+ marginHorizontal: 8,
187
+ marginVertical: 8,
188
+ shadowOffset: {
189
+ height: 1,
190
+ width: 0
191
+ },
192
+ shadowOpacity: 0.15
193
+ }
194
+ });
194
195
  AutoCompleteSuggestionList.displayName = 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';
195
196
  //# sourceMappingURL=AutoCompleteSuggestionList.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_SuggestionsContext","_ThemeContext","_excluded","_this","_jsxFileName","SuggestionsItem","props","children","touchableOpacityProps","_objectWithoutProperties2","createElement","TouchableOpacity","_extends2","__self","__source","fileName","lineNumber","columnNumber","displayName","AutoCompleteSuggestionListWithContext","active","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","data","onSelect","queryText","triggerType","_useTheme","useTheme","_useTheme$theme$messa","theme","messageInput","maxHeight","container","itemStyle","suggestions","item","flatlist","suggestionsListContainer","renderItem","_ref","index","isSuggestionUser","onPress","style","paddingBottom","length","paddingTop","itemProps","isSuggestionCommand","isSuggestionEmoji","FlatList","keyboardShouldPersistTaps","keyExtractor","name","id","ListHeaderComponent","exports","areEqual","prevProps","nextProps","prevActive","prevData","prevQueryText","prevType","nextActive","nextData","nextQueryText","nextType","activeEqual","queryTextEqual","dataEqual","typeEqual","MemoizedAutoCompleteSuggestionList","React","memo","AutoCompleteSuggestionList","_useSuggestionsContex","useSuggestionsContext"],"sources":["AutoCompleteSuggestionList.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, TouchableOpacity, TouchableOpacityProps } from 'react-native';\n\nimport type { AutoCompleteSuggestionHeaderProps } from './AutoCompleteSuggestionHeader';\nimport type { AutoCompleteSuggestionItemProps } from './AutoCompleteSuggestionItem';\n\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype AutoCompleteSuggestionListComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<SuggestionsContextValue, 'queryText' | 'triggerType'> & {\n active: boolean;\n data: Suggestion<StreamChatGenerics>[];\n onSelect: (item: Suggestion<StreamChatGenerics>) => void;\n};\n\nexport type AutoCompleteSuggestionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem'\n> &\n AutoCompleteSuggestionListComponentProps<StreamChatGenerics>;\n\nconst SuggestionsItem: React.FC<TouchableOpacityProps> = (props) => {\n const { children, ...touchableOpacityProps } = props;\n return <TouchableOpacity {...touchableOpacityProps}>{children}</TouchableOpacity>;\n};\n\nSuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';\n\nexport const AutoCompleteSuggestionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n active,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n data,\n onSelect,\n queryText,\n triggerType,\n } = props;\n\n const {\n theme: {\n messageInput: {\n container: { maxHeight },\n suggestions: { item: itemStyle },\n suggestionsListContainer: { flatlist },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: Suggestion<StreamChatGenerics> }) => {\n switch (triggerType) {\n case 'mention':\n if (isSuggestionUser(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[\n {\n paddingBottom: index === data.length - 1 ? 8 : 0,\n paddingTop: index === 0 ? 8 : 0,\n },\n itemStyle,\n ]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'command':\n if (isSuggestionCommand(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'emoji':\n if (isSuggestionEmoji(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n default:\n return null;\n }\n };\n\n if (!active || data.length === 0) return null;\n\n return (\n <FlatList\n data={data}\n keyboardShouldPersistTaps='always'\n keyExtractor={(item, index) =>\n `${item.name || (isSuggestionUser(item) ? item.id : '')}${index}`\n }\n ListHeaderComponent={\n AutoCompleteSuggestionHeader ? (\n <AutoCompleteSuggestionHeader queryText={queryText} triggerType={triggerType} />\n ) : null\n }\n renderItem={renderItem}\n style={[flatlist, { maxHeight }]}\n />\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n active: prevActive,\n data: prevData,\n queryText: prevQueryText,\n triggerType: prevType,\n } = prevProps;\n const {\n active: nextActive,\n data: nextData,\n queryText: nextQueryText,\n triggerType: nextType,\n } = nextProps;\n\n const activeEqual = prevActive === nextActive;\n if (!activeEqual) return false;\n\n const queryTextEqual = prevQueryText === nextQueryText;\n if (!queryTextEqual) return false;\n\n const dataEqual = prevData === nextData;\n if (!dataEqual) return false;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionList = React.memo(\n AutoCompleteSuggestionListWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionListWithContext;\n\nexport type AutoCompleteSuggestionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = AutoCompleteSuggestionListComponentProps<StreamChatGenerics> & {\n AutoCompleteSuggestionHeader?: React.ComponentType<AutoCompleteSuggestionHeaderProps>;\n AutoCompleteSuggestionItem?: React.ComponentType<\n AutoCompleteSuggestionItemProps<StreamChatGenerics>\n >;\n};\n\nexport const AutoCompleteSuggestionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListProps<StreamChatGenerics>,\n) => {\n const { AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem } =\n useSuggestionsContext<StreamChatGenerics>();\n\n return (\n <MemoizedAutoCompleteSuggestionList\n {...{ AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem }}\n {...props}\n />\n );\n};\n\nAutoCompleteSuggestionList.displayName =\n 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_SuggestionsContext","_ThemeContext","_native","_excluded","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AUTO_COMPLETE_SUGGESTION_LIST_HEADER_HEIGHT","SuggestionsItem","props","children","propsStyle","style","pressableProps","_objectWithoutProperties2","_ref","pressed","opacity","createElement","Pressable","_extends2","__self","__source","fileName","lineNumber","columnNumber","displayName","AutoCompleteSuggestionListWithContext","_useState","useState","_useState2","_slicedToArray2","itemHeight","setItemHeight","active","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","data","onSelect","queryText","triggerType","_useTheme","useTheme","_useTheme$theme","theme","white","colors","_useTheme$theme$messa","messageInput","maxHeight","container","itemStyle","suggestions","item","flatlist","suggestionsListContainer","flatlistHeight","useMemo","totalItemHeight","length","renderItem","_ref2","onLayout","event","nativeEvent","layout","height","onPress","itemProps","View","styles","backgroundColor","FlatList","keyboardShouldPersistTaps","keyExtractor","index","name","isSuggestionUser","id","ListHeaderComponent","exports","areEqual","prevProps","nextProps","prevActive","prevData","prevQueryText","prevType","nextActive","nextData","nextQueryText","nextType","activeEqual","queryTextEqual","dataEqual","typeEqual","MemoizedAutoCompleteSuggestionList","React","memo","AutoCompleteSuggestionList","_useSuggestionsContex","useSuggestionsContext","StyleSheet","create","borderRadius","elevation","marginHorizontal","marginVertical","shadowOffset","width","shadowOpacity"],"sources":["AutoCompleteSuggestionList.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n LayoutChangeEvent,\n Pressable,\n PressableProps,\n PressableStateCallbackType,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { AutoCompleteSuggestionHeaderProps } from './AutoCompleteSuggestionHeader';\nimport type { AutoCompleteSuggestionItemProps } from './AutoCompleteSuggestionItem';\n\nimport {\n isSuggestionUser,\n Suggestion,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { FlatList } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst AUTO_COMPLETE_SUGGESTION_LIST_HEADER_HEIGHT = 30;\n\ntype AutoCompleteSuggestionListComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<SuggestionsContextValue, 'queryText' | 'triggerType'> & {\n active: boolean;\n data: Suggestion<StreamChatGenerics>[];\n onSelect: (item: Suggestion<StreamChatGenerics>) => void;\n};\n\nexport type AutoCompleteSuggestionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem'\n> &\n AutoCompleteSuggestionListComponentProps<StreamChatGenerics>;\n\nconst SuggestionsItem: React.FC<PressableProps> = (props) => {\n const { children, style: propsStyle, ...pressableProps } = props;\n\n const style = ({ pressed }: PressableStateCallbackType) => [\n propsStyle as ViewStyle,\n { opacity: pressed ? 0.2 : 1 },\n ];\n\n return (\n <Pressable {...pressableProps} style={style}>\n {children}\n </Pressable>\n );\n};\n\nSuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';\n\nexport const AutoCompleteSuggestionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const [itemHeight, setItemHeight] = useState<number>(0);\n const {\n active,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n data,\n onSelect,\n queryText,\n triggerType,\n } = props;\n\n const {\n theme: {\n colors: { white },\n messageInput: {\n container: { maxHeight },\n suggestions: { item: itemStyle },\n suggestionsListContainer: { flatlist },\n },\n },\n } = useTheme();\n\n const flatlistHeight = useMemo(() => {\n let totalItemHeight;\n if (triggerType === 'emoji') {\n totalItemHeight = data.length < 7 ? data.length * itemHeight : itemHeight * 6;\n } else {\n totalItemHeight = data.length < 4 ? data.length * itemHeight : itemHeight * 3;\n }\n\n return triggerType === 'emoji' || triggerType === 'command'\n ? totalItemHeight + AUTO_COMPLETE_SUGGESTION_LIST_HEADER_HEIGHT\n : totalItemHeight;\n }, [itemHeight, data.length]);\n\n const renderItem = ({ item }: { item: Suggestion<StreamChatGenerics> }) => {\n switch (triggerType) {\n case 'command':\n case 'mention':\n case 'emoji':\n return (\n <SuggestionsItem\n onLayout={(event: LayoutChangeEvent) => setItemHeight(event.nativeEvent.layout.height)}\n onPress={() => {\n onSelect(item);\n }}\n style={itemStyle}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n default:\n return null;\n }\n };\n\n if (!active || data.length === 0) return null;\n\n return (\n <View style={[styles.container, { backgroundColor: white, height: flatlistHeight }]}>\n <FlatList\n data={data}\n keyboardShouldPersistTaps='always'\n keyExtractor={(item, index) =>\n `${item.name || (isSuggestionUser(item) ? item.id : '')}${index}`\n }\n ListHeaderComponent={\n AutoCompleteSuggestionHeader ? (\n <AutoCompleteSuggestionHeader queryText={queryText} triggerType={triggerType} />\n ) : null\n }\n renderItem={renderItem}\n style={[flatlist, { maxHeight }]}\n />\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n active: prevActive,\n data: prevData,\n queryText: prevQueryText,\n triggerType: prevType,\n } = prevProps;\n const {\n active: nextActive,\n data: nextData,\n queryText: nextQueryText,\n triggerType: nextType,\n } = nextProps;\n\n const activeEqual = prevActive === nextActive;\n if (!activeEqual) return false;\n\n const queryTextEqual = prevQueryText === nextQueryText;\n if (!queryTextEqual) return false;\n\n const dataEqual = prevData === nextData;\n if (!dataEqual) return false;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionList = React.memo(\n AutoCompleteSuggestionListWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionListWithContext;\n\nexport type AutoCompleteSuggestionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = AutoCompleteSuggestionListComponentProps<StreamChatGenerics> & {\n AutoCompleteSuggestionHeader?: React.ComponentType<AutoCompleteSuggestionHeaderProps>;\n AutoCompleteSuggestionItem?: React.ComponentType<\n AutoCompleteSuggestionItemProps<StreamChatGenerics>\n >;\n};\n\nexport const AutoCompleteSuggestionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListProps<StreamChatGenerics>,\n) => {\n const { AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem } =\n useSuggestionsContext<StreamChatGenerics>();\n\n return (\n <MemoizedAutoCompleteSuggestionList\n {...{ AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem }}\n {...props}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 8,\n elevation: 3,\n marginHorizontal: 8,\n marginVertical: 8,\n shadowOffset: { height: 1, width: 0 },\n shadowOpacity: 0.15,\n },\n});\n\nAutoCompleteSuggestionList.displayName =\n 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';\n"],"mappings":"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"}